本文整理汇总了PHP中F::GetRequestStr方法的典型用法代码示例。如果您正苦于以下问题:PHP F::GetRequestStr方法的具体用法?PHP F::GetRequestStr怎么用?PHP F::GetRequestStr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类F
的用法示例。
在下文中一共展示了F::GetRequestStr方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: PrepareRequest
/**
* Подготовка запроса на поиск
*
* @return array
*/
protected function PrepareRequest()
{
$aReq['q'] = F::GetRequestStr('q');
if (!F::CheckVal($aReq['q'], 'text', 2, 255)) {
/*
* Если запрос слишком короткий перенаправляем на начальную страницу поиска
* Хотя тут лучше показывать юзеру в чем он виноват
*/
Router::Location(Router::GetPath('search'));
}
$aReq['sType'] = strtolower(Router::GetActionEvent());
// * Определяем текущую страницу вывода результата
$aReq['iPage'] = intval(preg_replace('#^page([1-9]\\d{0,5})$#', '\\1', $this->getParam(0)));
if (!$aReq['iPage']) {
$aReq['iPage'] = 1;
}
// * Передача данных в шаблонизатор
E::ModuleViewer()->Assign('aReq', $aReq);
return $aReq;
}
示例2: EventInvite
/**
* Обработка кода приглашения при включеном режиме инвайтов
*
*/
protected function EventInvite()
{
if (!Config::Get('general.reg.invite')) {
return parent::EventNotFound();
}
// Обработка отправки формы с кодом приглашения
if (F::isPost('submit_invite')) {
// проверяем код приглашения на валидность
if ($this->CheckInviteRegister()) {
$sInviteCode = $this->GetInviteRegister();
} else {
$sInviteCode = trim(F::GetRequestStr('invite_code'));
}
$oInvite = E::ModuleUser()->GetInviteByCode($sInviteCode);
if ($oInvite) {
if (!$this->CheckInviteRegister()) {
E::ModuleSession()->Set('invite_code', $oInvite->getCode());
}
return R::Action('registration');
} else {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('registration_invite_code_error'), E::ModuleLang()->Get('error'));
}
}
}
示例3: EventCommentDelete
/**
* Удаление/восстановление комментария
*
*/
protected function EventCommentDelete()
{
// * Комментарий существует?
$idComment = F::GetRequestStr('idComment', null, 'post');
if (!($oComment = E::ModuleComment()->GetCommentById($idComment))) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return;
}
// * Есть права на удаление комментария?
if (!$oComment->isDeletable()) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('not_access'), E::ModuleLang()->Get('error'));
return;
}
// * Устанавливаем пометку о том, что комментарий удален
$oComment->setDelete(($oComment->getDelete() + 1) % 2);
E::ModuleHook()->Run('comment_delete_before', array('oComment' => $oComment));
if (!E::ModuleComment()->UpdateCommentStatus($oComment)) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
return;
}
E::ModuleHook()->Run('comment_delete_after', array('oComment' => $oComment));
// * Формируем текст ответа
if ($bState = (bool) $oComment->getDelete()) {
$sMsg = E::ModuleLang()->Get('comment_delete_ok');
$sTextToggle = E::ModuleLang()->Get('comment_repair');
} else {
$sMsg = E::ModuleLang()->Get('comment_repair_ok');
$sTextToggle = E::ModuleLang()->Get('comment_delete');
}
// * Обновление события в ленте активности
E::ModuleStream()->Write($oComment->getUserId(), 'add_comment', $oComment->getId(), !$oComment->getDelete());
// * Показываем сообщение и передаем переменные в ajax ответ
E::ModuleMessage()->AddNoticeSingle($sMsg, E::ModuleLang()->Get('attention'));
E::ModuleViewer()->AssignAjax('bState', $bState);
E::ModuleViewer()->AssignAjax('sTextToggle', $sTextToggle);
}
示例4: EventShowBlogsPersonal
/**
* Отображение списка персональных блогов
*/
protected function EventShowBlogsPersonal()
{
// * По какому полю сортировать
$sOrder = F::GetRequestStr('order', 'blog_title');
// * В каком направлении сортировать
$sOrderWay = F::GetRequestStr('order_way', 'desc');
// * Фильтр поиска блогов
$aFilter = array('include_type' => 'personal');
// * Передан ли номер страницы
$iPage = preg_match('/^\\d+$/i', $this->GetParamEventMatch(0, 2)) ? $this->GetParamEventMatch(0, 2) : 1;
// * Получаем список блогов
$aResult = E::ModuleBlog()->GetBlogsByFilter($aFilter, array($sOrder => $sOrderWay), $iPage, Config::Get('module.blog.per_page'));
$aBlogs = $aResult['collection'];
// * Формируем постраничность
$aPaging = E::ModuleViewer()->MakePaging($aResult['count'], $iPage, Config::Get('module.blog.per_page'), Config::Get('pagination.pages.count'), R::GetPath('blogs') . 'personal/', array('order' => $sOrder, 'order_way' => $sOrderWay));
// * Загружаем переменные в шаблон
E::ModuleViewer()->Assign('aPaging', $aPaging);
E::ModuleViewer()->Assign('aBlogs', $aBlogs);
E::ModuleViewer()->Assign('sBlogOrder', htmlspecialchars($sOrder));
E::ModuleViewer()->Assign('sBlogOrderWay', htmlspecialchars($sOrderWay));
E::ModuleViewer()->Assign('sBlogOrderWayNext', $sOrderWay == 'desc' ? 'asc' : 'desc');
E::ModuleViewer()->Assign('sShow', 'personal');
E::ModuleViewer()->Assign('sBlogsRootPage', R::GetPath('blogs') . 'personal/');
// * Устанавливаем title страницы
E::ModuleViewer()->AddHtmlTitle(E::ModuleLang()->Get('blog_menu_all_list'));
// * Устанавливаем шаблон вывода
$this->SetTemplateAction('index');
}
示例5: EventUnsubscribe
/**
* Отписка от пользователя
*
*/
protected function EventUnsubscribe()
{
/**
* Устанавливаем формат Ajax ответа
*/
E::ModuleViewer()->SetResponseAjax('json');
/**
* Пользователь авторизован?
*/
if (!$this->oUserCurrent) {
parent::EventNotFound();
}
/**
* Пользователь с таким ID существует?
*/
if (!E::ModuleUser()->GetUserById(F::GetRequestStr('id'))) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('system_error'), E::ModuleLang()->Get('error'));
}
/**
* Отписываем
*/
E::ModuleStream()->UnsubscribeUser($this->oUserCurrent->getId(), F::GetRequestStr('id'));
E::ModuleMessage()->AddNotice(E::ModuleLang()->Get('stream_subscribes_updated'), E::ModuleLang()->Get('attention'));
}
示例6: checkUserField
/**
* Проверка поля пользователя на корректность из реквеста
*
* @return bool
*/
public function checkUserField()
{
if (!F::GetRequestStr('title')) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('user_field_error_add_no_title'), E::ModuleLang()->Get('error'));
return false;
}
if (!F::GetRequestStr('name')) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('user_field_error_add_no_name'), E::ModuleLang()->Get('error'));
return false;
}
/**
* Не допускаем дубликатов по имени
*/
if (E::ModuleUser()->UserFieldExistsByName(F::GetRequestStr('name'), F::GetRequestStr('id'))) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('user_field_error_name_exists'), E::ModuleLang()->Get('error'));
return false;
}
return true;
}
示例7: EventIndex
/**
* Обработка основного события
*
*/
public function EventIndex()
{
$sEvent = R::GetActionEvent();
if ((!$sEvent || $sEvent == 'index') && F::GetRequestStr('q', null, 'get')) {
$sEvent = 'topics';
}
if ($sEvent == 'comments') {
return $this->EventComments();
} elseif ($sEvent == 'blogs') {
return $this->EventBlogs();
} elseif ($sEvent == 'topics') {
return $this->EventTopics();
} else {
$this->SetTemplateAction('index');
}
}
示例8: getRequestPostStr
function getRequestPostStr($sName, $default = null)
{
return F::GetRequestStr($sName, $default, 'post');
}
示例9: ValidateSecurityKey
/**
* Verifies security key from argument or from request
*
* @param string|null $sKey - Security key for verifying. If it is ommited then it extracts from request
*
* @return bool
*/
public function ValidateSecurityKey($sKey = null)
{
if (!$sKey) {
if (isset($_SERVER['HTTP_X_ALTO_AJAX_KEY'])) {
$sKey = (string) $_SERVER['HTTP_X_ALTO_AJAX_KEY'];
} else {
if (!($sKey = F::GetRequestStr('security_key'))) {
// LS-compatibility
$sKey = F::GetRequestStr('security_ls_key');
}
}
}
return $sKey == $this->GetSecurityKey();
}
示例10: Start
/**
* Старт сессии
*
*/
protected function Start()
{
if ($this->bUseStandartSession) {
$sSysSessionName = Config::Get('sys.session.name');
session_name($sSysSessionName);
session_set_cookie_params(Config::Get('sys.session.timeout'), Config::Get('sys.session.path'), Config::Get('sys.session.host'));
if (!session_id()) {
// * Попытка подменить идентификатор имени сессии через куку
if (isset($_COOKIE[$sSysSessionName])) {
if (!is_string($_COOKIE[$sSysSessionName])) {
$this->DelCookie($sSysSessionName . '[]');
$this->DelCookie($sSysSessionName);
} elseif (!preg_match('/^[\\-\\,a-zA-Z0-9]{1,128}$/', $_COOKIE[$sSysSessionName])) {
$this->DelCookie($sSysSessionName);
}
}
// * Попытка подменить идентификатор имени сессии в реквесте
$aRequest = array_merge($_GET, $_POST);
// Исключаем попадаение $_COOKIE в реквест
if (@ini_get('session.use_only_cookies') === '0' && isset($aRequest[$sSysSessionName]) && !is_string($aRequest[$sSysSessionName])) {
session_name($this->GenerateId());
}
// * Даем возможность флешу задавать id сессии
$sSSID = F::GetRequestStr('SSID');
if ($sSSID && $this->_validFlashAgent() && preg_match('/^[\\w]{5,40}$/', $sSSID)) {
session_id($sSSID);
session_start();
} else {
// wrong session ID, regenerates it
session_regenerate_id();
session_start();
}
}
} else {
$this->SetId();
$this->ReadData();
}
}
示例11: 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;
}
示例12: 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'));
}
示例13: SnippetPhotoset
/**
* Возвращает html-код фотосета
*
* @param array $aData
*
* @return bool|string
*/
public function SnippetPhotoset($aData)
{
// Попытаемся определить откуда вызывается сниппет фотосета
// поскольку нужно точно определить целевой объект и его ид
// Редактируется топик.
// Получим его ид. и по нему поднимем необходимый фотосет
$aAdminMatches = array();
$sControllerPath = R::GetControllerPath();
if ($sControllerPath === 'ajax/preview/topic/' && F::isPost('topic_id')) {
$iTopicId = (int) F::GetRequestStr('topic_id');
} elseif (preg_match('~content\\/edit\\/(\\d+)\\/~', $sControllerPath, $aMatches) || preg_match('~admin\\/content-pages\\/edit\\/(\\d+)\\/~', $sControllerPath, $aAdminMatches)) {
// Найдем топик, из которого будем брать фотосет
$iTopicId = !empty($aData['params']['topic']) ? (int) $aData['params']['topic'] : ($aAdminMatches ? false : $aMatches[1]);
} else {
$iTopicId = 0;
}
if ($iTopicId) {
// Странно, но топик не нашли - завернём сниппет
if (!($oTopic = E::ModuleTopic()->GetTopicById($iTopicId))) {
return FALSE;
}
// Проверим, можно ли пользователю читать этот топик, а то вдруг
// он запросил картинки из топика закрытого блога - а так нельзя
if (!E::ModuleACL()->IsAllowShowBlog($oTopic->getBlog(), E::User())) {
return FALSE;
}
// Попытаемся найти фотосет
/** @var ModuleMresource_EntityMresource[] $aPhotoset */
$aPhotoset = E::ModuleMresource()->GetMresourcesRelByTarget('photoset', $oTopic->getId());
if (empty($aPhotoset)) {
return FALSE;
}
// Фотосет нашли, теперь из него нужно выбрать только те фото,
// которые выбрал пользователь в параметрах from и to
$iFrom = isset($aData['params']['from']) ? $aData['params']['from'] : 0;
$iFrom = (int) str_replace(array('last', 'first'), array(count($aPhotoset), 0), $iFrom);
// Пользователи считают картинки с первой, а не с нулевой
if ($iFrom) {
$iFrom -= 1;
}
// Если указано количество, то правый предел игнорируем
if ($iCount = (int) isset($aData['params']['count']) ? $aData['params']['count'] : FALSE) {
$iTo = $iFrom + $iCount - 1;
} else {
$iTo = isset($aData['params']['to']) ? $aData['params']['to'] : count($aPhotoset);
$iTo = (int) str_replace(array('last', 'first'), array(count($aPhotoset), 0), $iTo);
if ($iTo) {
$iTo -= 1;
}
}
// Пользователь ошибочно указал диапазон. выдумывать ничего не будем,
// просто не выведем фотосет
if ($iTo - $iFrom < 0) {
return FALSE;
}
// Сбросим ключи набора фото, так лучше считать диапазон
$aPhotoset = array_values($aPhotoset);
$aPhotos = array();
for ($i = $iFrom; $i <= $iTo; $i++) {
if (isset($aPhotoset[$i])) {
$oPhoto = $aPhotoset[$i];
$aPhotos[$oPhoto->getMresourceId()] = $oPhoto;
}
}
if (!$aPhotos) {
return FALSE;
}
$sPosition = isset($aData['params']['position']) ? $aData['params']['position'] : 'center';
if (!in_array($sPosition, array('left', 'right'))) {
$sPosition = 'center';
}
// Получим html-код сниппета
$aVars = array('oTopic' => $oTopic, 'aPhotos' => $aPhotos, 'sPosition' => $sPosition, 'sPhotosetHash' => md5(serialize($aData['params'])));
$aData['result'] = trim(E::ModuleViewer()->Fetch('tpls/snippets/snippet.photoset.tpl', $aVars));
return $aData['result'];
}
return FALSE;
}
示例14: _updateBlog
protected function _updateBlog($oBlog)
{
$sSubtitle = E::ModuleText()->Parser(F::GetRequestStr('blog_subtitle'));
$oBlog->setSubtitle($sSubtitle);
return parent::_updateBlog($oBlog);
}
示例15: 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');
}