示例#1
0
 function HtPasswd()
 {
     $auth = new PasswdAuth();
     //Добавление пользователя
     if (isset($_POST['id']) && $_POST['id'] == 0) {
         $auth->addUser($_POST['login'], $_POST['password']);
     }
     //Редактирование пользователя
     if (isset($_POST['id']) && $_POST['id'] != 0 && !empty($_POST['password'])) {
         $auth->changePassword($_POST['login'], $_POST['password']);
     }
     //Удаление пользователя
     if (isset($_GET['delete']) && $_GET['delete'] != 0) {
         $users = db()->rows("SELECT * FROM `prefix_admin_users` WHERE `id` = " . (int) $_GET['delete']);
         foreach ($users as $v) {
             if ($v['id'] == $_GET['delete']) {
                 $user_login = $v['login'];
                 break;
             }
         }
         if (isset($user_login)) {
             $auth->deleteUser($user_login);
         }
     }
     $this->title = 'Пользователи системы';
     //$this->hint['text'] = 'Все пользователи автоматически добавляются в файл .htpasswd и хранятся в базе, для задания дополнительной информации о них';
     $this->content = $this->DataTable('admin_users', array('nouns' => array('id' => 'id', 'name' => 'login', 'created' => 'created', 'modified' => 'modified'), 'controls' => array('add', 'edit', 'del'), 'tabs' => array('userAccess' => 'Доступ пользователя')), array('id' => array('name' => '№', 'class' => 'min'), 'login' => array('name' => 'Логин (имя пользователя)', 'length' => '1-32', 'regex' => '/^([a-z0-9-_]+)?$/i', 'regex_error' => 'Логин должен состоять только из латинских букв и цифр'), 'password' => array('name' => 'Пароль', 'hide_from_table' => true), 'name' => array('name' => 'Полное имя'), 'post' => array('name' => 'Должность'), 'email' => array('name' => 'Почта'), 'lastenter' => array('name' => 'Последний вход'), 'type' => array('name' => 'Администратор / менеджер')));
 }