Файл: soo/admin.php
Строк: 252
<?
include_once '../connect.php';
if(isset($_GET['s']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `soo` WHERE `id` = '".intval($_GET['s'])."' LIMIT 1"),0)==1)
{
$s=intval($_GET['s']);
$soo=mysql_fetch_assoc(mysql_query("SELECT * FROM `soo` WHERE `id` = '$s' LIMIT 1"));
$set['title']=$soo['name'].' - Админка'; // заголовок страницы
include_once '../head.php';
if(isset($user) && $user['id']==$soo['new_adm'] && isset($_GET['new_sozd']) && $_GET['new_sozd']=='ok'){
mysql_query("UPDATE `soo_users` SET `level`='2' WHERE `id_soo`='$soo[id]' AND `id_user`='$soo[admid]' LIMIT 1");
mysql_query("UPDATE `soo` SET `new_adm`='' WHERE `id`='$soo[id]' LIMIT 1");
mysql_query("UPDATE `soo` SET `admid`='$user[id]' WHERE `id`='$soo[id]' LIMIT 1");
mysql_query("UPDATE `soo_users` SET `level`='3' WHERE `id_soo`='$soo[id]' AND `id_user`='$u[id]' LIMIT 1");
msg('Поздравляем! Вы стали создателем сообщества!');}
$user_s = mysql_fetch_assoc(mysql_query("SELECT * FROM `soo_users` WHERE `id_soo`='$soo[id]' AND `id_user`='$u[id]' LIMIT 1"));
if(isset($u) && $u['id']==$soo['admid'] || $user_s['level']>1)
{
if(isset($_POST['save']))
{
if(isset($_POST['name']))
{
if($_POST['name']==$soo['name']){$name = $soo['name'];}
elseif($_POST['name']!=$soo['name'] && mysql_result(mysql_query("SELECT COUNT(*) FROM `soo` WHERE `name` = '".mysql_real_escape_string(trim(htmlspecialchars($_POST['name'], ENT_QUOTES)))."' LIMIT 1"),0)==0)
{
$name=mysql_real_escape_string(trim(htmlspecialchars($_POST['name'], ENT_QUOTES)));
if ($name<3)$error='Короткое название';
if ($name>32)$error='Название не должно быть длиннее 32-х символов';
if(!empty($error))
mysql_query("UPDATE `soo` SET `name`='$name' WHERE `id`='$soo[id]' LIMIT 1");
}
else $error='Сообщество с таким названием уже есть';
}
if(isset($_POST['desc']))
{
$desc = mysql_real_escape_string(trim(htmlspecialchars($_POST['desc'], ENT_QUOTES)));
if ($desc<3)$error='Короткое описание';
if ($desc>100)$error='Описание не должно быть длиннее 100 символов';
if(!empty($error))
mysql_query("UPDATE `soo` SET `desc`='$desc' WHERE `id`='$soo[id]' LIMIT 1");
}
if(isset($_POST['konf_soo']) && ($_POST['konf_soo']==0 || $_POST['konf_soo']==1 || $_POST['konf_soo']==3) || isset($_POST['konf_soo']))
{
$konf_soo = intval($_POST['konf_soo']);
mysql_query("UPDATE `soo` SET `konf_soo`='$konf_soo' WHERE `id`='$soo[id]' LIMIT 1");
}
else $error='Ошибка типа сообщества';
if(isset($_POST['rules']) && mysql_real_escape_string(trim(htmlspecialchars($_POST['rules'], ENT_QUOTES)))!=NULL)
{
$rules = mysql_real_escape_string(trim(htmlspecialchars($_POST['rules'], ENT_QUOTES)));
if ($rules<3)$error='Короткие правила';
if ($rules>1024)$error='Правила не должны быть длиннее 1024 символов';
if(!empty($error))
mysql_query("UPDATE `soo` SET `rules`='$rules' WHERE `id`='$soo[id]' LIMIT 1");
}
else
{
mysql_query("UPDATE `soo` SET `rules`='' WHERE `id`='$soo[id]' LIMIT 1");
}
if (isset($_POST['konf_news']) && intval($_POST['konf_news'])==1)
{
$konf_news=1;
mysql_query("UPDATE `soo` SET `konf_news`='$konf_news' WHERE `id`='$soo[id]' LIMIT 1");
}
else
{
$konf_news=0;
mysql_query("UPDATE `soo` SET `konf_news`='$konf_news' WHERE `id`='$soo[id]' LIMIT 1");
}
if (isset($_POST['conf_news']) && intval($_POST['conf_news'])==1)
{
$conf_news=1;
mysql_query("UPDATE `soo` SET `conf_news`='$conf_news' WHERE `id`='$soo[id]' LIMIT 1");
}
else
{
$conf_news=0;
mysql_query("UPDATE `soo` SET `conf_news`='$conf_news' WHERE `id`='$soo[id]' LIMIT 1");
}
/*
if(!isset($err))
{
msg('Настройки успешно сохранены');
}
*/
}
if(isset($_GET['konf']))
{
//err();
echo'<div class="div">';
echo'<b>Конфигурация сообщества</b><br/>';
echo'<form method="post" action="?s='.$soo['id'].'&konf&'.$passgen.'">';
echo'Название<br/>';
echo'<input type="text" name="name" value="'.$soo['name'].'"><br/>';
echo'Описание<br/>';
echo'<textarea name="desc">'.$soo['desc'].'</textarea><br/>';
echo'<b>Тип сообщества</b><br/>';
echo'Открытое-открыто для чтения и вступления<br/>';
echo'Закрытое для чтения-разделы соо закрыты,вступление свободное<br/>';
echo'Закрытое</b>-закрыто для чтения,вступить можно по приглашению участника сообщества или же после активации заявки<br/>';
echo '<select name="konf_soo">';
#echo '<option value="3"'.($soo['konf_soo']==3?' selected="selected"':null).'>Закрытое</option>';
echo '<option value="1"'.($soo['konf_soo']==1?' selected="selected"':null).'>Закрытое для чтения</option>';
echo '<option value="0"'.($soo['konf_soo']==0?' selected="selected"':null).'>Открытое для чтения</option>';
echo '</select><br />';
echo'Правила сообщества<br/>';
echo'<textarea name="rules">'.$soo['rules'].'</textarea><br/>';
#echo '<label><input type="checkbox" name="konf_news"'.($soo['konf_news']?' checked="checked"':null).' value="1"/> Рассылать новости участникам соо</label><br/>';
#echo '<label><input type="checkbox" name="conf_news"'.($soo['conf_news']?' checked="checked"':null).' value="1"/> Выводить последнюю новость на главную соо</label><br/>';
echo'<input name="save" type="submit" value="Сохранить"></form>';
echo'</div>';
echo'<div class="div"><img src="/style/img/l.gif" alt="" class="icon"/><a href="?s='.$soo['id'].'">В админку</a></div>';
}
elseif(isset($_GET['logo']))
{
define('H', $_SERVER['DOCUMENT_ROOT']."/");
if (isset($_FILES['file']))
{
if (preg_match('|.jpe?g$|i',$_FILES['file']['name']) && $imgc=@imagecreatefromjpeg($_FILES['file']['tmp_name']))
{
if (imagesx($imgc)>80 || imagesy($imgc)>80)
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if ($img_x==$img_y)
{
$dstW=80; // ширина
$dstH=80; // высота
}
elseif ($img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=80;
$dstH=ceil($dstW/$prop);
}
else
{
$prop=$img_y/$img_x;
$dstH=80;
$dstW=ceil($dstH/$prop);
}
$screen=imagecreatetruecolor($dstW, $dstH);
imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
@chmod(H."soo/logo/$soo[id].jpg",0777);
@unlink(H."soo/logo/$soo[id].jpg");
imagejpeg($screen,H."soo/logo/$soo[id].jpg",100);
@chmod(H."soo/logo/$soo[id].jpg",0777);
imagedestroy($screen);
}
else
{
copy($_FILES['file']['tmp_name'], H."soo/logo/$soo[id].jpg");
}
}elseif (preg_match('|.png$|i',$_FILES['file']['name']) && $imgc=@imagecreatefrompng($_FILES['file']['tmp_name']))
{
if (imagesx($imgc)>80 || imagesy($imgc)>80)
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if ($img_x==$img_y)
{
$dstW=80; // ширина
$dstH=80; // высота
}
elseif ($img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=80;
$dstH=ceil($dstW/$prop);
}
else
{
$prop=$img_y/$img_x;
$dstH=80;
$dstW=ceil($dstH/$prop);
}
$screen=ImageCreate($dstW, $dstH);
imagecopyresampled($screen, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
@chmod(H."soo/logo/$soo[id].png",0777);
@unlink(H."soo/logo/$soo[id].png");
imagepng($screen,H."soo/logo/$soo[id].png");
@chmod(H."soo/logo/$soo[id].png",0777);
imagedestroy($screen);
}
else
{
copy($_FILES['file']['tmp_name'], H."soo/logo/$soo[id].png");
}
}
else
{
$err='Неверный формат файла';
}
}
echo '<form method="post" enctype="multipart/form-data" action="?s='.$soo['id'].'&logo">';
echo '<table class="post">';
echo '<tr>';
echo '<td class="icon48" rowspan="2">';
if (is_file(H."soo/logo/$soo[id].jpg"))
echo '<img src="/soo/logo/'.$soo['id'].'.jpg" alt="'.$soo['name'].'" />';
elseif (is_file(H."soo/logo/$soo[id].png"))
echo '<img src="/soo/logo/'.$soo['id'].'.png" alt="'.$soo['name'].'" />';
else
echo '<img src="/soo/img/0.png" alt="No Avatar">';
echo '</td>';
echo '<td class="p_t">';
echo 'Текущее лого';
echo '</td>';
echo '</tr>';
echo '<tr>';
echo '<td class="p_m">';
echo 'Можно загружать картинки форматов: JPG, PNG<br />';
echo '</td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="2">';
echo '<input type="file" name="file" accept="image/*,image/png,image/jpeg" />';
echo '<input value="Заменить" type="submit" />';
echo '</td>';
echo '</tr>';
echo '</table>';
echo '</form>';
echo'<div class="zona"><img src="/style/img/l.gif" alt="" class="icon"/><a href="?s='.$soo['id'].'">В админку</a></div>';
}
elseif(isset($_GET['users']))
{
$activ = mysql_result(mysql_query("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `activate`='1'"),0);
if(isset($_GET['activate']) && my_esc($_GET['activate'])=='all')
{
$q=mysql_query("SELECT * FROM `soo_users` WHERE `id_soo`='$soo[id]' AND `activate`='1'");
while ($act = mysql_fetch_assoc($q))
{
mysql_query("INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values ('0', '$act[id]', 'Ваша заявка на вступление в сообщество [url=/soo/$soo[id]]$soo[name][/url] активирована', '$time')");
}
mysql_query("UPDATE `soo` SET `users` = '".($soo['users']+$activ)."' WHERE `id` = '$soo[id]' LIMIT 1");
mysql_query("UPDATE `soo_users` SET `activate`='0' WHERE `id_soo`='$soo[id]' AND `activate`='1' LIMIT $activ");
msg('Все заявки активированы');
}
elseif(isset($_GET['activate']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `soo_users` WHERE `id_user` = '".intval($_GET['activate'])."' AND `id_soo`='$soo[id]' AND `activate`='1' LIMIT 1"),0)==1)
{
$activate = intval($_GET['activate']);
mysql_query("INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values ('0', '$activate', 'Ваша заявка на вступление в сообщество [url=/soo/$soo[id]]$soo[name][/url] активирована', '$time')");
mysql_query("UPDATE `soo_users` SET `activate`='0' WHERE `id_user`='$activate' AND `id_soo`='$soo[id]' LIMIT 1");
mysql_query("UPDATE `soo` SET `users` = '".($soo['users']+1)."' WHERE `id` = '$soo[id]' LIMIT 1");
msg('Заявка активирована');
}
if(isset($_GET['deactivate']) && my_esc($_GET['deactivate'])=='all')
{
$q2=mysql_query("SELECT * FROM `soo_users` WHERE `id_soo`='$soo[id]' AND `activate`='1'");
while ($act2 = mysql_fetch_assoc($q2))
{
mysql_query("INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values ('0', '$act2[id]', 'Ваша заявка на вступление в сообщество [url=/soo/$soo[id]]$soo[name][/url] отклонена', '$time')");
}
mysql_query("DELETE FROM `soo_users` WHERE `id_soo`='$soo[id]' AND `activate`='1' LIMIT $activ");
msg('Все заявки отклонены');
}
elseif(isset($_GET['deactivate']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `soo_users` WHERE `id_user` = '".intval($_GET['deactivate'])."' AND `id_soo`='$soo[id]' AND `activate`='1' LIMIT 1"),0)==1)
{
$deactivate = intval($_GET['deactivate']);
mysql_query("INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values ('0', '$deactivate', 'Ваша заявка на вступление в сообщество [url=/soo/$soo[id]]$soo[name][/url] отклонена', '$time')");
mysql_query("DELETE FROM `soo_users` WHERE `id_soo`='$soo[id]' AND `id_user`='".intval($_GET['deactivate'])."' LIMIT 1");
msg('Заявка отклонена');
}
$k_post=mysql_result(mysql_query("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo`='$soo[id]' AND `activate`='1'"),0);
$total = intval(($k_post - 1) / 10) + 1;
$page = intval(@$_GET['page']);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * 10 - 10;
echo '<class="post">';
if ($k_post==0)
{
echo 'Ждущих активации нет<br />';
}
$q=mysql_query("SELECT * FROM `soo_users` WHERE `id_soo`='$soo[id]' AND `activate`='1' ORDER BY `time` DESC LIMIT $start, 10");
while ($ank = mysql_fetch_assoc($q))
{
$us=mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = $ank[id_user] LIMIT 1"));
if($num==1){
echo "<div class='row'>";
$num=0;
}else{
echo "<div class='row2'>";
$num=1;}
echo '<a href="/'.$us['id'].'">'.$us['login'].'</a> '.online($us['id']).'<br>';
echo '<span class="ank_n">Дата подачи:</span> <span class="ank_d">'.vremya($ank['time']).'</span><br/>';
echo'[<a href="?s='.$soo['id'].'&users&activate='.$us['id'].'">Активировать</a>|<a href="?s='.$soo['id'].'&users&deactivate='.$us['id'].'">Отклонить</a>]';
echo "</div>";
}
if($page>1)navigation($page, $total,'?s='.$s.'&'); // Вывод страниц
echo'<div class="foot"><b>Всех:</b> <a href="?s='.$soo['id'].'&users&activate=all">Активировать</a> /';
echo' <a href="?s='.$soo['id'].'&users&deactivate=all">Отклонить</a><br/>';
echo'<img src="/style/img/l.gif" alt="" class="icon"/><a href="?s='.$soo['id'].'">В админку</a></div>';
}
elseif(isset($_GET['bl']))
{
if(isset($_GET['del']) && my_esc($_GET['del'])=='all')
{
mysql_query("DELETE FROM `soo_bl` WHERE `id_soo`='$soo[id]' LIMIT 0");
msg('Блэк-лист очищен');
}
elseif(isset($_GET['del']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `soo_bl` WHERE `id_soo` = '$soo[id]' AND `id_user`='".intval($_GET['del'])."' LIMIT 1"),0)==1)
{
mysql_query("DELETE FROM `soo_bl` WHERE `id_soo`='$soo[id]' AND `id_user`='".intval($_GET['del'])."' LIMIT 1");
msg('Юзер успешно удален');
}
if(isset($_GET['uz']) && intval($_GET['uz'])!=NULL && intval($_GET['uz'])!=$user['id'] && intval($_GET['uz'])!=$user['nick'])
{
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '".intval($_GET['uz'])."' OR `nick`='".intval($_GET['uz'])."' LIMIT 1"),0)==1)
{
$uz=mysql_fetch_array(mysql_query("SELECT `id` FROM `user` WHERE `nick`='".intval($_GET['uz'])."' OR `id` = '".intval($_GET['uz'])."'"));
$uzer=get_user($uz['id']);
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `soo_bl` WHERE `id_soo` = '$soo[id]' AND `id_user`='$uzer[id]' LIMIT 1"),0)==1)
{
echo'<div class="err">Юзер '.$uzer['nick'].' уже есть в блэк-листе</div>';
}
else
{
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `soo_users` WHERE `id_user` = '$uzer[id]' AND `id_soo`='$soo[id]' LIMIT 1"),0)==1)
{
mysql_query("DELETE FROM `soo_users` WHERE `id_user`='$uzer[id]' AND `id_soo`='$soo[id]' LIMIT 1");
mysql_query("UPDATE `soo` SET `users` = '".($soo['users']-1)."' WHERE `id` = '$soo[id]' LIMIT 1");
}
mysql_query("INSERT INTO `soo_bl` (`id_soo`, `id_user`, `time`) values ('$soo[id]', '$uzer[id]', '$time')");
msg('Юзер успешно добавлен');
}
}
else
{
echo'<div class="err">Юзер с ID или ником '.intval($_GET['uz']).' не найден</div>';
}
}
echo'<div class="err">BlackList - это список пользователей сайта, которые никогда не смогут вступить в Ваше сообщество иили просмотреть его разделы<br/></div>';
$k_post=mysql_result(mysql_query("SELECT COUNT(*) FROM `soo_bl` WHERE `id_soo`='$soo[id]'"),0);
$total = intval(($k_post - 1) / 10) + 1;
$page = intval(@$_GET['page']);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * 10 - 10;
echo '<class="post">';
if ($k_post==0)
{
echo 'Никого нет<br>';
}
$q=mysql_query("SELECT * FROM `soo_bl` WHERE `id_soo`='$soo[id]' ORDER BY `id` DESC LIMIT $start, 10");
while ($ank = mysql_fetch_assoc($q))
{
$us=mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = $ank[id_user] LIMIT 1"));
if($num==1){
echo "<div class='row'>";
$num=0;
}else{
echo "<div class='row2'>";
$num=1;}
echo '<a href="/'.$us['id'].'">'.$us['nick'].'</a> '.online($us['id']).' [<a href="?s='.$soo['id'].'&bl&del='.$us['id'].'">x</a>]<br />';
echo '<span class="ank_n">Дата добавления:</span> <span class="ank_d">'.vremya($ank['time']).'</span>';
echo "</div>";
}
if($page>1)navigation($page, $total,'?s='.$s.'&'); // Вывод страниц
echo'<div class="foot"><a href="?s='.$soo['id'].'&bl&del=all">Очистить список</a><br/>';
echo "<img src='/style/img/l.gif' alt='' class='icon'/>n";
echo'<a href="?s='.$soo['id'].'">В админку</a></div>';
}
else
{
echo'<div class="div">';
echo'<img src="/ico/settings.gif" alt="" class="icon"/><a href="?s='.$soo['id'].'&konf"> Изменить ИнформациюТип</a><br/></div>';
echo'<div class="div"><img src="/ico/settings.gif" alt="" class="icon"/><a href="?s='.$soo['id'].'&logo">Изменить логотип</a><br/></div>';
$cusers = mysql_result(mysql_query("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `activate`='1'"),0);
#echo'<img src="/ico/settings.png" alt="" class="icon"/><a href="?s='.$soo['id'].'&users">Ждущие активации</a> ('.$cusers.')<br/>';
$blusers = mysql_result(mysql_query("SELECT COUNT(*) FROM `soo_bl` WHERE `id_soo` = '$soo[id]'"),0);
#echo'<img src="/ico/settings.png" alt="" class="icon"/><a href="?s='.$soo['id'].'&bl">BlackList</a> ('.$blusers.')<br/>';
echo'</div>';
}
echo'<div class="zona"><img src="/style/img/l.gif" alt="" class="icon"/><a href="index.php?s='.$soo['id'].'">В сообщество</a></div>';
}
else
{
header("Location:index.php?s=$soo[id]");
}
}
else
{
header("Location:index.php");
}
include_once '../foot.php';
?>