Вход Регистрация
Файл: concrete5.7.5.6/concrete/controllers/single_page/dashboard/pages/types/attributes.php
Строк: 53
<?php
namespace ConcreteControllerSinglePageDashboardPagesTypes;
use 
ConcreteCoreApplicationEditResponse;
use 
ConcreteCoreAttributeKeyCollectionKey;
use 
ConcreteCoreAttributeKeyCategory as AttributeKeyCategory;
use 
ConcreteCorePageControllerDashboardPageController;
use 
PageType;
use 
Loader;

class 
Attributes extends DashboardPageController
{

    protected 
$pagetype;
    protected 
$defaultPage;

    protected function 
setupPageType($ptID)
    {
        
$this->pagetype PageType::getByID($ptID);
        if (!
$this->pagetype) {
            
$this->redirect('/dashboard/pages/types');
        }
        
$cmp = new Permissions($this->pagetype);
        if (!
$cmp->canEditPageType()) {
            throw new 
Exception(t('You do not have access to edit this page type.'));
        }
        
$this->defaultPage $this->pagetype->getPageTypePageTemplateDefaultPageObject();
    }

    public function 
view($ptID false)
    {
        
$this->setupPageType($ptID);
        
$this->requireAsset('core/app/editable-fields');
        
$this->set('pagetype'$this->pagetype);
        
$this->set('defaultPage'$this->defaultPage);
        
$category AttributeKeyCategory::getByHandle('collection');
        
$this->set('category'$category);
    }

    public function 
update_attribute($ptID false)
    {
        
$this->setupPageType($ptID);
        
$sr = new EditResponse();
        if (
Loader::helper('validation/token')->validate()) {
            
$ak CollectionKey::getByID(Loader::helper('security')->sanitizeInt($_REQUEST['name']));
            if (
is_object($ak)) {
                
$ak->saveAttributeForm($this->defaultPage);
                
$val $this->defaultPage->getAttributeValueObject($ak);
            }
        } else {
            
$this->error->add(Loader::helper('validation/token')->getErrorMessage());
        }
        if (
$this->error->has()) {
            
$sr->setError($this->error);
        } else {
            
$sr->setMessage(t('Attribute saved successfully.'));
            
$sr->setAdditionalDataAttribute('value',  $val->getValue('displaySanitized','display'));
        }
        
$sr->outputJSON();
    }

    public function 
clear_attribute($ptID false)
    {
        
$this->setupPageType($ptID);
        
$sr = new EditResponse();
        if (
Loader::helper('validation/token')->validate()) {
            
$ak CollectionKey::getByID(Loader::helper('security')->sanitizeInt($_REQUEST['akID']));
            if (
is_object($ak)) {
                
$this->defaultPage->clearAttribute($ak);
            }
        } else {
            
$this->error->add(Loader::helper('validation/token')->getErrorMessage());
        }
        if (
$this->error->has()) {
            
$sr->setError($this->error);
        } else {
            
$sr->setMessage(t('Attribute cleared successfully.'));
        }
        
$sr->outputJSON();
    }

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