예제 #1
0
 /**
  * Сохраняет теги для избранного
  *
  */
 protected function EventFavouriteSaveTags()
 {
     // * Пользователь авторизован?
     if (!$this->oUserCurrent) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('need_authorization'), E::ModuleLang()->Get('error'));
         return;
     }
     // * Объект уже должен быть в избранном
     if ($oFavourite = E::ModuleFavourite()->GetFavourite(F::GetRequestStr('target_id'), F::GetRequestStr('target_type'), $this->oUserCurrent->getId())) {
         // * Обрабатываем теги
         $aTags = explode(',', trim(F::GetRequestStr('tags'), "\r\n\t\v ."));
         $aTagsNew = array();
         $aTagsNewLow = array();
         $aTagsReturn = array();
         foreach ($aTags as $sTag) {
             $sTag = trim($sTag);
             if (F::CheckVal($sTag, 'text', 2, 50) && !in_array(mb_strtolower($sTag, 'UTF-8'), $aTagsNewLow)) {
                 $sTagEsc = htmlspecialchars($sTag);
                 $aTagsNew[] = $sTagEsc;
                 $aTagsReturn[] = array('tag' => $sTagEsc, 'url' => $this->oUserCurrent->getUserWebPath() . 'favourites/' . $oFavourite->getTargetType() . 's/tag/' . $sTagEsc . '/');
                 $aTagsNewLow[] = mb_strtolower($sTag, 'UTF-8');
             }
         }
         if (!count($aTagsNew)) {
             $oFavourite->setTags('');
         } else {
             $oFavourite->setTags(join(',', $aTagsNew));
         }
         E::ModuleViewer()->AssignAjax('aTags', $aTagsReturn);
         E::ModuleFavourite()->UpdateFavourite($oFavourite);
         return;
     }
     E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
 }
예제 #2
0
 /**
  * Сохраняет теги для избранного
  *
  */
 protected function EventFavouriteSaveTags()
 {
     /**
      * Пользователь авторизован?
      */
     if (!$this->oUserCurrent) {
         $this->Message_AddErrorSingle($this->Lang_Get('need_authorization'), $this->Lang_Get('error'));
         return;
     }
     /**
      * Объект уже должен быть в избранном
      */
     if ($oFavourite = $this->Favourite_GetFavourite(getRequestStr('target_id'), getRequestStr('target_type'), $this->oUserCurrent->getId())) {
         /**
          * Обрабатываем теги
          */
         $aTags = explode(',', trim(getRequestStr('tags'), "\r\n\t\v ."));
         $aTagsNew = array();
         $aTagsNewLow = array();
         $aTagsReturn = array();
         foreach ($aTags as $sTag) {
             $sTag = trim($sTag);
             if (func_check($sTag, 'text', 2, 50) and !in_array(mb_strtolower($sTag, 'UTF-8'), $aTagsNewLow)) {
                 $sTagEsc = htmlspecialchars($sTag);
                 $aTagsNew[] = $sTagEsc;
                 $aTagsReturn[] = array('tag' => $sTagEsc, 'url' => $this->oUserCurrent->getUserWebPath() . 'favourites/' . $oFavourite->getTargetType() . 's/tag/' . $sTagEsc . '/');
                 $aTagsNewLow[] = mb_strtolower($sTag, 'UTF-8');
             }
         }
         if (!count($aTagsNew)) {
             $oFavourite->setTags('');
         } else {
             $oFavourite->setTags(join(',', $aTagsNew));
         }
         $this->Viewer_AssignAjax('aTags', $aTagsReturn);
         $this->Favourite_UpdateFavourite($oFavourite);
         return;
     }
     $this->Message_AddErrorSingle($this->Lang_Get('system_error'), $this->Lang_Get('error'));
 }
예제 #3
0
 /**
  * Выводит список комментариев которые написал юзер
  * Перенаправляет на профиль пользователя
  *
  */
 protected function EventComments()
 {
     /**
      * Получаем логин из УРЛа
      */
     $sUserLogin = $this->sCurrentEvent;
     /**
      * Проверяем есть ли такой юзер
      */
     if (!($this->oUserProfile = E::ModuleUser()->GetUserByLogin($sUserLogin))) {
         return parent::EventNotFound();
     }
     /**
      * Передан ли номер страницы
      */
     $iPage = $this->GetParamEventMatch(1, 2) ? $this->GetParamEventMatch(1, 2) : 1;
     /**
      * Выполняем редирект на новый URL, в новых версиях LS экшен "my" будет удален
      */
     $sPage = $iPage == 1 ? '' : "page{$iPage}/";
     R::Location($this->oUserProfile->getUserWebPath() . 'created/comments/' . $sPage);
 }
 /**
  * Список созданных заметок
  */
 public function EventCreatedNotes()
 {
     if (!$this->CheckUserProfile()) {
         return parent::EventNotFound();
     }
     $this->sMenuSubItemSelect = 'notes';
     $this->sMenuProfileItemSelect = 'created';
     /**
      * Заметки может читать только сам пользователь
      */
     if (!$this->oUserCurrent or $this->oUserCurrent->getId() != $this->oUserProfile->getId()) {
         return parent::EventNotFound();
     }
     /**
      * Передан ли номер страницы
      */
     $iPage = $this->GetParamEventMatch(2, 2) ? $this->GetParamEventMatch(2, 2) : 1;
     /**
      * Получаем список заметок
      */
     $aResult = $this->User_GetUsersByNoteAndUserId($this->oUserProfile->getId(), $iPage, Config::Get('module.user.usernote_per_page'));
     $aNotes = $aResult['collection'];
     /**
      * Формируем постраничность
      */
     $aPaging = $this->Viewer_MakePaging($aResult['count'], $iPage, Config::Get('module.user.usernote_per_page'), Config::Get('pagination.pages.count'), $this->oUserProfile->getUserWebPath() . 'created/notes');
     /**
      * Загружаем переменные в шаблон
      */
     $this->Viewer_Assign('paging', $aPaging);
     $this->Viewer_Assign('notesUsers', $aNotes);
     $this->Viewer_AddHtmlTitle($this->Lang_Get('user.publications.title') . ' ' . $this->oUserProfile->getLogin());
     $this->Viewer_AddHtmlTitle($this->Lang_Get('user.publications.nav.notes'));
     /**
      * Устанавливаем шаблон вывода
      */
     $this->SetTemplateAction('created.notes');
 }