Файл: groups/index.php
Строк: 276
<?
require'../includes.php';
$align='left';
$title='Группы';
aut();
head();
who_add(0,'enter');
$gid = check(intval($_GET['gid']));
switch($mod){
default:
echo '<br />';
if (empty($v_us['max'])) $v_us['max']=10;
$max = $v_us['max'];
$k_post=mysql_result(query("select count(*) as num from groups "),0);
$k_page=k_page($k_post,$max);
$page=page($k_page);
$start=$max*$page-$max;
$r = query ("Select * from groups order by users desc LIMIT $start, $max");
if ($k_post == 0)echo '<br />Групп нет...<br />';
$post_k=$start+1;
while($a = @mysql_fetch_assoc($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;
echo '<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 = @mysql_fetch_assoc(query ("Select * from groups WHERE id = '".$gid."'"));
if (!$a){header ('Location: index?'.SID); exit;}
$group = @mysql_fetch_assoc(query ("Select * from group_users WHERE gid = '".$gid."' and user_id = '".$v_us['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 />';
echo menu.'<img src="'.H.'img/admins.gif" alt="*"/> <b>Администрация</b>'.div;
$inf = @mysql_fetch_assoc(query ("Select * from group_users WHERE user_id = '".$a['lider_id']."'"));
if ($inf['level']<3)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 />';
echo '<img src="'.H.'img/replies.png" alt=""/> Администраторы:<br />';
$k_adm=mysql_result(query("select count(*) as num from group_users WHERE level = '2' and gid = '".$a['id']."'"),0);
$r = 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 = @mysql_fetch_assoc($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=mysql_result(query("select count(*) as num from group_users WHERE level = '1' and gid = '".$a['id']."'"),0);
$r = 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 = @mysql_fetch_assoc($r)){
echo '<img src="".H."img/004.png" alt=""/> '.nik($adm['user_id']).'<br />';
}
$uss = mysql_result(query("select count(*) as num from group_users WHERE gid = '".$a['id']."' and access != '1'"),0);
if ($uss!=$a['users']) query("UPDATE `groups` SET `users` = '$uss' WHERE `id` = '".$gid."'");
echo menu.'<img src="'.H.'img/op_ok.gif" alt="*"/> <b>Меню группы</b>'.div;
echo '<img src="'.H.'img/people.gif" alt="*"/> В группе: <a href="index?mod=users&gid='.$a['id'].'"><b>'.$uss.'</b></a> чел.<br />';
echo '<img src="'.H.'img/news.gif" alt="*"/> <a href="index?mod=news&gid='.$a['id'].'">Новости</a>('.mysql_result(query("select count(*) as num from group_news WHERE gid = '".$a['id']."'"),0).')<br />';
echo '<img src="'.H.'img/chat.png" alt="*"/> <a href="index?mod=chat&gid='.$a['id'].'">Чатик</a>('.mysql_result(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 = query("select * from `group_users` WHERE gid = '$gid' and user_id='$v_us[id]' limit 1;");
if (mysql_affected_rows()==0){ // Если не в группе
if (isset($_GET['in'])){ // Вступление
if ($a['tip']==0)$access = 1; else $access = 0;
query ("INSERT INTO group_users (gid,user_id,level,time,status,access) VALUES ('$gid','$v_us[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'])){// Выход
query('DELETE FROM `group_users` WHERE gid = "'.$gid.'" and `user_id` = '.$v_us[id]) or die('Ошибка при выходе из группы');
header ('Location: ?auti&'.SID); exit;
}else echo '<br /><img src="'.H.'img/006.gif" alt=""/> <a href="?aut">Выйти из группы</a>';
}
if($v_us['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 = @mysql_fetch_assoc(query ("Select * from groups WHERE id = '".$gid."'"));
$group = @mysql_fetch_assoc(query ("Select * from group_users WHERE gid = '".$gid."' and user_id = '".$v_us['id']."' and access != '1'"));
echo '<img src="'.H.'img/crow.png" alt="*"/> Лидер группы: '.nik($a['lider_id']).'<dt></dt>';
if (empty($v_us['max'])) $v_us['max']=10;
$max = $v_us['max'];
$k_post=mysql_result(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 = 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 = @mysql_fetch_assoc($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($v_us['level']>=8||$group['level']==3)echo '[<a href="index?mod=apdate&nk='.$a['user_id'].'&gid='.$gid.'">Апдейт</a>]';
echo '[Дней в группе: <b>'.$day.'</b>]'.div;
echo '<dl></dl>';
}
if ($k_page>1){
echo "<dl><dt></dt></dl>";
str('?mod='.$mod.'&gid='.$gid.'&',$k_page,$page); // Вывод страниц
echo "<dl><dt></dt></dl>";
}
break;
case 'apdate':
$group = @mysql_fetch_assoc(query ("Select * from group_users WHERE gid = '".$gid."' and user_id = '".$v_us['id']."' and access != '1'"));
$nk = check(intval($_GET['nk']));
$inf = @mysql_fetch_assoc(query ("Select * from users WHERE id = '".$nk."'"));
$r = mysql_fetch_assoc(query ("Select * from group_users WHERE user_id = '".$nk."' and access != '1'"));
$lider = @mysql_fetch_assoc(query ("Select * from groups WHERE id = '".$gid."'"));
if (isset($_GET['aut'])){// Выход
if($r['level']<3){
if($v_us['level']>=8||$group['level']>=2) {
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($v_us['level']>=8||$group['level']==3){
if (isset($_POST['level'])){
if (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">';
echo 'Должность:<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($v_us['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 = @mysql_fetch_assoc(query ("Select * from users WHERE id = '".$nk."'"));
$r = mysql_fetch_assoc(query ("Select * from group_users WHERE user_id = '".$nk."' and access != '1'"));
$lider = @mysql_fetch_assoc(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 ($v_us['posts']<$set['p_add_gr']){
echo 'Для создания группы необходимо <b>'.$set['p_add_gr'].'</b> постов!';
}else{
$p = query(@"select * from `groups` WHERE lider_id='$v_us[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">';
echo 'Название:<br /><input name="name" maxlength="30" title="Название"/><br/>';
echo 'Тип:<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="'.$v_us['pole2'].'" rows="'.$v_us['pole1'].'" name="opis" ></textarea><br />';
echo '<img src="/code.php?r='.rand(1000, 9999).'" alt="Проверочный код"/><br />';
echo 'Код с картинки:<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 />';
echo '<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 ($v_us['translit']==1)$name = translit($name);
if ($v_us['translit']==1)$opis = translit($opis);
if($_SESSION['code'] != $_POST['code'])$err = 'Проверочный код введен неверно!';
$query = @query("SELECT * FROM `groups` WHERE `name` = '".$name."';");
if(@mysql_affected_rows() > 0)$err = 'Такая группа уже есть!';
if(empty($err)){
if (query ("INSERT INTO groups (lider_id,name,opis,time,tip) VALUES ('$v_us[id]','$name','$opis','$time','$tip')")){
$gr = @mysql_fetch_assoc(query("select * from `groups` WHERE lider_id = '".$v_us['id']."'" ));
query ("INSERT INTO group_users (gid,user_id,level,time,status) VALUES ('$gr[id]','$v_us[id]','3','$time','Создатель группы')");
header ('Location: ?'.SID); exit;
}else echo 'Ошибка!';
}else echo $err;
}
}
}
break;
case 'news':
if (empty($v_us['max'])) $v_us['max']=10;
$max = $v_us['max'];
$k_post=mysql_result(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 = 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 = @mysql_fetch_assoc($r)){
echo links.''.nik($a[user_id]).' ('.times($a['time']).')'.div;
echo text($a[msg]);
echo '<br /><a href="?mod=komm&new='.$a[id].'&gid='.$gid.'">Комментарии</a>('.mysql_result(query("select count(*) as num from group_newskom WHERE new = '".$a[id]."' and gid = '".$gid."'"),0).')';
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 />";
}
break;
case 'komm':
$group = @mysql_fetch_assoc(query ("Select * from group_users WHERE gid = '".$gid."' and user_id = '".$v_us['id']."' and access != '1'"));
$new = check(intval($_GET['new']));
if (isset($_GET['delk'])){
if($v_us['level']>=8||$group['level']>0){
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 ($v_us['translit']==1)$_POST['msg'] = translit($_POST['msg']);
if (query ("INSERT INTO group_newskom (gid,new,user_id,time,msg) VALUES ('$gid','$new','$v_us[id]','$time','".check($_POST['msg'])."')")){header ('Location: ?mod='.$mod.'&new='.$new.'&gid='.$gid.'&'.SID); exit;
}else echo 'Ошибка!<br />';
}
}
if (empty($v_us['max'])) $v_us['max']=10;
$max = $v_us['max'];
$k_post=mysql_result(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 = 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 = @mysql_fetch_assoc($r)){
echo links.''.nik($a[user_id]).'';
if($v_us['level']>=8||$group['level']>0)echo '<small><a href="?mod='.$mod.'&new='.$new.'&gid='.$gid.'&delk='.$a['id'].'">[X]</a></small>';
echo '('.times($a['time']).')'.div;
echo text($a[msg]);
echo '<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.'" title="Text"/><br/>';
else echo '<br />Ваш комментарий:<br /><textarea cols="'.$v_us['pole2'].'" rows="'.$v_us['pole1'].'" name="msg"></textarea><br/><br />';
if ($ver=='wml'){
echo '<anchor title="go">Добавить<go href="?mod='.$mod.'&gid='.$gid.'&new='.$new.'&'.SID.'" method="post">';
echo '<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 = @mysql_fetch_assoc(query ("Select * from group_users WHERE gid = '".$gid."' and user_id = '".$v_us['id']."' and access != '1'"));
if (isset($_GET['delk'])){
if($v_us['level']>=8||$group['level']>0){
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 ($v_us['translit']==1)$_POST['msg'] = translit($_POST['msg']);
if (query ("INSERT INTO group_chat (gid,user_id,time,msg) VALUES ('$gid','$v_us[id]','$time','".check($_POST['msg'])."')")){header ('Location: ?mod='.$mod.'&gid='.$gid.'&'.SID); exit;
}else echo 'Ошибка!<br />';}}}
if (empty($v_us['max'])) $v_us['max']=10;
$max = $v_us['max'];
$k_post=mysql_result(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 = query ("Select * from group_chat WHERE gid = '".$gid."' order by time desc LIMIT $start, $max");
$g = @mysql_fetch_assoc(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 = @mysql_fetch_assoc($r)){
echo links.''.nik($a[user_id]).'';
if($v_us['level']>=8||$group['level']>0)echo '<small><a href="?mod='.$mod.'&gid='.$gid.'&delk='.$a['id'].'">[X]</a></small>';
echo '('.times($a['time']).')'.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 />";
}
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.'" title="Text"/><br/>';
else echo '<br />Сообщение:<br /><textarea cols="'.$v_us['pole2'].'" rows="'.$v_us['pole1'].'" name="msg"></textarea><br/><br />';
if ($ver=='wml'){
echo '<anchor title="go">Добавить<go href="?mod='.$mod.'&gid='.$gid.'&'.SID.'" method="post">';
echo '<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;
echo gb.'<a href="'.H.'enter">Прихожая</a>'.div;
foot(); // автор -=ШАХТЕР=- http://waphp.ru
?>