a1963c1c2cddc208de94fb9c1ae67e71f9649f6d
[atutor.git] / docs / mods / _standard / chat / lib / chat_defaults.inc.php
1 <?php
2 /****************************************************************/
3 /* ATutor                                                                                                               */
4 /****************************************************************/
5 /* Copyright (c) 2002-2010                                      */
6 /* Inclusive Design Institute                                   */
7 /* http://atutor.ca                                                                                             */
8 /*                                                              */
9 /* This program is free software. You can redistribute it and/or*/
10 /* modify it under the terms of the GNU General Public License  */
11 /* as published by the Free Software Foundation.                                */
12 /****************************************************************/
13
14 /*function authenticate() {
15         $num_args = func_num_args();
16         $args     = func_get_args();
17
18         for ($i=0; $i < $num_args; $i++) {
19                 if ($_SESSION['status'] == $args[$i]) {
20                         return true;
21                 }
22         }
23
24         //Header('Location: /sign_in.php');
25         //return false;
26 }*/
27 function loadDefaultPrefs() {
28         $prefs = array();
29
30     $prefs['colours']           = 'beigeBlack';
31     $prefs['back']                      = 'beige';
32     $prefs['lightBack']         = '#ddeecc';
33     $prefs['darkBack']          = '#bbccaa';
34     $prefs['front']                     = 'black';
35     $prefs['fontSize']          = 12;
36     $prefs['fontFace']          = 'arial';
37     $prefs['idColour']          = 'black';
38     $prefs['bingFlag']          = 0;
39     $prefs['onlyNewFlag']       = 0;
40     $prefs['newestFirstFlag']   = 1;
41     $prefs['navigationAidFlag'] = 0;
42     $prefs['refresh']           = 20;
43     $prefs['lastRead']          = 0;
44     $prefs['lastChecked']       = 0;
45     $prefs['lastAccessed']      = time();
46         // password
47         // uniqueID
48
49         if ($myPrefs['colours'] == 'beigeBlack') {
50         $myPrefs['back'] = 'beige';
51         $myPrefs['front'] = 'black';
52         $myPrefs['lightBack'] = '#ddeecc';
53         $myPrefs['darkBack'] = '#bbccaa';
54     } else if ($myPrefs['colours'] == 'whiteBlack') {
55         $myPrefs['back'] = 'white';
56         $myPrefs['front'] = 'black';
57         $myPrefs['lightBack'] = '#ddeecc';
58         $myPrefs['darkBack'] = '#bbccaa';
59     } else if ($myPrefs['colours'] == 'whiteBlue') {
60         $myPrefs['back'] = 'white';
61         $myPrefs['front'] = '000066';
62         $myPrefs['lightBack'] = '#ffddcc';
63         $myPrefs['darkBack'] = '#ddbbaa';
64     } else if ($myPrefs['colours'] == 'blackYellow') {
65         $myPrefs['back'] = 'black';
66         $myPrefs['front'] = 'yellow';
67         $myPrefs['lightBack'] = '#333333';
68         $myPrefs['darkBack'] = '#666666';
69     } else if ($myPrefs['colours'] == 'blackWhite') {
70         $myPrefs['back'] = 'black';
71         $myPrefs['front'] = 'white';
72         $myPrefs['lightBack'] = '#333333';
73         $myPrefs['darkBack'] = '#666666';
74     } else { /* blueWhite */
75         $myPrefs['back'] = '#000033';
76         $myPrefs['front'] = 'white';
77         $myPrefs['lightBack'] = '#000066';
78         $myPrefs['darkBack'] = '#333366';    
79     }
80
81         return $prefs;
82 }
83
84 function &getPrefs($chatID, $update = true) {
85
86         if (!file_exists(AT_CONTENT_DIR . 'chat/'.$_SESSION['course_id'].'/users/'.$chatID.'.prefs')) {
87                 return loadDefaultPrefs();
88         }
89         $myPrefs = array();
90         $file_prefs = file(AT_CONTENT_DIR . 'chat/'.$_SESSION['course_id'].'/users/'.$chatID.'.prefs');
91         foreach ($file_prefs as $pref) {
92                 $pref = explode('=', $pref, 2);
93                 $myPrefs[$pref[0]] = trim($pref[1]);
94         }
95
96         if ($update) {
97                 $myPrefs['lastAccessed'] = time();
98         }
99
100         if ($myPrefs['colours'] == 'beigeBlack') {
101         $myPrefs['back'] = 'beige';
102         $myPrefs['front'] = 'black';
103         $myPrefs['lightBack'] = '#ddeecc';
104         $myPrefs['darkBack'] = '#bbccaa';
105     } else if ($myPrefs['colours'] == 'whiteBlack') {
106         $myPrefs['back'] = 'white';
107         $myPrefs['front'] = 'black';
108         $myPrefs['lightBack'] = '#ddeecc';
109         $myPrefs['darkBack'] = '#bbccaa';
110     } else if ($myPrefs['colours'] == 'whiteBlue') {
111         $myPrefs['back'] = 'white';
112         $myPrefs['front'] = '000066';
113         $myPrefs['lightBack'] = '#ffddcc';
114         $myPrefs['darkBack'] = '#ddbbaa';
115     } else if ($myPrefs['colours'] == 'blackYellow') {
116         $myPrefs['back'] = 'black';
117         $myPrefs['front'] = 'yellow';
118         $myPrefs['lightBack'] = '#333333';
119         $myPrefs['darkBack'] = '#666666';
120     } else if ($myPrefs['colours'] == 'blackWhite') {
121         $myPrefs['back'] = 'black';
122         $myPrefs['front'] = 'white';
123         $myPrefs['lightBack'] = '#333333';
124         $myPrefs['darkBack'] = '#666666';
125     } else { /* blueWhite */
126         $myPrefs['back'] = '#000033';
127         $myPrefs['front'] = 'white';
128         $myPrefs['lightBack'] = '#000066';
129         $myPrefs['darkBack'] = '#333366';    
130     }
131
132         return ($myPrefs);
133 }
134
135 function writePrefs($myPrefs, $chatID) {
136         if (empty($myPrefs)) {
137                 return 0;
138         }
139
140         if (!is_dir(AT_CONTENT_DIR . 'chat/'.$_SESSION['course_id'].'/users')) {
141                 mkdir(AT_CONTENT_DIR . 'chat/'.$_SESSION['course_id'].'/users');
142         }
143
144         if (file_exists(AT_CONTENT_DIR . 'chat/'.$_SESSION['course_id'].'/users/'.$chatID.'.prefs')) {
145                 chmod(AT_CONTENT_DIR . 'chat/'.$_SESSION['course_id'].'/users/'.$chatID.'.prefs', 0755);
146         }
147         $fp = @fopen(AT_CONTENT_DIR . 'chat/'.$_SESSION['course_id'].'/users/'.$chatID.'.prefs', 'w+');
148         if (!$fp) {
149                 // error
150                 exit;
151                 return 0;
152         }
153
154         $prefs = '';
155         foreach ($myPrefs as $prefKey => $prefValue) {
156                 $prefs .= $prefKey.'='.$prefValue."\n";
157         }
158
159         flock($fp, LOCK_EX);
160         if (!@fwrite($fp, $prefs)) {
161                 return 0;
162         }
163         flock($fp, LOCK_UN);
164         chmod(AT_CONTENT_DIR . 'chat/'.$_SESSION['course_id'].'/users/'.$chatID.'.prefs', 0600);
165
166         return 1;
167 }
168
169 ?>