Файл: soc-set/moduls/groups/panel.php
Строк: 179
<?php
require_once('../../core/start.php');
require_once('func.php');
check_auth();
$id = abs(num($_GET['id']));
$group = DB::$dbs->queryFetch("SELECT * FROM ".GROUPS." WHERE `id` = ? ",array($id));
if (empty($group)) {
head('Сообщество не найдено');
echo DIV_TITLE . 'Сообщество не найдено' . CLOSE_DIV;
echo DIV_ERROR . 'Ошибка!' . CLOSE_DIV;
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <b>Сообщество не найдено</b>' . CLOSE_DIV;
require_once('../../core/stop.php');
exit();
}
if ($group['user_id'] != $user['user_id'] && privilegy('group') == FALSE) {
head('Ошибка доступа');
echo DIV_TITLE . 'Ошибка доступа' . CLOSE_DIV;
echo DIV_ERROR . 'Ошибка!' . CLOSE_DIV;
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <b>Ошибка доступа</b>' . CLOSE_DIV;
require_once('../../core/stop.php');
exit();
}
switch ($select) {
default:
head('Управление сообществом');
echo DIV_TITLE . 'Управление сообществом' . CLOSE_DIV;
echo DIV_LI . '<a href="'.HOME.'/groups/'.$group['id'].'/panel/logo/">Логотип сообщества</a>' . CLOSE_DIV;
echo DIV_LI . '<a href="'.HOME.'/groups/'.$group['id'].'/panel/info/">Основная информация</a>' . CLOSE_DIV;
echo DIV_LI . '<a href="'.HOME.'/groups/'.$group['id'].'/panel/private/">Настройка приватности</a>' . CLOSE_DIV;
echo DIV_LI . '<a href="'.HOME.'/groups/'.$group['id'].'/panel/peoples/">Люди в сообществе</a>' . CLOSE_DIV;
echo DIV_LI . '<a href="'.HOME.'/groups/'.$group['id'].'/panel/admin/">Администрация</a>' . CLOSE_DIV;
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <b>Управление сообществом</b>' . CLOSE_DIV;
break;
case 'logo':
head('Управление сообществом: Логотип');
echo DIV_TITLE . 'Управление сообществом: Логотип' . CLOSE_DIV;
if (isset($_GET['del'])) {
unlink('../../files/groups/'.$group['logo']);
unlink('../../files/groups/mini_'.$group['logo']);
DB::$dbs->query("UPDATE ".GROUPS." SET `logo` = ? WHERE `id` = ?", array('', $group['id']));
header("Location: ".HOME."/groups/".$group['id']."/panel/logo/");
}
if (!empty($_POST['upload'])) {
$name = $_FILES['file']['name']; # Название файла
$ext = strtolower(strrchr($name, '.')); # Расширение файла
$par = getimagesize($_FILES['file']['tmp_name']); # Разрешение изображения
$size = $_FILES['file']['size']; # Вес файла
$time = time();
$file = $time.$ext;
$pictures = array('.jpg', '.jpeg', '.gif', '.png'); # Допустимые расширения
if ($size > (1048576 * $config['max_upload_group'])) {
$err .= 'Размер фотографии превышает допустимое значение. [Max. '.$config['max_upload_group'].'Mb.]<br />';
}
if (preg_match('/.php/i', $name) || preg_match('/.pl/i', $name) || $name == '.htaccess' || !in_array($ext, $pictures)) {
$err .= 'Не верное расширение файла.<br />';
}
if (empty($err)) {
@unlink('../../files/groups/'.$group['logo']);
@unlink('../../files/groups/mini_'.$group['logo']);
copy($_FILES['file']['tmp_name'], '../../files/groups/'.$file); # Загружаем в оригинале
img_resize('../../files/groups/'.$file, '../../files/groups/mini_'.$file, $config['mini_logo_par'][0], $config['mini_logo_par'][1]); # Mini
DB::$dbs->query("UPDATE ".GROUPS." SET `logo` = ? WHERE `id` = ? ", array($file, $group['id']));
header("Location: ".HOME."/groups/".$group['id']."/panel/logo/");
} else {
echo DIV_ERROR . $err . CLOSE_DIV;;
}
}
echo DIV_BLOCK . (empty($group['logo']) ? '<img src="' . HOME . '/style/img/empty_photo.gif" />' : '<img src="' . HOME . '/files/groups/mini_'.$group['logo'] . '" />') . CLOSE_DIV;
echo (!empty($group['logo']) ? DIV_BLOCK . '<a href="?del">[Удалить]</a>' . CLOSE_DIV : NULL);
echo DIV_AUT;
echo '<form action="#" method="POST" enctype="multipart/form-data">';
echo '<b>Логотип:</b> [max. '.$config['max_upload_group'].'mb., jpg, gif, png]<br /><input type="file" name="file"/><br /><br />';
echo '<input type="submit" name="upload" value="Загрузить" /></form>';
echo CLOSE_DIV;
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <a href="'.HOME.'/groups/'.$group['id'].'/panel/">Управление сообществом</a> / <b>Логотип сообщества</b>' . CLOSE_DIV;
break;
case 'info':
head('Управление сообществом: Основная информация');
if (!empty($_POST['edit'])) {
$name2 = html($_POST['name']);
$info = html($_POST['info']);
if (empty($name2)) {
$err .= 'Заполните название сообщества<br />';
}
if (empty($info)) {
$err .= 'Заполните описание сообщества<br />';
}
if (empty($err)) {
DB::$dbs->query("UPDATE ".GROUPS." SET `name` = ?, `info` = ? WHERE `id` = ? ", array($name2, $info, $group['id']));
header("Location: ".HOME."/groups/".$group['id']."/panel/info/");
} else {
echo DIV_ERROR . $err . CLOSE_DIV;
}
}
echo DIV_TITLE . 'Управление сообществом: Основная информация' . CLOSE_DIV;
echo DIV_AUT;
echo '<form action="#" method="POST">';
echo '<b>Название:</b> [max. 100]<br /><input type="text" name="name" value="'.$group['name'].'" /><br /><br />';
echo '<b>Описание:</b> [max. 250]<br /><textarea name="info">'.$group['info'].'</textarea><br /><br />';
echo '<input type="submit" name="edit" value="Изменить" /></form>';
echo CLOSE_DIV;
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <a href="'.HOME.'/groups/'.$group['id'].'/panel/">Управление сообществом</a> / <b>Основная информация</b>' . CLOSE_DIV;
break;
case 'private':
head('Управление сообществом: Настройка приватности');
if (!empty($_POST['sett'])) {
$private_forum = num($_POST['private_forum']);
DB::$dbs->query("UPDATE ".GROUPS." SET `private_forum` = ? WHERE `id` = ? ", array($private_forum, $group['id']));
header("Location: ".HOME."/groups/".$group['id']."/panel/private/");
}
echo DIV_TITLE . 'Управление сообществом: Настройка приватности' . CLOSE_DIV;
echo DIV_AUT;
echo '<b>Форум доступен:</b><br />';
echo '<form action="#" method="POST">';
echo '<select name="private_forum">';
echo '<option '.(0 == $group['private_forum'] ? 'selected="selected"' : NULL).' value="0">Для всех</option>';
echo '<option '.(1 == $group['private_forum'] ? 'selected="selected"' : NULL).' value="1">Для участников</option>';
echo '</select><br /><br />';
echo '<input type="submit" name="sett" value="Сохранить" /></form>';
echo CLOSE_DIV;
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <a href="'.HOME.'/groups/'.$group['id'].'/panel/">Управление сообществом</a> / <b>Настройка приватности</b>' . CLOSE_DIV;
break;
case 'peoples':
head('Управление сообществом: Люди в сообществе');
echo DIV_TITLE . 'Управление сообществом: Люди в сообществе' . CLOSE_DIV;
$n = new Navigator($all,10,'select=peoples&id='.$group['id']);
$sql = DB::$dbs->query("SELECT * FROM ".GROUPS_PEOPLES." WHERE `group_id` = ? ORDER BY `id` DESC LIMIT {$n->start()}, 10", array($group['id']));
while($ank = $sql -> fetch()) {
echo DIV_LI . userLink($ank['user_id']) . ' [<b>' . group_level($ank['level']) . '</b>] <a href="'.HOME.'/groups/'.$group['id'].'/panel/peoples/'.$ank['user_id'].'/update/">[Апдейт]</a> <a href="'.HOME.'/groups/'.$group['id'].'/panel/peoples/'.$ank['user_id'].'/delete/">[Удал.]</a>' . CLOSE_DIV;
}
echo $n->navi();
echo DIV_AUT;
echo '<form action="'.HOME.'/groups/'.$group['id'].'/panel/peoples/search/" method="POST">';
echo '<b>ID</b> или <b>Логин</b>:<br />';
echo '<input type="text" name="user" /><br />
<input type="checkbox" name="type" value="1" /> Искать по ID<br /><br />
<input type="submit" name="search" value="Поиск"/><br />';
echo '</form>';
echo CLOSE_DIV;
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <a href="'.HOME.'/groups/'.$group['id'].'/panel/">Управление сообществом</a> / <b>Люди в сообществе</b>' . CLOSE_DIV;
break;
case 'update':
head('Управление сообществом: Апдейт пользователя');
echo DIV_TITLE . 'Управление сообществом: Апдейт пользователя' . CLOSE_DIV;
$ank = DB::$dbs->queryFetch("SELECT * FROM ".GROUPS_PEOPLES." WHERE `user_id` = ? && `group_id` = ? ", array(abs(num($_GET['user'])), $group['id']));
if ($ank['user_id'] == $user['user_id']) {
echo DIV_ERROR . 'низя)' . CLOSE_DIV;
} else {
if (empty($ank)) {
echo DIV_ERROR . 'Пользователь не найден' . CLOSE_DIV;
} else {
if (!empty($_POST['level'])) {
$level = num($_POST['level']);
DB::$dbs->query("UPDATE ".GROUPS_PEOPLES." SET `level` = ? WHERE `user_id` = ? && `group_id` = ? ", array($level, $ank['user_id'], $group['id']));
header("Location: ".HOME."/groups/".$group['id']."/panel/peoples/");
}
echo DIV_AUT;
echo '<b>Уровень:</b><br />';
echo '<form action="#" method="POST">';
echo '<select name="level">';
echo '<option '.(0 == $ank['level'] ? 'selected="selected"' : NULL).' value="0">Участник</option>';
echo '<option '.(1 == $ank['level'] ? 'selected="selected"' : NULL).' value="1">Модератор</option>';
echo '</select><br /><br />';
echo '<input type="submit" name="update" value="Сохранить" /></form>' . CLOSE_DIV;
}
}
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <a href="'.HOME.'/groups/'.$group['id'].'/panel/">Управление сообществом</a> / <a href="'.HOME.'/groups/'.$group['id'].'/panel/peoples/">Люди в сообществе</a> / <b>Апдейт</b>' . CLOSE_DIV;
break;
case 'delete':
head('Управление сообществом: Удаление пользователя');
echo DIV_TITLE . 'Управление сообществом: Удаление пользователя' . CLOSE_DIV;
$ank = DB::$dbs->queryFetch("SELECT * FROM ".GROUPS_PEOPLES." WHERE `user_id` = ? && `group_id` = ? ", array(abs(num($_GET['user'])), $group['id']));
if ($ank['user_id'] == $user['user_id']) {
echo DIV_ERROR . 'низя)' . CLOSE_DIV;
} else {
if (empty($ank)) {
echo DIV_ERROR . 'Пользователь не найден' . CLOSE_DIV;
} else {
if (!isset($_GET['go'])) {
echo DIV_LI . '<b>Подтвердите удаление:</b> <a href="'.HOME.'/groups/'.$group['id'].'/panel/peoples/'.$ank['user_id'].'/delete/?go">[Удалить]</a> <a href="'.HOME.'/groups/'.$group['id'].'/panel/peoples/">[Нет]</a>' . CLOSE_DIV;
} else {
DB::$dbs->query("DELETE FROM ".GROUPS_PEOPLES." WHERE `user_id` = ? && `group_id` = ? ", array(abs(num($_GET['user'])), $group['id']));
header("Location: ".HOME."/groups/".$group['id']."/panel/peoples/");
}
}
}
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <a href="'.HOME.'/groups/'.$group['id'].'/panel/">Управление сообществом</a> / <a href="'.HOME.'/groups/'.$group['id'].'/panel/peoples/">Люди в сообществе</a> / <b>Удаление</b>' . CLOSE_DIV;
break;
case 'search':
head('Управление сообществом: Поиск людей');
echo DIV_TITLE . 'Управление сообществом: Поиск людей' . CLOSE_DIV;
$sql = html($_POST['user']);
$type = abs(num($_POST['type']));
if (empty($sql)) {
header("Location: ".HOME."/groups/".$group['id']."/panel/peoples/");
}
if (!empty($type)) {
$sql = abs(num($sql));
$all = DB::$dbs->queryFetch("SELECT `level` FROM ".GROUPS_PEOPLES." WHERE `user_id` = ? && `group_id` = ? ", array($sql, $group['id']));
if (!empty($all)) {
echo DIV_BLOCK . '<b>Результат поиска:</b><br />' . userLink($sql) . ' [<b>' . group_level($all['level']) . '</b>]' . CLOSE_DIV;
} else {
echo DIV_BLOCK . '<b>Результат поиска:</b><br />Пользователь не найден' . CLOSE_DIV;
}
}
echo DIV_LI . '<a href="'.HOME.'/groups/'.$group['id'].'/panel/peoples/">Повторить запрос</a>' . CLOSE_DIV;
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <a href="'.HOME.'/groups/'.$group['id'].'/panel/">Управление сообществом</a> / <b>Поиск людей</b>' . CLOSE_DIV;
break;
case 'admin':
head('Управление сообществом: Администрация');
echo DIV_TITLE . 'Управление сообществом: Администрация' . CLOSE_DIV;
$n = new Navigator($all,10,'select=peoples&id='.$group['id']);
$sql = DB::$dbs->query("SELECT * FROM ".GROUPS_PEOPLES." WHERE `group_id` = ? && `level` > 0 ORDER BY `id` DESC LIMIT {$n->start()}, 10", array($group['id']));
while($ank = $sql -> fetch()) {
echo DIV_LI . userLink($ank['user_id']) . ' [<b>' . group_level($ank['level']) . '</b>] <a href="'.HOME.'/groups/'.$group['id'].'/panel/peoples/'.$ank['user_id'].'/update/">[Апдейт]</a> <a href="'.HOME.'/groups/'.$group['id'].'/panel/peoples/'.$ank['user_id'].'/delete/">[Удал.]</a>' . CLOSE_DIV;
}
echo $n->navi();
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <a href="'.HOME.'/groups/'.$group['id'].'/panel/">Управление сообществом</a> / <b>Администрация</b>' . CLOSE_DIV;
break;
}
require_once('../../core/stop.php');
?>