Вход Регистрация
Файл: sngine-v2.8/Script/event.php
Строк: 276
<?php
/**
 * event
 * 
 * @package Sngine
 * @author Zamblek
 */

// fetch bootloader
require('bootloader.php');

// user access
if(!$system['system_public']) {
    
user_access();
}

// check event id
if(is_empty($_GET['event_id'])) {
    
_error(404);
}

try {

    
// [1] get main event info
    
$get_event $db->query(sprintf("SELECT `events`.*, cover_photo.source as event_cover_full, users.user_name, users.user_firstname, users.user_lastname, events_categories.category_name as event_category_name FROM `events` LEFT JOIN posts_photos as cover_photo ON `events`.event_cover_id = cover_photo.photo_id LEFT JOIN events_categories ON `events`.event_category = events_categories.category_id INNER JOIN users ON `events`.event_admin = users.user_id  WHERE `events`.event_id = %s"secure($_GET['event_id']) )) or _error("SQL_ERROR_THROWEN");
    if(
$get_event->num_rows == 0) {
        
_error(404);
    }
    
$event $get_event->fetch_assoc();
    
/* get event cover */
    
$event['event_cover'] = ($event['event_cover'])? $system['system_uploads'].'/'.$event['event_cover'] : $event['event_cover'];
    
$event['event_cover_full'] = ($event['event_cover_full'])? $system['system_uploads'].'/'.$event['event_cover_full'] : $event['event_cover_full'];
    
/* check group category */
    
$event['event_category_name'] = (!$event['event_category_name'])? __('N/A'): $event['event_category_name']; /* in case deleted by system admin */
    /* get the connection */
    
$event['i_admin'] = $user->check_event_adminship($user->_data['user_id'], $event['event_id']);
    
$event['i_joined'] = $user->check_event_membership($user->_data['user_id'], $event['event_id']);

    
// [2] get view content
    /* check event privacy */
    
if($event['event_privacy'] == "secret") {
        if(!
$event['i_joined'] && !$event['i_admin']) {
            if(
$user->_data['user_group'] != '1') {
                
_error(404);
            }
        }
    }
    if(
$event['event_privacy'] == "closed") {
        if(!
$event['i_joined'] && !$event['i_admin']) {
            if(
$user->_data['user_group'] != '1') {
                
$_GET['view'] = 'about';
            }
        }
            
    }
    switch (
$_GET['view']) {
        case 
'':
            
/* get custom fields */
            
$smarty->assign('custom_fields'$user->get_custom_fields( array("for" => "event""get" => "profile""node_id" => $event['event_id']) ));

            
/* get invites */
            
$event['invites'] = $user->get_event_invites($event['event_id']);

            
/* get photos */
            
$event['photos'] = $user->get_photos($event['event_id'], 'event');

            
/* get [pending] event posts */
            
if($event['event_publish_approval_enabled']) {
                
$get_all = ($event['i_admin'])? true false;
                
$event['pending_posts'] = $user->get_event_pending_posts($event['event_id'], $get_all);
            }

            
/* prepare publisher */
            
$smarty->assign('feelings'get_feelings());
            
$smarty->assign('feelings_types'get_feelings_types());
            if(
$system['colored_posts_enabled']) {
                
$smarty->assign('colored_patterns'$user->get_posts_colored_patterns());
            }

            
/* get pinned post */
            
$pinned_post $user->get_post($event['event_pinned_post']);
            
$smarty->assign('pinned_post'$pinned_post);

            
/* get posts */
            
if(isset($_GET['pending'])) {
                
$get = ($event['i_admin'])? "posts_event_pending_all" "posts_event_pending";
            } else {
                
$get "posts_event";
            }
            
$posts $user->get_posts( array('get' => $get'id' => $event['event_id']) );
            
/* assign variables */
            
$smarty->assign('posts'$posts);
            
$smarty->assign('get'$get);
            break;

        case 
'photos':
            
/* get photos */
            
$event['photos'] = $user->get_photos($event['event_id'], 'event');
            break;

        case 
'albums':
            
/* get albums */
            
$event['albums'] = $user->get_albums($event['event_id'], 'event');
            break;

        case 
'album':
            
/* get album */
            
$album $user->get_album($_GET['id']);
            if(!
$album || ($album['event_id'] != $event['event_id']) ) {
                
_error(404);
            }
            
/* assign variables */
            
$smarty->assign('album'$album);
            break;

        case 
'videos':
            
/* get videos */
            
$event['videos'] = $user->get_videos($event['event_id'], 'event');
            break;

        case 
'going':
            
/* get going members */
            
if($event['event_going'] > 0) {
                
$event['members'] = $user->get_event_members($event['event_id'], 'going');
            }
            
$event['total_members'] = $event['event_going'];
            break;

        case 
'interested':
            
/* get interested members */
            
if($event['event_interested'] > 0) {
                
$event['members'] = $user->get_event_members($event['event_id'], 'interested');
            }
            
$event['total_members'] = $event['event_interested'];
            break;

        case 
'invited':
            
/* get invited members */
            
if($event['event_invited'] > 0) {
                
$event['members'] = $user->get_event_members($event['event_id'], 'invited');
            }
            
$event['total_members'] = $event['event_invited'];
            break;

        case 
'invites':
            
/* check if the viewer is a event member */
            
if(!$event['i_joined']) {
                
_error(404);
            }
            
/* get invites */
            
$event['members'] = $user->get_event_invites($event['event_id']);
            
$event['total_members'] = count($event['members']);
            break;

        case 
'settings':
            
/* check if the viewer is the admin */
            
if(!$event['i_admin']) {
                
_error(404);
            }

            
/* get sub_view content */
            
$sub_view $_GET['id'];
            switch (
$sub_view) {
                case 
'':
                    
/* get custom fields */
                    
$smarty->assign('custom_fields'$user->get_custom_fields( array("for" => "event""get" => "settings""node_id" => $event['event_id']) ));

                    
/* get events categories */
                    
$categories $user->get_events_categories();
                    
/* assign variables */
                    
$smarty->assign('categories'$categories);
                    break;

                case 
'delete':
                    break;
                
                default:
                    
_error(404);
                    break;
            }
            
/* assign variables */
            
$smarty->assign('sub_view'$sub_view);

            break;

        case 
'about':
            
/* check if the viewer is a event member */
            
if($event['i_joined']) {
                
_error(404);
            }
            break;
        
        default:
            
_error(404);
            break;
    }

    
// recent rearches
    
if(isset($_GET['ref']) && $_GET['ref'] == "qs") {
        
$user->set_search_log($event['event_id'], 'event');
    }

} catch (
Exception $e) {
    
_error(__("Error"), $e->getMessage());
}

// page header
page_header($event['event_title'], $event['event_description'], $event['event_cover']);

// assign variables
$smarty->assign('event'$event);
$smarty->assign('view'$_GET['view']);

// page footer
page_footer("event");

?>
Онлайн: 0
Реклама