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

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

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

// check username
if(is_empty($_GET['username']) || !valid_username($_GET['username'])) {
    
_error(404);
}

try {

    
// [1] get main page info
    
$get_page $db->query(sprintf("SELECT pages.*, picture_photo.source as page_picture_full, cover_photo.source as page_cover_full, pages_categories.category_name as page_category_name FROM pages LEFT JOIN posts_photos as picture_photo ON pages.page_picture_id = picture_photo.photo_id LEFT JOIN posts_photos as cover_photo ON pages.page_cover_id = cover_photo.photo_id LEFT JOIN pages_categories ON pages.page_category = pages_categories.category_id WHERE pages.page_name = %s"secure($_GET['username']))) or _error("SQL_ERROR_THROWEN");
    if(
$get_page->num_rows == 0) {
        
_error(404);
    }
    
$spage $get_page->fetch_assoc();
    
/* check username case */
    
if(strtolower($_GET['username']) == strtolower($spage['page_name']) && $_GET['username'] != $spage['page_name']) {
        
redirect('/pages/'.$spage['page_name']);
    }
    
/* get page picture */
    
$spage['page_picture_default'] = ($spage['page_picture'])? false true;
    
$spage['page_picture'] = get_picture($spage['page_picture'], 'page');
    
$spage['page_picture_full'] = ($spage['page_picture_full'])? $system['system_uploads'].'/'.$spage['page_picture_full'] : $spage['page_picture_full'];
    
/* get page cover */
    
$spage['page_cover'] = ($spage['page_cover'])? $system['system_uploads'].'/'.$spage['page_cover'] : $spage['page_cover'];
    
$spage['page_cover_full'] = ($spage['page_cover_full'])? $system['system_uploads'].'/'.$spage['page_cover_full'] : $spage['page_cover_full'];
    
/* check page category */
    
$spage['page_category_name'] = (!$spage['page_category_name'])? __('N/A'): $spage['page_category_name']; /* in case deleted by admin */
    /* get the connection */
    
$spage['i_admin'] = $user->check_page_adminship($user->_data['user_id'], $spage['page_id']);
    
$spage['i_like'] = $user->check_page_membership($user->_data['user_id'], $spage['page_id']);

    
// [2] get view content
    
switch ($_GET['view']) {
        case 
'':
            
/* get custom fields */
            
$smarty->assign('custom_fields'$user->get_custom_fields( array("for" => "page""get" => "profile""node_id" => $spage['page_id']) ));

            
/* get invites */
            
$spage['invites'] = $user->get_page_invites($spage['page_id']);

            
/* get photos */
            
$spage['photos'] = $user->get_photos($spage['page_id'], 'page');

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

            
/* 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 posts */
            
$posts $user->get_posts( array('get' => 'posts_page''id' => $spage['page_id']) );
            
/* assign variables */
            
$smarty->assign('posts'$posts);
            break;

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

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

        case 
'album':
            
/* get album */
            
$album $user->get_album($_GET['id']);
            if(!
$album || $album['in_group'] || $album['user_type'] == "user" || ($album['user_type'] == "page" && $album['page_id'] != $spage['page_id'])) {
                
_error(404);
            }
            
/* assign variables */
            
$smarty->assign('album'$album);
            break;

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

        case 
'invites':
            
/* check if the viewer is a page member */
            
if(!$spage['i_like']) {
                
_error(404);
            }
            
/* get invites */
            
$spage['invites'] = $user->get_page_invites($spage['page_id']);
            break;
        
        case 
'settings':
            
/* check if the viewer is the admin */
            
if(!$spage['i_admin']) {
                
_error(404);
            }

            
/* get sub_view content */
            
$sub_view $_GET['id'];
            switch (
$sub_view) {
                case 
'':
                    
// get pages categories
                    
$categories $user->get_pages_categories();
                    
/* assign variables */
                    
$smarty->assign('categories'$categories);
                    break;

                case 
'info':
                    
// get custom fields
                    
$smarty->assign('custom_fields'$user->get_custom_fields( array("for" => "page""get" => "settings""node_id" => $spage['page_id']) ));
                    break;

                case 
'verification':
                    if(!
$system['verification_requests']) {
                        
_error(404);
                    }
                    
// verification
                    
if($spage['page_verified']) {
                        
$case "verified";
                    } else {
                        
/* check verification request */
                        
$get_request $db->query(sprintf("SELECT * FROM verification_requests WHERE node_id = %s AND node_type = 'page'"secure($spage['page_id'], 'int'))) or _error("SQL_ERROR_THROWEN");
                        if(
$get_request->num_rows 0) {
                            
$request $get_request->fetch_assoc();
                            if(
$request['status'] == '1') {
                                if(
$spage['page_verified']) {
                                    
$case "verified";
                                } else {
                                    
/* remove any request */
                                    
$db->query(sprintf("DELETE FROM verification_requests WHERE request_id = %s"secure($request['request_id'], 'int') )) or _error("SQL_ERROR_THROWEN");
                                    
$case "request";
                                }
                            } elseif (
$request['status'] == '0') {
                                
$case "pending";
                            } else {
                                
$case "declined";
                            }
                        } else {
                            
$case "request";
                        }
                    }
                    
/* assign variables */
                    
$smarty->assign('case'$case);
                    break;

                case 
'admins':
                    
/* get admins */
                    
$spage['page_admins_count'] = count($user->get_page_admins_ids($spage['page_id']));
                    
$spage['page_admins'] = $user->get_page_admins($spage['page_id']);

                    
/* get members */
                    
if($spage['page_likes'] > 0) {
                        
$spage['members'] = $user->get_page_members($spage['page_id']);
                    }
                    break;

                case 
'delete':
                    
/* check if the viewer not the super admin */
                    
if($user->_data['user_id'] != $spage['page_admin']) {
                        
_error(404);
                    }
                    break;
                
                default:
                    
_error(404);
                    break;
            }
            
/* assign variables */
            
$smarty->assign('sub_view'$sub_view);
                
            break;

        default:
            
_error(404);
            break;
    }

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

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

// page header
page_header($spage['page_title'], $spage['page_description'], $spage['page_picture']);

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

// page footer
page_footer("page");

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