<?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>