当前位置: 首页>>代码示例>>PHP>>正文


PHP E::ModuleSecurity方法代码示例

本文整理汇总了PHP中E::ModuleSecurity方法的典型用法代码示例。如果您正苦于以下问题:PHP E::ModuleSecurity方法的具体用法?PHP E::ModuleSecurity怎么用?PHP E::ModuleSecurity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在E的用法示例。


在下文中一共展示了E::ModuleSecurity方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: 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');
     }
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:55,代码来源:ActionDownload.class.php

示例2: 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;
 }
开发者ID:Azany,项目名称:altocms,代码行数:25,代码来源:ActionSeopack.class.php

示例3: EventMultiUpload

 /**
  * Загружаем картинку
  */
 public function EventMultiUpload()
 {
     // Устанавливаем формат Ajax ответа
     E::ModuleViewer()->SetResponseAjax('json', FALSE);
     E::ModuleSecurity()->ValidateSendForm();
     // Проверяем, загружен ли файл
     if (!($aUploadedFile = $this->GetUploadedFile('uploader-upload-image'))) {
         E::ModuleMessage()->AddError(E::ModuleLang()->Get('error_upload_image'), E::ModuleLang()->Get('error'));
         return false;
     }
     $sTarget = F::GetRequest('target', FALSE);
     $sTargetId = F::GetRequest('target_id', FALSE);
     $oTarget = E::ModuleUploader()->CheckAccessAndGetTarget($sTarget, $sTargetId);
     $bTmp = F::GetRequest('tmp', FALSE);
     $bTmp = $bTmp == 'true' ? true : false;
     // Проверяем, целевой объект и права на его редактирование
     if (!$oTarget) {
         // Здесь два варианта, либо редактировать нельзя, либо можно, но топика еще нет
         if ($oTarget === TRUE) {
             // Будем делать временную картинку
         } else {
             E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('not_access'), E::ModuleLang()->Get('error'));
             return false;
         }
     }
     // Ошибок пока нет
     $sError = '';
     // Сделаем временный файд
     $sTmpFile = E::ModuleUploader()->UploadLocal($aUploadedFile);
     // Вызовем хук перед началом загрузки картинки
     E::ModuleHook()->Run('uploader_upload_before', array('oTarget' => $oTarget, 'sTmpFile' => $sTmpFile, 'sTarget' => $sTarget));
     // Если все ок, и по миме проходит, то
     if ($sTmpFile && E::ModuleImg()->MimeType($sTmpFile)) {
         // Проверим, проходит ли по количеству
         if (!E::ModuleUploader()->GetAllowedCount($sTarget = F::GetRequest('target', FALSE), $sTargetId = F::GetRequest('target_id', FALSE))) {
             E::ModuleMessage()->AddError(E::ModuleLang()->Get('uploader_photoset_error_count_photos', array('MAX' => Config::Get('module.topic.photoset.count_photos_max'))), E::ModuleLang()->Get('error'));
             return FALSE;
         }
         // Определим, существует ли объект или он будет создан позже
         if (!($sTmpKey = E::ModuleSession()->GetCookie(ModuleUploader::COOKIE_TARGET_TMP)) && $sTargetId == '0' && $bTmp) {
             E::ModuleMessage()->AddError(E::ModuleLang()->Get('error_upload_image'), E::ModuleLang()->Get('error'));
             return FALSE;
         }
         // Пересохраним файл из кэша
         // Сохраняем фото во временный файл
         $oImg = E::ModuleImg()->Read($sTmpFile);
         $sExtension = strtolower(pathinfo($sTmpFile, PATHINFO_EXTENSION));
         if (!($sTmpFile = $oImg->Save(F::File_UploadUniqname($sExtension)))) {
             E::ModuleMessage()->AddError(E::ModuleLang()->Get('error_upload_image'), E::ModuleLang()->Get('error'));
             return FALSE;
         }
         // Окончательная запись файла только через модуль Uploader
         if ($oStoredFile = E::ModuleUploader()->StoreImage($sTmpFile, $sTarget, $sTargetId, null, true)) {
             /** @var ModuleMresource_EntityMresource $oResource */
             //$oResource = $this->AddUploadedFileRelationInfo($oStoredFile, $sTarget, $sTargetId, TRUE);
             $oResource = E::ModuleMresource()->GetMresourcesByUuid($oStoredFile->getUuid());
             $sFile = $oStoredFile->GetUrl();
             if ($oResource) {
                 $oResource->setType(ModuleMresource::TYPE_PHOTO);
                 E::ModuleMresource()->UpdateType($oResource);
             }
             $sFilePreview = $sFile;
             if ($sSize = F::GetRequest('crop_size', FALSE)) {
                 $sFilePreview = E::ModuleUploader()->ResizeTargetImage($sFile, $sSize);
             }
             // Запускаем хук на действия после загрузки картинки
             E::ModuleHook()->Run('uploader_upload_image_after', array('sFile' => $sFile, 'sFilePreview' => $sFilePreview, 'sTargetId' => $sTargetId, 'sTarget' => $sTarget, 'oTarget' => $oTarget));
             E::ModuleViewer()->AssignAjax('file', $sFilePreview);
             E::ModuleViewer()->AssignAjax('id', $oResource->getMresourceId());
             // Чистим
             E::ModuleImg()->Delete($sTmpFile);
             return TRUE;
         }
     } else {
         // Ошибки загрузки картинки
         $sError = E::ModuleUploader()->GetErrorMsg();
         if (!$sError) {
             $sError = E::ModuleLang()->Get('error_upload_image');
         }
     }
     // Выведем ошибки пользователю
     E::ModuleMessage()->AddError($sError, E::ModuleLang()->Get('error'));
     // Удалим ранее загруженый файл
     F::File_Delete($sTmpFile);
 }
开发者ID:ZeoNish,项目名称:altocms,代码行数:88,代码来源:ActionUploader.class.php

示例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;
 }
开发者ID:ZeoNish,项目名称:altocms,代码行数:26,代码来源:ActionAdmin.class.php

示例5: checkTalkFields

 /**
  * Проверка полей при создании письма
  *
  * @return bool
  */
 protected function checkTalkFields()
 {
     E::ModuleSecurity()->ValidateSendForm();
     $bOk = true;
     // * Проверяем есть ли заголовок
     if (!F::CheckVal(F::GetRequestStr('talk_title'), 'text', 2, 200)) {
         E::ModuleMessage()->AddError(E::ModuleLang()->Get('talk_create_title_error'), E::ModuleLang()->Get('error'));
         $bOk = false;
     }
     // * Проверяем есть ли содержание топика
     $iMin = intval(Config::Get('module.talk.min_length'));
     $iMax = intval(Config::Get('module.talk.max_length'));
     if (!F::CheckVal(F::GetRequestStr('talk_text'), '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'));
         }
         $bOk = false;
     }
     // * Проверяем адресатов
     $sUsers = F::GetRequest('talk_users');
     $aUsers = explode(',', (string) $sUsers);
     $aUsersNew = array();
     $aUserInBlacklist = E::ModuleTalk()->GetBlacklistByTargetId($this->oUserCurrent->getId());
     $this->aUsersId = array();
     foreach ($aUsers as $sUser) {
         $sUser = trim($sUser);
         if ($sUser == '' || strtolower($sUser) == strtolower($this->oUserCurrent->getLogin())) {
             continue;
         }
         if (($oUser = E::ModuleUser()->GetUserByLogin($sUser)) && $oUser->getActivate() == 1) {
             // Проверяем, попал ли отправиль в блек лист
             if (!in_array($oUser->getId(), $aUserInBlacklist)) {
                 $this->aUsersId[] = $oUser->getId();
             } else {
                 E::ModuleMessage()->AddError(str_replace('login', $oUser->getLogin(), E::ModuleLang()->Get('talk_user_in_blacklist', array('login' => htmlspecialchars($oUser->getLogin())))), E::ModuleLang()->Get('error'));
                 $bOk = false;
                 continue;
             }
         } else {
             E::ModuleMessage()->AddError(E::ModuleLang()->Get('talk_create_users_error_not_found') . ' «' . htmlspecialchars($sUser) . '»', E::ModuleLang()->Get('error'));
             $bOk = false;
         }
         $aUsersNew[] = $sUser;
     }
     if (!count($aUsersNew)) {
         E::ModuleMessage()->AddError(E::ModuleLang()->Get('talk_create_users_error'), E::ModuleLang()->Get('error'));
         $_REQUEST['talk_users'] = '';
         $bOk = false;
     } else {
         if (count($aUsersNew) > Config::Get('module.talk.max_users') && !$this->oUserCurrent->isAdministrator()) {
             E::ModuleMessage()->AddError(E::ModuleLang()->Get('talk_create_users_error_many'), E::ModuleLang()->Get('error'));
             $bOk = false;
         }
         $_REQUEST['talk_users'] = join(',', $aUsersNew);
     }
     // * Выполнение хуков
     E::ModuleHook()->Run('check_talk_fields', array('bOk' => &$bOk));
     return $bOk;
 }
开发者ID:ZeoNish,项目名称:altocms,代码行数:66,代码来源:ActionTalk.class.php

示例6: GetUploadedFile

 /**
  * Returns information about the uploaded file with form validation
  * If a field name is omitted it returns the first of uploaded files
  *
  * @param   string|null $sName
  *
  * @return  array|bool
  */
 protected function GetUploadedFile($sName = null)
 {
     $aFiles = $this->_getRequestData('FILES');
     if (E::ModuleSecurity()->ValidateSendForm(false) && !empty($aFiles)) {
         $aFileData = false;
         if (is_null($sName)) {
             $aFileData = reset($aFiles);
         } elseif (!empty($aFiles) && is_array($aFiles)) {
             foreach ($aFiles as $sKey => $aData) {
                 if (strtolower($sKey) === strtolower($sName)) {
                     $aFileData = $aData;
                     break;
                 }
             }
         }
         if ($aFileData && isset($aFileData['tmp_name']) && is_uploaded_file($aFileData['tmp_name'])) {
             return $aFileData;
         }
     }
     return false;
 }
开发者ID:anp135,项目名称:altocms,代码行数:29,代码来源:Action.class.php

示例7: GetUploadedFile

 /**
  * Returns information about the uploaded file with form validation
  * If a field name is omitted it returns the first of uploaded files
  *
  * @param   string|null $sName
  *
  * @return  array|bool
  */
 protected function GetUploadedFile($sName = null)
 {
     $aFiles = $this->_getRequestData('FILES');
     if (E::ModuleSecurity()->ValidateSendForm(false) && !empty($aFiles)) {
         if (is_null($sName)) {
             $aFileData = reset($aFiles);
         } elseif (isset($aFiles[$sName])) {
             $aFileData = $aFiles[$sName];
         } else {
             $aFileData = false;
         }
         if ($aFileData && isset($aFileData['tmp_name']) && is_uploaded_file($aFileData['tmp_name'])) {
             return $aFileData;
         }
     }
     return false;
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:25,代码来源:Action.class.php

示例8: EventExit

 /**
  * Обрабатываем процесс разлогинивания
  *
  */
 protected function EventExit()
 {
     E::ModuleSecurity()->ValidateSendForm();
     E::ModuleUser()->Logout();
     $iShowTime = Config::Val('module.user.logout.show_exit', 3);
     $sRedirect = Config::Get('module.user.logout.redirect');
     if (!$sRedirect) {
         if (isset($_SERVER['HTTP_REFERER']) && F::File_IsLocalUrl($_SERVER['HTTP_REFERER'])) {
             $sRedirect = $_SERVER['HTTP_REFERER'];
         }
     }
     /**
      * issue #104, {@see https://github.com/altocms/altocms/issues/104}
      * Установим в lgp (last_good_page) хэш имени страницы с постфиксом "logout". Такая
      * кука будет означать, что на этой странице пользователь вышел с сайта. Время 60 -
      * заранее достаточное время, что бы произошел редирект на страницу HTTP_REFERER. Если
      * же эта страница выпадет в 404 то в экшене ActionError уйдем на главную, поскольку
      * эта страница недоступна стала после выхода с сайта, а до этого была вполне ничего.
      */
     if ($iShowTime) {
         $sUrl = F::RealUrl($sRedirect);
         $sReferrer = Config::Get('path.root.web') . R::GetAction() . "/" . R::GetActionEvent() . '/?security_key=' . F::GetRequest('security_key', '');
         E::ModuleSession()->SetCookie('lgp', md5($sReferrer . 'logout'), 60);
         E::ModuleViewer()->SetHtmlHeadTag('meta', array('http-equiv' => 'Refresh', 'Content' => $iShowTime . '; url=' . $sUrl));
     } elseif ($sRedirect) {
         // Если установлена пользовтаельская страница выхода, то считаем,
         // что она без ошибки и смело не нее редиректим, в других случаях
         // возможна 404
         if (!Config::Get('module.user.logout.redirect')) {
             E::ModuleSession()->SetCookie('lgp', md5(F::RealUrl($sRedirect) . 'logout'), 60);
         }
         R::Location($sRedirect);
         exit;
     } else {
         // E::ModuleViewer()->Assign('bRefreshToHome', true);
         // Время показа страницы выхода не задано, поэтому просто редирект
         R::Location(Config::Get('path.root.web'));
         exit;
     }
 }
开发者ID:hard990,项目名称:altocms,代码行数:44,代码来源:ActionLogin.class.php

示例9: 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);
//.........这里部分代码省略.........
开发者ID:ZeoNish,项目名称:altocms,代码行数:101,代码来源:ActionSettings.class.php

示例10: checkTopicFields

 /**
  * Проверка полей формы
  *
  * @param $oTopic
  *
  * @return bool
  */
 protected function checkTopicFields($oTopic)
 {
     E::ModuleSecurity()->ValidateSendForm();
     $bOk = true;
     /**
      * Валидируем топик
      */
     if (!$oTopic->_Validate()) {
         E::ModuleMessage()->AddError($oTopic->_getValidateError(), E::ModuleLang()->Get('error'));
         $bOk = false;
     }
     /**
      * Выполнение хуков
      */
     E::ModuleHook()->Run('check_topic_fields', array('bOk' => &$bOk));
     return $bOk;
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:24,代码来源:ActionContent.class.php

示例11: ReturnBack

 /**
  * Возврат к предыдущему URL
  * В отличие от GotoBack() анализирует переданные POST-параметры
  *
  * @param   bool $bSecurity  - защита от CSRF
  */
 public static function ReturnBack($bSecurity = null)
 {
     if (!$bSecurity || E::ModuleSecurity()->ValidateSendForm(false)) {
         if (($sUrl = F::GetPost('return_url')) || ($sUrl = F::GetPost('return-path'))) {
             static::Location($sUrl);
         }
     }
     static::GotoBack();
 }
开发者ID:hard990,项目名称:altocms,代码行数:15,代码来源:Router.class.php

示例12: GetKey

 /**
  * Returns hash-key of current session
  */
 public function GetKey()
 {
     return E::ModuleSecurity()->Salted($this->GetId(), 'sess');
 }
开发者ID:hard990,项目名称:altocms,代码行数:7,代码来源:Session.class.php

示例13: setUserAgentHash

 /**
  * Sets hash of user agent of saved session
  *
  * @param string|null $data
  */
 public function setUserAgentHash($data = null)
 {
     if (is_null($data)) {
         $data = E::ModuleSecurity()->GetUserAgentHash();
     }
     $this->setProp('session_agent_hash', $data);
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:12,代码来源:Session.entity.class.php

示例14: setPassword

 /**
  * Устанавливает пароль
  *
  * @param   string $sPassword
  * @param   bool   $bEncrypt   - false, если пароль уже захеширован
  */
 public function setPassword($sPassword, $bEncrypt = false)
 {
     if ($bEncrypt) {
         $this->_aData['user_password'] = E::ModuleSecurity()->Salted($sPassword, 'pass');
     } else {
         $this->setProp('user_password', $sPassword);
     }
 }
开发者ID:Azany,项目名称:altocms,代码行数:14,代码来源:User.entity.class.php

示例15: EventDeleteBlog

 /**
  * Удаление блога
  *
  */
 protected function EventDeleteBlog()
 {
     E::ModuleSecurity()->ValidateSendForm();
     // * Проверяем передан ли в УРЛе номер блога
     $nBlogId = intval($this->GetParam(0));
     if (!$nBlogId || !($oBlog = E::ModuleBlog()->GetBlogById($nBlogId))) {
         return parent::EventNotFound();
     }
     $this->oCurrentBlog = $oBlog;
     // * Проверям авторизован ли пользователь
     if (!E::ModuleUser()->IsAuthorization()) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('not_access'), E::ModuleLang()->Get('error'));
         return R::Action('error');
     }
     // * проверяем есть ли право на удаление блога
     if (!($nAccess = E::ModuleACL()->IsAllowDeleteBlog($oBlog, $this->oUserCurrent))) {
         return parent::EventNotFound();
     }
     $aTopics = E::ModuleTopic()->GetTopicsByBlogId($nBlogId);
     switch ($nAccess) {
         case ModuleACL::CAN_DELETE_BLOG_EMPTY_ONLY:
             if (is_array($aTopics) && count($aTopics)) {
                 E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('blog_admin_delete_not_empty'), E::ModuleLang()->Get('error'), true);
                 R::Location($oBlog->getUrlFull());
             }
             break;
         case ModuleACL::CAN_DELETE_BLOG_WITH_TOPICS:
             /*
              * Если указан идентификатор блога для перемещения,
              * то делаем попытку переместить топики.
              *
              * (-1) - выбран пункт меню "удалить топики".
              */
             $nNewBlogId = intval(F::GetRequestStr('topic_move_to'));
             if ($nNewBlogId > 0 && is_array($aTopics) && count($aTopics)) {
                 if (!($oBlogNew = E::ModuleBlog()->GetBlogById($nNewBlogId))) {
                     E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('blog_admin_delete_move_error'), E::ModuleLang()->Get('error'), true);
                     R::Location($oBlog->getUrlFull());
                 }
                 // * Если выбранный блог является персональным, возвращаем ошибку
                 if ($oBlogNew->getType() == 'personal') {
                     E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('blog_admin_delete_move_personal'), E::ModuleLang()->Get('error'), true);
                     R::Location($oBlog->getUrlFull());
                 }
                 // * Перемещаем топики
                 E::ModuleTopic()->MoveTopics($nBlogId, $nNewBlogId);
             }
             break;
         default:
             return parent::EventNotFound();
     }
     // * Удаляяем блог и перенаправляем пользователя к списку блогов
     E::ModuleHook()->Run('blog_delete_before', array('sBlogId' => $nBlogId));
     if ($this->_deleteBlog($oBlog)) {
         E::ModuleHook()->Run('blog_delete_after', array('sBlogId' => $nBlogId));
         E::ModuleMessage()->AddNoticeSingle(E::ModuleLang()->Get('blog_admin_delete_success'), E::ModuleLang()->Get('attention'), true);
         R::Location(R::GetPath('blogs'));
     } else {
         R::Location($oBlog->getUrlFull());
     }
 }
开发者ID:anp135,项目名称:altocms,代码行数:65,代码来源:ActionBlog.class.php


注:本文中的E::ModuleSecurity方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。