View file wap-meet/admin/admin_users.php

File size: 6.96Kb
<?php
require_once('../system/config.php');
require_once('../system/functions.php');

	if ( ! $is_logged || $user_data['level'] != 100 ) {
		header('location: ' . $config['site']['home'], true, 302);
	}
// TODO: Бан пользователей
$action = ! empty($_GET['action']) ? $_GET['action'] : '';
switch($action) {
default:
	header('location: ' . $config['site']['home'] . 'users.php', true, 302);
break;

case 'edit':
	require $config['site']['root'] . 'classes/img.php';
		// TODO: Изменение логина
		if ( $id > 0 ) {
		$user = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `user_id` = '" . $id . "' "));
			if ( $user ) {
			$errors = array();
				if ( isset($_POST['action']) ) {
					// Загрузка фото
					if ( isset($_FILES['file']['tmp_name']) && is_file($_FILES['file']['tmp_name']) ) {
						if ( $_FILES['file']['size'] > (200*1024) )  {
							$errors[] = 'Вес фото должен быть не более 200 кб';
						} else {
							$img = new img($_FILES['file']['tmp_name']);
							$img->img_down()->resize(500)->save($config['site']['root'] . 'upload/foto/' . $id . '.jpg', 'jpg');
								if ( $img->error ) $errors[] = 'Формат файла только jpeg, gif или png';
						}
					}
				
					// Смена пароля
					// TODO: Сделать более безопасным изменение пароля
					if ( ! empty($_POST['pass'])) $pass = md5($_POST['pass']); else $pass = $user['pass'];
					if ( $_POST['sex'] > 1 || $_POST['sex'] < 0 )                                                    $errors[] = 'Пол имеет не верное значение';
					if ( mb_strlen($_POST['name']) > 30 )                                                            $errors[] = 'Введите <b>Имя</b> покороче';
					if ( ! empty($_POST['icq']) && ( ! is_numeric($_POST['icq']) || mb_strlen($_POST['icq']) > 9 ) ) $errors[] = '<b>ICQ</b> не должно быть длиннее 9 цифр';
					if ( $_POST['sex'] > 1 || $_POST['sex'] < 0 )                                                    $errors[] = '<b>Пол</b> имеет неверное значение';
					if ( $_POST['position'] > 6 || $_POST['position'] < 0 )                                          $errors[] = '<b>Положение</b> имеет неверное значение';
					if ( mb_strlen($_POST['city']) > 30 )                                                            $errors[] = 'Название <b>Города</b> длиннее 30 символов';
					if ( mb_strlen($_POST['about']) > 500 )                                                          $_POST['about'] = mb_substr($_POST['pass'], 0, 500);
					if ( mb_strlen($_POST['interests']) > 300 )                                                      $_POST['interests'] = mb_substr($_POST['interests'], 0, 300);

					if ( empty($errors) ) {
						mysql_query("UPDATE `users` SET 
						`pass` = '" . $pass . "', 
						`name` = '" . mysql_real_escape_string($_POST['name']) . "', 
						`sex` = '" . intval($_POST['sex']) . "',
						`position` = '" . intval($_POST['position']) . "',
						`city` = '" . mysql_real_escape_string($_POST['city']) . "', 
						`about` = '" . mysql_real_escape_string($_POST['about']) . "', 
						`interests` = '" . mysql_real_escape_string($_POST['interests']) . "', 
						`icq` = '" . mysql_real_escape_string($_POST['icq']) . "' 
						WHERE `user_id` = " . $id ." ");

						header('location: ' . $config['site']['home'] . 'users.php?action=info&id= ' . $id, true, 302);
					}
			}
	echo head();
		if ( ! empty($errors) ) echo '<div>' . implode($errors, '<br />') . '</div>';
	echo '<div class="menu">
<form action="' . $_SERVER['PHP_SELF'] . '?action=edit&amp;id=' . $id . '" method="post" enctype="multipart/form-data" />
'. (is_file($config['site']['root'] . 'upload/foto/' . $id . '.jpg') ? 'Фото:<br /><img src="' . $config['site']['home'] . 'utils/resize.php?img=upload/foto/' . $id . '.jpg&amp;width=100&amp;height=0" alt="Image" /><br />' : '') . '
Фото: (jpeg, gif, png)<br /> <input type="file" name="file" /> <br />
Пароль:<br /><input type="password" name="pass" /><br />
Имя:<br /><input type="text" name="name" value="' . htmlentities($user['name']) . '"/><br />
Пол:<br /><select name="sex">
<option value="0" ' . ($user['sex'] == 0 ? 'selected="selected"' : '') . '>Мужской</option>
<option value="1" ' . ($user['sex'] == 1 ? 'selected="selected"' : '') . '>Женский</option>
</select><br />
Положение:<br /><select name="position">
<option value="0" ' . ($user['position'] == 0 ? 'selected="selected"' : '') . '>В активном поиске</option>
<option value="1" ' . ($user['position'] == 1 ? 'selected="selected"' : '') . '>Не женат</option>
<option value="2" ' . ($user['position'] == 2 ? 'selected="selected"' : '') . '">Не замужем</option>
<option value="3" ' . ($user['position'] == 3 ? 'selected="selected"' : '') . '>Замужем</option>
<option value="4" ' . ($user['position'] == 4 ? 'selected="selected"' : '') . '>Женат</option>
<option value="5" ' . ($user['position'] == 5 ? 'selected="selected"' : '') . '>Есть парень</option>
<option value="6" ' . ($user['position'] == 6 ? 'selected="selected"' : '') . '>Есть девушка</option>
</select><br />
Город:<br /><input type="text" name="city" value="' . htmlentities($user['city']) . '"/><br />
О себе:<br /><input type="text" name="about" value="' . htmlentities($user['about']) . '"/><br />
Интересы:<br /><input type="text" name="interests" value="' . htmlentities($user['interests']) . '"/><br />
ICQ:<br /><input type="text" name="icq" value="' . htmlentities($user['icq']) . '"/><br />
<input type="submit" name="action" value="Изменить" /></form></div>';
		} else {
			echo head();
			echo '<div class="menu">Пользователь не найден.<br /></div>';
		}
		} else {
			echo head();
			echo '<div class="menu">Неверные параметры.<br /></div>';
		}
	echo foot();
break;

case 'delete':
	echo head();
	if ( $id > 0) {
		$user = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `user_id` = '" . $id . "' "));
			if ( ! $user || $user['user_id'] == $user_data['user_id'] ) {
				echo '<div class="menu">Пользователь не найден либо вы выбрали себя.</div>';
			} else {
				// TODO: Нужна правильная очистка всего прочего
				mysql_query("DELETE FROM `users` WHERE `user_id` = '" . $id . "' ");
				mysql_query("DELETE FROM `chat` WHERE `user_id` = '" . $id . "' ");
				mysql_query("DELETE FROM `news` WHERE `author` = '" . mysql_real_escape_string($user['login']) . "' ");
				echo '<div class="menu">Пользователь и его история удалёны.</div>';
			}
	} else {
		echo '<div class="menu">Неверные параметры.<br /></div>';
	}
	echo foot();
break;
}