Merge remote-tracking branch 'upstream/master' into dilatometer
[matches/MCTX3420.git] / testing / MCTXWeb / public_html / users / admin_configuration.php
1 <?php\r
2 /*\r
3 UserCake Version: 2.0.2\r
4 http://usercake.com\r
5 */\r
6 \r
7 require_once("models/config.php");\r
8 if (!securePage($_SERVER['PHP_SELF'])){die();}\r
9 \r
10 //Forms posted\r
11 if(!empty($_POST))\r
12 {\r
13         $cfgId = array();\r
14         $newSettings = $_POST['settings'];\r
15         \r
16         //Validate new site name\r
17         if ($newSettings[1] != $websiteName) {\r
18                 $newWebsiteName = $newSettings[1];\r
19                 if(minMaxRange(1,150,$newWebsiteName))\r
20                 {\r
21                         $errors[] = lang("CONFIG_NAME_CHAR_LIMIT",array(1,150));\r
22                 }\r
23                 else if (count($errors) == 0) {\r
24                         $cfgId[] = 1;\r
25                         $cfgValue[1] = $newWebsiteName;\r
26                         $websiteName = $newWebsiteName;\r
27                 }\r
28         }\r
29         \r
30         //Validate new URL\r
31         if ($newSettings[2] != $websiteUrl) {\r
32                 $newWebsiteUrl = $newSettings[2];\r
33                 if(minMaxRange(1,150,$newWebsiteUrl))\r
34                 {\r
35                         $errors[] = lang("CONFIG_URL_CHAR_LIMIT",array(1,150));\r
36                 }\r
37                 else if (substr($newWebsiteUrl, -1) != "/"){\r
38                         $errors[] = lang("CONFIG_INVALID_URL_END");\r
39                 }\r
40                 else if (count($errors) == 0) {\r
41                         $cfgId[] = 2;\r
42                         $cfgValue[2] = $newWebsiteUrl;\r
43                         $websiteUrl = $newWebsiteUrl;\r
44                 }\r
45         }\r
46         \r
47         //Validate new site email address\r
48         if ($newSettings[3] != $emailAddress) {\r
49                 $newEmail = $newSettings[3];\r
50                 if(minMaxRange(1,150,$newEmail))\r
51                 {\r
52                         $errors[] = lang("CONFIG_EMAIL_CHAR_LIMIT",array(1,150));\r
53                 }\r
54                 elseif(!isValidEmail($newEmail))\r
55                 {\r
56                         $errors[] = lang("CONFIG_EMAIL_INVALID");\r
57                 }\r
58                 else if (count($errors) == 0) {\r
59                         $cfgId[] = 3;\r
60                         $cfgValue[3] = $newEmail;\r
61                         $emailAddress = $newEmail;\r
62                 }\r
63         }\r
64         \r
65         //Validate email activation selection\r
66         if ($newSettings[4] != $emailActivation) {\r
67                 $newActivation = $newSettings[4];\r
68                 if($newActivation != "true" AND $newActivation != "false")\r
69                 {\r
70                         $errors[] = lang("CONFIG_ACTIVATION_TRUE_FALSE");\r
71                 }\r
72                 else if (count($errors) == 0) {\r
73                         $cfgId[] = 4;\r
74                         $cfgValue[4] = $newActivation;\r
75                         $emailActivation = $newActivation;\r
76                 }\r
77         }\r
78         \r
79         //Validate new email activation resend threshold\r
80         if ($newSettings[5] != $resend_activation_threshold) {\r
81                 $newResend_activation_threshold = $newSettings[5];\r
82                 if($newResend_activation_threshold > 72 OR $newResend_activation_threshold < 0)\r
83                 {\r
84                         $errors[] = lang("CONFIG_ACTIVATION_RESEND_RANGE",array(0,72));\r
85                 }\r
86                 else if (count($errors) == 0) {\r
87                         $cfgId[] = 5;\r
88                         $cfgValue[5] = $newResend_activation_threshold;\r
89                         $resend_activation_threshold = $newResend_activation_threshold;\r
90                 }\r
91         }\r
92         \r
93         //Validate new language selection\r
94         if ($newSettings[6] != $language) {\r
95                 $newLanguage = $newSettings[6];\r
96                 if(minMaxRange(1,150,$language))\r
97                 {\r
98                         $errors[] = lang("CONFIG_LANGUAGE_CHAR_LIMIT",array(1,150));\r
99                 }\r
100                 elseif (!file_exists($newLanguage)) {\r
101                         $errors[] = lang("CONFIG_LANGUAGE_INVALID",array($newLanguage));                                \r
102                 }\r
103                 else if (count($errors) == 0) {\r
104                         $cfgId[] = 6;\r
105                         $cfgValue[6] = $newLanguage;\r
106                         $language = $newLanguage;\r
107                 }\r
108         }\r
109         \r
110         //Validate new template selection\r
111         if ($newSettings[7] != $template) {\r
112                 $newTemplate = $newSettings[7];\r
113                 if(minMaxRange(1,150,$template))\r
114                 {\r
115                         $errors[] = lang("CONFIG_TEMPLATE_CHAR_LIMIT",array(1,150));\r
116                 }\r
117                 elseif (!file_exists($newTemplate)) {\r
118                         $errors[] = lang("CONFIG_TEMPLATE_INVALID",array($newTemplate));                                \r
119                 }\r
120                 else if (count($errors) == 0) {\r
121                         $cfgId[] = 7;\r
122                         $cfgValue[7] = $newTemplate;\r
123                         $template = $newTemplate;\r
124                 }\r
125         }\r
126         \r
127         //Update configuration table with new settings\r
128         if (count($errors) == 0 AND count($cfgId) > 0) {\r
129                 updateConfig($cfgId, $cfgValue);\r
130                 $successes[] = lang("CONFIG_UPDATE_SUCCESSFUL");\r
131         }\r
132 }\r
133 \r
134 $languages = getLanguageFiles(); //Retrieve list of language files\r
135 $templates = getTemplateFiles(); //Retrieve list of template files\r
136 $permissionData = fetchAllPermissions(); //Retrieve list of all permission levels\r
137 require_once("models/header.php");\r
138 startPage();\r
139 \r
140 echo notificationBlock($errors,$successes);\r
141 \r
142 echo "\r
143 <div class='widget'><div class='title'>Site details</div>";\r
144 \r
145 echo "\r
146 <div id='regbox'>\r
147 <form name='adminConfiguration' action='".$_SERVER['PHP_SELF']."' method='post'>\r
148 <p>\r
149 <label>Website Name:</label>\r
150 <input type='text' name='settings[".$settings['website_name']['id']."]' value='".$websiteName."' />\r
151 </p>\r
152 <p>\r
153 <label>Website URL:</label>\r
154 <input type='text' name='settings[".$settings['website_url']['id']."]' value='".$websiteUrl."' />\r
155 </p>\r
156 <p>\r
157 <label>Email:</label>\r
158 <input type='text' name='settings[".$settings['email']['id']."]' value='".$emailAddress."' />\r
159 </p>\r
160 <p>\r
161 <label>Activation Threshold:</label>\r
162 <input type='text' name='settings[".$settings['resend_activation_threshold']['id']."]' value='".$resend_activation_threshold."' />\r
163 </p>\r
164 <p>\r
165 <label>Language:</label>\r
166 <select name='settings[".$settings['language']['id']."]'>";\r
167 \r
168 //Display language options\r
169 foreach ($languages as $optLang){\r
170         if ($optLang == $language){\r
171                 echo "<option value='".$optLang."' selected>$optLang</option>";\r
172         }\r
173         else {\r
174                 echo "<option value='".$optLang."'>$optLang</option>";\r
175         }\r
176 }\r
177 \r
178 echo "\r
179 </select>\r
180 </p>\r
181 <p>\r
182 <label>Email Activation:</label>\r
183 <select name='settings[".$settings['activation']['id']."]'>";\r
184 \r
185 //Display email activation options\r
186 if ($emailActivation == "true"){\r
187         echo "\r
188         <option value='true' selected>True</option>\r
189         <option value='false'>False</option>\r
190         </select>";\r
191 }\r
192 else {\r
193         echo "\r
194         <option value='true'>True</option>\r
195         <option value='false' selected>False</option>\r
196         </select>";\r
197 }\r
198 \r
199 echo "</p>\r
200 <p>\r
201 <label>Template:</label>\r
202 <select name='settings[".$settings['template']['id']."]'>";\r
203 \r
204 //Display template options\r
205 foreach ($templates as $temp){\r
206         if ($temp == $template){\r
207                 echo "<option value='".$temp."' selected>$temp</option>";\r
208         }\r
209         else {\r
210                 echo "<option value='".$temp."'>$temp</option>";\r
211         }\r
212 }\r
213 \r
214 echo "\r
215 </select>\r
216 </p>\r
217 <input type='submit' name='Submit' value='Submit' />\r
218 </form>\r
219 </div>\r
220 </div>";\r
221 \r
222 finishPage();\r
223 \r
224 ?>\r

UCC git Repository :: git.ucc.asn.au