changed git call from https to git readonly
[atutor.git] / mods / ldap / admin / config_ldap.php
1 <?php
2 /*
3 Admin LDAP-auth config page
4 Based on ATutor create/edit pages
5
6 Maintainer smal (Serhiy Voyt)
7 smalgroup@gmail.com
8
9 Version 0.2
10 10.11.2008
11
12 Distributed under GPL (c)Sehiy Voyt 2005-2009
13 */
14
15 define('AT_INCLUDE_PATH', '../include/');
16 require(AT_INCLUDE_PATH.'vitals.inc.php');
17 admin_authenticate(AT_ADMIN_PRIV_ADMIN);
18
19
20 if (isset($_POST['cancel'])) {
21         $msg->addFeedback('CANCELLED');
22         header('Location: index.php');
23         exit;
24 } else if (isset($_POST['submit'])) {
25         $_POST['ldap_name']               = trim($_POST['ldap_name']);
26         $_POST['ldap_port']               = intval($_POST['ldap_port']);
27         $_POST['ldap_base_tree']          = trim($_POST['ldap_base_tree']);
28         $_POST['ldap_attr_login']         = trim($_POST['ldap_attr_login']);
29 //      $_POST['ldap_attr_password']      = trim($_POST['ldap_attr_password']);
30         $_POST['ldap_attr_password']      = "__unused_ldap_field__";
31         $_POST['ldap_attr_mail']          = trim($_POST['ldap_attr_mail']);
32         $_POST['ldap_attr_last_name']     = trim($_POST['ldap_attr_last_name']);
33         $_POST['ldap_attr_first_name']    = trim($_POST['ldap_attr_first_name']);
34         $_POST['ldap_attr_second_name']   = trim($_POST['ldap_attr_second_name']);
35         $_POST['ldap_attr_dob']           = trim($_POST['ldap_attr_dob']);
36         $_POST['ldap_attr_gender']        = trim($_POST['ldap_attr_gender']);
37         $_POST['ldap_attr_address']       = trim($_POST['ldap_attr_address']);
38         $_POST['ldap_attr_postal']        = trim($_POST['ldap_attr_postal']);
39         $_POST['ldap_attr_city']          = trim($_POST['ldap_attr_city']);
40         $_POST['ldap_attr_province']      = trim($_POST['ldap_attr_province']);
41         $_POST['ldap_attr_country']       = trim($_POST['ldap_attr_country']);
42         $_POST['ldap_attr_phone']         = trim($_POST['ldap_attr_phone']);
43         $_POST['ldap_attr_website']       = trim($_POST['ldap_attr_website']);
44         
45         //check that all required values have been set  
46         if (!$_POST['ldap_name']) {
47                 $msg->addError('NO_LDAP_SERVER_NAME');
48         }
49         
50         
51         if (!$_POST['ldap_base_tree']) {
52                 $msg->addError('NO_LDAP_BASE_TREE');
53         }
54         
55         
56         if (!$_POST['ldap_attr_login']) {
57                 $msg->addError('NO_LDAP_ATTR_LOGIN');
58         }
59         
60         if (!$_POST['ldap_attr_password']) {
61                 $msg->addError('NO_LDAP_ATTR_PASS');
62         }
63         
64         if (!$_POST['ldap_attr_mail']) {
65                 $msg->addError('NO_LDAP_ATTR_MAIL');
66         }
67         
68         if (!$_POST['ldap_attr_last_name']) {
69                 $msg->addError('NO_LDAP_ATTR_LAST_NAME');
70         }
71         
72         if (!$_POST['ldap_attr_first_name']) {
73                 $msg->addError('NO_LDAP_ATTR_FIRST_NAME');
74         }
75         
76         if (!$_POST['ldap_attr_second_name']) {
77                 $msg->addError('NO_LDAP_ATTR_SECOND_NAME');
78         }
79         
80         if (!$msg->containsErrors()) {
81                 $_POST['ldap_name']               = $addslashes($_POST['ldap_name']);
82                 $_POST['ldap_base_tree']          = $addslashes($_POST['ldap_base_tree']);
83                 $_POST['ldap_attr_login']         = $addslashes($_POST['ldap_attr_login']);
84                 $_POST['ldap_attr_password']      = $addslashes($_POST['ldap_attr_password']);
85                 $_POST['ldap_attr_mail']          = $addslashes($_POST['ldap_attr_mail']);
86                 $_POST['ldap_attr_last_name']     = $addslashes($_POST['ldap_attr_last_name']);
87                 $_POST['ldap_attr_first_name']    = $addslashes($_POST['ldap_attr_first_name']);
88                 $_POST['ldap_attr_second_name']   = $addslashes($_POST['ldap_attr_second_name']);
89                 $_POST['ldap_attr_dob']           = $addslashes($_POST['ldap_attr_dob']);
90                 $_POST['ldap_attr_gender']        = $addslashes($_POST['ldap_attr_gender']);
91                 $_POST['ldap_attr_address']       = $addslashes($_POST['ldap_attr_address']);
92                 $_POST['ldap_attr_postal']        = $addslashes($_POST['ldap_attr_postal']);
93                 $_POST['ldap_attr_city']          = $addslashes($_POST['ldap_attr_city']);
94                 $_POST['ldap_attr_province']      = $addslashes($_POST['ldap_attr_province']);
95                 $_POST['ldap_attr_country']       = $addslashes($_POST['ldap_attr_country']);
96                 $_POST['ldap_attr_phone']         = $addslashes($_POST['ldap_attr_phone']);
97                 $_POST['ldap_attr_website']       = $addslashes($_POST['ldap_attr_website']);
98                                  
99                 foreach ($_POST as $name => $value) {
100                         $sql    = "SELECT * FROM ".TABLE_PREFIX."config_ldap WHERE name='$name'";
101                         $result = mysql_query($sql, $db);
102                         $row = mysql_fetch_array($result);
103                         echo $row['name']." -> ". $row['value']."<br>";
104                         if (($name != 'submit') && isset($_POST[$name]) && ($_POST[$name] != $row['value'])) {
105                                 $sql = "UPDATE ".TABLE_PREFIX."config_ldap SET value='$_POST[$name]' WHERE name='$name'";
106                                 mysql_query($sql,$db);
107                                 }
108                         }
109                 
110                 $msg->addFeedback('SYSTEM_PREFS_SAVED');
111                 header('Location:index.php');
112                 exit;
113                 
114                 
115         }
116 }
117
118 $onload = 'document.form.sitename.focus();';
119
120 require(AT_INCLUDE_PATH.'header.inc.php');
121
122 if (!isset($_POST['submit'])) {
123         $sql    = "SELECT * FROM ".TABLE_PREFIX."config_ldap";
124         $result = mysql_query($sql,$db);
125         
126         if (!($row = mysql_fetch_assoc($result))){
127                 $msg->printErrors('SOME_ERROR');
128                 require (AT_INCLUDE_PATH.'footer.inc.php');
129                 exit;
130                 }
131         $result = mysql_query($sql,$db);
132         while ($row = mysql_fetch_assoc($result)){
133                 $_POST[$row['name']] = $row['value'];
134                 }       
135
136 }
137 ?>
138
139 <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="form">
140 <div class="input-form">
141         <div class="row">
142                 <div class="required" title="<?php echo _AT('required_field'); ?>">*</div><label for="sitename"><?php echo _AT('ldap_name'); ?></label><br />
143                 <input type="text" name="ldap_name" size="40" maxlength="60" id="ldapname" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_name'])); ?>" />
144         </div>
145
146         <div class="row">
147                 <div class="required" title="<?php echo _AT('required_field');
148                 ?>">*</div><label for="ldap_port"><?php echo _AT('ldap_port'); ?></label><br />
149                 <select name="ldap_port" id="ldap_port" value=<?php echo $stripslashes(htmlspecialchars($_POST['ldap_port'])); ?> >
150                 <option value="389"<?php if ($_POST['ldap_port'] == 389) {echo 'selected="selected"'; }?>>389</option>
151                 <option value="636"<?php if ($_POST['ldap_port'] == 636) {echo 'selected="selected"'; }?>>636</option>
152                 </select>
153         </div>
154
155         <div class="row">
156                 <div class="required" title="<?php echo _AT('required_field'); ?>">*</div><label for="ldap_base_tree"><?php echo _AT('ldap_base_tree'); ?></label><br />
157                 <input type="text" name="ldap_base_tree" size="40" maxlength="60" id="ldap_base_tree" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_base_tree'])); ?>" />
158         </div>
159                 
160         <div class="row">
161                 <label><?php echo _AT('ldap_attr');?></label></br>
162                 <div class="row" title="<?php echo _AT('ldap_attr_login'); ?>">
163                 <div class="required" title="<?php echo _AT('required_field'); ?>"><small><small>*</small></small></div>
164                 <label for="ldap_attr_login"><small><small><?php echo _AT('ldap_attr_login'); ?></small></small></label><br />
165                 <input type="text" name="ldap_attr_login" size="39" maxlength="50" id="ldap_attr_login" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_login']));?>" />
166                 </div>
167         
168                 
169                 <!--<div type ="hidden" class="row" title="<?php echo _AT('ldap_attr_password'); ?>">
170                 <div class="required" title="<?php /*echo _AT('required_field'); ?>"><small><small>*</small></small></div>
171                 <label for="ldap_attr_password"><small><small><?php echo _AT('ldap_attr_password'); ?></small></small></label><br />
172                 <input type="text" name="ldap_attr_password" size="39" maxlength="50" id="ldap_attr_password" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_password']));*/?>" />
173                 </div>
174         -->
175                 <div class="row" title="<?php echo _AT('ldap_attr_mail'); ?>">
176                 <div class="required" title="<?php echo _AT('required_field'); ?>"><small><small>*</small></small></div>
177                 <label for="ldap_attr_mail"><small><small><?php echo _AT('ldap_attr_mail'); ?></small></small></label><br />
178                 <input type="text" name="ldap_attr_mail" size="39" maxlength="50" id="ldap_attr_mail" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_mail']));?>" />
179                 </div>
180                 
181                 <div class="row" title="<?php echo _AT('ldap_attr_last_name'); ?>">
182                 <div class="required" title="<?php echo _AT('required_field'); ?>"><small><small>*</small></small></div>
183                 <label for="ldap_attr_last_name"><small><small><?php echo _AT('ldap_attr_last_name'); ?></small></small></label><br />
184                 <input type="text" name="ldap_attr_last_name" size="39" maxlength="50" id="ldap_attr_last_name" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_last_name']));?>" />
185                 </div>
186
187                 <div class="row" title="<?php echo _AT('ldap_attr_first_name'); ?>">
188                 <div class="required" title="<?php echo _AT('required_field'); ?>"><small><small>*</small></small></div>
189                 <label for="ldap_attr_first_name"><small><small><?php echo _AT('ldap_attr_first_name'); ?></small></small></label><br />
190                 <input type="text" name="ldap_attr_first_name" size="39" maxlength="50" id="ldap_attr_first_name" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_first_name']));?>" />
191                 </div>
192                 
193                 <div class="row" title="<?php echo _AT('ldap_attr_second_name'); ?>">
194                 <div class="required" title="<?php echo _AT('required_field'); ?>"><small><small>*</small></small></div>
195                 <label for="ldap_attr_second_name"><small><small><?php echo _AT('ldap_attr_second_name'); ?></small></small></label><br />
196                 <input type="text" name="ldap_attr_second_name" size="39" maxlength="50" id="ldap_attr_second_name" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_second_name']));?>" />
197                 </div>
198                 
199                 <div class="row" title="<?php echo _AT('ldap_attr_dob'); ?>">
200                 <label for="ldap_attr_dob"><small><small><?php echo _AT('ldap_attr_dob'); ?></small></small></label><br />
201                 <input type="text" name="ldap_attr_dob" size="39" maxlength="50" id="ldap_attr_dob" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_dob']));?>" />
202                 </div>
203                 
204                 <div class="row" title="<?php echo _AT('ldap_attr_gender'); ?>">
205                 <label for="ldap_attr_gender"><small><small><?php echo _AT('ldap_attr_gender'); ?></small></small></label><br />
206                 <input type="text" name="ldap_attr_gender" size="39" maxlength="50" id="ldap_attr_gender" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_gender'])); ?>" />
207                 </div>
208                 
209                 <div class="row" title="<?php echo _AT('ldap_attr_address'); ?>">
210                 <label for="ldap_attr_address"><small><small><?php echo _AT('ldap_attr_address'); ?></small></small></label><br />
211                 <input type="text" name="ldap_attr_address" size="39" maxlength="50" id="ldap_attr_address" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_address']));?>" />
212                 </div>
213                 
214                 <div class="row" title="<?php echo _AT('ldap_attr_postal'); ?>">
215                 <label for="ldap_attr_postal"><small><small><?php echo _AT('ldap_attr_postal'); ?></small></small></label><br />
216                 <input type="text" name="ldap_attr_postal" size="39" maxlength="50" id="ldap_attr_postal" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_postal'])); ?>" />
217                 </div>
218                 
219                 <div class="row" title="<?php echo _AT('ldap_attr_city'); ?>">
220                 <label for="ldap_attr_city"><small><small><?php echo _AT('ldap_attr_city'); ?></small></small></label><br />
221                 <input type="text" name="ldap_attr_city" size="39" maxlength="50" id="ldap_attr_city" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_city'])); ?>" />
222                 </div>
223                 
224                 <div class="row" title="<?php echo _AT('ldap_attr_province'); ?>">
225                 <label for="ldap_attr_province"><small><small><?php echo _AT('ldap_attr_province'); ?></small></small></label><br />
226                 <input type="text" name="ldap_attr_province" size="39" maxlength="50" id="ldap_attr_province" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_province'])); ?>" />
227                 </div>
228                 
229                 <div class="row" title="<?php echo _AT('ldap_attr_country'); ?>">
230                 <label for="ldap_attr_country"><small><small><?php echo _AT('ldap_attr_country'); ?></small></small></label><br />
231                 <input type="text" name="ldap_attr_country" size="39" maxlength="50" id="ldap_attr_country" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_country'])); ?>" />
232                 </div>
233                 
234                 <div class="row" title="<?php echo _AT('ldap_attr_phone'); ?>">
235                 <label for="ldap_attr_phone"><small><small><?php echo _AT('ldap_attr_phone'); ?></small></small></label><br />
236                 <input type="text" name="ldap_attr_phone" size="39" maxlength="50" id="ldap_attr_phone" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_phone'])); ?>" />
237                 </div>
238                 
239                 <div class="row" title="<?php echo _AT('ldap_attr_website'); ?>">
240                 <label for="ldap_attr_website"><small><small><?php echo _AT('ldap_attr_website'); ?></small></small></label><br />
241                 <input type="text" name="ldap_attr_website" size="39" maxlength="50" id="ldap_attr_website" value="<?php echo $stripslashes(htmlspecialchars($_POST['ldap_attr_website'])); ?>" />
242                 </div>
243                 
244         </div>
245
246         <div class="row buttons">
247                 <input type="submit" name="submit" value="<?php echo _AT('save'); ?>" accesskey="s"  />
248                 <input type="submit" name="cancel" value="<?php echo _AT('cancel'); ?>"  />
249         
250         </div>
251         
252 </div>
253 </form>
254
255 <?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>