/** * Удалить изображение * * @param ModuleTopic_EntityTopicPhoto $oPhoto - Объект фото */ public function DeleteTopicPhoto($oPhoto) { $this->oMapper->deleteTopicPhoto($oPhoto->getId()); $sFile = E::ModuleUploader()->Url2Dir($oPhoto->getPath()); E::ModuleImg()->Delete($sFile); E::ModuleCache()->CleanByTags(array('photoset_photo_update')); }
/** * Обновить данные по изображению * * @param ModuleTopic_EntityTopicPhoto $oPhoto Объект фото * * @return bool */ public function updateTopicPhoto($oPhoto) { if (!$oPhoto->getTopicId() && !$oPhoto->getTargetTmp()) { return false; } if ($oPhoto->getTopicId()) { $oPhoto->setTargetTmp = null; } $sql = 'UPDATE ?_topic_photo SET path = ?, description = ?, topic_id = ?d, target_tmp=? WHERE id = ?d'; $bResult = $this->oDb->query($sql, $oPhoto->getPath(), $oPhoto->getDescription(), $oPhoto->getTopicId(), $oPhoto->getTargetTmp(), $oPhoto->getId()); return $bResult !== false; }
/** * Удалить изображение * * @param ModuleTopic_EntityTopicPhoto $oPhoto Объект фото */ public function deleteTopicPhoto($oPhoto) { $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array("photoset_photo_update")); $this->oMapperTopic->deleteTopicPhoto($oPhoto->getId()); $this->Image_RemoveFile($this->Image_GetServerPath($oPhoto->getWebPath())); $aSizes = Config::Get('module.topic.photoset.size'); // Удаляем все сгенерированные миниатюры основываясь на данных из конфига. foreach ($aSizes as $aSize) { $sSize = $aSize['w']; if ($aSize['crop']) { $sSize .= 'crop'; } $this->Image_RemoveFile($this->Image_GetServerPath($oPhoto->getWebPath($sSize))); } }
/** * Обновить данные по изображению * * @param ModuleTopic_EntityTopicPhoto $oPhoto Объект фото */ public function updateTopicPhoto($oPhoto) { if (!$oPhoto->getTopicId() && !$oPhoto->getTargetTmp()) { return false; } if ($oPhoto->getTopicId()) { $oPhoto->setTargetTmp = null; } $sql = 'UPDATE ' . Config::Get('db.table.topic_photo') . ' SET path = ?, description = ?, topic_id = ?d, target_tmp=? WHERE id = ?d'; $this->oDb->query($sql, $oPhoto->getPath(), $oPhoto->getDescription(), $oPhoto->getTopicId(), $oPhoto->getTargetTmp(), $oPhoto->getId()); }