public function processCacheInvalidation(Doctrine_Record $record, array $rules = null)
 {
     if (is_null($rules) || !is_array($rules) || !count($rules)) {
         return;
     }
     if (!isset($rules['uris']) || !is_array($rules['uris'])) {
         return;
     }
     foreach ($rules['uris'] as $cacheUri => $applications) {
         if (is_null($applications)) {
             $applications = sfConfig::get('sf_app');
         }
         $applications = array($applications);
         $resolver = new akDoctrineCacheUriResolver($record, $cacheUri);
         foreach ($resolver->computeUris() as $cacheUri) {
             foreach ($applications as $application) {
                 $this->purgeCacheUri($cacheUri, $application);
             }
         }
     }
 }
 public function processCacheInvalidation(Doctrine_Record $record, array $rules = null)
 {
     $model = get_class($record);
     if (is_null($rules) && array_key_exists($model, $this->configuration)) {
         $rules = $this->configuration[$model];
     }
     if (is_null($rules) || !is_array($rules) || !count($rules)) {
         return;
         // nothing to process
     }
     $cacheUris = isset($rules['uris']) ? $rules['uris'] : array();
     // Check for rules inheritance and merge cache uris when applicable
     if (isset($rules['extends']) && isset($this->configuration[$rules['extends']]) && isset($this->configuration[$rules['extends']]['uris'])) {
         $cacheUris = array_merge($cacheUris, $this->configuration[$rules['extends']]['uris']);
     }
     foreach ($cacheUris as $cacheUri => $applications) {
         if (is_null($applications)) {
             $applications = sfConfig::get('sf_app');
         }
         $applications = array($applications);
         $resolver = new akDoctrineCacheUriResolver($record, $cacheUri);
         $computedUris = $resolver->computeUris();
         foreach ($computedUris as $cacheUri) {
             foreach ($applications as $application) {
                 $this->purgeCacheUri($cacheUri, $application);
             }
         }
     }
 }