Вход Регистрация
Файл: concrete5.7.5.6/concrete/controllers/single_page/dashboard/files/attributes.php
Строк: 57
<?php
namespace ConcreteControllerSinglePageDashboardFiles;
use 
ConcreteCorePageControllerDashboardPageController;
use 
ConcreteCoreAttributeType as AttributeType;
use 
ConcreteCoreAttributeKeyCategory as AttributeKeyCategory;
use 
FileAttributeKey;
use 
Exception;
use 
Loader;

class 
Attributes extends DashboardPageController {
    
    public 
$helpers = array('form');

    public function 
delete($akID$token null){
        try {
            
$ak FileAttributeKey::getByID($akID); 
                
            if(!(
$ak instanceof FileAttributeKey)) {
                throw new 
Exception(t('Invalid attribute ID.'));
            }
    
            
$valt Loader::helper('validation/token');
            if (!
$valt->validate('delete_attribute'$token)) {
                throw new 
Exception($valt->getErrorMessage());
            }
            
            
$ak->delete();
            
            
$this->redirect("/dashboard/files/attributes"'attribute_deleted');
        } catch (
Exception $e) {
            
$this->set('error'$e);
        }
    }
    
    public function 
select_type() {
        
$atID $this->request('atID');
        
$at AttributeType::getByID($atID);
        
$this->set('type'$at);
    }
    
    public function 
view() {
        
$attribs FileAttributeKey::getList();
        
$this->set('attribs'$attribs);
    }
    
    public function 
on_start() {
        
parent::on_start();
        
$this->set('category'AttributeKeyCategory::getByHandle('file'));
        
$otypes AttributeType::getAttributeTypeList('file');
        
$types = array();
        foreach(
$otypes as $at) {
            
$types[$at->getAttributeTypeID()] = $at->getAttributeTypeDisplayName();
        }
        
$this->set('types'$types);
    }
    
    public function 
add() {
        
$this->select_type();
        
$type $this->get('type');
        
$cnt $type->getController();
        
$this->error $cnt->validateKey($this->post());
        if (!
$this->error->has()) {
            
$type AttributeType::getByID($this->post('atID'));
            
$ak FileAttributeKey::add($type$this->post());
            
$this->redirect('/dashboard/files/attributes/''attribute_created');
        }
    }

    public function 
attribute_deleted() {
        
$this->set('message't('File Attribute Deleted.'));
    }
    
    public function 
attribute_created() {
        
$this->set('message't('File Attribute Created.'));
    }

    public function 
attribute_updated() {
        
$this->set('message't('File Attribute Updated.'));
    }
    
    public function 
edit($akID 0) {
        if (
$this->post('akID')) {
            
$akID $this->post('akID');
        }
        
$key FileAttributeKey::getByID($akID);
        if (!
is_object($key) || $key->isAttributeKeyInternal()) {
            
$this->redirect('/dashboard/files/attributes');
        }
        
$type $key->getAttributeType();
        
$this->set('key'$key);
        
$this->set('type'$type);
        
        if (
$this->isPost()) {
            
$cnt $type->getController();
            
$cnt->setAttributeKey($key);
            
$e $cnt->validateKey($this->post());
            if (
$e->has()) {
                
$this->set('error'$e);
            } else {
                
$type AttributeType::getByID($this->post('atID'));
                
$key->update($this->post());
                
$this->redirect('/dashboard/files/attributes''attribute_updated');
            }
        }
    }
    
}
Онлайн: 2
Реклама