本文整理汇总了PHP中F::GetRequest方法的典型用法代码示例。如果您正苦于以下问题:PHP F::GetRequest方法的具体用法?PHP F::GetRequest怎么用?PHP F::GetRequest使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类F
的用法示例。
在下文中一共展示了F::GetRequest方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _getImageSize
/**
* Получение размеров изображения после ресайза
*
* @param string $sParam
*
* @return array
*/
protected function _getImageSize($sParam)
{
if ($aSize = F::GetRequest($sParam)) {
if (isset($aSize['x']) && is_numeric($aSize['x']) && isset($aSize['y']) && is_numeric($aSize['y']) && isset($aSize['x2']) && is_numeric($aSize['x2']) && isset($aSize['y2']) && is_numeric($aSize['y2'])) {
foreach ($aSize as $sKey => $sVal) {
$aSize[$sKey] = intval($sVal);
}
if ($aSize['x'] < $aSize['x2']) {
$aSize['x1'] = $aSize['x'];
} else {
$aSize['x1'] = $aSize['x2'];
$aSize['x2'] = $aSize['x'];
}
$aSize['w'] = $aSize['x2'] - $aSize['x1'];
unset($aSize['x']);
if ($aSize['y'] < $aSize['y2']) {
$aSize['y1'] = $aSize['y'];
} else {
$aSize['y1'] = $aSize['y2'];
$aSize['y2'] = $aSize['y'];
}
$aSize['h'] = $aSize['y2'] - $aSize['y1'];
unset($aSize['y']);
return $aSize;
}
}
return array();
}
示例2: EventAjaxValidateFields
/**
* Ajax валидация формы регистрации
*/
protected function EventAjaxValidateFields()
{
// * Устанавливаем формат Ajax ответа
E::ModuleViewer()->SetResponseAjax('json');
// * Создаем объект пользователя и устанавливаем сценарий валидации
/** @var ModuleUser_EntityUser $oUser */
$oUser = E::GetEntity('ModuleUser_EntityUser');
$oUser->_setValidateScenario('registration');
// Пробегаем по переданным полям/значениям и валидируем их каждое в отдельности
$aFields = F::GetRequest('fields');
if (is_array($aFields)) {
foreach ($aFields as $aField) {
if (isset($aField['field']) && isset($aField['value'])) {
E::ModuleHook()->Run('registration_validate_field', array('aField' => &$aField, 'oUser' => &$oUser));
$sField = $aField['field'];
$sValue = $aField['value'];
// Список полей для валидации
switch ($sField) {
case 'login':
$oUser->setLogin($sValue);
break;
case 'mail':
$oUser->setMail($sValue);
break;
case 'captcha':
$oUser->setCaptcha($sValue);
break;
case 'password':
$oUser->setPassword($sValue);
if (isset($aField['params']['login'])) {
$oUser->setLogin($aField['params']['login']);
}
break;
case 'password_confirm':
$oUser->setPasswordConfirm($sValue);
$oUser->setPassword(isset($aField['params']['password']) ? $aField['params']['password'] : null);
break;
default:
continue;
break;
}
// Валидируем поле
$oUser->_Validate(array($sField), false);
}
}
}
// Возникли ошибки?
if ($oUser->_hasValidateErrors()) {
// Получаем ошибки
E::ModuleViewer()->AssignAjax('aErrors', $oUser->_getValidateErrors());
}
}
示例3: CheckSeopackFields
/**
* @return bool
*/
protected function CheckSeopackFields()
{
E::ModuleSecurity()->ValidateSendForm();
$bOk = true;
if (F::isPost('title') && !F::CheckVal(F::GetRequest('title', null, 'post'), 'text', 0, 1000)) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('plugin.seopack.title_error'), E::ModuleLang()->Get('error'));
$bOk = false;
}
if (F::isPost('description') && !F::CheckVal(F::GetRequest('description', null, 'post'), 'text', 0, 1000)) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('plugin.seopack.description_error'), E::ModuleLang()->Get('error'));
$bOk = false;
}
if (F::isPost('keywords') && !F::CheckVal(F::GetRequest('keywords', null, 'post'), 'text', 0, 1000)) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('plugin.seopack.keywords_error'), E::ModuleLang()->Get('error'));
$bOk = false;
}
if (!F::CheckVal(F::GetRequest('url', null, 'post'), 'text', 0, 255)) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('plugin.seopack.url_error'), E::ModuleLang()->Get('error'));
$bOk = false;
}
return $bOk;
}
示例4: CheckFieldsField
protected function CheckFieldsField($oContentType = null)
{
E::ModuleSecurity()->ValidateSendForm();
$bOk = true;
if (!F::CheckVal(F::GetRequest('field_name', null, 'post'), 'text', 2, 100)) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('action.admin.contenttypes_field_name_error'), E::ModuleLang()->Get('error'));
$bOk = false;
}
if (!F::CheckVal(F::GetRequest('field_description', null, 'post'), 'text', 2, 200)) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('action.admin.contenttypes_field_description_error'), E::ModuleLang()->Get('error'));
$bOk = false;
}
if (R::GetActionEvent() == 'fieldadd') {
if ($oContentType == 'photoset' && (F::GetRequest('field_type', null, 'post') == 'photoset' || $oContentType->isPhotosetEnable())) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
$bOk = false;
}
if (!in_array(F::GetRequest('field_type', null, 'post'), E::ModuleTopic()->GetAvailableFieldTypes())) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('action.admin.contenttypes_field_type_error'), E::ModuleLang()->Get('error'));
$bOk = false;
}
}
// * Выполнение хуков
E::ModuleHook()->Run('check_admin_content_fields', array('bOk' => &$bOk));
return $bOk;
}
示例5: SubmitComment
/**
* Обработка добавление комментария к письму
*
*/
protected function SubmitComment()
{
// * Проверям авторизован ли пользователь
if (!E::ModuleUser()->IsAuthorization()) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('need_authorization'), E::ModuleLang()->Get('error'));
return false;
}
// * Проверяем разговор
if (!($oTalk = E::ModuleTalk()->GetTalkById(F::GetRequestStr('cmt_target_id')))) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return false;
}
if (!($oTalkUser = E::ModuleTalk()->GetTalkUser($oTalk->getId(), $this->oUserCurrent->getId()))) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return false;
}
// * Проверяем разрешено ли отправлять инбокс по времени
if (!E::ModuleACL()->CanPostTalkCommentTime($this->oUserCurrent)) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('talk_time_limit'), E::ModuleLang()->Get('error'));
return false;
}
// * Проверяем текст комментария
$sText = E::ModuleText()->Parser(F::GetRequestStr('comment_text'));
$iMin = intval(Config::Get('module.talk.min_length'));
$iMax = intval(Config::Get('module.talk.max_length'));
if (!F::CheckVal($sText, 'text', $iMin, $iMax)) {
if ($iMax) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('talk_create_text_error_len', array('min' => $iMin, 'max' => $iMax)), E::ModuleLang()->Get('error'));
} else {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('talk_create_text_error_min', array('min' => $iMin)), E::ModuleLang()->Get('error'));
}
return false;
}
// * Проверям на какой коммент отвечаем
$sParentId = (int) F::GetRequest('reply');
if (!F::CheckVal($sParentId, 'id')) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return false;
}
$oCommentParent = null;
if ($sParentId != 0) {
// * Проверяем существует ли комментарий на который отвечаем
if (!($oCommentParent = E::ModuleComment()->GetCommentById($sParentId))) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return false;
}
// * Проверяем из одного топика ли новый коммент и тот на который отвечаем
if ($oCommentParent->getTargetId() != $oTalk->getId()) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return false;
}
} else {
// * Корневой комментарий
$sParentId = null;
}
// * Проверка на дублирующий коммент
if (E::ModuleComment()->GetCommentUnique($oTalk->getId(), 'talk', $this->oUserCurrent->getId(), $sParentId, md5($sText))) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('topic_comment_spam'), E::ModuleLang()->Get('error'));
return false;
}
// * Создаём комментарий
/** @var ModuleComment_EntityComment $oCommentNew */
$oCommentNew = E::GetEntity('Comment');
$oCommentNew->setTargetId($oTalk->getId());
$oCommentNew->setTargetType('talk');
$oCommentNew->setUserId($this->oUserCurrent->getId());
$oCommentNew->setText($sText);
$oCommentNew->setDate(F::Now());
$oCommentNew->setUserIp(F::GetUserIp());
$oCommentNew->setPid($sParentId);
$oCommentNew->setTextHash(md5($sText));
$oCommentNew->setPublish(1);
// * Добавляем коммент
E::ModuleHook()->Run('talk_comment_add_before', array('oCommentNew' => $oCommentNew, 'oCommentParent' => $oCommentParent, 'oTalk' => $oTalk));
if (E::ModuleComment()->AddComment($oCommentNew)) {
E::ModuleHook()->Run('talk_comment_add_after', array('oCommentNew' => $oCommentNew, 'oCommentParent' => $oCommentParent, 'oTalk' => $oTalk));
E::ModuleViewer()->AssignAjax('sCommentId', $oCommentNew->getId());
$oTalk->setDateLast(F::Now());
$oTalk->setUserIdLast($oCommentNew->getUserId());
$oTalk->setCommentIdLast($oCommentNew->getId());
$oTalk->setCountComment($oTalk->getCountComment() + 1);
E::ModuleTalk()->UpdateTalk($oTalk);
// * Отсылаем уведомления всем адресатам
$aUsersTalk = E::ModuleTalk()->GetUsersTalk($oTalk->getId(), ModuleTalk::TALK_USER_ACTIVE);
foreach ($aUsersTalk as $oUserTalk) {
if ($oUserTalk->getId() != $oCommentNew->getUserId()) {
E::ModuleNotify()->SendTalkCommentNew($oUserTalk, $this->oUserCurrent, $oTalk, $oCommentNew);
}
}
// * Увеличиваем число новых комментов
E::ModuleTalk()->IncreaseCountCommentNew($oTalk->getId(), $oCommentNew->getUserId());
return true;
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
}
return false;
//.........这里部分代码省略.........
示例6: EventDiscussed
/**
* Вывод обсуждаемых топиков
*/
protected function EventDiscussed()
{
$this->sTopicFilterPeriod = 1;
// по дефолту 1 день
if (in_array(F::GetRequestStr('period'), array(1, 7, 30, 'all'))) {
$this->sTopicFilterPeriod = F::GetRequestStr('period');
}
/**
* Меню
*/
$this->sTopicFilter = $this->sMenuSubItemSelect = 'discussed';
/**
* Передан ли номер страницы
*/
$iPage = $this->GetParamEventMatch(0, 2) ? $this->GetParamEventMatch(0, 2) : 1;
if ($iPage == 1 && !F::GetRequest('period')) {
E::ModuleViewer()->SetHtmlCanonical(R::GetPath('index') . 'discussed/');
}
/**
* Получаем список топиков
*/
$aResult = E::ModuleTopic()->GetTopicsDiscussed($iPage, Config::Get('module.topic.per_page'), $this->sTopicFilterPeriod == 'all' ? null : $this->sTopicFilterPeriod * 60 * 60 * 24);
/**
* Если нет топиков за 1 день, то показываем за неделю (7)
*/
if (!$aResult['count'] && $iPage == 1 && !F::GetRequest('period')) {
$this->sTopicFilterPeriod = 7;
$aResult = E::ModuleTopic()->GetTopicsDiscussed($iPage, Config::Get('module.topic.per_page'), $this->sTopicFilterPeriod == 'all' ? null : $this->sTopicFilterPeriod * 60 * 60 * 24);
}
$aTopics = $aResult['collection'];
/**
* Вызов хуков
*/
E::ModuleHook()->Run('topics_list_show', array('aTopics' => $aTopics));
/**
* Формируем постраничность
*/
$aPaging = E::ModuleViewer()->MakePaging($aResult['count'], $iPage, Config::Get('module.topic.per_page'), Config::Get('pagination.pages.count'), R::GetPath('index') . 'discussed', array('period' => $this->sTopicFilterPeriod));
E::ModuleViewer()->AddHtmlTitle(E::ModuleLang()->Get('blog_menu_collective_discussed') . ($iPage > 1 ? ' (' . $iPage . ')' : ''));
/**
* Загружаем переменные в шаблон
*/
E::ModuleViewer()->Assign('aTopics', $aTopics);
E::ModuleViewer()->Assign('aPaging', $aPaging);
E::ModuleViewer()->Assign('sPeriodSelectCurrent', $this->sTopicFilterPeriod);
E::ModuleViewer()->Assign('sPeriodSelectRoot', R::GetPath('index') . 'discussed/');
/**
* Устанавливаем шаблон вывода
*/
$this->SetTemplateAction('index');
}
示例7: EventAutocompleterUser
/**
* Автоподставновка пользователей
*
*/
protected function EventAutocompleterUser()
{
// * Первые буквы логина переданы?
if (!($sValue = F::GetRequest('value', null, 'post')) || !is_string($sValue)) {
return;
}
$aItems = array();
// * Формируем список пользователей
/** @var ModuleUser_EntityUser[] $aUsers */
$aUsers = E::ModuleUser()->GetUsersByLoginLike($sValue, 10);
foreach ($aUsers as $oUser) {
$aItems[] = (Config::Get('autocomplete.user.show_avatar') ? '<img src="' . $oUser->getAvatarUrl(Config::Get('autocomplete.user.avatar_size')) . '">' : '') . $oUser->getLogin();
}
// * Передаем результат в ajax ответ
E::ModuleViewer()->AssignAjax('aItems', $aItems);
}
示例8: EventSwitchEventType
/**
* Активаци/деактивация типа события
*
*/
protected function EventSwitchEventType()
{
/**
* Устанавливаем формат Ajax ответа
*/
E::ModuleViewer()->SetResponseAjax('json');
/**
* Пользователь авторизован?
*/
if (!$this->oUserCurrent) {
parent::EventNotFound();
}
if (!F::GetRequest('type')) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
}
/**
* Активируем/деактивируем тип
*/
E::ModuleStream()->SwitchUserEventType($this->oUserCurrent->getId(), F::GetRequestStr('type'));
E::ModuleMessage()->AddNotice(E::ModuleLang()->Get('stream_subscribes_updated'), E::ModuleLang()->Get('attention'));
}
示例9: DisplayAjax
/**
* Ответ на ajax запрос
*
* @param string $sType - Варианты: json, jsonIframe, jsonp
*/
public function DisplayAjax($sType = 'json')
{
$sOutput = '';
// * Загружаем статус ответа и сообщение
$bStateError = false;
$sMsgTitle = '';
$sMsg = '';
$aMsgError = E::ModuleMessage()->GetError();
$aMsgNotice = E::ModuleMessage()->GetNotice();
if (count($aMsgError) > 0) {
$bStateError = true;
$sMsgTitle = $aMsgError[0]['title'];
$sMsg = $aMsgError[0]['msg'];
} elseif (count($aMsgNotice) > 0) {
$sMsgTitle = $aMsgNotice[0]['title'];
$sMsg = $aMsgNotice[0]['msg'];
}
$this->AssignAjax('sMsgTitle', $sMsgTitle);
$this->AssignAjax('sMsg', $sMsg);
$this->AssignAjax('bStateError', $bStateError);
if ($sType == 'json') {
$this->SetResponseHeader('Content-type', 'application/json; charset=utf-8');
$sOutput = F::jsonEncode($this->aVarsAjax);
} elseif ($sType == 'jsonIframe') {
// Оборачивает json в тег <textarea>, это не дает браузеру выполнить HTML, который вернул iframe
$this->SetResponseHeader('Content-type', 'application/json; charset=utf-8');
// * Избавляемся от бага, когда в возвращаемом тексте есть "
$sOutput = '<textarea>' . htmlspecialchars(F::jsonEncode($this->aVarsAjax)) . '</textarea>';
} elseif ($sType == 'jsonp') {
$this->SetResponseHeader('Content-type', 'application/json; charset=utf-8');
$sOutput = F::GetRequest('jsonpCallback', 'callback') . '(' . F::jsonEncode($this->aVarsAjax) . ');';
}
$this->Flush($sOutput);
exit;
}
示例10: EventProfile
/**
* Выводит форму для редактирования профиля и обрабатывает её
*
*/
protected function EventProfile()
{
// * Устанавливаем title страницы
E::ModuleViewer()->AddHtmlTitle(E::ModuleLang()->Get('settings_menu_profile'));
E::ModuleViewer()->Assign('aUserFields', E::ModuleUser()->GetUserFields(''));
E::ModuleViewer()->Assign('aUserFieldsContact', E::ModuleUser()->GetUserFields(array('contact', 'social')));
// * Загружаем в шаблон JS текстовки
E::ModuleLang()->AddLangJs(array('settings_profile_field_error_max'));
// * Если нажали кнопку "Сохранить"
if ($this->isPost('submit_profile_edit')) {
E::ModuleSecurity()->ValidateSendForm();
$bError = false;
/**
* Заполняем профиль из полей формы
*/
// * Определяем гео-объект
if (F::GetRequest('geo_city')) {
$oGeoObject = E::ModuleGeo()->GetGeoObject('city', F::GetRequestStr('geo_city'));
} elseif (F::GetRequest('geo_region')) {
$oGeoObject = E::ModuleGeo()->GetGeoObject('region', F::GetRequestStr('geo_region'));
} elseif (F::GetRequest('geo_country')) {
$oGeoObject = E::ModuleGeo()->GetGeoObject('country', F::GetRequestStr('geo_country'));
} else {
$oGeoObject = null;
}
// * Проверяем имя
if (F::CheckVal(F::GetRequestStr('profile_name'), 'text', 2, Config::Get('module.user.name_max'))) {
$this->oUserCurrent->setProfileName(F::GetRequestStr('profile_name'));
} else {
$this->oUserCurrent->setProfileName(null);
}
// * Проверяем пол
if (in_array(F::GetRequestStr('profile_sex'), array('man', 'woman', 'other'))) {
$this->oUserCurrent->setProfileSex(F::GetRequestStr('profile_sex'));
} else {
$this->oUserCurrent->setProfileSex('other');
}
// * Проверяем дату рождения
$nDay = intval(F::GetRequestStr('profile_birthday_day'));
$nMonth = intval(F::GetRequestStr('profile_birthday_month'));
$nYear = intval(F::GetRequestStr('profile_birthday_year'));
if (checkdate($nMonth, $nDay, $nYear)) {
$this->oUserCurrent->setProfileBirthday(date('Y-m-d H:i:s', mktime(0, 0, 0, $nMonth, $nDay, $nYear)));
} else {
$this->oUserCurrent->setProfileBirthday(null);
}
// * Проверяем информацию о себе
if (F::CheckVal(F::GetRequestStr('profile_about'), 'text', 1, 3000)) {
$this->oUserCurrent->setProfileAbout(E::ModuleText()->Parser(F::GetRequestStr('profile_about')));
} else {
$this->oUserCurrent->setProfileAbout(null);
}
// * Ставим дату последнего изменения профиля
$this->oUserCurrent->setProfileDate(F::Now());
// * Запускаем выполнение хуков
E::ModuleHook()->Run('settings_profile_save_before', array('oUser' => $this->oUserCurrent, 'bError' => &$bError));
// * Сохраняем изменения профиля
if (!$bError) {
if (E::ModuleUser()->Update($this->oUserCurrent)) {
// * Обновляем название личного блога
$oBlog = $this->oUserCurrent->getBlog();
if (F::GetRequestStr('blog_title') && $this->checkBlogFields($oBlog)) {
$oBlog->setTitle(strip_tags(F::GetRequestStr('blog_title')));
E::ModuleBlog()->UpdateBlog($oBlog);
}
// * Создаем связь с гео-объектом
if ($oGeoObject) {
E::ModuleGeo()->CreateTarget($oGeoObject, 'user', $this->oUserCurrent->getId());
if ($oCountry = $oGeoObject->getCountry()) {
$this->oUserCurrent->setProfileCountry($oCountry->getName());
} else {
$this->oUserCurrent->setProfileCountry(null);
}
if ($oRegion = $oGeoObject->getRegion()) {
$this->oUserCurrent->setProfileRegion($oRegion->getName());
} else {
$this->oUserCurrent->setProfileRegion(null);
}
if ($oCity = $oGeoObject->getCity()) {
$this->oUserCurrent->setProfileCity($oCity->getName());
} else {
$this->oUserCurrent->setProfileCity(null);
}
} else {
E::ModuleGeo()->DeleteTargetsByTarget('user', $this->oUserCurrent->getId());
$this->oUserCurrent->setProfileCountry(null);
$this->oUserCurrent->setProfileRegion(null);
$this->oUserCurrent->setProfileCity(null);
}
E::ModuleUser()->Update($this->oUserCurrent);
// * Обрабатываем дополнительные поля, type = ''
$aFields = E::ModuleUser()->GetUserFields('');
$aData = array();
foreach ($aFields as $iId => $aField) {
if (isset($_REQUEST['profile_user_field_' . $iId])) {
$aData[$iId] = F::GetRequestStr('profile_user_field_' . $iId);
//.........这里部分代码省略.........
示例11: EventIndex
/**
* Показываем юзеров
*
*/
protected function EventIndex()
{
// Получаем статистику
$this->GetStats();
// По какому полю сортировать
$sOrder = 'user_rating';
if (F::GetRequest('order')) {
$sOrder = F::GetRequestStr('order');
}
// В каком направлении сортировать
$sOrderWay = 'desc';
if (F::GetRequest('order_way')) {
$sOrderWay = F::GetRequestStr('order_way');
}
$aFilter = array('activate' => 1);
// Передан ли номер страницы
$iPage = $this->GetParamEventMatch(0, 2) ? $this->GetParamEventMatch(0, 2) : 1;
// Получаем список юзеров
$aResult = E::ModuleUser()->GetUsersByFilter($aFilter, array($sOrder => $sOrderWay), $iPage, Config::Get('module.user.per_page'));
$aUsers = $aResult['collection'];
// Формируем постраничность
$aPaging = E::ModuleViewer()->MakePaging($aResult['count'], $iPage, Config::Get('module.user.per_page'), Config::Get('pagination.pages.count'), R::GetPath('people') . 'index', array('order' => $sOrder, 'order_way' => $sOrderWay));
// Получаем алфавитный указатель на список пользователей
$aPrefixUser = E::ModuleUser()->GetGroupPrefixUser(1);
// Загружаем переменные в шаблон
E::ModuleViewer()->Assign('aPaging', $aPaging);
E::ModuleViewer()->Assign('aUsersRating', $aUsers);
E::ModuleViewer()->Assign('aPrefixUser', $aPrefixUser);
E::ModuleViewer()->Assign("sUsersOrder", htmlspecialchars($sOrder));
E::ModuleViewer()->Assign("sUsersOrderWay", htmlspecialchars($sOrderWay));
E::ModuleViewer()->Assign("sUsersOrderWayNext", htmlspecialchars($sOrderWay == 'desc' ? 'asc' : 'desc'));
// Устанавливаем шаблон вывода
$this->SetTemplateAction('index');
}
示例12: getRequest
function getRequest($sName, $default = null, $sType = null)
{
return F::GetRequest($sName, $default, $sType);
}
示例13: EventAjaxTrackToggle
/**
* Изменение состояния подписки
*/
protected function EventAjaxTrackToggle()
{
/**
* Устанавливаем формат Ajax ответа
*/
E::ModuleViewer()->SetResponseAjax('json');
if (!$this->oUserCurrent) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('need_authorization'), E::ModuleLang()->Get('error'));
return;
}
/**
* Получаем тип объекта подписки
*/
$sTargetType = F::GetRequestStr('target_type');
if (!E::ModuleSubscribe()->IsAllowTargetType($sTargetType)) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return;
}
$sTargetId = F::GetRequestStr('target_id') ? F::GetRequestStr('target_id') : null;
$iValue = F::GetRequest('value') ? 1 : 0;
$oTrack = null;
/**
* Проверка объекта подписки
*/
if (!E::ModuleSubscribe()->CheckTarget($sTargetType, $sTargetId, $iValue)) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return;
}
/**
* Если подписка еще не существовала, то создаем её
*/
if ($oTrack = E::ModuleSubscribe()->AddTrackSimple($sTargetType, $sTargetId, $this->oUserCurrent->getId())) {
$oTrack->setStatus($iValue);
E::ModuleSubscribe()->UpdateTrack($oTrack);
E::ModuleMessage()->AddNotice(E::ModuleLang()->Get('subscribe_change_ok'), E::ModuleLang()->Get('attention'));
return;
}
E::ModuleMessage()->AddError(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return;
}
示例14: SubmitEditField
/**
* Редактирование поля контента
*
* @param ModuleTopic_EntityContentType $oContentType
* @param ModuleTopic_EntityField $oField
* @return bool
*/
protected function SubmitEditField($oContentType, $oField)
{
// * Проверяем отправлена ли форма с данными
if (!F::isPost('submit_field')) {
return false;
}
// * Проверка корректности полей формы
if (!$this->CheckFieldsField($oContentType)) {
return false;
}
if (!E::ModuleTopic()->GetFieldValuesCount($oField->getFieldId())) {
// Нет ещё ни одного значения этого поля, тогда можно сменить ещё и тип
$oField->setFieldType(F::GetRequest('field_type'));
}
$oField->setFieldName(F::GetRequest('field_name'));
$oField->setFieldDescription(F::GetRequest('field_description'));
$oField->setFieldRequired(F::GetRequest('field_required'));
if ($oField->getFieldType() == 'select') {
$oField->setOptionValue('select', F::GetRequest('field_values'));
}
$sOldFieldUniqueName = $oField->getFieldUniqueName();
if (F::GetRequest('field_unique_name_translit')) {
$oField->setFieldUniqueName(F::TranslitUrl(F::GetRequest('field_name')));
} else {
$oField->setFieldUniqueName(F::TranslitUrl(F::GetRequest('field_unique_name')));
}
try {
if (E::ModuleTopic()->UpdateContentField($oField)) {
E::ModuleMessage()->AddNoticeSingle(E::ModuleLang()->Get('action.admin.contenttypes_success_fieldedit'), null, true);
R::Location('admin/settings-contenttypes/edit/' . $oContentType->getContentId() . '/');
}
} catch (Exception $e) {
// Если ошибка дублирования уникального ключа, то выводим соответствующее сообщение
if (1062 == $e->getCode()) {
$sNewFieldUniqueName = $oField->getFieldUniqueName();
$oField->setFieldUniqueName($sOldFieldUniqueName);
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('plugin.contentfieldsx.error_field_unique_name_duplicate', array('unique_name' => htmlspecialchars($sNewFieldUniqueName))), null, false);
}
}
return false;
}
示例15: EventUnsubscribe
/**
* Отписка от блога или пользователя
*
*/
protected function EventUnsubscribe()
{
// * Устанавливаем формат Ajax ответа
E::ModuleViewer()->SetResponseAjax('json');
if (!F::GetRequest('id')) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return;
}
$sType = F::GetRequestStr('type');
$iType = null;
// * Определяем от чего отписываемся
switch ($sType) {
case 'blogs':
case 'blog':
$iType = ModuleUserfeed::SUBSCRIBE_TYPE_BLOG;
break;
case 'users':
case 'user':
$iType = ModuleUserfeed::SUBSCRIBE_TYPE_USER;
break;
default:
E::ModuleMessage()->AddError(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return;
}
// * Отписываем пользователя
E::ModuleUserfeed()->UnsubscribeUser($this->oUserCurrent->getId(), $iType, F::GetRequestStr('id'));
E::ModuleMessage()->AddNotice(E::ModuleLang()->Get('userfeed_subscribes_updated'), E::ModuleLang()->Get('attention'));
}