Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Permission/Key/WorkflowKey.php
Строк: 34
<?php
namespace ConcreteCorePermissionKey;
use 
ConcreteCorePermissionDuration as PermissionDuration;
use 
ConcreteCoreWorkflowProgressProgress as WorkflowProgress;

abstract class 
WorkflowKey extends Key {

    public function 
getCurrentlyActiveUsers(WorkflowProgress $wp) {
        
$paa = $this->getPermissionAccessObject();
        if (!
$paa) {
            return array();
        }
        
$paa->setWorkflowProgressObject($wp);
        
$included = $this->getAccessListItems(self::ACCESS_TYPE_INCLUDE);
        
$excluded = $this->getAccessListItems(self::ACCESS_TYPE_EXCLUDE);
        
$included = PermissionDuration::filterByActive($included);
        
$excluded = PermissionDuration::filterByActive($excluded);
        
$users = array();
        
$usersExcluded = array();
        foreach(
$included as $inc) {
            
$pae = $inc->getAccessEntityObject();
            
$users = array_merge($users, $pae->getAccessEntityUsers($paa));
        }
        
$users = array_unique($users);

        foreach(
$excluded as $inc) {
            
$pae = $inc->getAccessEntityObject();
            
$usersExcluded = array_merge($usersExcluded, $pae->getAccessEntityUsers());
        }
        
$users = array_diff($users, $usersExcluded);
        return 
$users;
    }
}
Онлайн: 2
Реклама