Вход Регистрация
Файл: concrete5.7.5.6/concrete/controllers/panel/page/devices.php
Строк: 78
<?php
namespace ConcreteControllerPanelPage;
use 
ConcreteControllerBackendUserInterfacePage as BackendInterfacePageController;
use 
ConcreteCoreViewView;

class 
Devices extends BackendInterfacePageController
{
    protected 
$viewPath '/panels/page/devices';

    public function 
canAccess()
    {
        return 
$this->permissions->canViewPageVersions() || $this->permissions->canEditPageVersions();
    }

    public function 
view()
    {

    }

    public function 
detail()
    {
        
$view = new View('/panels/details/page/devices');

        return 
$view;
    }

    public function 
preview()
    {
        
$request Request::getInstance();
        
$c Page::getByID($this->request->get('cID'));
        
$cp = new Permissions($c);
        if (
$cp->canViewPageVersions()) {
            
$c->loadVersionObject(Core::make('helper/security')->sanitizeInt($_REQUEST['cvID']));

            
$spoofed_request Request::createFromGlobals();

            if (
$device_handle $request->headers->get('x-device-handle')) {
                if (
$device Core::make('device/manager')->get($device_handle)) {
                    if (
$agent $device->getUserAgent()) {
                        
$spoofed_request->headers->set('User-Agent'$agent);
                    }
                }
            }

            
$spoofed_request->setCustomRequestUser(-1);
            
$spoofed_request->setCurrentPage($c);

            
Request::setInstance($spoofed_request);

            
$controller $c->getPageController();
            
$controller->runTask('view', array());
            
$view $controller->getViewObject();
            
$response = new Response();
            
$content $view->render();

            
// Reset just in case.
            
Request::setInstance($request);

            
$response->setContent($content);
            
$response->send();
            exit;
        }
    }

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