Пример #1
0
 /**
  * Добавляет блог
  *
  * @param ModuleBlog_EntityBlog $oBlog	Блог
  * @return ModuleBlog_EntityBlog|bool
  */
 public function AddBlog(ModuleBlog_EntityBlog $oBlog)
 {
     if ($sId = $this->oMapperBlog->AddBlog($oBlog)) {
         $oBlog->setId($sId);
         //чистим зависимые кеши
         $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array('blog_new'));
         return $oBlog;
     }
     return false;
 }
Пример #2
0
 /**
  * Добавляет блог
  *
  * @param ModuleBlog_EntityBlog $oBlog    Блог
  *
  * @return ModuleBlog_EntityBlog|bool
  */
 public function AddBlog(ModuleBlog_EntityBlog $oBlog)
 {
     if ($sId = $this->oMapper->AddBlog($oBlog)) {
         $oBlog->setId($sId);
         //чистим зависимые кеши
         E::ModuleCache()->CleanByTags(array('blog_new'));
         // 1. Удалить значение target_tmp
         // Нужно затереть временный ключ в ресурсах, что бы в дальнейшем картнка не
         // воспринималась как временная.
         if ($sTargetTmp = E::ModuleSession()->GetCookie(ModuleUploader::COOKIE_TARGET_TMP)) {
             // 2. Удалить куку.
             // Если прозошло сохранение вновь созданного топика, то нужно
             // удалить куку временной картинки. Если же сохранялся уже существующий топик,
             // то удаление куки ни на что влиять не будет.
             E::ModuleSession()->DelCookie(ModuleUploader::COOKIE_TARGET_TMP);
             // 3. Переместить фото
             $sTargetType = 'blog_avatar';
             $sTargetId = $sId;
             $aMresourceRel = E::ModuleMresource()->GetMresourcesRelByTargetAndUser($sTargetType, 0, E::UserId());
             if ($aMresourceRel) {
                 $oResource = array_shift($aMresourceRel);
                 $sOldPath = $oResource->GetFile();
                 //$oStoredFile = E::ModuleUploader()->Store($sOldPath, $sNewPath);
                 $oStoredFile = E::ModuleUploader()->StoreImage($sOldPath, $sTargetType, $sTargetId);
                 /** @var ModuleMresource_EntityMresource $oResource */
                 $oResource = E::ModuleMresource()->GetMresourcesByUuid($oStoredFile->getUuid());
                 if ($oResource) {
                     $oResource->setUrl(E::ModuleMresource()->NormalizeUrl(E::ModuleUploader()->GetTargetUrl($sTargetType, $sTargetId)));
                     $oResource->setType($sTargetType);
                     $oResource->setUserId(E::UserId());
                     $oResource = array($oResource);
                     E::ModuleMresource()->UnlinkFile($sTargetType, 0, E::UserId());
                     E::ModuleMresource()->AddTargetRel($oResource, $sTargetType, $sTargetId);
                     // 4. Обновим сведения об аватаре у блога для обеспечения обратной
                     // совместимости. Могут быть плагины которые берут картинку непосредственно
                     // из свойства блога, а не через модуль uploader
                     $oBlog->setAvatar($oBlog->getAvatar());
                     $this->UpdateBlog($oBlog);
                 }
             }
         }
         return $oBlog;
     }
     return false;
 }