Вход Регистрация
Файл: soc-set/moduls/groups/index.php
Строк: 122
<?php
require_once('../../core/start.php');
require_once(
'func.php');
check_auth();

switch (
$select) {
    
    default:
    
head('Сообщества');
    
    
panel();  
     
    
$all DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".GROUPS."");
        
    if (
$all == 0) {
        echo 
DIV_AUT 'Сообществ нет' CLOSE_DIV;
    } else {
        
$sql DB::$dbs->query("SELECT * FROM ".GROUPS." ORDER BY `id` DESC ");
        while(
$group $sql -> fetch()) {
            
$peoples DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".GROUPS_PEOPLES." WHERE `group_id` = ? ", array($group['id']));
            echo 
DIV_BLOCK;
            echo 
'<a href="'.HOME.'/groups/'.$group['id'].'/"><b>' $group['name'] . '</b></a> ['.$peoples.' чел.]<br />';
            echo 
$group['info'] . '<br />';
            echo 
CLOSE_DIV;
        }
    }
    
    if (
check() == FALSE) {
        echo 
DIV_LI '[+] <a href="'.HOME.'/groups/new/">Создать сообщество</a>' CLOSE_DIV;
    } else {
        echo 
DIV_LI '[+] <a href="'.HOME.'/groups/'.my().'/">Мое сообщество</a>' CLOSE_DIV;
    }
    
    
    
$array = array('Сообщества');
    
nav($array);    
    break;
    
    case 
'view':
    
$id abs(num($_GET['id']));
    
$group DB::$dbs->queryFetch("SELECT * FROM ".GROUPS." WHERE `id` = ? ",array($id));
    
    if (empty(
$group)) {
        
head('Сообщество не найдено');
            
        echo 
DIV_TITLE 'Сообщество не найдено' .  CLOSE_DIV
        echo 
DIV_ERROR 'Ошибка!' CLOSE_DIV
            
        echo 
DIV_GO '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <b>Сообщество не найдено</b>' CLOSE_DIV;  
        require_once(
'../../core/stop.php');
        exit(); 
    }
    
    
head('Сообщество: ' $group['name']);
    
panel();
    
    echo 
DIV_BLOCK . (empty($group['logo']) ? '<img src="' HOME '/style/img/empty_photo.gif" />' '<img src="' HOME '/files/groups/mini_'.$group['logo'] . '" />') . CLOSE_DIV;
    
    echo 
DIV_BLOCK;
    echo 
'<b>' $group['name'] . '</b><br />';
    echo 
'<b>Описание:</b>' text($group['info']) . '<br />';
 
    if (
$group['user_id'] != $user['user_id']) {   
        
$sql DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".GROUPS_PEOPLES." WHERE `group_id` = ? && `user_id` = ? ", array($group['id'], $user['user_id']));
        if (
$sql == FALSE) {
            echo 
'<form action="'.HOME.'/groups/'.$group['id'].'/join/" method="POST"><input type="submit" value="Вступить" /></form>';
        } else {
            echo 
'<form action="'.HOME.'/groups/'.$group['id'].'/leave/" method="POST"><input type="submit" value="Покинуть" /></form>';
        }
    }
    echo 
CLOSE_DIV;
    
    echo (
$group['user_id'] == $user['user_id'] ? DIV_LI '<a href="'.HOME.'/groups/'.$group['id'].'/panel/"><b>Управление сообществом</b></a>' CLOSE_DIV NULL);
    
    if (
$group['private_forum'] == 1) {
        if (
check_private($group['id']) == TRUE) {
            
$topics DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".GROUPS_TOPIC." WHERE `group_id` = ? ", array($group['id']));
            
$posts DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".GROUPS_POST." WHERE `group_id` = ? ", array($group['id']));
            echo 
DIV_LI '<a href="'.HOME.'/groups/topics/'.$group['id'].'/">Обсуждения</a> ['.$topics.'/'.$posts.']' CLOSE_DIV
        }    
    } else {
        
$topics DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".GROUPS_TOPIC." WHERE `group_id` = ? ", array($group['id']));
        
$posts DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".GROUPS_POST." WHERE `group_id` = ? ", array($group['id']));
        echo 
DIV_LI '<a href="'.HOME.'/groups/topics/'.$group['id'].'/">Обсуждения</a> ['.$topics.'/'.$posts.']' CLOSE_DIV;         
    }
    

    
$peoples DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".GROUPS_PEOPLES." WHERE `group_id` = ? ", array($group['id']));
    echo 
DIV_LI '<a href="'.HOME.'/groups/'.$group['id'].'/peoples/">Люди в сообществе</a> ['.$peoples.']' CLOSE_DIV
    
    
$admins DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".GROUPS_PEOPLES." WHERE `group_id` = ? && `level` > ? ", array($group['id'], 0));
    echo 
DIV_LI '<a href="'.HOME.'/groups/'.$group['id'].'/admin/">Администрация</a> ['.$admins.']' CLOSE_DIV
    
    
$array = array('Сообщества');
    
nav($array);   
    require_once(
'../../core/stop.php'); 
    break;
    
    case 
'admin':
    
$id abs(num($_GET['id']));
    
$group DB::$dbs->queryFetch("SELECT * FROM ".GROUPS." WHERE `id` = ? ",array($id));
    
    if (empty(
$group)) {
        
head('Сообщество не найдено');
                
        echo 
DIV_TITLE 'Сообщество не найдено' .  CLOSE_DIV
        echo 
DIV_ERROR 'Ошибка!' CLOSE_DIV
                
        echo 
DIV_GO '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <b>Сообщество не найдено</b>' CLOSE_DIV;  
        require_once(
'../../core/stop.php');
        exit(); 
    } 
    
    
head('Администрация');
            
    echo 
DIV_TITLE 'Администрация' .  CLOSE_DIV;
    
    
$n = new Navigator($all,10,'id='.$group['id']);
    
$sql DB::$dbs->query("SELECT * FROM ".GROUPS_PEOPLES." WHERE `group_id` = ? && `level` > ? ORDER BY `id` DESC LIMIT {$n->start()}, 10", array($group['id'], 0));
    while(
$ank $sql -> fetch()) {
        echo 
DIV_LI userLink($ank['user_id']) . ' [<b>' group_level($ank['level']) . '</b>]' CLOSE_DIV;
    }  
    echo 
$n->navi();
    echo 
DIV_GO '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <b>Люди в сообществе</b>' CLOSE_DIV;
    break;
    
    case 
'peoples':
    
$id abs(num($_GET['id']));
    
$group DB::$dbs->queryFetch("SELECT * FROM ".GROUPS." WHERE `id` = ? ",array($id));
    
    if (empty(
$group)) {
        
head('Сообщество не найдено');
                
        echo 
DIV_TITLE 'Сообщество не найдено' .  CLOSE_DIV
        echo 
DIV_ERROR 'Ошибка!' CLOSE_DIV
                
        echo 
DIV_GO '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <b>Сообщество не найдено</b>' CLOSE_DIV;  
        require_once(
'../../core/stop.php');
        exit(); 
    } 
    
    
head('Люди в сообществе');
            
    echo 
DIV_TITLE 'Люди в сообществе' .  CLOSE_DIV;
    
    
$n = new Navigator($all,10,'id='.$group['id']);
    
$sql DB::$dbs->query("SELECT * FROM ".GROUPS_PEOPLES." WHERE `group_id` = ? ORDER BY `id` DESC LIMIT {$n->start()}, 10", array($group['id']));
    while(
$ank $sql -> fetch()) {
        echo 
DIV_LI userLink($ank['user_id']) . ' [<b>' group_level($ank['level']) . '</b>]' CLOSE_DIV;
    }  
    echo 
$n->navi();
    echo 
DIV_GO '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <b>Люди в сообществе</b>' CLOSE_DIV;
    break;
    
    case 
'join':
    
$id abs(num($_GET['id']));
    
$group DB::$dbs->queryFetch("SELECT * FROM ".GROUPS." WHERE `id` = ? ",array($id));
    
    if (empty(
$group)) {
        
head('Сообщество не найдено');
            
        echo 
DIV_TITLE 'Сообщество не найдено' .  CLOSE_DIV
        echo 
DIV_ERROR 'Ошибка!' CLOSE_DIV
            
        echo 
DIV_GO '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <b>Сообщество не найдено</b>' CLOSE_DIV;  
        require_once(
'../../core/stop.php');
        exit(); 
    }    

    
$sql DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".GROUPS_PEOPLES." WHERE `group_id` = ? && `user_id` = ? ", array($group['id'], $user['user_id']));
    if (
$sql == FALSE) {
        
DB::$dbs->query("INSERT INTO ".GROUPS_PEOPLES." (`group_id`, `user_id`, `level`) VALUES (?, ?, ?)", array($group['id'], $user['user_id'], 0));           
        
header("Location: ".HOME."/groups/".$group['id']."/");
    } else {
        
head('Вы уже состоите в данном сообществе');
            
        echo 
DIV_TITLE 'Вы уже состоите в данном сообществе' .  CLOSE_DIV
        echo 
DIV_ERROR 'Ошибка!' CLOSE_DIV
            
        echo 
DIV_GO '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <b>Вы уже состоите в данном сообществе</b>' CLOSE_DIV;  
        require_once(
'../../core/stop.php');
        exit();         
    }
    break;

    case 
'leave':
    
$id abs(num($_GET['id']));
    
$group DB::$dbs->queryFetch("SELECT * FROM ".GROUPS." WHERE `id` = ? ",array($id));
    
    if (empty(
$group)) {
        
head('Сообщество не найдено');
            
        echo 
DIV_TITLE 'Сообщество не найдено' .  CLOSE_DIV
        echo 
DIV_ERROR 'Ошибка!' CLOSE_DIV
            
        echo 
DIV_GO '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <b>Сообщество не найдено</b>' CLOSE_DIV;  
        require_once(
'../../core/stop.php');
        exit(); 
    } 
    
    if (
$group['user_id'] == $user['user_id']) {
        
head('Вы не можете покинуть сообщество, т.к Вы являетесь создателем');
            
        echo 
DIV_TITLE 'Вы не можете покинуть сообщество, т.к Вы являетесь создателем' .  CLOSE_DIV
        echo 
DIV_ERROR 'Ошибка!' CLOSE_DIV
            
        echo 
DIV_GO '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <b>Вы не можете покинуть сообщество, т.к Вы являетесь создателем</b>' CLOSE_DIV;  
        require_once(
'../../core/stop.php');
        exit(); 
    }    
    
    
$sql DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".GROUPS_PEOPLES." WHERE `group_id` = ? && `user_id` = ? ", array($group['id'], $user['user_id']));
    if (
$sql == TRUE) {
        
DB::$dbs->query("DELETE FROM ".GROUPS_PEOPLES." WHERE `group_id` = ? && `user_id` = ? ", array($group['id'], $user['user_id']));           
        
header("Location: ".HOME."/groups/".$group['id']."/");
    } else {
        
head('Вы не состоите в данном сообществе');
            
        echo 
DIV_TITLE 'Вы не состоите в данном сообществе' .  CLOSE_DIV
        echo 
DIV_ERROR 'Ошибка!' CLOSE_DIV
            
        echo 
DIV_GO '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups/">Сообщества</a> / <a href="'.HOME.'/groups/'.$group['id'].'/">'.$group['name'].'</a> / <b>Вы не состоите в данном сообществе</b>' CLOSE_DIV;  
        require_once(
'../../core/stop.php');
        exit();         
    }
    break;
        
    case 
'new':
    
head('Создание сообщества');
    
    if (!empty(
$_POST['add'])) {
        
        
$name2 html($_POST['name']);
        
$info html($_POST['info']);
        
        if (!empty(
$_FILES['file']['name'])) {
            
$name $_FILES['file']['name']; # Название файла
            
$ext strtolower(strrchr($name'.')); # Расширение файла
            
$par getimagesize($_FILES['file']['tmp_name']); # Разрешение изображения
            
$size $_FILES['file']['size']; # Вес файла
            
$time time();
            
$file $time.$ext;
            
$pictures = array('.jpg''.jpeg''.gif''.png'); # Допустимые расширения
            
            
if ($size > (1048576 $config['max_upload_group'])) {
                
$err .= 'Размер фотографии превышает допустимое значение. [Max. '.$config['max_upload_group'].'Mb.]<br />';
            }
            
            if (
preg_match('/.php/i'$name) || preg_match('/.pl/i'$name) || $name == '.htaccess' || !in_array($ext$pictures)) {
                
$err .= 'Не верное расширение файла.<br />';
            }
                
        }
        
        if (empty(
$name2)) {
            
$err .= 'Заполните название сообщества<br />';
        }
        
        if (empty(
$info)) {
            
$err .= 'Заполните описание сообщества<br />';
        }
        
        if (empty(
$err)) {
            if (empty(
$ext)) {
                
$file 0;
            }
            
            
copy($_FILES['file']['tmp_name'], '../../files/groups/'.$file); # Загружаем в оригинале
            
img_resize('../../files/groups/'.$file'../../files/groups/mini_'.$file$config['mini_logo_par'][0], $config['mini_logo_par'][1]); # Mini
            
DB::$dbs->query("INSERT INTO ".GROUPS." (`name`, `info`, `logo`, `user_id`, `time`, `peoples`) VALUES (?, ?, ?, ?, ?, ?)", array($name2$info$file$user['user_id'], time(), 1));
            
$lastid DB::$dbs->lastInsertId();
            
DB::$dbs->query("INSERT INTO ".GROUPS_PEOPLES." (`group_id`, `user_id`, `level`) VALUES (?, ?, ?)", array($lastid$user['user_id'], 2));
            
header("Location: ".HOME."/groups/".$lastid);
        } else {
            echo 
DIV_ERROR $err CLOSE_DIV;
        }
        
    }
    
    echo 
DIV_TITLE 'Создание сообщества' CLOSE_DIV;    
    
    echo 
DIV_AUT;
    echo 
'<form action="#" method="POST" enctype="multipart/form-data">';
    echo 
'<b>Название:</b> [max. 100]<br /><input type="text" name="name" /><br /><br />';
    echo 
'<b>Описание:</b> [max. 250]<br /><textarea name="info"></textarea><br /><br />';
    echo 
'<b>Логотип:</b> [max. '.$config['max_upload_group'].'mb., jpg, gif, png]<br /><input type="file" name="file"/><br /><br />';
    echo 
'<input type="submit" name="add" value="Создать" /></form>';
    echo 
CLOSE_DIV;
         
    echo 
DIV_GO '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/groups">Сообщества</a> / <b>Создание сообщества</b>' CLOSE_DIV;    
    break;
}


require_once(
'../../core/stop.php');
?>
Онлайн: 0
Реклама