本文整理汇总了PHP中E::ModuleMessage方法的典型用法代码示例。如果您正苦于以下问题:PHP E::ModuleMessage方法的具体用法?PHP E::ModuleMessage怎么用?PHP E::ModuleMessage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类E
的用法示例。
在下文中一共展示了E::ModuleMessage方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: EventAjaxSearch
/**
* Поиск блогов по названию
*/
protected function EventAjaxSearch()
{
// * Устанавливаем формат Ajax ответа
E::ModuleViewer()->SetResponseAjax('json');
// * Получаем из реквеста первые буквы блога
if ($sTitle = F::GetRequestStr('blog_title')) {
$sTitle = str_replace('%', '', $sTitle);
}
if (!$sTitle) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'));
return;
}
// * Ищем блоги
if (F::GetRequestStr('blog_type') == 'personal') {
$aFilter = array('include_type' => 'personal');
} else {
$aFilter = array('include_type' => E::ModuleBlog()->GetAllowBlogTypes(E::User(), 'list', true));
$aFilter['exclude_type'] = 'personal';
}
$aFilter['title'] = "%{$sTitle}%";
$aFilter['order'] = array('blog_title' => 'asc');
$aResult = E::ModuleBlog()->GetBlogsByFilter($aFilter, 1, 100);
// * Формируем и возвращаем ответ
$aVars = array('aBlogs' => $aResult['collection'], 'oUserCurrent' => E::User(), 'sBlogsEmptyList' => E::ModuleLang()->Get('blogs_search_empty'));
E::ModuleViewer()->AssignAjax('sText', E::ModuleViewer()->Fetch('commons/common.blog_list.tpl', $aVars));
}
示例2: SubmitComment
protected function SubmitComment()
{
/**
* Проверям авторизован ли пользователь
*/
if (!E::ModuleUser()->IsAuthorization()) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('need_authorization'), E::ModuleLang()->Get('error'));
return;
}
$xResult = E::Module('PluginMagicrules\\Rule')->CheckRuleAction('create_comment', $this->oUserCurrent);
if (true === $xResult) {
$xResult = E::Module('PluginMagicrules\\Rule')->CheckRuleCreateAction('comment', $this->oUserCurrent);
}
if (true === $xResult) {
return parent::SubmitComment();
} else {
if (is_string($xResult)) {
E::ModuleMessage()->AddErrorSingle($xResult, E::ModuleLang()->Get('attention'));
return;
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('plugin.magicrules.check_rule_action_error'), E::ModuleLang()->Get('attention'));
return;
}
}
}
示例3: EventAjaxSearch
/**
* Поиск пользователей по логину
*
*/
protected function EventAjaxSearch()
{
// Устанавливаем формат Ajax ответа
E::ModuleViewer()->SetResponseAjax('json');
// Получаем из реквеста первые быквы для поиска пользователей по логину
$sTitle = F::GetRequest('user_login');
if (is_string($sTitle) && mb_strlen($sTitle, 'utf-8')) {
$sTitle = str_replace(array('_', '%'), array('\\_', '\\%'), $sTitle);
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'));
return;
}
// Как именно искать: совпадение в любой части логина, или только начало или конец логина
if (F::GetRequest('isPrefix')) {
$sTitle .= '%';
} elseif (F::GetRequest('isPostfix')) {
$sTitle = '%' . $sTitle;
} else {
$sTitle = '%' . $sTitle . '%';
}
$aFilter = array('activate' => 1, 'login' => $sTitle);
// Ищем пользователей
$aResult = E::ModuleUser()->GetUsersByFilter($aFilter, array('user_rating' => 'desc'), 1, 50);
// Формируем ответ
$aVars = array('aUsersList' => $aResult['collection'], 'oUserCurrent' => E::ModuleUser()->GetUserCurrent(), 'sUserListEmpty' => E::ModuleLang()->Get('user_search_empty'));
E::ModuleViewer()->AssignAjax('sText', E::ModuleViewer()->Fetch('commons/common.user_list.tpl', $aVars));
}
示例4: EventDownloadFile
public function EventDownloadFile()
{
$this->SetTemplate(false);
$sTopicId = $this->GetParam(0);
$sFieldId = $this->GetParam(1);
E::ModuleSecurity()->ValidateSendForm();
if (!($oTopic = E::ModuleTopic()->GetTopicById($sTopicId))) {
return parent::EventNotFound();
}
if (!($this->oType = E::ModuleTopic()->GetContentType($oTopic->getType()))) {
return parent::EventNotFound();
}
if (!($oField = E::ModuleTopic()->GetContentFieldById($sFieldId))) {
return parent::EventNotFound();
}
if ($oField->getContentId() != $this->oType->getContentId()) {
return parent::EventNotFound();
}
//получаем объект файла
$oFile = $oTopic->getFieldFile($oField->getFieldId());
//получаем объект поля топика, содержащий данные о файле
$oValue = $oTopic->getField($oField->getFieldId());
if ($oFile && $oValue) {
if (preg_match("/^(http:\\/\\/)/i", $oFile->getFileUrl())) {
$sFullPath = $oFile->getFileUrl();
R::Location($sFullPath);
} else {
$sFullPath = Config::Get('path.root.dir') . $oFile->getFileUrl();
}
$sFilename = $oFile->getFileName();
/*
* Обновляем данные
*/
$aFileObj = array();
$aFileObj['file_name'] = $oFile->getFileName();
$aFileObj['file_url'] = $oFile->getFileUrl();
$aFileObj['file_size'] = $oFile->getFileSize();
$aFileObj['file_extension'] = $oFile->getFileExtension();
$aFileObj['file_downloads'] = $oFile->getFileDownloads() + 1;
$sText = serialize($aFileObj);
$oValue->setValue($sText);
$oValue->setValueSource($sText);
//сохраняем
E::ModuleTopic()->UpdateContentFieldValue($oValue);
/*
* Отдаем файл
*/
header('Content-type: ' . $oFile->getFileExtension());
header('Content-Disposition: attachment; filename="' . $sFilename . '"');
F::File_PrintChunked($sFullPath);
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('content_download_file_error'));
return R::Action('error');
}
}
示例5: EventAdd
protected function EventAdd()
{
$xResult = E::Module('PluginMagicrules\\Rule')->CheckRuleAction('create_topic', $this->oUserCurrent);
if ($xResult === true) {
return parent::EventAdd();
} else {
if (is_string($xResult)) {
E::ModuleMessage()->AddErrorSingle($xResult, E::ModuleLang()->Get('attention'));
return Router::Action('error');
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('plugin.magicrules.check_rule_action_error'), E::ModuleLang()->Get('attention'));
return Router::Action('error');
}
}
}
示例6: EventWallAdd
/**
* Добавление записи на стену
*/
public function EventWallAdd()
{
// * Устанавливаем формат Ajax ответа
E::ModuleViewer()->SetResponseAjax('json');
// * Пользователь авторизован?
if (!E::IsUser()) {
return parent::EventNotFound();
}
$xResult = E::Module('PluginMagicrules\\Rule')->CheckRuleAction('create_wall', E::User());
if ($xResult === true) {
return parent::EventWallAdd();
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('plugin.magicrules.check_rule_action_error'), E::ModuleLang()->Get('attention'));
return Router::Action('error');
}
}
示例7: InitAction
/**
* Обработка хука инициализации экшенов
*/
public function InitAction()
{
// * Проверяем наличие директории install
if (is_dir(rtrim(Config::Get('path.root.dir'), '/') . '/install') && (!isset($_SERVER['HTTP_APP_ENV']) || $_SERVER['HTTP_APP_ENV'] != 'test')) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('install_directory_exists'));
R::Action('error');
}
// * Проверка на закрытый режим
$oUserCurrent = E::ModuleUser()->GetUserCurrent();
if (!$oUserCurrent && Config::Get('general.close.mode')) {
$aEnabledActions = F::Str2Array(Config::Get('general.close.actions'));
if (!in_array(R::GetAction(), $aEnabledActions)) {
return R::Action('login');
}
}
return null;
}
示例8: CompileFile
/**
* Компилирует файл less и возвращает текст css-файла
*
* @param $aFile
* @param $sCacheDir
* @param $sMapPath
* @param $aParams
* @param $bCompress
* @return string
*/
public function CompileFile($aFile, $sCacheDir, $sMapPath, $aParams, $bCompress)
{
if (!($sMapPath && $sCacheDir && $aFile)) {
return '';
}
try {
$options = array('sourceMap' => TRUE, 'sourceMapWriteTo' => $sMapPath, 'sourceMapURL' => E::ModuleViewerAsset()->AssetFileUrl($sMapPath), 'cache_dir' => $sCacheDir);
if ($bCompress) {
$options = array_merge($options, array('compress' => TRUE));
}
$sCssFileName = Less_Cache::Get($aFile, $options, $aParams);
return file_get_contents($sCacheDir . $sCssFileName);
} catch (Exception $e) {
E::ModuleMessage()->AddErrorSingle($e->getMessage());
}
return '';
}
示例9: EventVoteUser
/**
* @return string|void
*/
protected function EventVoteUser()
{
// * Пользователь авторизован?
if (!E::IsUser()) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('need_authorization'), E::ModuleLang()->Get('error'));
return;
}
$xResult = E::Module('PluginMagicrules\\Rule')->CheckRuleAction('vote_user', E::User(), array('vote_value' => (int) $this->getPost('value')));
if (true === $xResult) {
return parent::EventVoteUser();
} else {
if (is_string($xResult)) {
E::ModuleMessage()->AddErrorSingle($xResult, E::ModuleLang()->Get('attention'));
return Router::Action('error');
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('plugin.magicrules.check_rule_action_error'), E::ModuleLang()->Get('attention'));
return Router::Action('error');
}
}
}
示例10: checkBlogFields
protected function checkBlogFields($oBlog = null)
{
$bOk = parent::checkBlogFields($oBlog);
if (!F::isPost('submit_blog_add')) {
// Проверяем есть ли подзаголовок блога
$iMin = C::Get('plugin.blogsubtitle.min_subtitle_len');
$iMax = C::Get('plugin.blogsubtitle.max_subtitle_len');
$sSubtitle = F::GetRequestStr('blog_subtitle');
if (!$sSubtitle && $iMin) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('plugin.blogsubtitle.blog_create_subtitle_error', array('min' => $iMin, 'max' => $iMax)), E::ModuleLang()->Get('error'));
$bOk = false;
} elseif ($iMax) {
if (!F::CheckVal($sSubtitle, 'text', $iMin, $iMax)) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('plugin.blogsubtitle.blog_create_subtitle_error', array('min' => $iMin, 'max' => $iMax)), E::ModuleLang()->Get('error'));
$bOk = false;
}
}
}
return $bOk;
}
示例11: EventError
/**
* Вывод ошибки
*
*/
protected function EventError()
{
/**
* Если евент равен одной из ошибок из $aHttpErrors, то шлем браузеру специфичный header
* Например, для 404 в хидере будет послан браузеру заголовок HTTP/1.1 404 Not Found
*/
if (array_key_exists($this->sCurrentEvent, $this->aHttpErrors)) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error_' . $this->sCurrentEvent), $this->sCurrentEvent);
$aHttpError = $this->aHttpErrors[$this->sCurrentEvent];
if (isset($aHttpError['header'])) {
$sProtocol = isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.1';
header("{$sProtocol} {$aHttpError['header']}");
}
}
/**
* Устанавливаем title страницы
*/
E::ModuleViewer()->AddHtmlTitle(E::ModuleLang()->Get('error'));
$this->SetTemplateAction('index');
}
示例12: 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;
}
示例13: _prepareRequest
/**
* Разбор запроса
*
* @param null $sType
*
* @return mixed
*/
protected function _prepareRequest($sType = null)
{
$sRequest = trim(F::GetRequest('q'));
// * Иногда ломается кодировка, напр., если ввели поиск в адресной строке браузера
// * Пытаемся восстановить по основной кодировке браузера
if (!mb_check_encoding($sRequest)) {
list($sCharset) = explode(',', $_SERVER['HTTP_ACCEPT_CHARSET']);
$sQueryString = mb_convert_encoding($_SERVER['QUERY_STRING'], 'UTF-8', $sCharset);
$sRequest = mb_convert_encoding($sRequest, 'UTF-8', $sCharset);
}
if ($sRequest) {
// Две звездочки подряд меняем на одну
$sRequest = preg_replace('/(\\*{2,})/', '*', $sRequest);
// Две пробела подряд меняем на один
$sRequest = preg_replace('/(\\s{2,})/', ' ', $sRequest);
// Последовательность звездочек и пробелов, начинающаяся со звездочки
$sRequest = preg_replace('/\\*[\\*\\s]{2,}/', '* ', $sRequest);
// Последовательность звездочек и пробелов, начинающаяся с пробела
$sRequest = preg_replace('/\\s[\\*\\s]{2,}/', ' *', $sRequest);
}
$aReq['q'] = $sRequest;
$aReq['regexp'] = preg_quote(trim(mb_strtolower($aReq['q'])));
// * Проверка длины запроса
if (!F::CheckVal($aReq['regexp'], 'text', Config::Get('module.search.min_length_req'), Config::Get('module.search.max_length_req'))) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('search_err_length', array('min' => Config::Get('module.search.min_length_req'), 'max' => Config::Get('module.search.max_length_req'))));
$aReq['regexp'] = '';
}
// Save quoted substrings
$aQuoted = array();
if (preg_match_all('/"([^"]+)"/U', $aReq['regexp'], $aMatches)) {
foreach ($aMatches[1] as $sStr) {
$sSubstKey = 'begin-' . md5($sStr) . '-end';
$aQuoted[0][] = $sSubstKey;
$aQuoted[1][] = $sStr;
}
$aReq['regexp'] = str_replace($aQuoted[1], $aQuoted[0], $aReq['regexp']);
}
/*
* Проверка длины каждого слова в запросе
* Хотя бы одно слово должно быть больше минимальной длины
* Слова меньше минимальной длины исключаем из поиска
*/
if ($aReq['regexp']) {
$aWords = explode(' ', $aReq['regexp']);
$nErr = 0;
$sStr = '';
foreach ($aWords as $sWord) {
if (!F::CheckVal($sWord, 'text', Config::Get('module.search.min_length_req'), Config::Get('module.search.max_length_req'))) {
$nErr += 1;
} else {
if ($sStr) {
$sStr .= ' ';
}
$sStr .= $sWord;
}
}
if ($nErr == sizeof($aWords)) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('search_err_length_word', array('min' => Config::Get('module.search.min_length_req'), 'max' => Config::Get('module.search.max_length_req'))));
$aReq['regexp'] = '';
} else {
$aReq['regexp'] = $sStr;
}
}
// * Если все нормально, формируем выражение для поиска
if ($aReq['regexp']) {
if ($this->bSearchStrict) {
$aReq['regexp'] = str_replace('\\*', '*', $aReq['regexp']);
/*
* Проверка на "лишние" символы, оставляем только "слова"
* На месте "небукв" оставляем пробелы
*/
$aReq['regexp'] = preg_replace('/' . $this->sPatternXA . '/iusxSU', ' ', $aReq['regexp']);
$aReq['regexp'] = trim(preg_replace('/(\\s{2,})/', ' ', $aReq['regexp']));
// * Если после "чистки" что-то осталось, то продолжаем дальше
if ($aReq['regexp']) {
$aReq['regexp'] = str_replace('* *', '|', $aReq['regexp']);
$aReq['regexp'] = str_replace('* ', '|[[:<:]]', $aReq['regexp']);
$aReq['regexp'] = str_replace(' *', '[[:>:]]|', $aReq['regexp']);
$aReq['regexp'] = str_replace(' ', '[[:>:]]|[[:<:]]', $aReq['regexp']);
if (mb_substr($aReq['regexp'], 0, 1) == '*') {
$aReq['regexp'] = mb_substr($aReq['regexp'], 1);
} else {
$aReq['regexp'] = '[[:<:]]' . $aReq['regexp'];
}
if (mb_substr($aReq['regexp'], -1) == '*') {
$aReq['regexp'] = mb_substr($aReq['regexp'], 0, mb_strlen($aReq['regexp']) - 1);
} else {
$aReq['regexp'] = $aReq['regexp'] . '[[:>:]]';
}
}
} else {
$aReq['regexp'] = preg_replace('/' . $this->sPatternXA . '/uU', '', $aReq['regexp']);
$aReq['regexp'] = trim(preg_replace('/(\\s{2,})/', ' ', $aReq['regexp']));
//.........这里部分代码省略.........
示例14: EventSort
/**
* Меняет сортировку элементов фотосета
*/
public function EventSort()
{
// * Устанавливаем формат Ajax ответа
E::ModuleViewer()->SetResponseAjax('json');
// Проверяем, целевой объект и права на его редактирование
if (!($oTarget = E::ModuleUploader()->CheckAccessAndGetTarget($sTargetType = F::GetRequest('target', FALSE), $sTargetId = F::GetRequest('target_id', FALSE)))) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('not_access'), E::ModuleLang()->Get('error'));
return;
}
if (!($aOrder = F::GetRequest('order', FALSE))) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('not_access'), E::ModuleLang()->Get('error'));
return;
}
if (!is_array($aOrder)) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('not_access'), E::ModuleLang()->Get('error'));
return;
}
E::ModuleMresource()->UpdateSort(array_flip($aOrder), $sTargetType, $sTargetId);
E::ModuleMessage()->AddNoticeSingle(E::ModuleLang()->Get('uploader_sort_changed'));
}
示例15: EventAjaxUserList
public function EventAjaxUserList()
{
E::ModuleViewer()->SetResponseAjax('json');
if ($this->IsPost()) {
$sList = trim($this->GetPost('invite_listmail'));
if ($aList = F::Array_Str2Array($sList, "\n", true)) {
$iSentCount = 0;
foreach ($aList as $iKey => $sMail) {
if (F::CheckVal($sMail, 'mail')) {
$oInvite = E::ModuleUser()->GenerateInvite($this->oUserCurrent);
if (E::ModuleNotify()->SendInvite($this->oUserCurrent, $sMail, $oInvite)) {
unset($aList[$iKey]);
$iSentCount++;
}
}
}
E::ModuleMessage()->AddNotice(E::ModuleLang()->Get('action.admin.invaite_mail_done', array('num' => $iSentCount)), null, true);
if ($aList) {
E::ModuleMessage()->AddError(E::ModuleLang()->Get('action.admin.invaite_mail_err', array('num' => count($aList))), null, true);
}
}
} else {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'));
}
}