Вход Регистрация
Файл: moduls/groups.php
Строк: 257
<?php
include_once'../system/xcms_core.php';
switch(
$act){
    case 
'users':$title='Участники сообщества';
    if(
$_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
    if(
$user){
        
$q=$db->query("select `id` from `groups` where `id`='$id'")->rowCount();
        if(
$q){
            
$total=$db->query("select `id` from `groups_users` where `group`='$id'")->rowCount();
            if(
$total){
                
$k_page=k_page($total,$set['p_str']);$page=page($k_page);$start=$set['p_str']*$page-$set['p_str'];
                
$sql=$db->query("select * from `groups_users` where `group`='$id' order by `id` desc limit $start$set[p_str]");
                while(
$res=$sql->fetch(PDO::FETCH_ASSOC)){
                    
$us=$db->query("select * from `user` where `id`='$res[user]'")->fetch(PDO::FETCH_ASSOC);
                    echo 
'<div class="menu">
                    '
.avatar($us['avatar']).' <a href="/profile'.$res['user'].'">'.$us['login'].'</a>'.lvl($us['id'],$us['level']).on($us['visit']).'<br />';
                    if(
$res['user']!==$user['id'])
                        echo
'<a href="/dialog/'.$res['user'].'">Написать сообщение</a>';
                    else
                        echo
'<a href="/profile'.$user['id'].'">Мой профиль</a>';
                    echo
'</div>';
                }
                if (
$k_page>1)str('/community/'.$id.'/users/',$k_page,$page); // Вывод страниц
            
}else{echo'<div class="menu">Участников еще нет</div>';}
        }else{echo
'<div class="menu">Сообщество не найдено</div>';}
    }else{echo
'<div class="menu">Авторизуйтесь, чтобы просматривать эту страницу</div>';}
    
back('/community/'.$id);
    break;
    
    case 
'avatar':$title='Изменяем аватар';
    if(
$_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
    if(
$user){
        
$q=$db->query("select * from `groups` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
        if(
$q){
            if(
$q['user']==$user['id']){
                echo
'<div class="menu">Не более 500Кб(JPG, JPEG, PNG, GIF)<br/>
                <form action = "#" method = "post" enctype = "multipart/form-data"> 
                <input type = "file" name = "somename" /> 
                <input type = "submit" value = "Загрузить" /> 
                </form></div> '
;
                
$uploadfile1 rand(0,999999).$_FILES['somename']['name'];
                
$ex=strtolower(substr(strrchr($uploadfile1'.'), 1));
                
$uploadfile2="../files/avatar_group/$id.$ex";
                if(
$ex=='jpg' or $ex=='jpeg' or $ex=='png' or $ex=='gif'){
                    if(
move_uploaded_file($_FILES['somename']['tmp_name'], $uploadfile2)){
                        
$db->prepare("update `groups` set `avatar`='$id.$ex' where `id`='$id'")->execute();
                        echo
'<div class="menu">Аватар загружен &rarr; <a href="/community/'.$id.'">Далее</a></div>';
                    }
                }
            }else{echo
'<div class="menu">Вы не администратор этого сообщества</div>';}
        }else{echo
'<div class="menu">Сообщество не найдено</div>';}
    }else{echo
'<div class="menu">Авторизуйтесь, чтобы просматривать эту страницу</div>';}
    
back('/community/'.$id);
    break;
    
    case 
'del':$title='Удаляем сообщество';
    if(
$_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
    if(
$user){
        
$q=$db->query("select * from `groups` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
        if(
$q){
            if(
$q['user']==$user['id']){
                if(!empty(
$_GET['yes'])){
                    if(
$db->exec("delete from `groups` where `id`='$id'")==true)
                        echo
'<div class="menu">Сообщество удалено &rarr; <a href="/community">Далее</a></div>';
                    else
                        echo
'<div class="menu">Ошибка</div>';
                }else{
                    echo
'<div class="menu"><b>Вы действительно хотите удалить сообщество?</b><br />
                    <a href="/community/'
.$id.'/delete">
                    <form action="/community/'
.$id.'/delete/yes" method="post">
                    <input type="submit" value="Подтвердить удаление">
                    </form>
                    <form action="/community/'
.$id.'" method="post">
                    <input type="submit" value="Отменить удаление">
                    </form>
                    </div>'
;
                }
            }else{echo
'<div class="menu">Вы не администратор этого сообщества</div>';}
        }else{echo
'<div class="menu">Сообщество не найдено</div>';}
    }else{echo
'<div class="menu">Авторизуйтесь, чтобы просматривать эту страницу</div>';}
    break;
    
    case 
'edit':$title='Редактирование сообщества';
    if(
$_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
    if(
$user){
        
$q=$db->query("select * from `groups` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
        if(
$q){
            if(
$q['user']==$user['id']){
                if(!empty(
$_POST['name'])){
                    
$name=$db->quote(protect($_POST['name']));
                    if(!empty(
$_POST['desc']))$desc=$db->quote(protect($_POST['desc']));else $desc=0;
                    if(!empty(
$_POST['admid']))$adm=$db->quote(protect($_POST['admid']));else $adm=0;
                    if(
$db->prepare("update `groups` set `name`=$name, `desc`=$desc, `user`=$adm where `id`='$id'")->execute()==true)
                        echo
'<div class="menu">Изменили информацию о сообществе &rarr; <a href="/community/'.$id.'">Далее</a></div>';
                    else
                        echo
'<div class="menu">Ошибка</div>';
                }else{
                    echo
'<form action="#" method="post"><div class="menu">
                    Новое название:<br /><input type="text" name="name" value="'
.$q['name'].'"><br />
                    Новое описание:<br /><textarea name="desc">'
.$q['desc'].'</textarea><br />
                    Новый администратор(<b>ID</b>):<br /><input type="text" name="admid" value="'
.$q['user'].'"><br />
                    <input type="submit" value="Обновить">
                    </div></form>'
;
                }
            }else{echo
'<div class="menu">Вы не являетесь администратором этого сообщества</div>';}
        }else{echo
'<div class="menu">Сообщество не найдено</div>';}
    }else{echo
'<div class="menu">Авторизуйтесь, чтобы просматривать эту страницу</div>';}
    
back('/community/'.$id);
    break;
    
    case 
'invite':$title='Приглашаем в сообщество';
    if(
$_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
    if(
$user){
        
$q=$db->query("select * from `groups` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
        if(
$q){
            if(
$q['type']>0){
                if(
$q['user']==$user['id']){
                    if(!empty(
$_POST['user'])){
                        
$us=protect($_POST['user']);
                        
$w=$db->query("select `id` from `user` where `id`='$us'")->rowCount();
                        if(
$w){
                            
$db->query("insert into `groups_users` set `group`='$id', `user`='$us'");
                            
$db->query("insert into `notice` set `to`='$us', `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> пригласил вас в
                            <a href="
/community/$id">сообщество <b>$q[name]</b></a>', `status`='1', `time`='$time', `user`='$user[id]'");
                            echo
'<div class="menu">Приглашение отправлено &rarr; <a href="/community/'.$id.'">К сообществу</a></div>';
                        }else{echo
'<div class="menu">Пользователь не найден</div>';}
                    }else{
                        echo
'<form action="#" method="post"><div class="menu">
                        Введите ID пользователя: <input type="text" name="user" size="6"><input type="submit" value="Пригласить">
                        </div></form>'
;
                    }
                }else{echo
'<div class="menu">Вы не администратор этого сообщества</div>';}
            }else{echo
'<div class="menu">Это открытое сообщество</div>';}
        }else{echo
'<div class="menu">Сообщество не найдено</div>';}
    }else{echo
'<div class="menu">Авторизуйтесь, чтобы просматривать эту страницу</div>';}
    
back('/community/'.$id);
    break;
    
    case 
'enter':$title='Вступаем в сообщество';
    if(
$_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
    if(
$user){
        
$q=$db->query("select * from `groups` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
        if(
$q){
            
$w=$db->query("select `id` from `groups_users` where `group`='$id' and `user`='$user[id]'")->rowCount();
            if(
$w){
                if(
$db->exec("delete from `groups_users` where `group`='$id' and `user`='$user[id]'")==true)
                    echo
'<div class="menu">Вышли из сообщества &rarr; <a href="/community/'.$id.'">Далее</a></div>';
                else
                    echo
'<div class="menu">Ошибка</div>';
            }else{
                if(
$q['type']==0){
                    if(
$db->query("insert into `groups_users` set `group`='$id', `user`='$user[id]'")==true)
                        echo
'<div class="menu">Вступили &rarr; <a href="/community/'.$id.'">К сообществу</a></div>';
                    else
                        echo
'<div class="menu">Ошибка</div>';
                }else{
                    echo
'<div class="menu">Это закрытое сообщество</div>';
                }
            }
        }else{echo
'<div class="menu">Сообщество не найдено</div>';}
    }else{echo
'<div class="menu">Авторизуйтесь, чтобы просматривать эту страницу</div>';}
    
back('/community/'.$id);
    break;
    
    case 
'reply':$title='Пишем на стене';
    if(
$_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
    if(
$user){
        
$q=$db->query("select `id` from `groups` where `id`='$id'")->rowCount();
        if(
$q){
            if((
$time-$user['flood'])>$da['flood']){
                
$w=$db->query("select `id` from `groups_users` where `group`='$id' and `user`='$user[id]'")->rowCount();
                if(
$q['type']==or $w){
                    if(!empty(
$_POST['text'])){
                        
$text=smiles(bb_code(nl2br(protect($_POST['text']))));
                        
$text_strl=strlen($text);
                        if(
$text_strl>$da['min_simb']){
                            
$db->prepare("update `user` set `balans`=`balans`+1, `flood`='$time' where `id`='$user[id]'")->execute();
                            if(
$db->query("insert into `groups_wall` set `group`='$id', `text`='$text', `user`='$user[id]', `time`='$time'")==true)
                                echo
'<meta http-equiv="refresh" content="0; url = /community/'.$id.' ">';
                            else
                                echo
'<div class="menu">Не удалось отправить сообщение</div>';
                        }else{echo
'<div class="menu">Мин. длина текста не менее '.$da['min_simb'].' символов</div>';}
                    }else{
                        echo
'<form action="#" method="post"><div class="menu">
                        <textarea name="text" placeholder="Написать сообщение.."></textarea><br />
                        <input type="submit" value="Отправить">
                        </div></form>'
;
                    }
                }else{echo
'<div class="menu">Это закрытое сообщество</div>';}
            }else{echo
'Чтобы написать, подождите '.($da['flood']-($time-$user['flood'])).' cek.';}
        }else{echo
'<div class="menu">Сообщество не найдено</div>';}
    }else{echo
'<div class="menu">Авторизуйтесь, чтобы просматривать эту страницу</div>';}
    
back('/community/'.$id);
    break;
    
    case 
'group':
    
$q=$db->query("select * from `groups` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
    if(
$q){
        
$w=$db->query("select `id` from `groups_users` where `group`='$id' and `user`='$user[id]'")->rowCount();
        
$title=$q['name'];
        if(
$_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
        
$us=$db->query("select `login` from `user` where `id`='$q[user]'")->fetch(PDO::FETCH_ASSOC);
        echo 
'<div class="menu">';
        if(
$q['avatar'])$ava=$q['avatar'];else $ava='default.png';
        echo 
avatar_group($ava).' '.$q['name'].'<br />
        Создатель: <a href="/profile'
.$q['user'].'">'.$us['login'].'</a>';
        if(
$q['desc'])echo'<br />'.$q['desc'];
        echo
'</div>';
        echo 
'<div class="head" style="text-align:center;"><b>'.$q['name'].'</b></div>';
        if(
$q['desc'])echo'<div class="menu"><span style="float:left;">Описание:</span>
        <div style="text-align:center;">'
.$q['desc'].'</div></div>';
        if(
$user){
            echo
'<div class="touch">';
            if(
$user['id']==$q['user'])echo'
            <div class="menu"><a href="/community/'
.$id.'/edit">Редактировать сообщество</a></div>
            <div class="menu"><a href="/community/'
.$id.'/avatar">Изменить аватар сообщества</a></div>
            <div class="menu"><a href="/community/'
.$id.'/delete">Удалить сообщество</a></div>';
            if(
$user['level']>4)echo'<div class="menu"><a href="/moduls/delete.php?act=15&amp;id='.$id.'">Удалить сообщество</a></div>';
            if(
$w){
                if(
$q['user']==$user['id'] and $q['type']>0)echo'<div class="menu"><a href="/community/'.$id.'/invite">Пригласить пользователя</a></div>';
                echo
'<div class="menu"><a href="/community/'.$id.'/users">Участники сообщества
                <span style="float:right;">('
.$db->query("select `id` from `groups_users` where `group`='$id'")->rowCount().')</span></a></div>
                <div class="menu"><a href="/community/'
.$id.'/enter">Выйти из сообщества</a></div>';
            }else{
                if(
$q['type']==0)
                    echo
'<div class="menu"><a href="/community/'.$id.'/enter">Вступить в сообщество</a></div>';
                else
                    echo
'<div class="menu">Это закрытое сообщество, попасть в него можно только по приглашению</div>';
            }
            echo
'</div>';
        }
        if(
$q['type']==or $w){
            if((
$time-$user['flood'])>$da['flood']){
                echo
'<div class="head" style="text-align:center;">Стена сообщества</div>';
                if(
$user)echo'<form action="/community/'.$id.'/reply" method="post"><div class="menu">
                <textarea name="text" placeholder="Написать сообщение.."></textarea><br />
                <input type="submit" value="Отправить">
                </div></form>'
;
            }else{echo
'Чтобы написать, подождите '.($da['flood']-($time-$user['flood'])).' cek.';}
            
$total=$db->query("select `id` from `groups_wall` where `group`='$id'")->rowCount();
            if(
$total){
                
$k_page=k_page($total,$set['p_str']);$page=page($k_page);$start=$set['p_str']*$page-$set['p_str'];
                
$sql=$db->query("select * from `groups_wall` where `group`='$id' order by `time` desc limit $start$set[p_str]");
                while(
$res=$sql->fetch(PDO::FETCH_ASSOC)){
                    
$us=$db->query("select * from `user` where `id`='$res[user]'")->fetch(PDO::FETCH_ASSOC);
                    echo
'<div class="menu">
                    '
.avatar($us['avatar']).' <a href="/profile'.$res['user'].'">'.$us['login'].'</a> '.lvl($us['id'],$us['level']).on($us['visit']).'<br />
                    '
.clock($res['time']).'<br />'.$res['text'].'</div>';
                }
                if (
$k_page>1)str('/community/'.$id.'/',$k_page,$page); // Вывод страниц
            
}else{echo'<div class="menu">Стена сообщества пуста</div>';}
        }else{echo
'<div class="menu">Стена доступна только для участников сообщества</div>';}
    }else{echo
'<div class="menu">Сообщество не найдено</div>';}
    
back('/community');
    break;
    
    case 
'create':$title='Создаем сообщество';
    if(
$_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
    if(
$user){
        if(!empty(
$_POST['name']) and !empty($_POST['type'])){
            
$name=$db->quote(protect($_POST['name']));
            
$types=protect($_POST['type']);
            if(
$types==1)$type=0;else $type=1;
            if(!empty(
$_POST['desc']))$desc=$db->quote(protect($_POST['desc']));else $desc=0;
            if(
$db->query("insert into `groups` set `name`=$name, `desc`=$desc, `time`='$time',`type`='$type', `user`='$user[id]'")==true){
                
$new=$db->lastInsertId();
                
$db->query("insert into `groups_users` set     `user`='$user[id]', `group`='$new'");
                echo
'<div class="menu">Сообщество создано &rarr; <a href="/community/'.$new.'">К сообществу</a></div>';
            }else{echo
'<div class="menu">Ошибка создания</div>';}
        }else{
            echo
'<form action="#" method="post">
            <div class="menu">
            Название:<br /><input type="text" name="name"><br />
            Описание:<br /><textarea name="desc"></textarea><br />
            Тип сообщества:<br /><select name="type">
            <option value="1">Открытое</option>
            <option value="2">Закрытое</option>
            </select><br />
            <input type="submit" value="Создать">
            </div></form>'
;
        }
    }else{echo
'<div class="menu">Авторизуйтесь, чтобы просматривать эту страницу</div>';}
    
back('/community');
    break;
    
    default:
$title='Сообщества';
    if(
$_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
    if(
$user)echo'<div class="touch" style="text-align:center;">
    <div class="menu"><a href="/community/create">Создать сообщество</a></div>
    <div class="menu"><a href="/profile'
.$user['id'].'/community">Мои сообщества</a></div>
    </div>'
;
    
$total=$db->query("select `id` from `groups`")->rowCount();
    if(
$total){
        
$k_page=k_page($total,$set['p_str']);$page=page($k_page);$start=$set['p_str']*$page-$set['p_str'];
        
$sql=$db->query("select * from `groups` order by `id` desc limit $start$set[p_str]");
        echo
'<div class="touch">';
        while(
$res=$sql->fetch(PDO::FETCH_ASSOC)){
            echo 
'<div class="menu">';
            if(
$res['avatar'])$ava=$res['avatar'];else $ava='default.png';
            echo 
avatar_group_small($ava).' <a href="/community/'.$res['id'].'">'.$res['name'];
            if(
$res['type']>0)echo' <span style="color:red;">[Закрытое]</span>';else echo'';
            echo
'<span style="float:right;">Участников: '.$db->query("select `id` from `groups_users` where `group`='$res[id]'")->rowCount().'</span>';
            if(
$res['desc'])echo'<br />'.$res['desc'];
            echo
'</a></div>';
        }
        echo
'</div>';
        if (
$k_page>1)str('/community/',$k_page,$page); // Вывод страниц
    
}else{echo'<div class="menu">Сообщества еще не созданы</div>';}
    
back('/');
}
if(
$_COOKIE['style']=='web')require_once '../system/web_foot.php'; else require_once '../system/foot.php';
?>
Онлайн: 0
Реклама