move code up one directory
[atutor.git] / users / pref_wizard / index.php
1 <?php\r
2 define('DISPLAY', 0);\r
3 define('NAVIGATION', 1);\r
4 define('ALT_TO_TEXT', 2);\r
5 define('ALT_TO_AUDIO', 3);\r
6 define('ALT_TO_VISUAL', 4);\r
7 define('SUPPORT', 5);\r
8 define('ATUTOR', 6);\r
9 \r
10 define('AT_INCLUDE_PATH', '../../include/');\r
11 \r
12 //$_user_location is set to prevent a redirect at line 281 of vitals.inc.php\r
13 //however if user is in a course then $_user_location is not set and\r
14 // the course_id is passed through the pref_wizard to allow return to the course when done.\r
15 if (!isset($_REQUEST['course_id']) || ($_REQUEST['course_id'] == 0)) {\r
16     $_user_location = 'users';\r
17 }\r
18 require(AT_INCLUDE_PATH.'vitals.inc.php');\r
19 require(AT_INCLUDE_PATH.'../mods/_core/themes/lib/themes.inc.php');\r
20 require(AT_INCLUDE_PATH.'../mods/_core/users/lib/pref_tab_functions.inc.php');\r
21 /**\r
22  * Tests if this is the first loading the pref wizard index page\r
23  *\r
24  * @return boolean true if it is the first time, false otherwise\r
25  */\r
26 function isFirstLoad() {\r
27     if (isset($_POST['next']) || isset($_POST['previous']) ||\r
28     isset($_POST['done'])) return false;\r
29     return true;\r
30 }\r
31 \r
32 /**\r
33  * Tests if this is a return to the initialization page of the pref wizard\r
34  *\r
35  * @return boolean true if it is a return to init page, false otherwise\r
36  */\r
37 function isReturnToInit() {\r
38     if (isset($_POST['previous']) && (intVal($_POST['pref_index']) == 0)) return true;\r
39     return false;\r
40 }\r
41 \r
42 /**\r
43  * Tests if checkboxes were checked on submission of the initial pref wizard page\r
44  *\r
45  * @return boolean true if no checkboxes were checked, false otherwise\r
46  */\r
47 function initNoChecks() {\r
48     if (isset($_POST['next']) && !is_array($_POST['pref_wiz'])) return true;\r
49     return false;\r
50 }\r
51 \r
52 //START OF PROCESSING\r
53 if ($_POST['set_default']) {\r
54      $temp_prefs = assignDefaultPrefs();\r
55      assign_session_prefs($temp_prefs);\r
56      save_prefs();       \r
57      save_email_notification(assignDefaultMnot());\r
58      setAutoLoginCookie(assignDefaultAutologin());\r
59      unset($_POST);\r
60      $_POST['set_default'] = 1;\r
61      \r
62      $msg->addFeedback('ACTION_COMPLETED_SUCCESSFULLY');\r
63 }\r
64 \r
65 unset($_SESSION['first_login']);\r
66 $is_auto_login = checkAutoLoginCookie();\r
67 \r
68 if (isset($_POST['pref_index'])) {\r
69     $last_pref_index = intVal($_POST['pref_index']);\r
70     if ($last_pref_index >= 0) {\r
71         $temp_prefs = assignPostVars();\r
72         assign_session_prefs($temp_prefs);\r
73         save_prefs();\r
74         \r
75         if (isset($_POST['mnot'])) save_email_notification(intval($_POST['mnot']));\r
76 \r
77         if (isset($_POST['auto'])) setAutoLoginCookie($_POST['auto']);        \r
78     }\r
79 }\r
80 \r
81 $savant->assign('lang_charset', $myLang->getCharacterSet());\r
82 $savant->assign('lang_code', $_SESSION['lang']);\r
83 \r
84 // display initialization page IF\r
85 // first time loading pref wiz OR going from first pref page\r
86 // to initialize page via previous button OR submit checkboxes with none checked\r
87 if (isFirstLoad() || isReturnToInit() || initNoChecks()) {\r
88     if (initNoChecks()) {\r
89         //TODO LAW add language\r
90         $msg->addError("NO_BOXES_CHECKED");\r
91     }\r
92     $savant->assign('start_template', "users/pref_wizard/initialize.tmpl.php");\r
93     $savant->display('users/pref_wizard/index.tmpl.php');\r
94 }\r
95 \r
96 // show appropriate preference page (next or previous)\r
97 else {\r
98     \r
99     $languages = $languageManager->getAvailableLanguages();\r
100     $savant->assign('languages', $languages);\r
101     \r
102     $sql   = "SELECT inbox_notify FROM ".TABLE_PREFIX."members WHERE member_id=$_SESSION[member_id]";\r
103     $result = mysql_query($sql, $db);\r
104     $row_notify = mysql_fetch_assoc($result);\r
105     $savant->assign('notify', $row_notify['inbox_notify']);\r
106     \r
107     $savant->assign('is_auto_login', $is_auto_login);\r
108     \r
109     if (isset($_POST['next'])) $pref_index = $last_pref_index + 1;\r
110     if (isset($_POST['previous'])) $pref_index = $last_pref_index - 1;\r
111     $savant->assign('pref_wiz', $_POST['pref_wiz']);\r
112     $savant->assign('pref_index', $pref_index);    \r
113     switch ($_POST['pref_wiz'][$pref_index]) {\r
114         case DISPLAY:\r
115             $savant->assign('pref_template', '../display_settings.inc.php');\r
116             $savant->assign('onload', 'setPreviewFace(); setPreviewSize(); setPreviewColours();');\r
117             break;\r
118         case NAVIGATION:\r
119             $savant->assign('pref_template', '../control_settings.inc.php');\r
120             break;\r
121         case ALT_TO_TEXT:\r
122             $savant->assign('pref_template', '../alt_to_text.inc.php');\r
123             break;\r
124         case ALT_TO_AUDIO:\r
125             $savant->assign('pref_template', '../alt_to_audio.inc.php');\r
126             break;\r
127         case ALT_TO_VISUAL:\r
128             $savant->assign('pref_template', '../alt_to_visual.inc.php');\r
129             break;\r
130         case SUPPORT:\r
131             $savant->assign('pref_template', '../tool_settings.inc.php');\r
132             break;\r
133         case ATUTOR:\r
134             $savant->assign('pref_template', '../atutor_settings.inc.php');\r
135             break;\r
136     }\r
137     $savant->display('users/pref_wizard/index.tmpl.php');\r
138 }\r
139 ?>\r
140 \r