Файл: vzabave/groups/admin.php
Строк: 193
<?
##########################################
## Автор: -=ШАХТЕР=- # ## Сайт: http://masteram.us # ## ICQ : 46-92-90 # ## Версия 4.0 #
## Данная версия скрипта является ПЛАТНОЙ, #
## вы НЕ ИМЕЕТЕ ПРАВА распрострянять данный #
## скрипт или какие-либо части его кода... #
#########################################
require'../config.php';
$align='left';
$title='Группы-Управлеие';
aut();
head();
who_add(0,'enter');
if(!isset($_GET['gid']) && isset($_SESSION['gid']))$gid = check(intval($_SESSION['gid']));
else {$gid = check(intval($_GET['gid']));
$_SESSION['gid']=$_GET['gid'];}
$a = @$db->sql_fetchrow($db->sql_query ("Select * from groups where id = '".$gid."'"));
if (!$a){header ('Location: index?'.SID); exit;}
$group = @$db->sql_fetchrow($db->sql_query ("Select * from group_users where gid = '".$gid."' and user_id = '".$user['id']."'"));
if ($user['level']<8&&!$a){header ('Location: index?'.SID); exit;}
if($user['level']<8&&$group['level']<2){header ('Location: index?'.SID); exit;}
switch($mod){
default:
if (isset($_GET['del'])){
if($user['level']>=8||$group['level']==3){
$db->sql_query("DELETE FROM `groups` WHERE `id` = '".$gid."'");
$db->sql_query("DELETE FROM `group_users` WHERE `gid` = '".$gid."'");
$db->sql_query("DELETE FROM `group_chat` WHERE `gid` = '".$gid."'");
$db->sql_query("DELETE FROM `group_newskom` WHERE `gid` = '".$gid."'");
$db->sql_query("DELETE FROM `group_news` WHERE `gid` = '".$gid."'");
}
header ('Location: ./?'.SID);
}
echo '<br />';
$k_ac=$db->sql_fetchfield($db->sql_query("select count(*) as num from group_users where access = '1' and gid = '".$a['id']."'"),0);
if ($a['tip']==0)echo '» <a href="?mod=access&gid='.$gid.'">Заявки на вступление</a>('.$k_ac.')<br />';
if($user['level']>=8||$group['level']==3)echo '» <a href="?mod=set&gid='.$gid.'">Настройки группы</a><br />';
if($user['level']>=8||$group['level']==3)echo '» <a href="?mod=icon&gid='.$gid.'">Иконка группы</a><br />';
if($user['level']>=8||$group['level']==3)echo '» <a href="?mod=logo&gid='.$gid.'">Логотип группы</a><br />';
echo '» <a href="?mod=news&gid='.$gid.'">Новости</a><br /><br />';
if($user['level']>=8||$group['level']==3)echo '» <a href="?gid='.$gid.'&del">Удалить группу!</a><br />';
break;
case 'logo':
if($user['level']>=8||$group['level']==3){
if (empty($act)){
echo 'Размер загружаемого лого не должен привышать '.$set['s_gr_logo'].' кб. Форматы: gif, jpg, jpeg, png, bmp.<br/>';
if ($_GET['err']==1)echo '<b>Недопустимое расширение файла!</b><br />';
if ($_GET['err']==2)echo '<b>Размер файла не должен превышать '.$set['s_gr_logo'].' кб.</b><br />';
echo '<form ENCTYPE="multipart/form-data" action="?mod='.$mod.'&act=act&gid='.$gid.'&'.SID.'" method="post">';
echo '<b>Прикрепить:</b><br/>';
echo '<INPUT NAME="file" TYPE="file" SIZE="20"><br/>
<input type="submit" class="ibutton" value="Отправить">
</form><br/>';
}else{
if(!isset($_FILES['file'])) $err = "<b>Вы не указали файл!</b><br/>";
$pictures = array('.gif', '.jpg', '.jpeg', '.bmp', '.png');
$ext = strtolower(strrchr($_FILES['file']['name'], '.'));
$fnames=$_FILES['file']['name']; //имя
if ((preg_match("/.php/i", $fnames)) or (preg_match("/.pl/i", $fnames)) or ($fnames == ".htaccess")){header ('Location: ?mod='.$mod.'&err=1&'.SID);exit;}
if(!in_array($ext, $pictures)){header ('Location: ?mod='.$mod.'&err=1&'.SID);exit;}
if($_FILES['file']['size'] > (1024 * $set['s_gr_logo'])) {header ('Location: ?mod='.$mod.'&err=2&'.SID);exit;}
$logo = "files/groups/logo/".$gid.$ext."";
unlink (H.$user['photo'].'');
@copy($_FILES['file']['tmp_name'], H.$logo);
@chmod(H.basename($logo), 0644);
@$db->sql_query ("Update groups set logo='".$logo."' where id ='".$gid."'");
echo '<b>Логотип успешно загружен!</b>';
}
}
break;
case 'icon':
if($user['level']>=8||$group['level']==3){
$ava = check($_GET['ava']);
if (empty($ava)){
$path = 'icons';
$col = 10;
$d=opendir("$path");
if(isset($_GET['list']))$list = check(intval($_GET['list']));
else $list = check(intval($_POST['list']));
if(!$list) $list = "1";
$n = "1";
while(($k=readdir($d))!==false){
if ($k=='.'||$k=='..'||$k=="index.php"||$k==".htaccess"||$k==".Thumbs.db") continue;
$n++;
}
closedir($d);
$num=($n/$col);if ($num!==(int)$num){$foo = (int) $num;$fo = ($foo + 1);}else{$fo=$num;}
for ($i="1"; $i<=$fo; $i++) {/*echo "<a href="1?list=$i">$i</a>|";*/}
if ($list == "") {$c="0";}else{$c=($col*($list-1));}
$d=opendir("$path");
$la = "-1";
echo "Вы можете установить любую из этих иконок, просто щелкните на понравившейся картинке.<br/>";
while(($e=readdir($d))){
if ($e=='.'||$e=='..'||$e=="index"||$e==".htaccess"||$e==".Thumbs.db") continue;
$la = $la + 1;
if($la>$c-1 and $la<$c+$col){
$laa = $la + 1; // Номер файла
echo "<a href="?mod=".$mod."&gid=$gid&ava=$e"><img src="$path/$e" alt="$e1"/></a><br/> ";
}
}
for ($i="0"; $i<=$fo; $i++)
if ($list == "$path") {
$c="0";
}else{
$c=($col*($list-1));
}
$lis = $list + 1;
$lis1 = $list - 1;
echo "<br/>";
if ($lis1 < "1"){
echo "<<пред.";
}else{
echo "<a href="?list=$lis1&mod=".$mod."&gid=$gid"><<пред. </a>";
}
if ($lis == "$i"){
echo "| след.>><br/>";
}else{
echo "| <a href="?list=$lis&mod=".$mod."&gid=$gid">след.>></a><br/>";
}
if ($ver!='wml') echo "<form method="POST" action="?mod=".$mod."&gid=$gid" name="auth">";
echo "Перейти к:<br/>";
echo "<input name="list" format="*N" size="3"/><br/>";
echo "странице<br/>";
if ($ver=='wml'){
echo "<anchor title="go">Пошёл<go href="?$ses&&mod=avatars" method="post">";
echo "<postfield name="list" value="$(list)"/>";
echo "</go></anchor>";
echo "<br/>";
}else{
echo "<input type="submit" class="ibutton" value="Пошёл" name="enter"/></form><br/>";
}
$alls = $i - 1;
echo "<br/>";
echo "Иконок:<b> $n</b><br/>Страницa:<b> $list/$alls</b><br/>";
closedir($d);
}else{
@$db->sql_query ("Update groups set icon='".$ava."' where id ='".$gid."'");
echo "<b>Иконка группы успешно установлена!</b><br/>";
}
}
break;
case 'access':
if (empty($user['max'])) $user['max']=10;
$max = $user['max'];
$k_post=$db->sql_fetchfield($db->sql_query("select count(*) as num from group_users where access = '1'"),0);
$k_page=k_page($k_post,$max);
$page=page($k_page);
$start=$max*$page-$max;
$r = $db->sql_query ("Select * from group_users where access = '1' order by id LIMIT $start, $max");
if ($k_post == 0)echo '<br />Список пуст...<br />';
else{
if (($max*$page)<$k_post) $maxi = $max*$page; else $maxi = $k_post;
echo 'показаны '.($start+1).'-'.$maxi.' из '.$k_post.'<br /><br />';
}
$post_k=$start+1;
$nick = check($_GET['nick']);
if (isset($_GET['yes'])){
$db->sql_query('UPDATE `group_users` SET `access` = "0" WHERE `user_id` = "'.$nick.'"');
header('Location: ?mod='.$mod.'&gid='.$gid.'&'.SID);
}
if (isset($_GET['no'])){
$db->sql_query("DELETE FROM `group_users` WHERE `user_id` = '".$nick."';");
header('Location: ?mod='.$mod.'&gid='.$gid.'&'.SID);
}
while($a = @$db->sql_fetchrow($r)){
echo links.'<b>'.user($a['user_id'],1).'</b> [<a href="?mod='.$mod.'&gid='.$gid.'&nick='.$a['user_id'].'&yes">Принять</a>]|[<a href="?mod='.$mod.'&gid='.$gid.'&nick='.$a['user_id'].'&no">Отклонить</a>]'.div;
echo '<dl></dl>';
}
if ($k_page>1){
echo '<dl><dt></dt></dl>';
str('?mod='.$mod.'&gid='.$gid.'&',$k_page,$page); // Вывод страниц
echo '<br /><dl><dt></dt></dl>'; }
break;
case 'set':
if($user['level']>=8||$group['level']==3){
if (empty($act)){
if ($ver!='wml')echo '<form action="?mod='.$mod.'&act=act&gid='.$gid.'&'.SID.'" method="post">';
echo 'Название:<br /><input name="name" value="'.$a['name'].'" maxlength="30" title="Название"/><br/>';
if($a['tip']==1){echo 'Тип:<br/><select name="tip">
<option value="1">Открытая</option>
<option value="0">Закрытая</option>
</select><br />';
}else{echo 'Тип:<br/><select name="tip">
<option value="0">Закрытая</option>
<option value="1">Открытая</option>
</select><br />';}
if ($ver=='wml')echo 'Описание:<br /><input name="opis'.$ref.'" value="'.$a['opis'].'" title="Описание"/><br/>';
else echo'Описание:<br /><textarea cols="'.$user['pole2'].'" rows="'.$user['pole1'].'" name="opis" >'.$a['opis'].'</textarea><br />';
if ($ver=='wml'){
echo '<br /><anchor title="go">Изменить<go href="?mod='.$mod.'&act=add&gid='.$gid.'&'.SID.'" method="post"><br />';
echo '<postfield name="name" value="$name'.$ref.'"/>
<postfield name="opis" value="$opis'.$ref.'"/>
<postfield name="tip" value="$tip"/>
<postfield name="code" value="$code"/>
</go></anchor><br />';
}else{
echo '<br /><input type="submit" class="ibutton" value="Изменить"/></form><br /><br />';
}
}else{
$name = check($_POST['name']);
$opis = check($_POST['opis']);
$tip = check($_POST['tip']);
$_POST['code'] = check($_POST['code']);
if ($user['translit']==1)$name = translit($name);
if ($user['translit']==1)$opis = translit($opis);
if (strlen2($name)<2)$err = 'Короткое название!';
if (strlen2($opis)<10)$err = 'Короткое описание!';
$p = @$db->sql_fetchrow($db->sql_query(@"select * from `groups` where name='$name' and id != '".$gid."' limit 1;"));
if ($name == $p['name'])$err = 'Такая группа уже есть!';
if(empty($err)){
if ($db->sql_query ("UPDATE `groups` SET `name` = '$name', `opis` = '$opis', `tip` = '$tip' where `id`='".$gid."' LIMIT 1")){
echo '<b>Изменения сохранены.</b><br />';
}else echo '<b>Ошибка. Сообщите администрации</b><br />';
}else echo $err;
}
}
break;
case 'news':
if (empty($act)){
if (isset($_GET['delk'])){
if($user[level]>=5){
$db->sql_query("DELETE FROM `group_news` WHERE `id` = '".check(intval($_GET['delk']))."' and gid = '".$gid."'");
$db->sql_query("DELETE FROM `group_newskom` WHERE `new` = '".check(intval($_GET['delk']))."' and gid = '".$gid."'");
}
header ('Location: ?mod='.$mod.'&gid='.$gid.'&'.SID);
}
echo '<a href="?mod='.$mod.'&gid='.$gid.'&act=add">Добавить новость</a><dt></dt>';
if (empty($user['max'])) $user['max']=10;
$max = $user['max'];
$k_post=$db->sql_fetchfield($db->sql_query("select count(*) as num from group_news where gid = '".$gid."'"),0);
$k_page=k_page($k_post,$max);
$page=page($k_page);
$start=$max*$page-$max;
$r = $db->sql_query ("Select * from group_news where gid = '".$gid."' order by time desc LIMIT $start, $max");
if ($k_post == 0)echo 'Новостей нет<br />';
$post_k=$start+1;
while($a = @$db->sql_fetchrow($r)){
echo links.''.nik($a['user_id']).' ('.times($a['time']).') <a href="?mod='.$mod.'&gid='.$gid.'&delk='.$a['id'].'">[Удал]</a>|<a href="?mod='.$mod.'&gid='.$gid.'&act=edit&new='.$a['id'].'">[Изм]</a>'.div;
echo text($a['msg']);
echo '<dl></dl>';
}
if ($k_page>1){
echo "<dl><dt></dt></dl>";
str('?mod='.$mod.'&gid='.$gid.'&',$k_page,$page); // Вывод страниц
echo "<br /><dl><dt></dt></dl><br />";
}
}else if($act=='add'){
$msg = check($_POST['msg']);
if (empty($msg)){
if ($ver!='wml'){echo '<form action="?mod='.$mod.'&gid='.$gid.'&act='.$act.'&'.SID.'" method="post">';
echo'Новость:<br /><textarea cols="'.$user['pole2'].'" rows="'.$user['pole1'].'" name="msg" ></textarea><br />';echo '<br /><input type="submit" class="ibutton" value="Добавить"/></form><br /><br />';
}else{
echo 'Новость:<br /><input name="msg'.$ref.'" title="Новость"/><br/>';
echo '<br /><anchor title="go">Добавить<go href="?mod='.$mod.'&gid='.$gid.'&act='.$act.'&'.SID.'" method="post">';
echo '<postfield name="msg" value="$msg'.$ref.'"/></go></anchor><br/>';
}
}else{
if (strlen2($msg)<5){echo 'Новость слишком короткая!'; exit;}
if ($user['translit']==1)$msg = translit($msg);
if ($db->sql_query ("INSERT INTO group_news (gid,user_id,time,msg) VALUES ('$gid','$user[id]','$time','$msg')")){header ('Location: ?mod='.$mod.'&gid='.$gid.'&'.SID); exit;
}else echo 'Ошибка!<br />';
}
}else if($act=='edit'){ // Изменение
$msg = check($_POST['msg']);
$new = check(intval($_GET['new']));
if (empty($msg)){
$a = @$db->sql_fetchrow($db->sql_query ("Select * from group_news where id = '".$new."' and gid = '".$gid."'"));
if ($ver!='wml'){echo '<form action="?mod='.$mod.'&gid='.$gid.'&new='.$new.'&act=edit&'.SID.'" method="post">';
echo'Новость:<br /><textarea cols="'.$user['pole2'].'" rows="'.$user['pole1'].'" name="msg" >'.text($a[msg],false,true,false,false,false).'</textarea><br />';echo '<br /><input type="submit" class="ibutton" value="Изменить"/></form><br /><br />';
}else{
echo 'Новость:<br /><input name="msg'.$ref.'" value="'.text($a[msg],false,true,false,false,false).'" title="Новость"/><br/>';
echo '<br /><anchor title="go">Изменить<go href="?mod='.$mod.'&new='.$new.'&act=edit&'.SID.'" method="post">';
echo '<postfield name="msg" value="$msg'.$ref.'"/></go></anchor><br/>';
}
}else {
$msg = check($_POST['msg']);
if (strlen2($msg)<5){echo 'Новость слишком короткая!'; exit;}
if ($user['translit']==1)$msg = translit($msg);
if ($db->sql_query("UPDATE `group_news` SET `msg` = '$msg' WHERE `id` = '".$new."' and gid = '".$gid."'")){header ('Location: ?mod='.$mod.'&gid='.$gid.'&'.SID); exit;
}else echo 'Ошибка!<br />';
}
}
break;
}
echo "<br/>";
if ($mod)echo gb.'<a href="?gid='.$gid.'">Управление</a>'.div;
echo gb.'<a href="group'.$gid.'">Группа</a>'.div;
echo gb.'<a href="'.H.'enter">Прихожая</a>'.div;
foot();
?>