1.1 Проверяются полномочия пользователя для захода на страницу, если пользователь не «admin» и не «user» доступ к странице закрывается.
1.2 Если права «admin», то проверяются нажатия ссылок «Добавить нового пользователя», кнопок «Редактировать» и «Удалить».
1.3 Если кнопки не нажимались идем дальше и проверяем пользователя на права «user».
1.4 Если права не «user», переходим к последней, третьей части в которой идет удаление неактивных пользователей.
1.5 Удаление не активных пользователей сделано для тех пользователей, которые активируются самостоятельно, а не добавлены администратором. Принцип удаления таков: если пользователь начал регистрацию на сайте, получил письмо на свою электронную почту и в течении часа не ответил на него, перейдя по указанной в письме активации ссылке, то его данные удаляются из БД. Сам алгоритм определения неактивных пользователей следующий:
Делается SQL запрос к таблице «users» и связанной с ней таблицей «authorrole», в котором выбираются все пользователи, у которых значение activation не равно 1. Полученный массив обрабатывается построчно в цикле foreach по условию:
$r = time() – $nouser["date"];
где:
time() – текущее время;
$nouser["date"]– время регистрации пользователя (соответствует значению «date» таблицы «users»).
За время активации отвечает параметр $r. Если у пользователя $r > 3600 идет удаление значений данного пользователя из таблиц «users» и «authorrole».
Внимание! В файле много sql запросов, если некоторые не очень понятны, можно перейти в phpMyAdmin зайти в базу beseder выбрать вкладку sql и самостоятельно посмотреть, что выдают запросы в коде. при вставке не забудьте заменить переменные их значениями.
2. Нажата ссылка «Добавить нового пользователя»
2.1. Страница перегружается и появляется переменная $_GET['add'].
2.2 Инициализируем переменные добавления пользователя, вставляем форму добавления пользователя form_add_user.php. После заполнения формы проверяются переданные ею данные и устанавливается «аватар» в подключаемом скрипте avatar.php.
2.3 Данные заносятся в БД.
2.4 Проверяются и удаляются не активированные пользователи.
3. Нажата кнопка «Редактировать».
3.1 Появляется $_POST['action'] == 'Редактировать'
3.2. Также вставляется form_add_user.php, но в ней уже заранее установлены данные конкретного пользователя.
3.3 Данные изменяются администратором, проверяются и заносятся в БД.
3.4 Проверяются и удаляются не активированные пользователи.
4. Нажата кнопка «Удалить»
4.1. Появляется $_POST['action'] == 'Удалить', выполняется условие вставки скрипта подготовки удаления delete.php и формы удаления form_delete.php. Если в форме удаления соглашаемся и нажимаем «Да» то $_POST['action'] == 'Да' и запускается код удаления. Удаление происходит из таблицы «users» и связанной с ней таблицей «authorrole».
13. Управление пользователями
Попадаем при переходе по ссылке «Пользователи» на странице «Панель управления». За вывод страницы отвечает файл authors.html.php .
Листинг 28. authors.html.php Путь: news/chat/admin/users/ authors.html.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/chat/admin/clean.php';
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="/chat/style.css" />
<title>Управление пользователями</title>
</head>
<body>
<h2 class="user">Управление пользователями</h2>
<div class="addusers"><a href="?add">Добавить нового пользователя</a></div>
<div class="ourwrapper" id="">
<!– <ul>–>
<?php foreach ($authors as $author) : ?>
<!– <li style="list-style-type: none">–>
<div class="formuser">
<form action="" method="post" class="formusers">
<div class="wrapuser">
<div class="topuser" id="">
<p class="login_art">
<span class="number"># <?php htmlout($author['id']); ?></span>