2 /************************************************************************/
4 /************************************************************************/
5 /* Copyright (c) 2002-2008 by Greg Gay, Joel Kronenberg & Heidi Hazelton*/
6 /* Adaptive Technology Resource Centre / University of Toronto */
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 /************************************************************************/
15 define('AT_INCLUDE_PATH', '../include/');
16 require (AT_INCLUDE_PATH.'vitals.inc.php');
17 require(AT_INCLUDE_PATH.'lib/themes.inc.php');
18 require(AT_INCLUDE_PATH.'lib/pref_tab_functions.inc.php');
19 admin_authenticate(AT_ADMIN_PRIV_ADMIN);
21 if (isset($_POST['cancel'])) {
22 $msg->addFeedback('CANCELLED');
23 header('Location: users.php');
27 if (isset($_POST['submit']) || isset($_POST["set_default"])) {
28 if (isset($_POST['submit']))
31 // atutor settings (tab 0)
32 $pref_defaults['PREF_NUMBERING'] = intval($_POST['numbering']);
33 $pref_defaults['PREF_THEME'] = $addslashes($_POST['theme']);
34 $pref_defaults['PREF_TIMEZONE'] = $addslashes($_POST['time_zone']);
35 $pref_defaults['PREF_JUMP_REDIRECT'] = intval($_POST['use_jump_redirect']);
36 $pref_defaults['PREF_FORM_FOCUS'] = intval($_POST['form_focus']);
37 $pref_defaults['PREF_CONTENT_EDITOR'] = intval($_POST['content_editor']);
38 $pref_defaults['PREF_SHOW_GUIDE'] = intval($_POST['show_guide']);
40 // display settings (tab 1)
41 $pref_defaults['PREF_FONT_FACE'] = $addslashes($_POST['fontface']);
42 $pref_defaults['PREF_FONT_TIMES'] = $addslashes($_POST['font_times']);
43 $pref_defaults['PREF_FG_COLOUR'] = $addslashes($_POST['fg']);
44 $pref_defaults['PREF_BG_COLOUR'] = $addslashes($_POST['bg']);
45 $pref_defaults['PREF_HL_COLOUR'] = $addslashes($_POST['hl']);
47 // content settings (tab 2)
48 $pref_defaults['PREF_USE_ALTERNATIVE_TO_TEXT'] = intval($_POST['use_alternative_to_text']);
49 $pref_defaults['PREF_ALT_TO_TEXT'] = $addslashes($_POST['preferred_alt_to_text']);
50 $pref_defaults['PREF_ALT_TO_TEXT_APPEND_OR_REPLACE'] = $addslashes($_POST['alt_to_text_append_or_replace']);
51 $pref_defaults['PREF_ALT_TEXT_PREFER_LANG'] = $addslashes($_POST['alt_text_prefer_lang']);
52 $pref_defaults['PREF_USE_ALTERNATIVE_TO_AUDIO'] = intval($_POST['use_alternative_to_audio']);
53 $pref_defaults['PREF_ALT_TO_AUDIO'] = $addslashes($_POST['preferred_alt_to_audio']);
54 $pref_defaults['PREF_ALT_TO_AUDIO_APPEND_OR_REPLACE'] = $addslashes($_POST['alt_to_audio_append_or_replace']);
55 $pref_defaults['PREF_ALT_AUDIO_PREFER_LANG'] = $addslashes($_POST['alt_audio_prefer_lang']);
56 $pref_defaults['PREF_USE_ALTERNATIVE_TO_VISUAL'] = intval($_POST['use_alternative_to_visual']);
57 $pref_defaults['PREF_ALT_TO_VISUAL'] = $addslashes($_POST['preferred_alt_to_visual']);
58 $pref_defaults['PREF_ALT_TO_VISUAL_APPEND_OR_REPLACE'] = $addslashes($_POST['alt_to_visual_append_or_replace']);
59 $pref_defaults['PREF_ALT_VISUAL_PREFER_LANG'] = $addslashes($_POST['alt_visual_prefer_lang']);
61 // tool settings (tab 3)
62 $pref_defaults['PREF_DICTIONARY'] = intval($_POST['dictionary_val']);
63 $pref_defaults['PREF_THESAURUS'] = intval($_POST['thesaurus_val']);
64 $pref_defaults['PREF_NOTE_TAKING'] = intval($_POST['note_taking_val']);
65 $pref_defaults['PREF_CALCULATOR'] = intval($_POST['calculator_val']);
66 $pref_defaults['PREF_ABACUS'] = intval($_POST['abacus_val']);
67 $pref_defaults['PREF_ATLAS'] = intval($_POST['atlas_val']);
68 $pref_defaults['PREF_ENCYCLOPEDIA'] = intval($_POST['encyclopedia_val']);
70 // control settings (tab 4)
71 $pref_defaults['PREF_SHOW_CONTENTS'] = intval($_POST['show_contents']);
72 $pref_defaults['PREF_SHOW_NEXT_PREVIOUS_BUTTONS'] = intval($_POST['show_next_previous_buttons']);
73 $pref_defaults['PREF_SHOW_BREAD_CRUMBS'] = intval($_POST['show_bread_crumbs']);
75 $pref_defaults = serialize($pref_defaults);
77 $mnot = intval($_POST["mnot"]);
78 $auto_login = $addslashes($_POST["auto"]);
82 $pref_defaults = $_config_defaults['pref_defaults'];
83 $mnot = $_config_defaults['pref_inbox_notify'];
84 $auto_login = $_config_defaults['pref_is_auto_login'];
87 if (!($_config_defaults['pref_defaults'] == $pref_defaults)) {
88 $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('pref_defaults','$pref_defaults')";
89 } else if ($_config_defaults['pref_defaults'] == $pref_defaults) {
90 $sql = "DELETE FROM ".TABLE_PREFIX."config WHERE name='pref_defaults'";
92 $result = mysql_query($sql, $db);
94 $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('pref_inbox_notify','".$mnot."')";
95 $result = mysql_query($sql, $db);
97 $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('pref_is_auto_login','".$auto_login."')";
98 $result = mysql_query($sql, $db);
100 $msg->addFeedback('ACTION_COMPLETED_SUCCESSFULLY');
101 header('Location: '.$_SERVER['PHP_SELF']);
105 // set defaults with the $_config_defaults and overwrite the configs that are defined in table `config`
106 $pref_defaults = unserialize($_config_defaults['pref_defaults']);
108 if (is_array(unserialize($_config['pref_defaults'])))
109 foreach (unserialize($_config['pref_defaults']) as $name => $value)
110 $pref_defaults[$name] = $value;
112 assign_session_prefs($pref_defaults);
114 $sql = "SELECT value FROM ".TABLE_PREFIX."config WHERE name='pref_inbox_notify'";
115 $result = mysql_query($sql, $db);
116 if (mysql_num_rows($result) > 0)
118 $row_notify = mysql_fetch_assoc($result);
119 $notify = $row_notify['value'];
122 $notify = $_config_defaults['pref_inbox_notify'];
124 $sql = "SELECT value FROM ".TABLE_PREFIX."config WHERE name='pref_is_auto_login'";
125 $result = mysql_query($sql, $db);
126 if (mysql_num_rows($result) > 0)
128 $row_is_auto_login = mysql_fetch_assoc($result);
129 $auto_login = $row_is_auto_login["value"];
132 $auto_login = $_config_defaults['pref_is_auto_login'];
134 $languages = $languageManager->getAvailableLanguages();
136 $savant->assign('notify', $notify);
137 $savant->assign('languages', $languages);
138 $savant->assign('is_auto_login', $auto_login);
140 $savant->display('users/preferences.tmpl.php');