Ejemplo n.º 1
0
 /**
  * @return Filter
  */
 protected static function internalizeFilter(array $params)
 {
     $filterParams = Filter::internalizeParams($params);
     if (isset($params['SEMANTIC_ID'])) {
         if (!isset($filterParams['extras'])) {
             $filterParams['extras'] = array();
         }
         $filterParams['extras']['semanticID'] = $params['SEMANTIC_ID'];
     }
     return new Filter($filterParams);
 }
Ejemplo n.º 2
0
 protected function __construct(array $settings, Filter $filter, $userID = 0, $enablePermissionCheck = true)
 {
     $this->settings = $settings;
     $this->filter = $filter;
     $this->responsibleIDs = $this->filter->getResponsibleIDs();
     if (!is_int($userID)) {
         $userID = (int) $userID;
     }
     if ($userID <= 0) {
         $userID = \CCrmSecurityHelper::GetCurrentUserID();
     }
     $this->userID = $userID;
     if (!is_bool($enablePermissionCheck)) {
         $enablePermissionCheck = (bool) $enablePermissionCheck;
     }
     $this->enablePermissionCheck = $enablePermissionCheck;
     //Disable permission check if filter by current user is enabled.
     if ($this->enablePermissionCheck && is_array($this->responsibleIDs) && count($this->responsibleIDs) === 1 && (int) $this->responsibleIDs[0] === $this->userID) {
         $this->enablePermissionCheck = false;
     }
 }