Umfragen
config.php
Go to the documentation of this file.
1 <?php
2 /*
3  * backend/admin.php
4  *
5  * Copyright 2012 Johannes <jojo@jojo-42>
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20  * MA 02110-1301, USA.
21  *
22  *
23  */
24 
25 
26 require_once("../config.php");
27 require_once(DOCUMENT_ROOT."/inc/user.class.php");
28 require_once(DOCUMENT_ROOT."/inc/tools.php");
29 
30 require_once(DOCUMENT_ROOT."/inc/db.class.php");
31 require_once(DOCUMENT_ROOT."/inc/config.class.php");
32 require_once(DOCUMENT_ROOT."/inc/auth.class.php");
33 
34 require_once(DOCUMENT_ROOT."/inc/poll.class.php");
35 require_once(DOCUMENT_ROOT."/inc/html.class.php");
36 require_once(DOCUMENT_ROOT."/inc/messages.class.php");
37 
38 //$is_super_admin = false;
39 $action = "";
40 
41 // SESSION
42 make_session();
43 
44 $super_admins = explode(",",SUPER_ADMIN);
45 if( ($_SESSION["user"]->is_auth == true) AND (in_array( $_SESSION["user"]->ID ,$super_admins)) ){
46 
47 }else{
48  if( $_SERVER['QUERY_STRING'] != "" ){
49  $_SESSION["previous_url"] = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
50  }else{
51  $_SESSION["previous_url"] = $_SERVER['PHP_SELF'];
52  }
53  header("Location: ../login.php");
54  exit();
55 }
56 
57 
58 $db= new db( DB_USER, DB_PASS, DB_DATABASE, DB_HOST );
59 $db_tables_present = $db->check_tables();
60 if( $db_tables_present["config"] === false){
61  header("Location: admin.php");
62  exit();
63 }
64 
66 $config->load();
69 
70 
71 if( ( isset($_POST["save_settings"]) ) AND ($_POST["save_settings"] != "") ){
72  $action = "save settings";
73 }
74 
75 // SAVE SETINGS !!
76 //-------------------------------------
77 if ($action == "save settings"){
78  $grouplist = $au->get_all_groups();
79 
80  $r = $config->handle_app_root_url_edit();
81  if( $r !== true ){
82  $messages->add_message( new errorMessage($r) );
83  }
84  $r2 = $config->handle_analytics_file_edit();
85  if( $r2 !== true ){
86  $messages->add_message( new errorMessage($r2) );
87  }
88  $r3 = $config->handle_teacher_group_edit($grouplist);
89  if( $r3 !== true ){
90  $messages->add_message( new errorMessage($r3) );
91  }
92  $r4 = $config->handle_groups_whitelist_edit($grouplist);
93  if( $r4 !== true ){
94  $messages->add_message( new errorMessage($r4) );
95  }
96 
97  $r5 = $config->handle_enable_email_edit();
98  if( $r5 !== true ){
99  $messages->add_message( new errorMessage($r5) );
100  }
101 
102  if( $config->get("EMAIL_ENABLE") == true ){
103  $r6 = $config->handle_email_method_edit();
104  if( $r6 !== true ){
105  $messages->add_message( new errorMessage($r6) );
106  }
107  $r7 = $config->handle_email_send_method_edit();
108  if( $r7 !== true ){
109  $messages->add_message( new errorMessage($r7) );
110  }
111  $r8 = $config->handle_email_auth_encryption_edit();
112  if( $r8 !== true ){
113  $messages->add_message( new errorMessage($r8) );
114  }
115  $r9 = $config->handle_email_smtp_server_edit();
116  if( $r9 !== true ){
117  $messages->add_message( new errorMessage($r9) );
118  }
119  $r10 = $config->handle_email_smtp_port_edit();
120  if( $r10 !== true ){
121  $messages->add_message( new errorMessage($r10) );
122  }
123  $r11 = $config->handle_email_smtp_username_edit();
124  if( $r11 !== true ){
125  $messages->add_message( new errorMessage($r11) );
126  }
127  $r12 = $config->handle_email_smtp_password_edit();
128  if( $r12 !== true ){
129  $messages->add_message( new errorMessage($r12) );
130  }
131  $r13 = $config->handle_email_address_edit();
132  if( $r13 !== true ){
133  $messages->add_message( new errorMessage($r13) );
134  }
135  $r14 = $config->handle_email_name_edit();
136  if( $r14 !== true ){
137  $messages->add_message( new errorMessage($r14) );
138  }
139  $r15 = $config->handle_email_groups_edit($grouplist);
140  if( $r15 !== true ){
141  $messages->add_message( new errorMessage($r15) );
142  }
143  }
144 
145 
146  $config->save_all();
147  header("Location: config.php");
148  exit();
149 }
150 
151 
152 // HTML !!
153 //-------------------------------------
154 $navbar = array( 0 => array("name"=>"Backend","href"=>"index.php","onclick"=>"") );
155 $navbar[] = array( "name"=>"Admin" , "href"=>"admin.php" , "onclick"=>"");
156 $navbar[] = array( "name"=>"Einstellungen" , "href"=>"config.php" , "onclick"=>"");
157 
158 HTML::doctype();
159 HTML::head("",1); // extra header section , level of deepness for relative paths
161 
162 $messages->display_messages();
163 $messages->del_all_messages();
164 
165 
166 
167 // INDEX PAGE
168 //-------------------------------------
169 echo "<form method='POST' action='' >";
170 echo "<table class='adminsettings_table' style='margin-top:2em;'>";
171 
172  echo "<tr>";
173  echo "<td class='adminsettings_name'>APP_ROOT_URL</td>";
174  echo "<td class='adminsettings_settings'>";
175  $config->display_app_root_url_edit();
176  echo "</td>";
177  echo "<td class='adminsettings_desc'>URL, die zum aufbauen der externen Links verwendet wird. Muss direkt auf das Basisverzeichnis der Anwendung verweisen.</td>";
178  echo "</tr>";
179 
180  echo "<tr>";
181  echo "<td class='adminsettings_name'>ANALYTICS_HTML_ INCLUDE_FILE</td>";
182  echo "<td class='adminsettings_settings'>";
183  $config->display_analytics_file_edit();
184  echo "</td>";
185  echo "<td class='adminsettings_desc'>Dateipfad zu einer (html,php) Datei, die in jede Seite eingebunden wird. Praktisch um google analytics einzubinden. Achtung die Datei darf keine passwörter o.Ä. enthalten!</td>";
186  echo "</tr>";
187 
188  echo "<tr>";
189  echo "<td class='adminsettings_name'>GROUPS_WHITELIST</td>";
190  echo "<td class='adminsettings_settings'>";
191  $grouplist = $au->get_all_groups();
192  $config->display_groups_whitelist_edit($grouplist);
193  echo "</td>";
194  echo "<td class='adminsettings_desc'>Gruppenliste mit Mehrfachauswahl. Gruppen (klassen), die in der Software zur verfügung stehen.</td>";
195  echo "</tr>";
196 
197  echo "<tr>";
198  echo "<td class='adminsettings_name'>TEACHER_GROUP</td>";
199  echo "<td class='adminsettings_settings'>";
200  $config->display_teacher_group_edit($grouplist);
201  echo "</td>";
202  echo "<td class='adminsettings_desc'>Gruppenliste mit Mehrfachauswahl. Lehrer erhalten erweiterte Rechte, wie das erstellen von Klassenlisten und versenden von Rundmails.</td>";
203  echo "</tr>";
204 
205  /*----------------
206  * EMAIL
207  *----------------*/
208  echo "<tr> <td colspan='3'> <h3>E-Mails</h3> </td> </tr>";
209 
210  echo "<tr>";
211  echo "<td class='adminsettings_name'>EMAIL_ENABLE</td>";
212  echo "<td class='adminsettings_settings'>";
213  $config->display_enable_email_edit();
214  echo "</td>";
215  echo "<td class='adminsettings_desc'>Schaltet die E-Mail funktionalitäten (Benachichtigung, versenden von E-Mails) ein oder aus.</td>";
216  echo "</tr>";
217 
218  echo "<tr>";
219  echo "<td class='adminsettings_name'>EMAIL_METHOD</td>";
220  echo "<td class='adminsettings_settings'>";
221  $config->display_email_method_edit();
222  echo "</td>";
223  echo "<td class='adminsettings_desc'>Methode, mit welcher EMail-adressen ermittelt werden. Bei LDAP werden die Adressen pro Schüler aus dem LDAP ausgelesen, bei \"group\", muss jeder Gruppe eine Verteiler EMail-Adresse angegeben werden.</td>";
224  echo "</tr>";
225 
226  echo "<tr>";
227  echo "<td class='adminsettings_name'>EMAIL_GROUPS</td>";
228  echo "<td class='adminsettings_settings'>";
229  $config->display_email_groups_edit($grouplist);
230  echo "</td>";
231  echo "<td class='adminsettings_desc'>Verteiler E-mail Adressen für jede lehrergruppe. Neue hinzugefürte Gruppen werden nach dem Speichern angezeigt.</td>";
232  echo "</tr>";
233 
234  echo "<tr>";
235  echo "<td class='adminsettings_name'>EMAIL_SEND_METHOD</td>";
236  echo "<td class='adminsettings_settings'>";
237  $config->display_email_send_method_edit();
238  echo "</td>";
239  echo "<td class='adminsettings_desc'>Methode, mit welcher EMails verschickt werden. SMPT über einen externen Server, mail und sendmail über einen lokalen Server. Momentan wird nur SMPT unterstützt.</td>";
240  echo "</tr>";
241 
242  /*----------------
243  * EMAIL 2
244  *----------------*/
245  echo "<tr> <td colspan='3'> <h3>Umfragesoftware E-mail Adresse</h3> </td> </tr>";
246 
247  echo "<tr>";
248  echo "<td class='adminsettings_name'>EMAIL_ADDRESS</td>";
249  echo "<td class='adminsettings_settings'>";
250  $config->display_email_address_edit();
251  echo "</td>";
252  echo "<td class='adminsettings_desc'>E-mail Adresse, mit der die Software E-mails verschicken soll</td>";
253  echo "</tr>";
254 
255  echo "<tr>";
256  echo "<td class='adminsettings_name'>EMAIL_NAME</td>";
257  echo "<td class='adminsettings_settings'>";
258  $config->display_email_name_edit();
259  echo "</td>";
260  echo "<td class='adminsettings_desc'>Absendername, der in jeder E-mail stehen soll (z.B. \"Umfragesoftware von ...\")</td>";
261  echo "</tr>";
262 
263  echo "<tr>";
264  echo "<td class='adminsettings_name'>EMAIL_SMTP_SERVER</td>";
265  echo "<td class='adminsettings_settings'>";
266  $config->display_email_smtp_server_edit();
267  echo "</td>";
268  echo "<td class='adminsettings_desc'>Server für den SMTP Zugang</td>";
269  echo "</tr>";
270 
271  echo "<tr>";
272  echo "<td class='adminsettings_name'>EMAIL_AUTH_ENCRYPTION</td>";
273  echo "<td class='adminsettings_settings'>";
274  $config->display_email_auth_encryption_edit();
275  echo "</td>";
276  echo "<td class='adminsettings_desc'>Verschlüsselungsmethode für die verbundung zum SMTP server. Nur ssl unterstützt.</td>";
277  echo "</tr>";
278 
279  echo "<tr>";
280  echo "<td class='adminsettings_name'>EMAIL_SMTP_PORT</td>";
281  echo "<td class='adminsettings_settings'>";
282  $config->display_email_smtp_port_edit();
283  echo "</td>";
284  echo "<td class='adminsettings_desc'>Port des servers für den SMTP Zugang</td>";
285  echo "</tr>";
286 
287  echo "<tr>";
288  echo "<td class='adminsettings_name'>EMAIL_SMTP_USERNAME</td>";
289  echo "<td class='adminsettings_settings'>";
290  $config->display_email_smtp_username_edit();
291  echo "</td>";
292  echo "<td class='adminsettings_desc'>Benutzername für den SMTP Server. Meistens die registrierte E-Mail Adresse.</td>";
293  echo "</tr>";
294 
295  echo "<tr>";
296  echo "<td class='adminsettings_name'>EMAIL_SMTP_PASSWORD</td>";
297  echo "<td class='adminsettings_settings'>";
298  $config->display_email_smtp_password_edit();
299  echo "</td>";
300  echo "<td class='adminsettings_desc'>Password für den SMTP Zugang. Aus Sicherheitsgründen wird das Password einmal eingestellt nicht mehr sichtbar sein. Es kann jedoch geändert werden.</td>";
301  echo "</tr>";
302 
303 
304 
305 echo "</table>";
306 
307 echo "<div class='form_save_container' style='width:20em;margin-left:0px;margin-top:.5em'>";
308 echo "
309  <input type='submit' name='save_settings' value='Speichern'/> &nbsp;
310  <input type='reset' value='Zurücksetzen'/>";
311 echo "</div>";
312 
313 
314 
315 echo "</form>";
316 
317 
318 
319 
320 
321 HTML::FOOT();
322 
323 ?>