Вход Регистрация
Файл: concrete5.7.5.6/concrete/controllers/panel/page/preview_as_user.php
Строк: 62
<?php
namespace ConcreteControllerPanelPage;

use 
ConcreteCoreFormServiceWidgetDateTime;
use 
Controller;
use 
Loader;
use 
Page;
use 
Permissions;
use 
Request;
use 
UserInfo;
use 
View;
use 
Core;
use 
Config;

class 
PreviewAsUser extends Controller
{

    public function 
view()
    {
        
$this->setViewObject(new View('/panels/page/preview_as/form'));
    }

    public function 
frame_page()
    {
        
$this->setViewObject(new View('/panels/page/preview_as/frame'));
    }

    public function 
preview_page()
    {
        
$page Page::getByID(intval($_REQUEST['cID'], 10), 'RECENT');
        if (!
is_object($page) || $page->isError()) {
            throw new 
InvalidArgumentException('Invalid collection ID');
        }

        
$permissions = new Permissions($page);
        if (
$permissions->canPreviewPageAsUser() && $permissions->canRead() && Config::get('concrete.permissions.model') == 'advanced') {

            
/** @var Request $request */
            
$request Request::getInstance();
            
$request->setCustomRequestUser(false);
            
$request->setCurrentPage($page);

            if (
$request->request('customUser')) {
                
$user_info UserInfo::getByUserName($request->request('customUser'));
                if (
$user_info && is_object($user_info) && !$user_info->isError()) {
                    
$request->setCustomRequestUser($user_info);
                }
            }
            
$request->setCustomRequestDateTime(Core::make('helper/form/date_time')->translate('preview_as_user_datetime'$request->request()));

            
$controller $page->getPageController();
            
$view $controller->getViewObject();

            
$response = new Response();
            
$response->setContent($view->render());
            
$response->send();
        }

    }

}
Онлайн: 0
Реклама