Пример #1
0
 /**
  * Stores the specified data in the storage backend.
  *
  * @param Ingo_Storage_Rule|Ingo_Storage_Filters $ob  The object to store.
  */
 protected function _store($ob)
 {
     $prefs = $GLOBALS['injector']->getInstance('Horde_Core_Factory_Prefs')->create('ingo', array('cache' => false, 'user' => Ingo::getUser()));
     switch ($ob->obType()) {
         case self::ACTION_BLACKLIST:
             $data = array('a' => $ob->getBlacklist(), 'f' => $ob->getBlacklistFolder());
             $prefs->setValue('blacklist', serialize($data));
             break;
         case self::ACTION_FILTERS:
             $prefs->setValue('rules', serialize($ob->getFilterList()));
             break;
         case self::ACTION_FORWARD:
             $data = array('a' => $ob->getForwardAddresses(), 'k' => $ob->getForwardKeep());
             $prefs->setValue('forward', serialize($data));
             break;
         case self::ACTION_VACATION:
             $data = array('addresses' => $ob->getVacationAddresses(), 'days' => $ob->getVacationDays(), 'excludes' => $ob->getVacationExcludes(), 'ignorelist' => $ob->getVacationIgnorelist(), 'reason' => $ob->getVacationReason(), 'subject' => $ob->getVacationSubject(), 'start' => $ob->getVacationStart(), 'end' => $ob->getVacationEnd());
             $prefs->setValue('vacation', serialize($data));
             break;
         case self::ACTION_WHITELIST:
             $prefs->setValue('whitelist', serialize($ob->getWhitelist()));
             break;
         case self::ACTION_SPAM:
             $data = array('folder' => $ob->getSpamFolder(), 'level' => $ob->getSpamLevel());
             $prefs->setValue('spam', serialize($data));
             break;
     }
 }