Вход Регистрация
Файл: moduls/groups.php
Строк: 245
<?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']).'<br />
                    <a href="/dialog/'
.$res['user'].'">Написать сообщение</a></div>';
                }
                if (
$k_page>1)str('/community/'.$id.'/users/',$k_page,$page); // Вывод страниц
            
}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='../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';
    
$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>';}
    
back('/community/'.$id);
    break;
    
    case 
'invite':$title='Приглашаем в сообщество';
    if(
$_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
    
$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>';}
    
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){
            
$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=$db->quote(smiles(bb_code(nl2br(protect($_POST['text'])))));
                    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
'<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
'<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">'.avatar_group($q['avatar']).' '.$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'].'</span></div></div>
        <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']==1)echo'<div class="menu"><a href="/moduls/delete.php?act=15&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){
            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>'
;
            
$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']).'<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'])echo avatar_group_small($res['avatar']);
            echo
'<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';
?>
Онлайн: 4
Реклама