3 Admin LDAP-auth config page
4 Based on ATutor create/edit pages
6 Maintainer smal (Serhiy Voyt)
12 Distributed under GPL (c)Sehiy Voyt 2005-2009
15 define('AT_INCLUDE_PATH', '../include/');
16 require(AT_INCLUDE_PATH.'vitals.inc.php');
17 admin_authenticate(AT_ADMIN_PRIV_ADMIN);
20 if (isset($_POST['cancel'])) {
21 $msg->addFeedback('CANCELLED');
22 header('Location: index.php');
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']);
45 //check that all required values have been set
46 if (!$_POST['ldap_name']) {
47 $msg->addError('NO_LDAP_SERVER_NAME');
51 if (!$_POST['ldap_base_tree']) {
52 $msg->addError('NO_LDAP_BASE_TREE');
56 if (!$_POST['ldap_attr_login']) {
57 $msg->addError('NO_LDAP_ATTR_LOGIN');
60 if (!$_POST['ldap_attr_password']) {
61 $msg->addError('NO_LDAP_ATTR_PASS');
64 if (!$_POST['ldap_attr_mail']) {
65 $msg->addError('NO_LDAP_ATTR_MAIL');
68 if (!$_POST['ldap_attr_last_name']) {
69 $msg->addError('NO_LDAP_ATTR_LAST_NAME');
72 if (!$_POST['ldap_attr_first_name']) {
73 $msg->addError('NO_LDAP_ATTR_FIRST_NAME');
76 if (!$_POST['ldap_attr_second_name']) {
77 $msg->addError('NO_LDAP_ATTR_SECOND_NAME');
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']);
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);
110 $msg->addFeedback('SYSTEM_PREFS_SAVED');
111 header('Location:index.php');
118 $onload = 'document.form.sitename.focus();';
120 require(AT_INCLUDE_PATH.'header.inc.php');
122 if (!isset($_POST['submit'])) {
123 $sql = "SELECT * FROM ".TABLE_PREFIX."config_ldap";
124 $result = mysql_query($sql,$db);
126 if (!($row = mysql_fetch_assoc($result))){
127 $msg->printErrors('SOME_ERROR');
128 require (AT_INCLUDE_PATH.'footer.inc.php');
131 $result = mysql_query($sql,$db);
132 while ($row = mysql_fetch_assoc($result)){
133 $_POST[$row['name']] = $row['value'];
139 <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="form">
140 <div class="input-form">
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'])); ?>" />
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>
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'])); ?>" />
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']));?>" />
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']));*/?>" />
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']));?>" />
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']));?>" />
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']));?>" />
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']));?>" />
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']));?>" />
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'])); ?>" />
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']));?>" />
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'])); ?>" />
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'])); ?>" />
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'])); ?>" />
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'])); ?>" />
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'])); ?>" />
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'])); ?>" />
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'); ?>" />
255 <?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>