Вход Регистрация
Файл: concrete5.7.5.6/concrete/controllers/single_page/dashboard/pages/types/permissions.php
Строк: 68
<?php
namespace ConcreteControllerSinglePageDashboardPagesTypes;
use 
ConcreteCorePageControllerDashboardPageController;
use 
Loader;
use 
Config;
use 
TaskPermission;
use 
PageType;
use 
PermissionAccess;
use 
PermissionKey;
class 
Permissions extends DashboardPageController {

    public function 
view($ptID false$message false) {
        
$this->pagetype PageType::getByID($ptID);
        if (!
$this->pagetype) {
            
$this->redirect('/dashboard/pages/types');
        }
        
$cmp = new Permissions($this->pagetype);
        if (!
$cmp->canEditPageTypePermissions()) {
            throw new 
Exception(t('You do not have access to edit this page type permissions.'));
        }
        switch(
$message) {
            case 
'updated':
                
$this->set('success't('Permissions updated successfully.'));
                break;
        }
        
$this->set('defaultPage'$this->pagetype->getPageTypePageTemplateDefaultPageObject());
        
$this->set('pagetype'$this->pagetype);
    }

    public function 
save() {
        
$this->view($this->post('ptID'));
        if (
Loader::helper('validation/token')->validate('save_permissions')) {
            
$permissions PermissionKey::getList('page_type');
            foreach(
$permissions as $pk) {
                
$pk->setPermissionObject($this->pagetype);
                
$paID $_POST['pkID'][$pk->getPermissionKeyID()];
                
$pt $pk->getPermissionAssignmentObject();
                
$pt->clearPermissionAssignment();
                if (
$paID 0) {
                    
$pa PermissionAccess::getByID($paID$pk);
                    if (
is_object($pa)) {
                        
$pt->assignPermissionAccess($pa);
                    }
                }
            }

            if (
Config::get('concrete.permissions.model') == 'advanced') {
                
$permissions PermissionKey::getList('page');
                
$defaultPage $this->pagetype->getPageTypePageTemplateDefaultPageObject();
                foreach(
$permissions as $pk) {
                    
$pk->setPermissionObject($defaultPage);
                    
$paID $_POST['pkID'][$pk->getPermissionKeyID()];
                    
$pt $pk->getPermissionAssignmentObject();
                    
$pt->clearPermissionAssignment();
                    if (
$paID 0) {
                        
$pa PermissionAccess::getByID($paID$pk);
                        if (
is_object($pa)) {
                            
$pt->assignPermissionAccess($pa);
                        }
                    }
                }
            }
            
$this->redirect('/dashboard/pages/types/permissions'$this->pagetype->getPageTypeID(), 'updated');

        } else {
            
$this->error->add(Loader::helper("validation/token")->getErrorMessage());
        }
        
    }
    
    public function 
updated() {
    }

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