, Paweł Byszewski * * @package stAvailabilityPlugin * @subpackage actions */ class stAvailabilityBackendActions extends autostAvailabilityBackendActions { protected function saveConfig() { $ret = parent::saveConfig(); $this->clearCache(); return $ret; } protected function saveAvailabilityImage($availability) { if ($this->getRequest()->getFileError('availability[image]') == UPLOAD_ERR_OK) { $filename = $this->getRequest()->getFileName('availability[image]'); $filepath = $this->getRequest()->getFilePath('availability[image]'); $ext = sfAssetsLibraryTools::getFileExtension($filename); $availability->createAsset($availability->getId() . '.' . $ext, $filepath); $availability->save(); } } protected function saveAvailability($availability) { if ($this->hasRequestParameter('availability[delete_image]')) { $availability->destroyAsset(); } parent::saveAvailability($availability); $this->clearCache(); $this->saveAvailabilityImage($availability); } public function validateEdit() { if ($this->getRequest()->getMethod() == sfRequest::POST && !$this->hasRequestParameter('availability[delete_image]') && $this->getRequest()->getFileError('availability[image]') != UPLOAD_ERR_NO_FILE){ $validator = new stAssetFileValidator(); $validator->initialize($this->getContext(), array('mime_types' => '@web_images')); $value = $this->getRequest()->getFileValues('availability[image]'); if (!$validator->execute($value, $error)) { $this->getRequest()->setError('availability{image}', $error); return false; } } return true; } protected function clearCache() { stFastCacheManager::clearCache(); stTheme::clearSmartyCache(true); ProductGroupPeer::cleanCache(); ProducerPeer::clearCache(); } }