f628988c166127ca5542bb4e27bce0be172b8323
[atutor.git] / mods / pnATutor / pnadmin.php
1 <?php\r
2 // $Id: pnadmin.php\r
3 // ----------------------------------------------------------------------\r
4 // POST-NUKE Content Management System\r
5 // Copyright (C) 2002 by the PostNuke Development Team.\r
6 // http://www.postnuke.com/\r
7 // ----------------------------------------------------------------------\r
8 // Based on:\r
9 // PHP-NUKE Web Portal System - http://phpnuke.org/\r
10 // Thatware - http://thatware.org/\r
11 // ----------------------------------------------------------------------\r
12 // LICENSE\r
13 //\r
14 // This program is free software; you can redistribute it and/or\r
15 // modify it under the terms of the GNU General Public License (GPL)\r
16 // as published by the Free Software Foundation; either version 2\r
17 // of the License, or (at your option) any later version.\r
18 //\r
19 // This program is distributed in the hope that it will be useful,\r
20 // but WIthOUT ANY WARRANTY; without even the implied warranty of\r
21 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
22 // GNU General Public License for more details.\r
23 //\r
24 // To read the license please visit http://www.gnu.org/copyleft/gpl.html\r
25 // ----------------------------------------------------------------------\r
26 // Filename: 1.0\r
27 // Based on : pnATutor\r
28 // Postnuked by Cas Nuy\r
29 // Purpose of file:  Admin functions for pnATutor\r
30 // ----------------------------------------------------------------------\r
31 \r
32 /**\r
33  * the main administration function\r
34  */\r
35 function pnATutor_admin_main()\r
36 {\r
37 \r
38     // Create output object\r
39     $output = new pnHTML();\r
40 \r
41     // Security check\r
42     if (!pnSecAuthAction(0, 'pnATutor::', '::', ACCESS_ADMIN)) {\r
43         $output->Text(pnVarPrepHTMLDisplay(_PNATUTORNOAUTH));\r
44         return $output->GetOutput();\r
45     }\r
46 \r
47     // Add menu to output\r
48     $output->SetInputMode(_PNH_VERBATIMINPUT);\r
49     $output->Text(pnATutor_adminmenu());\r
50     $output->SetInputMode(_PNH_PARSEINPUT);\r
51 \r
52     // Return the output that has been generated by this function\r
53     return $output->GetOutput();\r
54 }\r
55 \r
56 /*\r
57  * Main administration menu\r
58  */\r
59 function pnATutor_adminmenu() {\r
60 \r
61    $theme = pnUserGetTheme();\r
62         pnThemeLoad($theme);\r
63 \r
64     // Create output object\r
65     $output = new pnHTML();\r
66 \r
67     // Security check\r
68     if (!pnSecAuthAction(0, 'pnATutor::', '::', ACCESS_ADMIN)) {\r
69         $output->Text(pnVarPrepHTMLDisplay(_PNATUTORNOAUTH));\r
70         return $output->GetOutput();\r
71     }\r
72 \r
73         //Title\r
74         ob_start();\r
75         OpenTable();\r
76         $oTable = ob_get_contents();\r
77         ob_end_clean();\r
78         $output->SetInputMode(_PNH_VERBATIMINPUT);\r
79         $output->Text($oTable);\r
80         $output->Title(pnVarPrepHTMLDisplay('<b>'._PNATUTOR.'</b>'));\r
81     $output->Text(pnVarPrepHTMLDisplay(_PNATUTORMODIFYCONFIG));\r
82         ob_start();\r
83         CloseTable();\r
84         $cTable = ob_get_contents();\r
85         ob_end_clean();\r
86         $output->SetInputMode(_PNH_VERBATIMINPUT);\r
87         $output->Text($cTable);\r
88 \r
89         // Start form\r
90     $output->FormStart(pnModURL('pnATutor', 'admin', 'updateconfig'));\r
91 \r
92     // Add an authorisation ID\r
93     $output->FormHidden('authid', pnSecGenAuthKey());\r
94 \r
95 \r
96     // Start the table that holds the information to be modified.\r
97     ob_start();\r
98         OpenTable();\r
99         $oTable = ob_get_contents();\r
100         ob_end_clean();\r
101         $output->SetInputMode(_PNH_VERBATIMINPUT);\r
102         $output->Text($oTable);\r
103         $output->TableStart();\r
104 \r
105         // pnATutor location\r
106     $row = array();\r
107     $output->SetOutputMode(_PNH_RETURNOUTPUT);\r
108     $row[] = $output->Text(pnVarPrepHTMLDisplay(_MODSUBJECT));\r
109     $row[] = $output->FormText('_loc', pnModGetVar('pnATutor', '_loc'), 50, 50);\r
110     $output->SetOutputMode(_PNH_KEEPOUTPUT);\r
111     $output->SetInputMode(_PNH_VERBATIMINPUT);\r
112     $output->TableAddrow($row, 'left');\r
113 \r
114         // Warning\r
115     $row = array();\r
116     $output->SetOutputMode(_PNH_RETURNOUTPUT);\r
117     $row[] = $output->Text(pnVarPrepHTMLDisplay(_MODWARNING));\r
118     $output->SetOutputMode(_PNH_KEEPOUTPUT);\r
119     $output->SetInputMode(_PNH_VERBATIMINPUT);\r
120     $output->TableAddrow($row, 'left');\r
121 \r
122 \r
123         // ATutor DB\r
124     $row = array();\r
125     $output->SetOutputMode(_PNH_RETURNOUTPUT);\r
126     $row[] = $output->Text(pnVarPrepHTMLDisplay(_MODDB));\r
127     $row[] = $output->FormText('_db', pnModGetVar('pnATutor', '_db'), 25, 25);\r
128     $output->SetOutputMode(_PNH_KEEPOUTPUT);\r
129     $output->SetInputMode(_PNH_VERBATIMINPUT);\r
130     $output->TableAddrow($row, 'left');\r
131 \r
132         // ATutor DB prefix\r
133     $row = array();\r
134     $output->SetOutputMode(_PNH_RETURNOUTPUT);\r
135     $row[] = $output->Text(pnVarPrepHTMLDisplay(_PNATUTOR_PREFIX));\r
136     $row[] = $output->FormText('_prf', pnModGetVar('pnATutor', '_prf'), 15, 15);\r
137     $output->SetOutputMode(_PNH_KEEPOUTPUT);\r
138     $output->SetInputMode(_PNH_VERBATIMINPUT);\r
139     $output->TableAddrow($row, 'left');\r
140 \r
141         // ATutor version\r
142     $row = array();\r
143     $output->SetOutputMode(_PNH_RETURNOUTPUT);\r
144     $row[] = $output->Text(pnVarPrepHTMLDisplay(_PNATUTORVERSION));\r
145     $row[] = $output->FormText('_version', pnModGetVar('pnATutor', '_version'), 5, 5);\r
146     $output->SetOutputMode(_PNH_KEEPOUTPUT);\r
147     $output->SetInputMode(_PNH_VERBATIMINPUT);\r
148     $output->TableAddrow($row, 'left');\r
149 \r
150         // Open in New >Window\r
151     $row = array();\r
152     $output->SetOutputMode(_PNH_RETURNOUTPUT);\r
153     $row[] = $output->Text(pnVarPrepHTMLDisplay(_MODWINDOW));\r
154     $row[] = $output->FormCheckbox('_window', pnModGetVar('pnATutor', '_window'));\r
155     $output->SetOutputMode(_PNH_KEEPOUTPUT);\r
156     $output->SetInputMode(_PNH_VERBATIMINPUT);\r
157     $output->TableAddrow($row, 'left');\r
158 \r
159 \r
160         // Create users\r
161     $row = array();\r
162     $output->SetOutputMode(_PNH_RETURNOUTPUT);\r
163     $row[] = $output->Text(pnVarPrepHTMLDisplay(_MODUSERS));\r
164     $row[] = $output->FormCheckbox('_users', pnModGetVar('pnATutor', '_users'));\r
165     $output->SetOutputMode(_PNH_KEEPOUTPUT);\r
166     $output->SetInputMode(_PNH_VERBATIMINPUT);\r
167     $output->TableAddrow($row, 'left');\r
168 \r
169 \r
170         // Allow guest access\r
171     $row = array();\r
172     $output->SetOutputMode(_PNH_RETURNOUTPUT);\r
173     $row[] = $output->Text(pnVarPrepHTMLDisplay(_MODGUEST));\r
174     $row[] = $output->FormCheckbox('_guest', pnModGetVar('pnATutor', '_guest'));\r
175     $output->SetOutputMode(_PNH_KEEPOUTPUT);\r
176     $output->SetInputMode(_PNH_VERBATIMINPUT);\r
177     $output->TableAddrow($row, 'left');\r
178 \r
179         $output->TableEnd();\r
180         ob_start();\r
181         CloseTable();\r
182         $cTable = ob_get_contents();\r
183         ob_end_clean();\r
184         $output->SetInputMode(_PNH_VERBATIMINPUT);\r
185         $output->Text($cTable);\r
186 \r
187         // End form\r
188     //$output->Linebreak(1);\r
189         ob_start();\r
190         OpenTable();\r
191         $oTable = ob_get_contents();\r
192         ob_end_clean();\r
193         $output->SetInputMode(_PNH_VERBATIMINPUT);\r
194         $output->Text($oTable);\r
195         $output->Text('<div align="center"><br>');\r
196     $output->FormSubmit(pnVarPrepHTMLDisplay(_PNATUTORUPDATE));\r
197         $output->Text('<br><br></div>');\r
198         ob_start();\r
199         CloseTable();\r
200         $cTable = ob_get_contents();\r
201         ob_end_clean();\r
202         $output->SetInputMode(_PNH_VERBATIMINPUT);\r
203         $output->Text($cTable);\r
204     $output->FormEnd();\r
205 \r
206         // Return the output that has been generated by this function\r
207     $output->SetOutputMode(_PNH_KEEPOUTPUT);\r
208         return $output->GetOutput();\r
209 }\r
210 \r
211 function pnATutor_admin_updateconfig()\r
212 {\r
213     // Get parameters from whatever input we need.\r
214         $_loc = pnVarCleanFromInput('_loc');\r
215         $_window = pnVarCleanFromInput('_window');\r
216         $_db = pnVarCleanFromInput('_db');\r
217         $_guest = pnVarCleanFromInput('_guest');\r
218         $_users = pnVarCleanFromInput('_users');\r
219         $_version = pnVarCleanFromInput('_version');\r
220         $_prf = pnVarCleanFromInput('_prf');\r
221 \r
222 \r
223     // Confirm authorisation code.\r
224     if (!pnSecConfirmAuthKey()) {\r
225         pnSessionSetVar('errormsg', _BADAUTHKEY);\r
226         pnRedirect(pnModURL('pnATutor', 'admin', ''));\r
227         return true;\r
228     }\r
229 \r
230     // Update module variables.\r
231     pnModSetVar('pnATutor', '_loc', $_loc);\r
232     pnModSetVar('pnATutor', '_window', $_window);\r
233     pnModSetVar('pnATutor', '_db', $_db);\r
234     pnModSetVar('pnATutor', '_guest', $_guest);\r
235     pnModSetVar('pnATutor', '_users', $_users);\r
236     pnModSetVar('pnATutor', '_version', $_version);\r
237     pnModSetVar('pnATutor', '_prf', $_prf);\r
238 \r
239     // This function generated no output, and so now it is complete we redirect\r
240     // the user to an appropriate page for them to carry on their work\r
241     pnRedirect('admin.php');\r
242 \r
243     // Return\r
244     return true;\r
245 }\r
246 ?>\r