/**
  * Обновляет блог в БД
  *
  * @param ModuleBlog_EntityBlog $oBlog	Объект блога
  * @return bool
  */
 public function UpdateBlog(ModuleBlog_EntityBlog $oBlog)
 {
     $sql = "UPDATE " . Config::Get('db.table.blog') . " \n\t\t\tSET \n\t\t\t\tblog_title= ?,\n\t\t\t\tblog_description= ?,\n\t\t\t\tblog_type= ?,\n\t\t\t\tblog_date_edit= ?,\n\t\t\t\tblog_rating= ?f,\n\t\t\t\tblog_count_vote = ?d,\n\t\t\t\tblog_count_user= ?d,\n\t\t\t\tblog_count_topic= ?d,\n\t\t\t\tblog_limit_rating_topic= ?f ,\n\t\t\t\tblog_url= ?,\n\t\t\t\tblog_avatar= ?\n\t\t\tWHERE\n\t\t\t\tblog_id = ?d\n\t\t";
     if ($this->oDb->query($sql, $oBlog->getTitle(), $oBlog->getDescription(), $oBlog->getType(), $oBlog->getDateEdit(), $oBlog->getRating(), $oBlog->getCountVote(), $oBlog->getCountUser(), $oBlog->getCountTopic(), $oBlog->getLimitRatingTopic(), $oBlog->getUrl(), $oBlog->getAvatar(), $oBlog->getId())) {
         return true;
     }
     return false;
 }
Esempio n. 2
0
 /**
  * Выполняет отправку приглашения в блог 
  * (по внутренней почте и на email)
  *
  * @param ModuleBlog_EntityBlog $oBlog
  * @param ModuleUser_EntityUser $oUser
  */
 protected function SendBlogInvite($oBlog, $oUser)
 {
     $sTitle = $this->Lang_Get('blog_user_invite_title', array('blog_title' => $oBlog->getTitle()));
     require_once Config::Get('path.root.engine') . '/lib/external/XXTEA/encrypt.php';
     $sCode = $oBlog->getId() . '_' . $oUser->getId();
     $sCode = rawurlencode(base64_encode(xxtea_encrypt($sCode, Config::Get('module.blog.encrypt'))));
     $aPath = array('accept' => Router::GetPath('blog') . 'invite/accept/?code=' . $sCode, 'reject' => Router::GetPath('blog') . 'invite/reject/?code=' . $sCode);
     $sText = $this->Lang_Get('blog_user_invite_text', array('login' => $this->oUserCurrent->getLogin(), 'accept_path' => $aPath['accept'], 'reject_path' => $aPath['reject'], 'blog_title' => $oBlog->getTitle()));
     $oTalk = $this->Talk_SendTalk($sTitle, $sText, $this->oUserCurrent, array($oUser), false, false);
     /**
      * Отправляем пользователю заявку
      */
     $this->Notify_SendBlogUserInvite($oUser, $this->oUserCurrent, $oBlog, Router::GetPath('talk') . 'read/' . $oTalk->getId() . '/');
     /**
      * Удаляем отправляющего юзера из переписки
      */
     $this->Talk_DeleteTalkUserByArray($oTalk->getId(), $this->oUserCurrent->getId());
 }
Esempio n. 3
0
 /**
  * Отправляет юзеру уведомление о новом топике в блоге, в котором он состоит
  *
  * @param ModuleUser_EntityUser $oUserTo Объект пользователя кому отправляем
  * @param ModuleTopic_EntityTopic $oTopic Объект топика
  * @param ModuleBlog_EntityBlog $oBlog Объект блога
  * @param ModuleUser_EntityUser $oUserTopic Объект пользователя, написавшего топик
  * @return bool
  */
 public function SendNotifyTopicNewToSubscribeBlog(ModuleUser_EntityUser $oUserTo, ModuleTopic_EntityTopic $oTopic, ModuleBlog_EntityBlog $oBlog, ModuleUser_EntityUser $oUserTopic)
 {
     /**
      * Проверяем можно ли юзеру рассылать уведомление
      */
     if (!$oUserTo->getSettingsNoticeNewTopic()) {
         return false;
     }
     $this->Notify_Send($oUserTo, 'topic_new.tpl', $this->Lang_Get('emails.topic_new.subject') . ' «' . htmlspecialchars($oBlog->getTitle()) . '»', array('oUserTo' => $oUserTo, 'oTopic' => $oTopic, 'oBlog' => $oBlog, 'oUserTopic' => $oUserTopic));
     return true;
 }
Esempio n. 4
0
 /**
  * Выполняет отправку приглашения в блог
  * (по внутренней почте и на email)
  *
  * @param ModuleBlog_EntityBlog $oBlog
  * @param ModuleUser_EntityUser $oUser
  */
 protected function SendBlogInvite($oBlog, $oUser)
 {
     $sTitle = E::ModuleLang()->Get('blog_user_invite_title', array('blog_title' => $oBlog->getTitle()));
     F::IncludeLib('XXTEA/encrypt.php');
     //  Формируем код подтверждения в URL
     $sCode = $oBlog->getId() . '_' . $oUser->getId();
     $sCode = rawurlencode(base64_encode(xxtea_encrypt($sCode, Config::Get('module.blog.encrypt'))));
     $aPath = array('accept' => R::GetPath('blog') . 'invite/accept/?code=' . $sCode, 'reject' => R::GetPath('blog') . 'invite/reject/?code=' . $sCode);
     // Сформируем название типа блога на языке приложения.
     // Это может быть либо название, либо текстовка.
     $sBlogType = mb_strtolower(preg_match('~^\\{\\{(.*)\\}\\}$~', $sBlogType = $oBlog->getBlogType()->getTypeName(), $aMatches) ? E::ModuleLang()->Get($aMatches[1]) : $sBlogType, 'UTF-8');
     $sText = E::ModuleLang()->Get('blog_user_invite_text', array('login' => $this->oUserCurrent->getLogin(), 'accept_path' => $aPath['accept'], 'reject_path' => $aPath['reject'], 'blog_title' => $oBlog->getTitle(), 'blog_type' => $sBlogType));
     $oTalk = E::ModuleTalk()->SendTalk($sTitle, $sText, $this->oUserCurrent, array($oUser), false, false);
     //  Отправляем пользователю заявку
     E::ModuleNotify()->SendBlogUserInvite($oUser, $this->oUserCurrent, $oBlog, R::GetPath('talk') . 'read/' . $oTalk->getId() . '/');
     //  Удаляем отправляющего юзера из переписки
     E::ModuleTalk()->DeleteTalkUserByArray($oTalk->getId(), $this->oUserCurrent->getId());
 }
Esempio n. 5
0
 /**
  * Обновляет блог в БД
  *
  * @param ModuleBlog_EntityBlog $oBlog    Объект блога
  *
  * @return bool
  */
 public function UpdateBlog($oBlog)
 {
     $sql = "\n            UPDATE ?_blog\n            SET\n                blog_title = ?,\n                blog_description = ?,\n                blog_type = ?,\n                blog_date_edit = ?,\n                blog_rating = ?f,\n                blog_count_vote = ?d,\n                blog_count_user = ?d,\n                blog_count_topic = ?d,\n                blog_limit_rating_topic = ?f ,\n                blog_url = ?,\n                blog_avatar = ?\n            WHERE\n                blog_id = ?d\n        ";
     $bResult = $this->oDb->query($sql, $oBlog->getTitle(), $oBlog->getDescription(), $oBlog->getType(), $oBlog->getDateEdit(), $oBlog->getRating(), $oBlog->getCountVote(), $oBlog->getCountUser(), $oBlog->getCountTopic(), $oBlog->getLimitRatingTopic(), $oBlog->getUrl(), $oBlog->getAvatar(), $oBlog->getId());
     return $bResult !== false;
 }
 /**
  * Обновляет блог в БД
  *
  * @param ModuleBlog_EntityBlog $oBlog Объект блога
  * @return bool
  */
 public function UpdateBlog(ModuleBlog_EntityBlog $oBlog)
 {
     $sql = "UPDATE " . Config::Get('db.table.blog') . "\n\t\t\tSET \n\t\t\t\tblog_title= ?,\n\t\t\t\tblog_description= ?,\n\t\t\t\tblog_type= ?,\n\t\t\t\tblog_date_edit= ?,\n\t\t\t\tblog_count_vote = ?d,\n\t\t\t\tblog_count_user= ?d,\n\t\t\t\tblog_count_topic= ?d,\n\t\t\t\tblog_limit_rating_topic= ?f ,\n\t\t\t\tblog_url= ?,\n\t\t\t\tblog_skip_index= ?d,\n\t\t\t\tblog_avatar= ?\n\t\t\tWHERE\n\t\t\t\tblog_id = ?d\n\t\t";
     $res = $this->oDb->query($sql, $oBlog->getTitle(), $oBlog->getDescription(), $oBlog->getType(), $oBlog->getDateEdit(), $oBlog->getCountVote(), $oBlog->getCountUser(), $oBlog->getCountTopic(), $oBlog->getLimitRatingTopic(), $oBlog->getUrl(), $oBlog->getSkipIndex(), $oBlog->getAvatar(), $oBlog->getId());
     return $this->IsSuccessful($res);
 }