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


PHP F::Now方法代码示例

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


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

示例1: AddTargetRel

 /**
  * @param ModuleMresource_EntityMresource $oMresource
  *
  * @return bool
  */
 public function AddTargetRel($oMresource)
 {
     $aParams = array(':id' => $oMresource->GetMresourceId(), ':target_type' => $oMresource->GetTargetType(), ':target_id' => $oMresource->GetTargetId(), ':date_add' => F::Now(), ':description' => $oMresource->GetDescription(), ':target_tmp' => $oMresource->GetTargetTmp(), ':incount' => $oMresource->GetIncount() ? $oMresource->GetIncount() : 1);
     $sql = "\n            SELECT mresource_id\n            FROM ?_mresource_target\n            WHERE\n                target_type = ?:target_type\n                AND target_id = ?d:target_id\n                AND mresource_id = ?d:id\n            LIMIT 1\n        ";
     if ($iId = $this->oDb->sqlSelectCell($sql, $aParams)) {
         $sql = "\n                UPDATE ?_mresource_target\n                SET incount=incount+?d:incount\n                WHERE mresource_id = ?d:id\n            ";
         if ($this->oDb->sqlQuery($sql, $aParams)) {
             return $iId;
         }
     } else {
         $sql = "\n                INSERT INTO ?_mresource_target\n                (\n                    mresource_id,\n                    target_type,\n                    target_id,\n                    date_add,\n                    description,\n                    target_tmp,\n                    incount\n                )\n                VALUES (\n                    ?d:id,\n                    ?:target_type,\n                    ?d:target_id,\n                    ?:date_add,\n                    ?:description,\n                    ?:target_tmp,\n                    ?d:incount\n                )\n            ";
         if ($iId = $this->oDb->sqlQuery($sql, $aParams)) {
             return $iId ? $iId : false;
         }
     }
     return false;
 }
开发者ID:anp135,项目名称:altocms,代码行数:22,代码来源:Mresource.mapper.class.php

示例2: AddWall

 /**
  * Добавление записи на стену
  *
  * @param ModuleWall_EntityWall $oWall    Объект записи на стене
  *
  * @return bool|ModuleWall_EntityWall
  */
 public function AddWall($oWall)
 {
     if (!$oWall->getDateAdd()) {
         $oWall->setDateAdd(F::Now());
     }
     if (!$oWall->getIp()) {
         $oWall->setIp(F::GetUserIp());
     }
     if ($iId = $this->oMapper->AddWall($oWall)) {
         $oWall->setId($iId);
         /**
          * Обновляем данные у родительской записи
          */
         if ($oPidWall = $oWall->GetPidWall()) {
             $this->UpdatePidWall($oPidWall);
         }
         return $oWall;
     }
     return false;
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:27,代码来源:Wall.class.php

示例3: EventUnsubscribe

 /**
  * Отписка от подписки
  */
 protected function EventUnsubscribe()
 {
     /**
      * Получаем подписку по ключу
      */
     $oSubscribe = E::ModuleSubscribe()->GetSubscribeByKey($this->getParam(0));
     if ($oSubscribe && $oSubscribe->getStatus() == 1) {
         /**
          * Отписываем пользователя
          */
         $oSubscribe->setStatus(0);
         $oSubscribe->setDateRemove(F::Now());
         E::ModuleSubscribe()->UpdateSubscribe($oSubscribe);
         E::ModuleMessage()->AddNotice(E::ModuleLang()->Get('subscribe_change_ok'), null, true);
     }
     /**
      * Получаем URL для редиректа
      */
     if (!($sUrl = E::ModuleSubscribe()->GetUrlTarget($oSubscribe->getTargetType(), $oSubscribe->getTargetId()))) {
         $sUrl = R::GetPath('index');
     }
     R::Location($sUrl);
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:26,代码来源:ActionSubscribe.class.php

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

示例5: EventPreviewTopic

 /**
  * Предпросмотр топика
  *
  */
 protected function EventPreviewTopic()
 {
     /**
      * Т.к. используется обработка отправки формы, то устанавливаем тип ответа 'jsonIframe' (тот же JSON только обернутый в textarea)
      * Это позволяет избежать ошибок в некоторых браузерах, например, Opera
      */
     E::ModuleViewer()->SetResponseAjax(F::AjaxRequest(true) ? 'json' : 'jsonIframe', false);
     // * Пользователь авторизован?
     if (!$this->oUserCurrent) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('need_authorization'), E::ModuleLang()->Get('error'));
         return;
     }
     // * Допустимый тип топика?
     if (!E::ModuleTopic()->IsAllowTopicType($sType = F::GetRequestStr('topic_type'))) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('topic_create_type_error'), E::ModuleLang()->Get('error'));
         return;
     }
     // * Создаем объект топика для валидации данных
     $oTopic = E::GetEntity('ModuleTopic_EntityTopic');
     $oTopic->_setValidateScenario($sType);
     // зависит от типа топика
     $oTopic->setTitle(strip_tags(F::GetRequestStr('topic_title')));
     $oTopic->setTextSource(F::GetRequestStr('topic_text'));
     $aTags = F::GetRequestStr('topic_field_tags');
     if (!$aTags) {
         // LS compatibility
         $aTags = F::GetRequestStr('topic_tags');
     }
     $oTopic->setTags($aTags);
     $oTopic->setDateAdd(F::Now());
     $oTopic->setUserId($this->oUserCurrent->getId());
     $oTopic->setType($sType);
     $oTopic->setBlogId(F::GetRequestStr('blog_id'));
     $oTopic->setPublish(1);
     // * Валидируем необходимые поля топика
     $oTopic->_Validate(array('topic_title', 'topic_text', 'topic_tags', 'topic_type'), false);
     if ($oTopic->_hasValidateErrors()) {
         E::ModuleMessage()->AddErrorSingle($oTopic->_getValidateError());
         return false;
     }
     // * Формируем текст топика
     list($sTextShort, $sTextNew, $sTextCut) = E::ModuleText()->Cut($oTopic->getTextSource());
     $oTopic->setCutText($sTextCut);
     $oTopic->setText(E::ModuleText()->Parse($sTextNew));
     $oTopic->setTextShort(E::ModuleText()->Parse($sTextShort));
     // * Готовим дополнительные поля, кроме файлов
     if ($oType = $oTopic->getContentType()) {
         //получаем поля для данного типа
         if ($aFields = $oType->getFields()) {
             $aValues = array();
             // вставляем поля, если они прописаны для топика
             foreach ($aFields as $oField) {
                 if (isset($_REQUEST['fields'][$oField->getFieldId()])) {
                     $sText = null;
                     //текстовые поля
                     if (in_array($oField->getFieldType(), array('input', 'textarea', 'select'))) {
                         $sText = E::ModuleText()->Parse($_REQUEST['fields'][$oField->getFieldId()]);
                     }
                     //поле ссылки
                     if ($oField->getFieldType() == 'link') {
                         $sText = $_REQUEST['fields'][$oField->getFieldId()];
                     }
                     //поле даты
                     if ($oField->getFieldType() == 'date') {
                         if (isset($_REQUEST['fields'][$oField->getFieldId()])) {
                             if (F::CheckVal($_REQUEST['fields'][$oField->getFieldId()], 'text', 6, 10) && substr_count($_REQUEST['fields'][$oField->getFieldId()], '.') == 2) {
                                 list($d, $m, $y) = explode('.', $_REQUEST['fields'][$oField->getFieldId()]);
                                 if (@checkdate($m, $d, $y)) {
                                     $sText = $_REQUEST['fields'][$oField->getFieldId()];
                                 }
                             }
                         }
                     }
                     if ($sText) {
                         $oValue = E::GetEntity('Topic_ContentValues');
                         $oValue->setFieldId($oField->getFieldId());
                         $oValue->setFieldType($oField->getFieldType());
                         $oValue->setValue($sText);
                         $oValue->setValueSource($_REQUEST['fields'][$oField->getFieldId()]);
                         $aValues[$oField->getFieldId()] = $oValue;
                     }
                 }
             }
             $oTopic->setTopicValues($aValues);
         }
     }
     // * Рендерим шаблон для предпросмотра топика
     $oViewer = E::ModuleViewer()->GetLocalViewer();
     $oViewer->Assign('oTopic', $oTopic);
     $oViewer->Assign('bPreview', true);
     // Alto-style template
     $sTemplate = 'topics/topic.show.tpl';
     if (!E::ModuleViewer()->TemplateExists($sTemplate)) {
         // LS-style template
         $sTemplate = "topic_preview_{$oTopic->getType()}.tpl";
         if (!E::ModuleViewer()->TemplateExists($sTemplate)) {
//.........这里部分代码省略.........
开发者ID:anp135,项目名称:altocms,代码行数:101,代码来源:ActionAjax.class.php

示例6: buildFilter

 /**
  * Строит строку условий для SQL запроса топиков
  *
  * @param array $aFilter    Фильтр
  *
  * @return string
  */
 protected function buildFilter($aFilter)
 {
     $sWhere = '';
     if (isset($aFilter['topic_date_more'])) {
         $sWhere .= " AND ((t.topic_date_show IS NOT NULL AND t.topic_date_show >  " . $this->oDb->escape($aFilter['topic_date_more']) . ")";
         $sWhere .= " OR (t.topic_date_show IS NULL AND t.topic_date_add >  " . $this->oDb->escape($aFilter['topic_date_more']) . "))";
     }
     if (isset($aFilter['topic_publish'])) {
         $sWhere .= " AND (t.topic_publish =  " . ($aFilter['topic_publish'] ? 1 : 0) . ")";
         $sWhere .= " AND (t.topic_date_show IS NULL OR t.topic_date_show <= '" . F::Now() . "')";
     }
     if (isset($aFilter['topic_index_ignore'])) {
         $sWhere .= " AND (";
         $sWhere .= "t.topic_index_ignore=" . ($aFilter['topic_index_ignore'] ? 1 : 0);
         if (!$aFilter['topic_index_ignore']) {
             $sWhere .= " OR t.topic_index_ignore IS NULL";
         }
         $sWhere .= ") ";
     }
     if (isset($aFilter['topic_rating']) && is_array($aFilter['topic_rating'])) {
         $sPublishIndex = '';
         if (isset($aFilter['topic_rating']['publish_index']) && $aFilter['topic_rating']['publish_index'] == 1) {
             $sPublishIndex = " OR topic_publish_index=1 ";
         }
         if ($aFilter['topic_rating']['type'] == 'top') {
             $sWhere .= " AND ( t.topic_rating >= " . (double) $aFilter['topic_rating']['value'] . " {$sPublishIndex} ) ";
         } else {
             $sWhere .= " AND ( t.topic_rating < " . (double) $aFilter['topic_rating']['value'] . "  ) ";
         }
     }
     if (isset($aFilter['topic_new'])) {
         $sWhere .= " AND (";
         $sWhere .= "(t.topic_date_show IS NOT NULL AND t.topic_date_show >=  '" . $aFilter['topic_new'] . "' AND t.topic_date_show <='" . F::Now() . "')";
         $sWhere .= " OR (t.topic_date_show IS NULL AND t.topic_date_add >=  '" . $aFilter['topic_new'] . "')";
         $sWhere .= ")";
     }
     if (isset($aFilter['user_id'])) {
         $sWhere .= is_array($aFilter['user_id']) ? " AND t.user_id IN(" . implode(', ', $aFilter['user_id']) . ")" : " AND t.user_id =  " . (int) $aFilter['user_id'];
     }
     if (isset($aFilter['blog_id'])) {
         if (!is_array($aFilter['blog_id'])) {
             $aFilter['blog_id'] = array($aFilter['blog_id']);
         }
         $sWhere .= " AND t.blog_id IN ('" . join("','", $aFilter['blog_id']) . "')";
     }
     if (isset($aFilter['topic_id']) && is_array($aFilter['topic_id'])) {
         $sWhere .= " AND t.topic_id IN ('" . join("','", $aFilter['topic_id']) . "')";
     }
     if (isset($aFilter['blog_type']) && is_array($aFilter['blog_type'])) {
         $aBlogTypes = array();
         $aOrClauses = array();
         $aFilter['blog_type'] = F::Array_FlipIntKeys($aFilter['blog_type'], 0);
         foreach ($aFilter['blog_type'] as $sType => $aBlogsId) {
             if ($aBlogsId) {
                 // 'type'=>array('id1', 'id2') - blog type & blogs id
                 if ($sType == '*') {
                     $aOrClauses[] = "(t.blog_id IN ('" . join("','", $aBlogsId) . "'))";
                 } else {
                     $aOrClauses[] = "b.blog_type='" . $sType . "' AND t.blog_id IN ('" . join("','", $aBlogsId) . "')";
                 }
             } else {
                 // blog type only
                 $aBlogTypes[] = "'" . $sType . "'";
             }
         }
         if ($aBlogTypes) {
             $aOrClauses[] = '(b.blog_type IN (' . join(',', $aBlogTypes) . '))';
         }
         if ($aOrClauses) {
             $sWhere .= ' AND (' . join(' OR ', $aOrClauses) . ')';
         }
     }
     if (isset($aFilter['blog_type_exclude']) && is_array($aFilter['blog_type_exclude'])) {
         $sWhere .= " AND (b.blog_type NOT IN ('" . join("','", $aFilter['blog_type_exclude']) . "'))";
     }
     if (isset($aFilter['topic_type'])) {
         if (!is_array($aFilter['topic_type'])) {
             $aFilter['topic_type'] = array($aFilter['topic_type']);
         }
         $sWhere .= " AND t.topic_type IN (" . join(",", array_map(array($this->oDb, 'escape'), $aFilter['topic_type'])) . ")";
     }
     return $sWhere;
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:90,代码来源:Topic.mapper.class.php

示例7: ReadFeed

 /**
  * Получить ленту топиков по подписке
  *
  * @param array $aUserSubscribes Список подписок пользователя
  * @param int   $iCount          Число получаемых записей (если null, из конфига)
  * @param int   $iFromId         Получить записи, начиная с указанной
  * @param array $aFilter         Дополнительные фильтры
  *
  * @return array
  */
 public function ReadFeed($aUserSubscribes, $iCount, $iFromId, $aFilter)
 {
     $sql = "\n\t\t\t\tSELECT\n\t\t\t\t\tt.topic_id\n\t\t\t\tFROM\n\t\t\t\t\t?_topic as t,\n\t\t\t\t\t?_blog as b\n\t\t\t\tWHERE\n\t\t\t\t\tt.topic_publish = 1\n\t\t\t\t\tAND (t.topic_date_show IS NULL OR t.topic_date_show <= ?)\n\t\t\t\t\tAND t.blog_id=b.blog_id\n\t\t\t\t\t{ AND b.blog_type=? }\n\t\t\t\t\t{ AND b.blog_type IN (?a) }\n\t\t\t\t\t{ AND b.blog_type!=? }\n\t\t\t\t\t{ AND b.blog_type NOT IN (?a) }\n\t\t\t\t\t{ AND t.topic_id < ?d }\n\t\t\t\t\tAND ( 1=0 { OR t.blog_id IN (?a) } { OR t.user_id IN (?a) } )\n                ORDER BY t.topic_id DESC\n                { LIMIT 0, ?d }";
     $aTopics = $aTopics = $this->oDb->selectCol($sql, F::Now(), isset($aFilter['include_types']) && !is_array($aFilter['include_types']) ? $aFilter['include_types'] : DBSIMPLE_SKIP, isset($aFilter['include_types']) && is_array($aFilter['include_types']) ? $aFilter['include_types'] : DBSIMPLE_SKIP, isset($aFilter['exclude_types']) && !is_array($aFilter['exclude_types']) ? $aFilter['exclude_types'] : DBSIMPLE_SKIP, isset($aFilter['exclude_types']) && is_array($aFilter['exclude_types']) ? $aFilter['exclude_types'] : DBSIMPLE_SKIP, $iFromId ? $iFromId : DBSIMPLE_SKIP, count($aUserSubscribes['blogs']) ? $aUserSubscribes['blogs'] : DBSIMPLE_SKIP, count($aUserSubscribes['users']) ? $aUserSubscribes['users'] : DBSIMPLE_SKIP, $iCount ? $iCount : DBSIMPLE_SKIP);
     return $aTopics;
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:16,代码来源:Userfeed.mapper.class.php

示例8: _eventRecoverySend

 protected function _eventRecoverySend($sRecoveryCode)
 {
     /** @var ModuleUser_EntityReminder $oReminder */
     if ($oReminder = E::ModuleUser()->GetReminderByCode($sRecoveryCode)) {
         /** @var ModuleUser_EntityUser $oUser */
         if ($oReminder->IsValid() && ($oUser = E::ModuleUser()->GetUserById($oReminder->getUserId()))) {
             $sNewPassword = F::RandomStr(7);
             $oUser->setPassword($sNewPassword, true);
             if (E::ModuleUser()->Update($oUser)) {
                 // Do logout of current user
                 E::ModuleUser()->Logout();
                 // Close all sessions of this user
                 E::ModuleUser()->CloseAllSessions($oUser);
                 $oReminder->setDateUsed(F::Now());
                 $oReminder->setIsUsed(1);
                 E::ModuleUser()->UpdateReminder($oReminder);
                 E::ModuleNotify()->SendReminderPassword($oUser, $sNewPassword);
                 $this->SetTemplateAction('reminder_confirm');
                 if (($sUrl = F::GetPost('return_url')) || ($sUrl = F::GetPost('return-path'))) {
                     E::ModuleViewer()->Assign('return-path', $sUrl);
                 }
                 return true;
             }
         }
     }
     return false;
 }
开发者ID:hard990,项目名称:altocms,代码行数:27,代码来源: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: Send

 /**
  * Универсальный метод отправки уведомлений на email
  *
  * @param ModuleUser_EntityUser|string $xUserTo     Кому отправляем (пользователь или email)
  * @param string                       $sTemplate   Шаблон для отправки
  * @param string                       $sSubject    Тема письма
  * @param array                        $aAssign     Ассоциативный массив для загрузки переменных в шаблон письма
  * @param string|null                  $sPluginName Плагин из которого происходит отправка
  * @param bool                         $bForceSend  Отправлять сразу, даже при опции module.notify.delayed = true
  *
  * @return bool
  */
 public function Send($xUserTo, $sTemplate, $sSubject, $aAssign = array(), $sPluginName = null, $bForceSend = false)
 {
     if ($xUserTo instanceof ModuleUser_EntityUser) {
         $sMail = $xUserTo->getMail();
         $sName = $xUserTo->getLogin();
     } else {
         $sMail = $xUserTo;
         $sName = '';
     }
     /**
      * Передаём в шаблон переменные
      */
     foreach ($aAssign as $sVarName => $sValue) {
         $this->oViewerLocal->Assign($sVarName, $sValue);
     }
     /**
      * Формируем шаблон
      */
     $sTemplate = $this->sPrefix . $sTemplate;
     $sBody = $this->oViewerLocal->Fetch($this->GetTemplatePath($sTemplate, $sPluginName));
     /**
      * Если в конфигураторе указан отложенный метод отправки,
      * то добавляем задание в массив. В противном случае,
      * сразу отсылаем на email
      */
     if (Config::Get('module.notify.delayed') && !$bForceSend) {
         $oNotifyTask = E::GetEntity('Notify_Task', array('user_mail' => $sMail, 'user_login' => $sName, 'notify_text' => $sBody, 'notify_subject' => $sSubject, 'date_created' => F::Now(), 'notify_task_status' => self::NOTIFY_TASK_STATUS_NULL));
         if (Config::Get('module.notify.insert_single')) {
             $this->aTask[] = $oNotifyTask;
             $bResult = true;
         } else {
             $bResult = $this->oMapper->AddTask($oNotifyTask);
         }
     } else {
         // * Отправляем e-mail
         E::ModuleMail()->SetAdress($sMail, $sName);
         E::ModuleMail()->SetSubject($sSubject);
         E::ModuleMail()->SetBody($sBody);
         E::ModuleMail()->SetHTML();
         $bResult = E::ModuleMail()->Send();
     }
     return $bResult;
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:55,代码来源:Notify.class.php

示例11: SubmitEdit

 /**
  * Обработка редактирования топика
  *
  * @param ModuleTopic_EntityTopic $oTopic
  *
  * @return mixed
  */
 protected function SubmitEdit($oTopic)
 {
     $oTopic->_setValidateScenario('topic');
     // * Сохраняем старое значение идентификатора блога
     $iBlogIdOld = $oTopic->getBlogId();
     // * Заполняем поля для валидации
     $iBlogId = F::GetRequestStr('blog_id');
     // if blog_id is empty then save blog not changed
     if (is_numeric($iBlogId)) {
         $oTopic->setBlogId($iBlogId);
     }
     // issue 151 (https://github.com/altocms/altocms/issues/151)
     // Некорректная обработка названия блога
     // $oTopic->setTitle(strip_tags(F::GetRequestStr('topic_title')));
     $oTopic->setTitle(E::ModuleTools()->RemoveAllTags(F::GetRequestStr('topic_title')));
     $oTopic->setTextSource(F::GetRequestStr('topic_text'));
     if ($this->oContentType->isAllow('link')) {
         $oTopic->setSourceLink(F::GetRequestStr('topic_field_link'));
     }
     $oTopic->setTags(F::GetRequestStr('topic_field_tags'));
     $oTopic->setUserIp(F::GetUserIp());
     if ($this->oUserCurrent && ($this->oUserCurrent->isAdministrator() || $this->oUserCurrent->isModerator())) {
         if (F::GetRequestStr('topic_url') && $oTopic->getTopicUrl() != F::GetRequestStr('topic_url')) {
             $sTopicUrl = E::ModuleTopic()->CorrectTopicUrl(F::TranslitUrl(F::GetRequestStr('topic_url')));
             $oTopic->setTopicUrl($sTopicUrl);
         }
     }
     // * Проверка корректности полей формы
     if (!$this->checkTopicFields($oTopic)) {
         return false;
     }
     // * Определяем в какой блог делаем запись
     $nBlogId = $oTopic->getBlogId();
     if ($nBlogId == 0) {
         $oBlog = E::ModuleBlog()->GetPersonalBlogByUserId($oTopic->getUserId());
     } else {
         $oBlog = E::ModuleBlog()->GetBlogById($nBlogId);
     }
     // * Если блог не определен выдаем предупреждение
     if (!$oBlog) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('topic_create_blog_error_unknown'), E::ModuleLang()->Get('error'));
         return false;
     }
     // * Проверяем права на постинг в блог
     if (!E::ModuleACL()->IsAllowBlog($oBlog, $this->oUserCurrent)) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('topic_create_blog_error_noallow'), E::ModuleLang()->Get('error'));
         return false;
     }
     // * Проверяем разрешено ли постить топик по времени
     if (isPost('submit_topic_publish') && !$oTopic->getPublishDraft() && !E::ModuleACL()->CanPostTopicTime($this->oUserCurrent)) {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('topic_time_limit'), E::ModuleLang()->Get('error'));
         return;
     }
     $oTopic->setBlogId($oBlog->getId());
     // * Получаемый и устанавливаем разрезанный текст по тегу <cut>
     list($sTextShort, $sTextNew, $sTextCut) = E::ModuleText()->Cut($oTopic->getTextSource());
     $oTopic->setCutText($sTextCut);
     $oTopic->setText(E::ModuleText()->Parser($sTextNew));
     // Получаем ссылки, полученные при парсинге текста
     $oTopic->setTextLinks(E::ModuleText()->GetLinks());
     $oTopic->setTextShort(E::ModuleText()->Parser($sTextShort));
     // * Изменяем вопрос/ответы, только если еще никто не голосовал
     if ($this->oContentType->isAllow('poll') && F::GetRequestStr('topic_field_question') && F::GetRequest('topic_field_answers', array()) && $oTopic->getQuestionCountVote() == 0) {
         $oTopic->setQuestionTitle(strip_tags(F::GetRequestStr('topic_field_question')));
         $oTopic->clearQuestionAnswer();
         $aAnswers = F::GetRequest('topic_field_answers', array());
         foreach ($aAnswers as $sAnswer) {
             $sAnswer = trim((string) $sAnswer);
             if ($sAnswer) {
                 $oTopic->addQuestionAnswer($sAnswer);
             }
         }
     }
     $aPhotoSetData = E::ModuleMresource()->GetPhotosetData('photoset', $oTopic->getId());
     $oTopic->setPhotosetCount($aPhotoSetData['count']);
     $oTopic->setPhotosetMainPhotoId($aPhotoSetData['cover']);
     // * Publish or save as a draft
     $bSendNotify = false;
     if (isset($_REQUEST['submit_topic_publish'])) {
         // If the topic has not been published then sets date of show (publication date)
         if (!$oTopic->getPublish() && !$oTopic->getDateShow()) {
             $oTopic->setDateShow(F::Now());
         }
         $oTopic->setPublish(1);
         if ($oTopic->getPublishDraft() == 0) {
             $oTopic->setPublishDraft(1);
             $oTopic->setDateAdd(F::Now());
             $bSendNotify = true;
         }
     } else {
         $oTopic->setPublish(0);
     }
     // * Принудительный вывод на главную
//.........这里部分代码省略.........
开发者ID:AntiqS,项目名称:altocms,代码行数:101,代码来源:ActionContent.class.php

示例12: SetBanIp

 /**
  * Ban range of IPs
  *
  * @param string $sIp1
  * @param string $sIp2
  * @param string $sDate
  * @param bool   $bUnlim
  * @param string $sComment
  *
  * @return bool
  */
 public function SetBanIp($sIp1, $sIp2, $sDate, $bUnlim, $sComment)
 {
     $sql = "\n            INSERT INTO ?_adminips\n                (\n                    ip1,\n                    ip2,\n                    bandate,\n                    banline,\n                    banunlim,\n                    bancomment,\n                    banactive\n                )\n                VALUES (\n                    INET_ATON(?:ip1),\n                    INET_ATON(?:ip2),\n                    ?:bandate,\n                    ?:banline,\n                    ?:banunlim,\n                    ?:bancomment,\n                    ?:banactive\n                )\n                    ";
     $nId = $this->oDb->sqlQuery($sql, array(':ip1' => $sIp1, ':ip2' => $sIp2, ':bandate' => F::Now(), ':banline' => $sDate, ':banunlim' => $bUnlim ? 1 : 0, ':bancomment' => $sComment, ':banactive' => 1));
     return $nId ? $nId : false;
 }
开发者ID:hard990,项目名称:altocms,代码行数:17,代码来源:Admin.mapper.class.php

示例13: AddComment

 /**
  * Добавляет коммент
  *
  * @param  ModuleComment_EntityComment $oComment    Объект комментария
  *
  * @return bool|ModuleComment_EntityComment
  */
 public function AddComment(ModuleComment_EntityComment $oComment)
 {
     if (Config::Get('module.comment.use_nested')) {
         $nId = $this->oMapper->AddCommentTree($oComment);
         E::ModuleCache()->CleanByTags(array("comment_update"));
     } else {
         $nId = $this->oMapper->AddComment($oComment);
     }
     if ($nId) {
         if ($oComment->getTargetType() == 'topic') {
             E::ModuleTopic()->RecalcCountOfComments($oComment->getTargetId());
         }
         // Освежим хранилище картинок
         E::ModuleMresource()->CheckTargetTextForImages($oComment->getTargetType() . '_comment', $nId, $oComment->getText());
         // * Сохраняем дату последнего коммента для юзера
         E::User()->setDateCommentLast(F::Now());
         E::ModuleUser()->Update(E::User());
         // чистим зависимые кеши
         E::ModuleCache()->CleanByTags(array("comment_new", "comment_new_{$oComment->getTargetType()}", "comment_new_user_{$oComment->getUserId()}_{$oComment->getTargetType()}", "comment_new_{$oComment->getTargetType()}_{$oComment->getTargetId()}"));
         $oComment->setId($nId);
         return $oComment;
     }
     return false;
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:31,代码来源:Comment.class.php

示例14: UpdateComment

 /**
  * Обновляет коммент
  *
  * @param  ModuleComment_EntityComment $oComment    Объект комментария
  *
  * @return bool
  */
 public function UpdateComment(ModuleComment_EntityComment $oComment)
 {
     $sql = "UPDATE ?_comment\n\t\t\tSET \n\t\t\t\tcomment_text= ?,\n\t\t\t\tcomment_rating= ?f,\n\t\t\t\tcomment_count_vote= ?d,\n\t\t\t\tcomment_count_favourite= ?d,\n\t\t\t\tcomment_delete = ?d ,\n\t\t\t\tcomment_publish = ?d ,\n\t\t\t\tcomment_date_edit = CASE comment_text_hash WHEN ? THEN comment_date_edit ELSE ? END,\n\t\t\t\tcomment_text_hash = ?\n\t\t\tWHERE\n\t\t\t\tcomment_id = ?d\n\t\t";
     $bResult = $this->oDb->query($sql, $oComment->getText(), $oComment->getRating(), $oComment->getCountVote(), $oComment->getCountFavourite(), $oComment->getDelete(), $oComment->getPublish(), $oComment->getTextHash(), F::Now(), $oComment->getTextHash(), $oComment->getId());
     return $bResult !== false;
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:13,代码来源:Comment.mapper.class.php

示例15: EventAjaxUserAdd

 public function EventAjaxUserAdd()
 {
     E::ModuleViewer()->SetResponseAjax('json');
     if ($this->IsPost()) {
         Config::Set('module.user.captcha_use_registration', false);
         $oUser = E::GetEntity('ModuleUser_EntityUser');
         $oUser->_setValidateScenario('registration');
         // * Заполняем поля (данные)
         $oUser->setLogin($this->GetPost('user_login'));
         $oUser->setMail($this->GetPost('user_mail'));
         $oUser->setPassword($this->GetPost('user_password'));
         $oUser->setPasswordConfirm($this->GetPost('user_password'));
         $oUser->setDateRegister(F::Now());
         $oUser->setIpRegister('');
         $oUser->setActivate(1);
         if ($oUser->_Validate()) {
             E::ModuleHook()->Run('registration_validate_after', array('oUser' => $oUser));
             $oUser->setPassword($oUser->getPassword(), true);
             if (E::ModuleUser()->Add($oUser)) {
                 E::ModuleHook()->Run('registration_after', array('oUser' => $oUser));
                 // Подписываем пользователя на дефолтные события в ленте активности
                 E::ModuleStream()->SwitchUserEventDefaultTypes($oUser->getId());
                 if ($this->IsPost('user_setadmin')) {
                     E::ModuleAdmin()->SetAdministrator($oUser->GetId());
                 }
             }
             E::ModuleMessage()->AddNoticeSingle(E::ModuleLang()->Get('registration_ok'));
         } else {
             E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('error'));
             E::ModuleViewer()->AssignAjax('aErrors', $oUser->_getValidateErrors());
         }
     } else {
         E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('system_error'));
     }
 }
开发者ID:ZeoNish,项目名称:altocms,代码行数:35,代码来源:ActionAdmin.class.php


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