Файл: comm/inc/comm.php
Строк: 147
<?php
/** Модуль Сообщества
* @author Kratos
* @email wssy@mail.ua
* ICQ: 845348
* @version 1.0.0
*/
///////////////////////////////////
//////Управления сообществами//////
///////////////////////////////////
//
//иД сообщества
$id_soo = (int)$_GET['id'];
if($_GET['soo']){
$id_soo = (int)htmlspecialchars($_GET['soo']);
}
//Юзер
$user_soo = func::rightsUserComm($id_soo, $user_id);
//Проверка состоит ли юзер в сообе
$is_user_comm = func::UserComm($id_soo, $user_id);
//Счетчик пользователей сообщества
$total_users = func::totalUsersComm($id_soo);
$total_usersban = func::totalUsersComm($id_soo,'ban');
//Действие
$do = htmlspecialchars($_GET['do']);
if(in_array($do, array("in","users","userban"))){
$do = $_GET['do'];
}else{
$do = null;
}
//Проверка закрыто ли сообщество
$row = func::showUserComm($id_soo);
$access = $row['access'];
//Проверка на бан
$uban = func::banstat($id_soo, $user_id);
if($uban){
echo functions::display_error("Вас забанили!Осталось: " . functions::timecount($uban - time()) . "");
echo '<a href="index.php?id='.$row['cat'].'">Назад</a>';
require('../incfiles/end.php');
exit();
}
switch($do){
//Список бана
case'userban':
echo '<div class="phdr"><b>Бан лист</b></div>';
$res = func::showUsers($id_soo, $start, $kmess,'ban');
$i = 0;
if(!$total_usersban){
echo '<div class="list1">Список пуст</div>';
}
while ($row = mysqli_fetch_assoc($res)) {
$uid = func::showUsersInfo($row['user_id']);
echo $i % 2 ? '<div class="list2">' : '<div class="list1">';
if ($uid['sex']){
echo '<img src="../theme/' . $set_user['skin'] . '/images/' . ($uid['sex'] == 'm' ? 'm' : 'w') . ($uid['datereg'] > time() - 86400 ? '_new' : '') . '.png" width="16" height="16" align="middle" /> ';
}else{
echo '<img src="../images/del.png" width="12" height="12" align="middle" alt=""/> ';
}
if($row['user_id'] != $user_id){
echo '<a href="../users/profile.php?user=' . $row['user_id'] . '">' . $uid['name'] . '</a> ';
}else{
echo $uid['name'];
}
echo "(Осталось: " . functions::timecount($row['ban_time'] - time()) . ")";
// Метка Онлайн / Офлайн
echo (time() > $uid['lastdate'] + 300 ? '<span style="color:red"> [Off]</span> ' : '<span class="green"> [ON]</span> ');
$us = func::rightsUserComm($id_soo, $user_id);
if ($us >= 8 and $us > func::rightsUserComm($id_soo, $row['user_id'])){
if($row['user_id'] != $user_id){
echo '<br/><span style="font-size:8pt"><a href="?act=musers&us='.$row['user_id'].'&id='.$id_soo.'">Изменить</a> | ';
echo '<a href="?act=musers&us='.$row['user_id'].'&id='.$id_soo.'&do=del">Удалить</a> ';
}
}
// Бан
if($us >= 7 AND $row['user_id'] != $user_id){
if($row['user_id'] != $user_id)
echo '| <a href="?act=musers&us='.$row['user_id'].'&id='.$id_soo.'&do=delban">Розбанить</a></span>';
}
echo '</div>';
++$i;
}
echo '<div class="list1"><a href="?act=comm&id='.$id_soo.'">Назад</a></div>';
echo '<div class="phdr">' . $lng['total'] . ': ' . $total_usersban . '</div>';
if ($total_users > $kmess) {
echo '<div class="topmenu">' . functions::display_pagination('?act=comm&id=' . $id_soo . '&do=userban&', $start, $total_users, $kmess) . '</div>' .
'<p><form action="?act=comm&id=' . $id_soo . '&do=userban" method="post">' .
'<input type="text" name="page" size="2"/>' .
'<input type="submit" value="' . $lng['to_page'] . ' >>"/>' .
'</form></p>';
}
break;
// Вступить в сообщество
case 'in':
if ($is_user_comm){
header("Location:?act=comm&id=$id_soo");
exit();
}else{
if(!func::usersInComm($id_soo, $user_id))
die("Системная ошибка");
header("Location:?act=comm&id=$id_soo");
exit();
}
break;
// Участники
case 'users':
echo '<div class="phdr"><b>Участники</b></div>';
$res = func::showUsers($id_soo, $start, $kmess);
$i = 0;
while ($row = mysqli_fetch_assoc($res)) {
$uid = func::showUsersInfo($row['user_id']);
echo $i % 2 ? '<div class="list2">' : '<div class="list1">';
if ($uid['sex']){
echo '<img src="../theme/' . $set_user['skin'] . '/images/' . ($uid['sex'] == 'm' ? 'm' : 'w') . ($uid['datereg'] > time() - 86400 ? '_new' : '') . '.png" width="16" height="16" align="middle" /> ';
}else{
echo '<img src="../images/del.png" width="12" height="12" align="middle" alt=""/> ';
}
if($row['user_id'] != $user_id){
echo '<a href="../users/profile.php?user=' . $row['user_id'] . '">' . $uid['name'] . '</a> ';
}else{
echo $uid['name'];
}
// Метка должности
$user_rights = array(
0 => '',
7 => ' (Модератор)',
8 => ' (Админ)',
9 => ' (Создатель)'
);
echo $user_rights[$row['rights']];
// Метка Онлайн / Офлайн
echo (time() > $uid['lastdate'] + 300 ? '<span style="color:red"> [Off]</span> ' : '<span class="green"> [ON]</span> ');
$us = func::rightsUserComm($id_soo, $user_id);
if ($us >= 8 and $us > func::rightsUserComm($id_soo, $row['user_id'])){
if($row['user_id'] != $user_id){
echo '<br/><span style="font-size:8pt"><a href="?act=musers&us='.$row['user_id'].'&id='.$id_soo.'">Изменить</a> | ';
echo '<a href="?act=musers&us='.$row['user_id'].'&id='.$id_soo.'&do=del">Удалить</a> ';
}
}
// Бан
if($us >= 7 and $row['user_id'] != $user_id and $us > func::rightsUserComm($id_soo, $row['user_id'])){
echo '| <a href="?act=musers&us='.$row['user_id'].'&id='.$id_soo.'&do=ban">Бан</a></span>';
}
echo '</div>';
++$i;
}
echo '<div class="list1"><a href="?act=comm&id='.$id_soo.'">Назад</a></div>';
echo '<div class="phdr">' . $lng['total'] . ': ' . $total_users . '</div>';
if ($total_users > $kmess) {
echo '<div class="topmenu">' . functions::display_pagination('?act=comm&id=' . $id_soo . '&do=users&', $start, $total_users, $kmess) . '</div>' .
'<p><form action="?act=comm&id=' . $id_soo . '&do=users" method="post">' .
'<input type="text" name="page" size="2"/>' .
'<input type="submit" value="' . $lng['to_page'] . ' >>"/>' .
'</form></p>';
}
break;
default:
$error = array();
if (empty($row)){
$error[] = "Нет сообщества!";
}
if($error){
echo functions::display_error($error);
}else{
$namecat = mysqli_fetch_assoc(db::query("SELECT `name`
FROM `comm` WHERE `type` = 1 AND `id` = ".$row['cat'].""));
echo '<div class="phdr">'.$row['name'].' ';
echo $access ? '(<b>Закрыто! Только для чтения.</b>)' : '';
echo ' | <a href="index.php?id='.$row['cat'].'">'.$namecat['name'].'</a></div>';
// выводим логотип
echo '<div class="user">';
if (file_exists(('../files/comm/logo/' . $row['id'] . '_logo.png'))){
echo '<a href="../files/comm/logo/' . $row['id'] . '.png"><img src="../files/comm/logo/' . $row['id'] . '_logo.png" alt="' . $row['id'] . '"/></a>';
}else{
echo '<img src="../images/comm/logo/nologo.png" alt="nologo"/>';
}
echo '</div>';
echo '<div class="menu"><p>'.$row['desc'].'</p></div>';
echo '<div class="list1"><a href="?act=news&id='.$id_soo.'">Новости</a> (' . func::countNews($id_soo) . ')</div>';
echo '<div class="list2"><a href="?act=forum&id='.$id_soo.'">Форум</a> ('.forum::issetT($id_soo).'/'.forum::countPost('',$id_soo,1).')<br/>';
//Вывод последних тем форума
$lt = forum::showTheme($id_soo, $start, $kmess, '5t');
while($row = mysqli_fetch_assoc($lt)){
$lastuserpost = db::query("SELECT `from` FROM `comm_forum` WHERE `refid` = ".$row['id']." AND `type` = 'm' ORDER by time DESC LIMIT 1");
$nam = mysqli_fetch_assoc($lastuserpost);
$naml = func::showUsersInfo($nam['from']);
//Последняя страница
$colmes = db::result(db::query("SELECT COUNT(*) FROM `comm_forum` WHERE `type`='m' AND `refid`='" . $row['id'] . "'"),0);
$cpg = ceil($colmes / $kmess);
echo '<small>- <a href="?act=forum&do=t&id='.$id_soo.'&idt='.$row['id'].'">'.$row['text'].'</a> ('.forum::countPost($row['id']).') '.$naml['name'];
if ($cpg > 1) {
echo ' <a href="?act=forum&do=t&id='.$id_soo.'&idt='.$row['id'].'&page=' . $cpg . '">»</a>';
}
echo '</small><br/>';
}
echo '</div>';
echo '<div class="list1"><a href="?act=comm&id='.$id_soo.'&do=users">Участники</a> (' . $total_users . ')</div>';
echo '<div class="list2"><a href="?act=comm&id='.$id_soo.'&do=userban">Бан-лист</a> (' . $total_usersban . ')</div>';
if($user_soo == 9){
echo '<div class="func"><a href="?act=setc&id='.$id_soo.'">Настройки</a></div>';
}
if(!$is_user_comm and $access != 1){
echo '<div class="func"><a href="?act=comm&id='.$id_soo.'&do=in">Вcтупить в сообщество</a></div>';
}
}
break;
}
?>