Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Permission/Assignment/Assignment.php
Строк: 88
<?php
namespace ConcreteCorePermissionAssignment;
use 
Loader;
use 
PermissionAccess;
use 
PermissionKeyCategory;
class 
Assignment {

    protected 
$pk// permissionkey
    
protected $permissionObject;
    
    public function 
setPermissionObject($po) {
        
$this->permissionObject $po;
    }
    
    public function 
getPermissionObject() {
        return 
$this->permissionObject;
    }
    
    public function 
setPermissionKeyObject($pk) {
        
$this->pk $pk;
    }
    
    public function 
getPermissionKeyToolsURL($task false) {
        if (!
$task) {
            
$task 'save_permission';
        }
        
$uh Loader::helper('concrete/urls');
        
$class substr(get_class($this), 0strrpos(get_class($this), 'PermissionAssignment'));
        
$handle Loader::helper('text')->uncamelcase($class);
        if (
$handle) {
            
$akc PermissionKeyCategory::getByHandle($handle);
        } else {
            
$akc PermissionKeyCategory::getByID($this->pk->getPermissionKeyCategoryID());
        }
        
$url $uh->getToolsURL('permissions/categories/' $akc->getPermissionKeyCategoryHandle(), $akc->getPackageHandle());
        
$token Loader::helper('validation/token')->getParameter($task);
        
$url .= '?' $token '&task=' $task '&pkID=' $this->pk->getPermissionKeyID();
        return 
$url;
    }
    
    public function 
clearPermissionAssignment() {
        
$db Loader::db();
        
$db->Execute('update PermissionAssignments set paID = 0 where pkID = ?', array($this->pk->getPermissionKeyID()));
    }
    
    public function 
assignPermissionAccess(PermissionAccess $pa) {
        
$db Loader::db();
        
$db->Replace('PermissionAssignments', array('paID' => $pa->getPermissionAccessID(), 'pkID' => $this->pk->getPermissionKeyID()), array('pkID'), true);
        
$pa->markAsInUse();
    }

    public function 
getPermissionAccessObject() {

        
$cache Core::make('cache/request');
        
$identifier sprintf('permission/key/assignment/%s'$this->pk->getPermissionKeyID());
        
$item $cache->getItem($identifier);
        if (!
$item->isMiss()) {
            return 
$item->get();
        }

        
$item->lock();

        
$db Loader::db();
        
$paID $db->GetOne('select paID from PermissionAssignments where pkID = ?', array($this->pk->getPermissionKeyID()));
        
$pa PermissionAccess::getByID($paID$this->pk);

        
$item->set($pa);
        return 
$pa;
    }
    
}
Онлайн: 3
Реклама