Example #1
0
File: App.php Project: Hildy/cerb5
 public static function deleteByBucketIds($ids)
 {
     if (!is_array($ids)) {
         $ids = array($ids);
     }
     // [TODO] use cache
     $filters = self::getWhere();
     foreach ($filters as $filter_id => $filter) {
         if (!isset($filter->criteria['groups']['groups'])) {
             continue;
         }
         // If we're using the bucket being nuked...
         $changed = false;
         foreach ($filter->criteria['groups']['groups'] as $group_id => $buckets) {
             foreach ($ids as $bucket_id) {
                 if (false !== ($pos = array_search($bucket_id, $buckets))) {
                     unset($filter->criteria['groups']['groups'][$group_id][$pos]);
                     $changed = true;
                 }
             }
         }
         if ($changed) {
             $fields = array(DAO_WatcherMailFilter::CRITERIA_SER => serialize($filter->criteria));
             DAO_WatcherMailFilter::update($filter->id, $fields);
         }
     }
     // [TODO] invalidate cache
 }