| <?php |
| /*** |
| * Useradmin page. |
| * |
| * This page sumarize the actions needed to administer users into LDAP |
| * directory server's database. |
| * |
| * -- |
| * 2009 (c) Alain Reguera Delgado <al@ciget.cienfuegos.cu> |
| * Released under GPL lisence (http://www.fsf.org/licensing/licenses/gpl.txt) |
| */ |
| |
| |
| //-------------/* Show error if this page is called directly. |
| |
| if ( basename($_SERVER['PHP_SELF']) <> 'index.php') |
| { |
| echo '<h3>Sorry, this page can\'t be served directly. '; |
| echo 'Try <a href="index.php?p=users">this instead</a>.</h3>'; |
| exit; |
| } |
| |
| //------------|* Define filter. |
| |
| $filter = $ldap->build_filter_string(); |
| |
| /*------------|* Initialize entry values. */ |
| |
| $entries = $ldap->get_entries( $filter ); |
| |
| /*------------|* Do Action if POST |
| * |
| * Description : Actions take place entry by entry. Just one |
| * entry at the same time. Actually two actions are supported |
| * (update,delete). */ |
| |
| if ( isset( $_POST['useradmin'] ) ) |
| { |
| // Define useradmin attributes. |
| $fields = array('cn', 'userpassword', 'displayname', 'preferredlanguage', 'employeetype'); |
| |
| // Recover action to do. |
| $action = $_POST['action']; |
| |
| // Reinitialize entries values based on input and do action if present |
| $message = $ldap->init_useradmin_values( $entries, $fields, $action ); |
| |
| |
| // Reload entry value to reflect changes immediately |
| $entries = $ldap->get_entries( $filter ); |
| } |
| |
| //------------/* Display useradmin action results |
| |
| if ( isset( $message ) ) |
| { |
| echo $message; |
| } |
| |
| //------------/* Display useradmin title |
| |
| echo '<h1>' . ucfirst(translate(strtolower('admin'))) . ' ' . translate(strtolower('users')) . '</h1>'; |
| |
| //------------/* Display useradmin form |
| |
| ?> |
| |
| <form name="ldapusers" action="" method="post"> |
| |
| <p><?php echo $ldap->show_useradmin_info( $entries ) ?></p> |
| |
| <hr/> |
| |
| <div class="action alignr"> |
| |
| <?php echo show_action_field(); ?> |
| |
| <input type="submit" name="useradmin" value="<?php echo ucfirst(translate('accept'))?>" /> |
| |
| </div> |
| |
| <table class="ldapusers"> |
| |
| <tr> |
| |
| <th> </th> |
| |
| <th><?php echo ucfirst(translate('uid'))?></th> |
| |
| <th><?php echo ucfirst(translate('userpassword'))?></th> |
| |
| <th><?php echo ucfirst(translate('cn'))?></th> |
| |
| <th><?php echo ucfirst(translate('displayname'))?></th> |
| |
| <th><?php echo ucfirst(translate('preferredlanguage'))?></th> |
| |
| <th><?php echo ucfirst(translate('employeetype'))?></th> |
| |
| |
| </tr> |
| |
| <?php for ($i=0; $i<$entries['count']; $i++) { ?> |
| <tr> |
| <td align="center"><input type="checkbox" name="uid[<?php echo $i ?>]" value="<?php echo $entries[$i]['uid'][0]; ?>" /></td> |
| <td align="center"><?php echo $entries[$i]['uid'][0]; ?></td> |
| |
| |
| <td align="center"><input type="password" name="userpassword[<?php echo $i ?>]" value="<?php echo $entries[$i]['userpassword'][0]; ?>" size="20" /></td> |
| |
| <td align="center"><input type="text" name="cn[<?php echo $i ?>]" value="<?php echo $entries[$i]['cn'][0]; ?>" size="20" /></td> |
| |
| <td align="center"><input type="text" name="displayname[<?php echo $i ?>]" value="<?php echo $entries[$i]['displayname'][0]; ?>" size="10" /></td> |
| |
| <td align="center" style="padding: 0.5em;"> |
| <?php echo get_user_langSelector($i,$entries[$i]['preferredlanguage'][0])?> |
| </td> |
| |
| <td align="center" style="padding: 0.5em;"> |
| <?php echo get_user_roleSelector($i,$entries[$i]['employeetype'][0])?> |
| </td> |
| |
| </tr> |
| <?php } ?> |
| |
| </table> |
| |
| <div class="action alignr"> |
| |
| <input type="submit" name="useradmin" value="<?php echo ucfirst(translate('accept'))?>" /> |
| |
| </div> |
| |
| </form> |