/**
  * @param SecurableItem $securableItem
  */
 public static function forgetSecurableItemForChange(SecurableItem $securableItem)
 {
     if ($securableItem->getClassId('SecurableItem') == 0) {
         return;
     }
     $securableItemModelIdentifer = $securableItem->getClassId('SecurableItem');
     if (static::supportsAndAllowsPhpCaching()) {
         static::$securableItemToPermitableToChangePermissions[$securableItemModelIdentifer] = array();
     }
     if (static::supportsAndAllowsMemcache()) {
         $prefix = static::getCachePrefix($securableItemModelIdentifer) . static::CHANGE;
         Yii::app()->cache->delete($prefix . $securableItemModelIdentifer);
     }
 }
Exemple #2
0
 public static function forgetSecurableItem(SecurableItem $securableItem, $forgetDbLevelCache = true)
 {
     if ($securableItem->getClassId('SecurableItem') == 0) {
         return;
     }
     $securableItemModelIdentifer = $securableItem->getModelIdentifier();
     if (PHP_CACHING_ON) {
         self::$securableItemToPermitableToCombinedPermissions[$securableItemModelIdentifer] = array();
     }
     if (MEMCACHE_ON && Yii::app()->cache !== null) {
         $prefix = self::getCachePrefix($securableItemModelIdentifer, self::$cacheType);
         Yii::app()->cache->delete($prefix . $securableItemModelIdentifer);
     }
     if (SECURITY_OPTIMIZED && DB_CACHING_ON && $forgetDbLevelCache) {
         $securableItemId = $securableItem->getClassID('SecurableItem');
         ZurmoDatabaseCompatibilityUtil::callProcedureWithoutOuts("clear_cache_securableitem_actual_permissions({$securableItemId})");
     }
 }
 public static function getAccountMungeRows(SecurableItem $securableItem = null)
 {
     if ($securableItem === null) {
         $rows = ZurmoRedBean::getAll('select   name, munge_id, count
                                from     account_read, ownedsecurableitem, account
                                where    account_read.securableitem_id = ownedsecurableitem.securableitem_id and
                                         ownedsecurableitem.id         = account.ownedsecurableitem_id
                                order by name, munge_id, account_read.securableitem_id, count');
     } else {
         $securableItemId = $securableItem->getClassId('SecurableItem');
         $rows = ZurmoRedBean::getAll("select   munge_id, count\n                                   from     account_read\n                                   where    securableitem_id = {$securableItemId}\n                                   order by munge_id, count");
     }
     $rowsWithValues = array();
     foreach ($rows as $row) {
         $row = array_values($row);
         array_walk($row, array('self', 'stripFullStops'));
         $rowsWithValues[] = $row;
     }
     return $rowsWithValues;
 }
 public static function forgetSecurableItem(SecurableItem $securableItem, $forgetDbLevelCache = true)
 {
     if ($securableItem->getClassId('SecurableItem') == 0) {
         return;
     }
     $securableItemModelIdentifer = $securableItem->getModelIdentifier();
     if (static::supportsAndAllowsPhpCaching()) {
         static::$securableItemToPermitableToCombinedPermissions[$securableItemModelIdentifer] = array();
     }
     if (static::supportsAndAllowsMemcache()) {
         $prefix = static::getCachePrefix($securableItemModelIdentifer);
         Yii::app()->cache->delete($prefix . $securableItemModelIdentifer);
     }
     if (SECURITY_OPTIMIZED && static::supportsAndAllowsDatabaseCaching() && $forgetDbLevelCache) {
         $securableItemId = $securableItem->getClassID('SecurableItem');
         ZurmoDatabaseCompatibilityUtil::callProcedureWithoutOuts("clear_cache_securableitem_actual_permissions({$securableItemId})");
     }
 }