本文整理汇总了PHP中E::ModuleFavourite方法的典型用法代码示例。如果您正苦于以下问题:PHP E::ModuleFavourite方法的具体用法?PHP E::ModuleFavourite怎么用?PHP E::ModuleFavourite使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类E
的用法示例。
在下文中一共展示了E::ModuleFavourite方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Exec
/**
* Запуск обработки
*/
public function Exec()
{
// * Пользователь авторизован?
if ($oUserCurrent = E::ModuleUser()->GetUserCurrent()) {
if (!($oUser = $this->getParam('user'))) {
$oUser = $oUserCurrent;
}
// * Получаем список тегов
$aTags = E::ModuleFavourite()->GetGroupTags($oUser->getId(), 'topic', false, 70);
// * Расчитываем логарифмическое облако тегов
E::ModuleTools()->MakeCloud($aTags);
// * Устанавливаем шаблон вывода
E::ModuleViewer()->Assign('aFavouriteTopicTags', $aTags);
// * Получаем список тегов пользователя
$aTags = E::ModuleFavourite()->GetGroupTags($oUser->getId(), 'topic', true, 70);
// * Расчитываем логарифмическое облако тегов
E::ModuleTools()->MakeCloud($aTags);
// * Устанавливаем шаблон вывода
E::ModuleViewer()->Assign('aFavouriteTopicUserTags', $aTags);
E::ModuleViewer()->Assign('oFavouriteUser', $oUser);
}
}
示例2: DeleteFavouriteTopicByArrayId
/**
* Удаляет топики из избранного по списку
*
* @param array $aTopicsId Список ID топиков
*
* @return bool
*/
public function DeleteFavouriteTopicByArrayId($aTopicsId)
{
return E::ModuleFavourite()->DeleteFavouriteByTargetId($aTopicsId, 'topic');
}
示例3: BuildFilter
/**
* Формирует из REQUEST массива фильтр для отбора писем
*
* @return array
*/
protected function BuildFilter()
{
// * Текущий пользователь
$aFilter = array('user_id' => $this->oUserCurrent->getId());
// * Дата старта поиска
if ($start = F::GetRequestStr('start')) {
if (F::CheckVal($start, 'text', 6, 10) && substr_count($start, '.') == 2) {
list($d, $m, $y) = explode('.', $start);
if (@checkdate($m, $d, $y)) {
$aFilter['date_min'] = "{$y}-{$m}-{$d}";
} else {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('talk_filter_error_date_format'), E::ModuleLang()->Get('talk_filter_error'));
unset($_REQUEST['start']);
}
} else {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('talk_filter_error_date_format'), E::ModuleLang()->Get('talk_filter_error'));
unset($_REQUEST['start']);
}
}
// * Дата окончания поиска
if ($end = F::GetRequestStr('end')) {
if (F::CheckVal($end, 'text', 6, 10) && substr_count($end, '.') == 2) {
list($d, $m, $y) = explode('.', $end);
if (@checkdate($m, $d, $y)) {
$aFilter['date_max'] = "{$y}-{$m}-{$d} 23:59:59";
} else {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('talk_filter_error_date_format'), E::ModuleLang()->Get('talk_filter_error'));
unset($_REQUEST['end']);
}
} else {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('talk_filter_error_date_format'), E::ModuleLang()->Get('talk_filter_error'));
unset($_REQUEST['end']);
}
}
// * Ключевые слова в теме сообщения
if (($sKeyRequest = F::GetRequest('keyword')) && is_string($sKeyRequest)) {
$sKeyRequest = urldecode($sKeyRequest);
preg_match_all('~(\\S+)~u', $sKeyRequest, $aWords);
if (is_array($aWords[1]) && isset($aWords[1]) && count($aWords[1])) {
$aFilter['keyword'] = '%' . implode('%', $aWords[1]) . '%';
} else {
unset($_REQUEST['keyword']);
}
}
// * Ключевые слова в тексте сообщения
if (($sKeyRequest = F::GetRequest('keyword_text')) && is_string($sKeyRequest)) {
$sKeyRequest = urldecode($sKeyRequest);
preg_match_all('~(\\S+)~u', $sKeyRequest, $aWords);
if (is_array($aWords[1]) && isset($aWords[1]) && count($aWords[1])) {
$aFilter['text_like'] = '%' . implode('%', $aWords[1]) . '%';
} else {
unset($_REQUEST['keyword_text']);
}
}
// * Отправитель
if (($sSender = F::GetRequest('sender')) && is_string($sSender)) {
$aFilter['user_login'] = F::Array_Str2Array(urldecode($sSender), ',', true);
}
// * Адресат
if (($sAddressee = F::GetRequest('addressee')) && is_string($sAddressee)) {
$aFilter['user_login'] = F::Array_Str2Array(urldecode($sAddressee), ',', true);
}
// * Искать только в избранных письмах
if (F::GetRequest('favourite')) {
$aTalkIdResult = E::ModuleFavourite()->GetFavouritesByUserId($this->oUserCurrent->getId(), 'talk', 1, 500);
// ограничиваем
$aFilter['id'] = $aTalkIdResult['collection'];
$_REQUEST['favourite'] = 1;
} else {
unset($_REQUEST['favourite']);
}
return $aFilter;
}
示例4: DeleteFavouriteTalk
/**
* Удаляет письмо из избранного
*
* @param ModuleFavourite_EntityFavourite $oFavourite Объект избранного
*
* @return bool
*/
public function DeleteFavouriteTalk(ModuleFavourite_EntityFavourite $oFavourite)
{
return $oFavourite->getTargetType() == 'talk' ? E::ModuleFavourite()->DeleteFavourite($oFavourite) : false;
}
示例5: EventFavouriteSaveTags
/**
* Сохраняет теги для избранного
*
*/
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'));
}
示例6: DeleteFavouriteCommentsByArrayId
/**
* Удаляет комментарии из избранного по списку
*
* @param array $aCommentsId Список ID комментариев
*
* @return bool
*/
public function DeleteFavouriteCommentsByArrayId($aCommentsId)
{
return E::ModuleFavourite()->DeleteFavouriteByTargetId($aCommentsId, 'comment');
}
示例7: EventFavouriteTopicsTag
/**
* Список топиков из избранного по тегу
*/
protected function EventFavouriteTopicsTag()
{
if (!$this->CheckUserProfile()) {
return parent::EventNotFound();
}
// * Пользователь авторизован и просматривает свой профиль?
if (!$this->oUserCurrent || $this->oUserProfile->getId() != $this->oUserCurrent->getId()) {
return parent::EventNotFound();
}
$this->sMenuSubItemSelect = 'topics';
$sTag = F::UrlDecode($this->GetParamEventMatch(3, 0), true);
// * Передан ли номер страницы
$iPage = $this->GetParamEventMatch(4, 2) ? $this->GetParamEventMatch(4, 2) : 1;
// * Получаем список избранных топиков
$aResult = E::ModuleFavourite()->GetTags(array('target_type' => 'topic', 'user_id' => $this->oUserProfile->getId(), 'text' => $sTag), array('target_id' => 'desc'), $iPage, Config::Get('module.topic.per_page'));
$aTopicId = array();
foreach ($aResult['collection'] as $oTag) {
$aTopicId[] = $oTag->getTargetId();
}
$aTopics = E::ModuleTopic()->GetTopicsAdditionalData($aTopicId);
// * Формируем постраничность
$aPaging = E::ModuleViewer()->MakePaging($aResult['count'], $iPage, Config::Get('module.topic.per_page'), Config::Get('pagination.pages.count'), $this->oUserProfile->getUserUrl() . 'favourites/topics/tag/' . htmlspecialchars($sTag));
// * Загружаем переменные в шаблон
E::ModuleViewer()->Assign('aPaging', $aPaging);
E::ModuleViewer()->Assign('aTopics', $aTopics);
E::ModuleViewer()->Assign('sFavouriteTag', htmlspecialchars($sTag));
E::ModuleViewer()->AddHtmlTitle(E::ModuleLang()->Get('user_menu_profile') . ' ' . $this->oUserProfile->getLogin());
E::ModuleViewer()->AddHtmlTitle(E::ModuleLang()->Get('user_menu_profile_favourites'));
// * Устанавливаем шаблон вывода
$this->SetTemplateAction('favourite_topics');
}