Файл: groups/index.php
Строк: 286
<?
require'../config.php';
$align='left';
$title='Группы';
aut();
include '../style/head.php';
who_add(0,'grup');
$gid = check(intval($_GET['gid']));
switch($mod)
{
default:
echo '<br />';
if (empty($user['max']))
$user['max']=10;
$max = $user['max'];
$k_post=$db->sql_fetchfield($db->sql_query("select count(*) as num from groups"),0);
$k_page=k_page($k_post,$max);
$page=page($k_page);
$start=$max*$page-$max;
$r = $db->sql_query ("Select * from groups order by users desc LIMIT $start, $max");
if ($k_post == 0)
echo '<br />Групп нет...<br />';
$post_k=$start+1;
while($a = @$db->sql_fetchrow($r))
{
echo links;
if ($a['icon']!='')
echo '<img src="icons/'.$a['icon'].'" alt="" />';
echo '<a href="group'.$a['id'].'">'.$a['name'].'</a> ('.$a['users'].')'.div.'
<dl></dl>';
}
if ($k_page>1)
{
echo "<dl><dt></dt></dl>";
str('?',$k_page,$page); // Вывод страниц
}
echo "<dl><dt></dt></dl>";
echo '<a href="?mod=add">Создать группу</a><br />';
break;
case 'group':
$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']."' and access != '1'"));
echo menu.'<img src="'.H.'img/003.gif" alt="*"/> <b>О группе</b>:'.div;
if ($a['logo']!='')
echo '<img src="/'.$a['logo'].'" width="'.$set['w_logo_gr'].'" height="'.$set['h_logo_gr'].'" alt="" ><br />';
echo '<u>Группа</u>: <b>'.$a['name'].'</b>';
if ($a['icon']!='')
echo ' <img src="icons/'.$a['icon'].'" alt="" />';
echo '<br /><u>Тип</u>:';
if ($a['tip']==0)
echo ' Это закрытая группа. Вступающие утверждаются администратором.<br />';
else
echo ' Это открытая группа. В неё может вступить любой желающий.<br />';
echo '<u>Описание</u>:<br />'.esc(trim(br(bbcode(antir($a['opis']))))).'<br /><br />
'.menu.'<img src="'.H.'img/admins.gif" alt="*"/> <b>Администрация</b>'.div;
$inf = @$db->sql_fetchrow($db->sql_query ("Select * from group_users where user_id = '".$a['lider_id']."'"));
if ($inf['level']<3)$db->sql_query ("UPDATE `group_users` SET `level` = '3' where `user_id`='".$a['lider_id']."' LIMIT 0, 100");
echo '
<img src="'.H.'img/crow.png" alt="*"/> Лидер: '.nik($a['lider_id']).'<br />
<img src="'.H.'img/replies.png" alt=""/> Администраторы:
<br />';
$k_adm=$db->sql_fetchfield($db->sql_query("select count(*) as num from group_users where level = '2' and gid = '".$a['id']."'"),0);
$r = $db->sql_query ("Select * from group_users where level = '2' and gid = '".$a['id']."' order by time desc LIMIT 0, 100");
if ($k_adm == 0)
echo '<img src="'.H.'img/004.png" alt=""/> Пока нет...<br />';
while($adm = @$db->sql_fetchrow($r))
{
echo '<img src="".H."img/004.png" alt=""/> '.nik($adm['user_id']).'<br />';
}
echo '<img src="'.H.'img/replies.png" alt=""/> Модераторы:<br />';
$k_adm=$db->sql_fetchfield($db->sql_query("select count(*) as num from group_users where level = '1' and gid = '".$a['id']."'"),0);
$r = $db->sql_query ("Select * from group_users where level = '1' and gid = '".$a['id']."' order by time desc LIMIT 0, 100");
if ($k_adm == 0)
echo '<img src="'.H.'img/004.png" alt=""/> Пока нет...<br />';
while($adm = @$db->sql_fetchrow($r))
{
echo '<img src="".H."img/004.png" alt=""/> '.nik($adm['user_id']).'<br />';
}
$uss = $db->sql_fetchfield($db->sql_query("select count(*) as num from group_users where gid = '".$a['id']."' and access != '1'"),0);
if ($uss!=$a['users']) $db->sql_query("UPDATE `groups` SET `users` = '$uss' WHERE `id` = '".$gid."'");
echo menu.'
<img src="'.H.'img/op_ok.gif" alt="*"/> <b>Меню группы</b>'.div.'
<img src="'.H.'img/people.gif" alt="*"/> В группе: <a href="index?mod=users&gid='.$a['id'].'"><b>'.$uss.'</b></a> чел.<br />
<img src="'.H.'img/news.gif" alt="*"/> <a href="index?mod=news&gid='.$a['id'].'">
Новости</a>('.$db->sql_fetchfield($db->sql_query("select count(*) as num from group_news where gid = '".$a['id']."'"),0).')<br />
<img src="'.H.'img/chat.png" alt="*"/>
<a href="index?mod=chat&gid='.$a['id'].'">Чатик</a>('.$db->sql_fetchfield($db->sql_query("select count(*) as num from group_chat where gid = '".$a['id']."'"),0).')<br />';
if (isset($_GET['ini']))
{ // Вступление
if ($a['tip']==0)
echo '<img src="'.H.'img/007.gif" alt=""/> Заявка на вступление в группу принята!<br />';
else
echo '<img src="'.H.'img/007.gif" alt=""/> <b>Вы успешно вступили в группу!</b><br />';
}
if (isset($_GET['auti']))
{
echo '<img src="'.H.'img/006.gif" alt=""/> <b>Вы успешно покинули группу!</b><br />';
}
$p = $db->sql_query("select * from `group_users` where gid = '$gid' and user_id='$user[id]' limit 1;");
if (mysql_affected_rows()==0)
{ // Если не в группе
if (isset($_GET['in']))
{ // Вступление
if ($a['tip']==0)
$access = 1;
else
$access = 0;
$db->sql_query ("INSERT INTO group_users (gid,user_id,level,time,status,access)
VALUES ('$gid',
'$user[id]',
'0',
'$time',
'Участник',
'$access')");
header ('Location: ?ini&'.SID);
exit;
}
else
echo '<br /><img src="'.H.'img/005.gif" alt=""/> <a href="?in">Вступить в группу</a>';
}
else
{// Если в группе
if (isset($_GET['aut']))
{// Выход
if($group['level']<3)
{
$db->sql_query('DELETE FROM `group_users` WHERE gid = "'.$gid.'" and `user_id` = '.$user[id]) or die('Ошибка при выходе из группы');
header ('Location: ?auti&'.SID);
exit;
}
else
echo '<br /><img src="'.H.'img/006.gif" alt=""/> <a href="?aut">Выйти из группы</a>';
}
}
if($user['level']>=8||$group['level']>=2)
echo '<br /><br /><img src="'.H.'img/fd.gif" alt="*"/> <a href="admin?gid='.$a['id'].'"><b>Управление</b></a><br />';
break;
case 'users':
$a = @$db->sql_fetchrow($db->sql_query ("Select * from groups where id = '".$gid."'"));
$group = @$db->sql_fetchrow($db->sql_query ("Select * from group_users where gid = '".$gid."' and user_id = '".$user['id']."' and access != '1'"));
echo '<img src="'.H.'img/crow.png" alt="*"/> Лидер группы: '.nik($a['lider_id']).'<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_users where gid = '".$gid."' and 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 gid = '".$gid."' and access != '1' order by id LIMIT $start, $max");
if ($k_post == 0)
echo 'В группе никого нет...<br />';
else
echo 'В группе <b>'.$k_post.'</b> чел.<dt></dt><br />';
$post_k=$start+1;
while($a = @$db->sql_fetchrow($r))
{
$day = round(($time-$a['time'])/60/60/24);
echo links.''.nik($a['user_id']).' [<a href="index?mod=info&nk='.$a['user_id'].'&gid='.$gid.'">Инф.</a>]';
if($user['level']>=8||$group['level']==3)
echo '[<a href="index?mod=apdate&nk='.$a['user_id'].'&gid='.$gid.'">Апдейт</a>]';
echo '[Дней в группе: <b>'.$day.'</b>]'.div.'<dl></dl>';
}
if ($k_page>1)
{
echo "<dl><dt></dt></dl>";
str('?mod='.$mod.'&',$k_page,$page); // Вывод страниц
echo "<dl><dt></dt></dl>";
}
break;
case 'apdate':
$group = @$db->sql_fetchrow($db->sql_query ("Select * from group_users where gid = '".$gid."' and user_id = '".$user['id']."' and access != '1'"));
$nk = check(intval($_GET['nk']));
$inf = @$db->sql_fetchrow($db->sql_query ("Select * from users where id = '".$nk."'"));
$r = $db->sql_fetchrow($db->sql_query ("Select * from group_users where user_id = '".$nk."' and access != '1'"));
$lider = @$db->sql_fetchrow($db->sql_query ("Select * from groups where id = '".$gid."'"));
if (isset($_GET['aut']))
{// Выход
if($r['level']<3)
{
if($user['level']>=8||$group['level']>=2)
{
$db->sql_query("DELETE FROM `group_users` WHERE gid = '".$gid."' and `user_id` = '".$nk."';") or die('Ошибка!');
}
header ('Location: ?mod=users&gid='.$gid.'&'.SID);
exit;
}
else
{
echo 'Он лидер однако!';
exit;
}
}
echo 'Пользователь '.nik($inf['id']).'';
if ($lider['lider_id']==$inf['id'])
echo ' (<b>Лидер</b>)';
$day = round(($time-$r['time'])/60/60/24);
echo '<br />В группе с '.date('j.m.Y',$r['time']).' ('.$day.' дней)<br /><br />';
if($user['level']>=8||$group['level']==3)
{
if (isset($_POST['level']))
{
if ($db->sql_query("UPDATE `group_users` SET `level` = '".check($_POST['level'])."' WHERE `user_id` = '".$nk."' and gid = '".$gid."' and access != '1'"))
{
header ('Location: ?mod='.$mod.'&nk='.$nk.'&gid='.$gid.'&'.SID);
exit;
}
else
echo 'Ошибка!<br />';
}
if ($ver!='wml')
echo '
<form action="?mod='.$mod.'&gid='.$gid.'&nk='.$nk.'&'.SID.'" method="post">
Должность:<br /><select name="level">';
if($r['level']==0)
echo '<option value="0">Участник</option>';
else
if($r['level']==1)
echo '<option value="1">Модератор</option>';
else
if($r['level']==2)
echo '<option value="2">Админ</option>';
else
if($r['level']==3)
echo '<option value="3">Супер админ</option>';
if($r['level']!=0)
echo '<option value="0">Участник</option>';
if($r['level']!=1)
echo '<option value="1">Модератор</option>';
if($r['level']!=2)
echo '<option value="2">Админ</option>';
if($r['level']!=3)
echo '<option value="3">Супер админ</option>';
echo '</select><br/>';
if ($ver=='wml')
{
echo '<anchor title="go">Изменить<go href="?mod='.$mod.'&nk='.$nk.'&gid='.$gid.'&'.SID.'" method="post">';
echo '<postfield name="level" value="$level'.$ref.'"/>
</go></anchor><br /><br />';
}
else
{
echo '
<input type="submit" class="ibutton" value="Изменить"/>
</form><br /><br />
';
}
}
if($user['level']>=8||$group['level']>=2)
echo '<br /><a href="?mod='.$mod.'&nk='.$nk.'&gid='.$gid.'&aut"><b>Выгнать из группы!</b></a><br />';
break;
case 'info':
$nk = check(intval($_GET['nk']));
$inf = @$db->sql_fetchrow($db->sql_query ("Select * from users where id = '".$nk."'"));
$r = $db->sql_fetchrow($db->sql_query ("Select * from group_users where user_id = '".$nk."' and access != '1'"));
$lider = @$db->sql_fetchrow($db->sql_query ("Select * from groups where id = '".$gid."'"));
echo 'Пользователь '.nik($inf['id']).'';
if ($lider['lider_id']==$inf['id'])
echo ' (<b>Лидер</b>)';
$day = round(($time-$r['time'])/60/60/24);
echo '<br />В группе с '.date('j.m.Y',$r['time']).' ('.$day.' дней)<br />';
break;
case 'add':
if ($user['posts']<$set['p_add_gr'])
{
echo 'Для создания группы необходимо <b>'.$set['p_add_gr'].'</b> постов!';
}
else
{
$p = $db->sql_query(@"select * from `groups` where lider_id='$user[id]' limit 1;");
if (mysql_affected_rows()!=0)
{
echo 'У вас уже есть группа!<br />';
}
else
{
if (empty($act))
{
if ($ver!='wml')
echo '
<form action="?mod='.$mod.'&act=act&'.SID.'" method="post">
Название:<br /><input name="name" maxlength="30" title="Название"/><br/>
Тип:<br/><select name="tip">
<option value="1">Открытая</option>
<option value="0">Закрытая</option>
</select><br />';
if ($ver=='wml')
echo 'Описание:<br /><input name="opis'.$ref.'" title="Описание"/><br/>';
else
echo 'Описание:<br /><textarea cols="'.$user['pole2'].'" rows="'.$user['pole1'].'" name="opis" ></textarea><br />';
$chislo=rand(1000,9999);
$db->sql_query("DELETE FROM `chislo` WHERE `ip` = '".$ip."'");
$db->sql_query("INSERT INTO `chislo` (chislo,ip) values('$chislo','".$ip."')");
echo ' <b>'.$chislo.'</b><br/>Проверочный код:<br/>
<input type="text" name="code" size="4" maxlength="4" title="code"/><br />';
if ($ver=='wml')
{
echo '
<br /><anchor title="go">Создать<go href="?mod='.$mod.'&act=add&'.SID.'" method="post"><br />
<postfield name="name" value="$name"/>
<postfield name="opis" value="$opis"/>
<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 = 'Короткое описание!';*/
$online = $db->sql_fetchrow($db->sql_query("SELECT * FROM `chislo` WHERE `ip` = '".$ip."'"));
if($online['chislo'] != intval($_POST['code']))
$err = 'Проверочный код введен неверно!';
$query = @$db->sql_query("SELECT * FROM `groups` WHERE `name` = '".$name."';");
if(@mysql_affected_rows() > 0)
$err = 'Такая группа уже есть!';
if(empty($err))
{
if ($db->sql_query ("INSERT INTO groups (lider_id,name,opis,time,tip)
VALUES ('$user[id]',
'$name',
'$opis',
'$time',
'$tip')"))
{
$gr = @$db->sql_fetchrow($db->sql_query("select * from `groups` where lider_id = '".$user['id']."'" ));
$db->sql_query ("INSERT INTO group_users (gid,user_id,level,time,status)
VALUES ('$gr[id]',
'$user[id]',
'3',
'$time',
'Создатель группы')");
header ('Location: ?'.SID);
exit;
}
else
echo 'Ошибка!';
}
else
echo $err;
}
}
}
break;
case 'news':
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']).')'.div.'
'.text($a[msg]).'<br />
<a href="?mod=komm&new='.$a[id].'&gid='.$gid.'">Комментарии</a>('.$db->sql_fetchfield($db->sql_query("select count(*) as num from group_newskom where new = '".$a[id]."' and gid = '".$gid."'"),0).')
<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 />";
}
break;
case 'komm':
$group = @$db->sql_fetchrow($db->sql_query ("Select * from group_users where gid = '".$gid."' and user_id = '".$user['id']."' and access != '1'"));
$new = check(intval($_GET['new']));
if (isset($_GET['delk']))
{
if($user['level']>=8||$group['level']>0)
{
$db->sql_query("DELETE FROM `group_newskom` WHERE `id` = '".check(intval($_GET['delk']))."' and gid = '".$gid."'");
}
header ('Location: ?mod='.$mod.'&new='.$new.'&gid='.$gid.'&'.SID);
}
if (isset($_POST['msg']))
{
if (strlen2($_POST['msg'])>3)
{
if ($user['translit']==1)
$_POST['msg'] = translit($_POST['msg']);
if ($db->sql_query ("INSERT INTO group_newskom (gid,new,user_id,time,msg)
VALUES ('$gid',
'$new',
'$user[id]',
'$time',
'".check($_POST['msg'])."')"))
{
header ('Location: ?mod='.$mod.'&new='.$new.'&gid='.$gid.'&'.SID);
exit;
}
else
echo 'Ошибка!<br />';
}
}
if (empty($user['max']))
$user['max']=10;
$max = $user['max'];
$k_post=$db->sql_fetchfield($db->sql_query("select count(*) as num from group_newskom where new = '".$new."' and 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_newskom where new = '".$new."' and 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]).'';
if($user['level']>=8||$group['level']>0)
echo '
<small>
<a href="?mod='.$mod.'&new='.$new.'&gid='.$gid.'&delk='.$a['id'].'">[X]</a>
</small>
('.times($a['time']).')'.div.'
'.text($a[msg]).'<dl></dl>';
}
if ($k_page>1)
{
echo "<dl><dt></dt></dl>";
str('?mod=komm&new='.$new.'&gid='.$gid.'&',$k_page,$page); // Вывод страниц
echo "<br /><dl><dt></dt></dl><br />";
}
if($group)
{
if ($ver!='wml')
echo '<form action="?mod='.$mod.'&gid='.$gid.'&new='.$new.'&'.SID.'" method="post">';
if ($ver=='wml')
echo '<br />Ваш комментарий:<br /><input name="msg'.$ref.'" maxlength="15" title="Text"/><br/>';
else
echo '<br />Ваш комментарий:<br /><textarea cols="'.$user['pole2'].'" rows="'.$user['pole1'].'" name="msg"></textarea><br/><br />';
if ($ver=='wml')
{
echo '<anchor title="go">Добавить<go href="?mod='.$mod.'&gid='.$gid.'&new='.$new.'&'.SID.'" method="post">
<postfield name="msg" value="$msg'.$ref.'"/>
</go></anchor><br /><br />';
}
else
{
echo '<input type="submit" class="ibutton" value="Добавить"/></form><br /><br />';
}
}
else
echo '<b>Комментарии могут оставлять только участники группы!</b><br />';
break;
case 'chat':
$group = @$db->sql_fetchrow($db->sql_query ("Select * from group_users where gid = '".$gid."' and user_id = '".$user['id']."' and access != '1'"));
if (isset($_GET['delk']))
{
if($user['level']>=8||$group['level']>0)
{
$db->sql_query("DELETE FROM `group_chat` WHERE `id` = '".check(intval($_GET['delk']))."' and gid = '".$gid."'");
}
header ('Location: ?mod='.$mod.'&gid='.$gid.'&'.SID);
}
if($group)
{
if (isset($_POST['msg']))
{
if (strlen2($_POST['msg'])>3)
{
if ($user['translit']==1)$_POST['msg'] = translit($_POST['msg']);
if ($db->sql_query ("INSERT INTO group_chat (gid,user_id,time,msg)
VALUES ('$gid',
'$user[id]',
'$time',
'".check($_POST['msg'])."')"))
{
header ('Location: ?mod='.$mod.'&gid='.$gid.'&'.SID);
exit;
}
else
echo 'Ошибка!<br />';
}
}
}
if (empty($user['max']))
$user['max']=10;
$max = $user['max'];
$k_post=$db->sql_fetchfield($db->sql_query("select count(*) as num from group_chat 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_chat where gid = '".$gid."' order by time desc LIMIT $start, $max");
$g = @$db->sql_fetchrow($db->sql_query ("Select * from groups where id = '".$gid."'"));
if (($max*$page)<$k_post)
$maxi = $max*$page;
else
$maxi = $k_post;
echo menu.'
Чатик группы <b>'.$g['name'].'</b>'.div.'
показаны записи '.($start+1).'-'.$maxi.' из '.$k_post.'<br />
<a href="#add">Сказать</a> | <a href="?mod='.$mod.'&gid='.$gid.'">Обновить</a><br /><br />';
if ($k_post == 0)
echo 'Сообщений нет<br />';
$post_k=$start+1;
while($a = @$db->sql_fetchrow($r))
{
echo links.nik($a[user_id]);
if($user['level']>=8||$group['level']>0)
echo '<small><a href="?mod='.$mod.'&gid='.$gid.'&delk='.$a['id'].'">[X]</a></small>('.times($a['time']).')'.div;
echo text($a[msg]).'<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 />";
}
if($group)
{
if ($ver!='wml')
echo '<form action="?mod='.$mod.'&gid='.$gid.'&'.SID.'" method="post">';
if ($ver=='wml')
echo '<br />Сообщение:<br /><input name="msg'.$ref.'" maxlength="15" title="Text"/><br/>';
else
echo '<br />Сообщение:<br /><textarea cols="'.$user['pole2'].'" rows="'.$user['pole1'].'" name="msg"></textarea><br/><br />';
if ($ver=='wml')
{
echo '<anchor title="go">Добавить<go href="?mod='.$mod.'&gid='.$gid.'&'.SID.'" method="post">
<postfield name="msg" value="$msg'.$ref.'"/>
</go></anchor><br /><br />';
}
else
{
echo '<input type="submit" class="ibutton" value="Добавить"/></form><br /><br />';
}
}
else
echo '<b>Сообщения могут остовлять только участники группы!</b><br />';
echo '<a name="add"></a>';
break;
}
echo "<br/>";
if ($gid&&$mod!='group')echo gb.'<a href="group'.$gid.'">Группа</a>'.div;
if ($mod)echo gb.'<a href="index">Группы</a>'.div;
include '../style/foot.php';
?>