move code up one directory
[atutor.git] / mods / _core / users / default_preferences.php
1 <?php
2 /************************************************************************/
3 /* ATutor                                                                                                                               */
4 /************************************************************************/
5 /* Copyright (c) 2002-2010                                              */
6 /* Inclusive Design Institute                                           */
7 /* http://atutor.ca                                                     */
8 /* This program is free software. You can redistribute it and/or        */
9 /* modify it under the terms of the GNU General Public License          */
10 /* as published by the Free Software Foundation.                        */
11 /************************************************************************/
12 // $Id$
13
14 define('AT_INCLUDE_PATH', '../../../include/');
15 require (AT_INCLUDE_PATH.'vitals.inc.php');
16 require(AT_INCLUDE_PATH.'../mods/_core/themes/lib/themes.inc.php'); //update when themes are moved to mod/
17 require(AT_INCLUDE_PATH.'../mods/_core/users/lib/pref_tab_functions.inc.php');
18 admin_authenticate(AT_ADMIN_PRIV_ADMIN);
19
20 if (isset($_POST['cancel'])) {
21         $msg->addFeedback('CANCELLED');
22         header('Location: users.php');
23         exit;
24 }
25
26 if (isset($_POST['submit']) || isset($_POST["set_default"])) {
27         if (isset($_POST['submit']))
28         {
29                 /* custom prefs */
30                 // atutor settings (tab 0)
31                 $pref_defaults['PREF_NUMBERING']      = intval($_POST['numbering']);
32                 if (isset($_POST['theme']) && $_POST['theme'] != '') {
33                         $pref_defaults['PREF_THEME']          = $addslashes($_POST['theme']);
34                 }
35                 if (isset($_POST['mobile_theme']) && $_POST['mobile_theme'] != '') {
36                         $pref_defaults['PREF_MOBILE_THEME'] = $addslashes($_POST['mobile_theme']);
37                 }
38                 $pref_defaults['PREF_TIMEZONE']      = $addslashes($_POST['time_zone']);
39                 $pref_defaults['PREF_JUMP_REDIRECT']  = intval($_POST['use_jump_redirect']);
40                 $pref_defaults['PREF_FORM_FOCUS']     = intval($_POST['form_focus']);
41                 $pref_defaults['PREF_CONTENT_EDITOR'] = intval($_POST['content_editor']);
42                 $pref_defaults['PREF_SHOW_GUIDE']     = intval($_POST['show_guide']);
43                 
44                 // display settings (tab 1)
45                 $pref_defaults['PREF_FONT_FACE']           = $addslashes($_POST['fontface']);
46                 $pref_defaults['PREF_FONT_TIMES']          = $addslashes($_POST['font_times']);
47                 $pref_defaults['PREF_FG_COLOUR']           = $addslashes($_POST['fg']);
48                 $pref_defaults['PREF_BG_COLOUR']           = $addslashes($_POST['bg']);
49                 $pref_defaults['PREF_HL_COLOUR']           = $addslashes($_POST['hl']);
50         
51                 // content settings (tab 2)
52                 $pref_defaults['PREF_USE_ALTERNATIVE_TO_TEXT'] = intval($_POST['use_alternative_to_text']);
53                 $pref_defaults['PREF_ALT_TO_TEXT'] = $addslashes($_POST['preferred_alt_to_text']);
54                 $pref_defaults['PREF_ALT_TO_TEXT_APPEND_OR_REPLACE'] = $addslashes($_POST['alt_to_text_append_or_replace']);
55                 $pref_defaults['PREF_ALT_TEXT_PREFER_LANG'] = $addslashes($_POST['alt_text_prefer_lang']);
56                 $pref_defaults['PREF_USE_ALTERNATIVE_TO_AUDIO'] = intval($_POST['use_alternative_to_audio']);
57                 $pref_defaults['PREF_ALT_TO_AUDIO'] = $addslashes($_POST['preferred_alt_to_audio']);
58                 $pref_defaults['PREF_ALT_TO_AUDIO_APPEND_OR_REPLACE'] = $addslashes($_POST['alt_to_audio_append_or_replace']);
59                 $pref_defaults['PREF_ALT_AUDIO_PREFER_LANG'] = $addslashes($_POST['alt_audio_prefer_lang']);
60                 $pref_defaults['PREF_USE_ALTERNATIVE_TO_VISUAL'] = intval($_POST['use_alternative_to_visual']);
61                 $pref_defaults['PREF_ALT_TO_VISUAL'] = $addslashes($_POST['preferred_alt_to_visual']);
62                 $pref_defaults['PREF_ALT_TO_VISUAL_APPEND_OR_REPLACE'] = $addslashes($_POST['alt_to_visual_append_or_replace']);
63                 $pref_defaults['PREF_ALT_VISUAL_PREFER_LANG'] = $addslashes($_POST['alt_visual_prefer_lang']);
64         
65                 // tool settings (tab 3)
66                 $pref_defaults['PREF_DICTIONARY'] = intval($_POST['dictionary_val']);
67                 $pref_defaults['PREF_THESAURUS'] = intval($_POST['thesaurus_val']);
68                 $pref_defaults['PREF_NOTE_TAKING'] = intval($_POST['note_taking_val']);
69                 $pref_defaults['PREF_CALCULATOR'] = intval($_POST['calculator_val']);
70                 $pref_defaults['PREF_ABACUS'] = intval($_POST['abacus_val']);
71                 $pref_defaults['PREF_ATLAS'] = intval($_POST['atlas_val']);
72                 $pref_defaults['PREF_ENCYCLOPEDIA'] = intval($_POST['encyclopedia_val']);       
73         
74                 // control settings (tab 4)
75                 $pref_defaults['PREF_SHOW_CONTENTS'] = intval($_POST['show_contents']);
76                 $pref_defaults['PREF_SHOW_NEXT_PREVIOUS_BUTTONS'] = intval($_POST['show_next_previous_buttons']);
77                 $pref_defaults['PREF_SHOW_BREAD_CRUMBS'] = intval($_POST['show_bread_crumbs']);
78
79                 $pref_defaults = serialize($pref_defaults);
80                 
81                 $mnot = intval($_POST["mnot"]);
82                 $auto_login = $addslashes($_POST["auto"]);
83         }
84         else
85         {
86                 $pref_defaults = $_config_defaults['pref_defaults'];
87                 $mnot = $_config_defaults['pref_inbox_notify'];
88                 $auto_login = $_config_defaults['pref_is_auto_login'];
89         }
90
91         if (!($_config_defaults['pref_defaults'] == $pref_defaults)) {
92                 $sql    = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('pref_defaults','$pref_defaults')";
93         } else if ($_config_defaults['pref_defaults'] == $pref_defaults) {
94                 $sql    = "DELETE FROM ".TABLE_PREFIX."config WHERE name='pref_defaults'";
95         }
96         $result = mysql_query($sql, $db);
97
98         $sql    = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('pref_inbox_notify','".$mnot."')";
99         $result = mysql_query($sql, $db);
100
101         $sql    = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('pref_is_auto_login','".$auto_login."')";
102         $result = mysql_query($sql, $db);
103
104         $msg->addFeedback('ACTION_COMPLETED_SUCCESSFULLY');
105         header('Location: '.$_SERVER['PHP_SELF'].'?current_tab='.$_POST['current_tab']);
106         exit;
107 }
108
109 // set defaults with the $_config_defaults and overwrite the configs that are defined in table `config`
110 $pref_defaults = unserialize($_config_defaults['pref_defaults']);
111
112 if (is_array(unserialize($_config['pref_defaults'])))
113         foreach (unserialize($_config['pref_defaults']) as $name => $value)
114                 $pref_defaults[$name] = $value;
115                 
116 assign_session_prefs($pref_defaults, 1);
117
118 $sql    = "SELECT value FROM ".TABLE_PREFIX."config WHERE name='pref_inbox_notify'";
119 $result = mysql_query($sql, $db);
120 if (mysql_num_rows($result) > 0)
121 {
122         $row_notify = mysql_fetch_assoc($result);
123         $notify = $row_notify['value'];
124 }
125 else
126         $notify = $_config_defaults['pref_inbox_notify'];
127
128 $sql    = "SELECT value FROM ".TABLE_PREFIX."config WHERE name='pref_is_auto_login'";
129 $result = mysql_query($sql, $db);
130 if (mysql_num_rows($result) > 0)
131 {
132         $row_is_auto_login = mysql_fetch_assoc($result);
133         $auto_login = $row_is_auto_login["value"];
134 }
135 else
136         $auto_login = $_config_defaults['pref_is_auto_login'];
137
138 $languages = $languageManager->getAvailableLanguages();
139
140 $savant->assign('notify', $notify);
141 $savant->assign('languages', $languages);
142 $savant->assign('is_auto_login', $auto_login);
143
144 $savant->display('users/preferences.tmpl.php');
145
146 ?>