protected function decodeMsgImpl(DiscussionMsg $msg) { $pointId = $msg->getTemplateData(); $point = UserPointsManager::inst()->getPointById($pointId, $msg->getUserTo()->getId()); $describer = $point->getDescriber(); return new TemplateMessageContent('Вы заработали очки', 'Причина: ' . $describer->title()); }
/** * Метод декодирования шаблонных сообщений * * @return TemplateMessageContent */ public function decodeTemplateMsg(DiscussionMsg $msg) { try { check_condition($msg->isTemplated(), "Сообщение {$msg} не шаблонизировано"); $result = $this->getFoldedEntityByDbCode($msg->getTemplateId())->getClassInst()->decodeMsg($msg); if ($result instanceof TemplateMessageContent) { return $result; } raise_error(is_string($result) && !isEmpty($result) ? $result : 'Шаблонное сообщение обработано некорректно'); } catch (Exception $ex) { return new TemplateMessageError($ex); } }
/** * Построение простой дискуссии - для одного листа. Выполняет основные действия. */ public final function buildDiscussionSimple(DiscussionMsg $leaf) { //Tree js data $treeData[self::JS_DATA_UPDOWN] = true; $treeData[self::JS_DATA_THREAD] = $leaf->getThreadId(); $treeData[self::JS_DATA_UNIQUE] = $this->SETTINGS->getUnique(); $treeData[self::JS_DATA_THEMED] = $this->SETTINGS->isThemed(); $params['tree'] = $this->buildLeaf($leaf, true); $params['data'] = PsHtml::data2string($treeData); return PSSmarty::template('discussion/common/discussion_simple.tpl', $params)->fetch(); }
/** * Основная функция, занимающаяся декодированием дискуссионного сообщения. * * @return TemplateMessageContent */ public final function decodeMsg(DiscussionMsg $msg) { check_condition($msg->getTemplateId() === $this->getFoldedEntity()->getDbCode(), "Класс {$this} не может декодировать {$msg}"); return $this->decodeMsgImpl($msg); }
protected function decodeMsgImpl(DiscussionMsg $msg) { return new TemplateMessageContent('Спасибо, что Вы с нами', 'Уважаемый пользователь <b>' . $msg->getUserTo()->getName() . '</b>, мы очень рады, что Вы зарегистрировалиль на нашем сайте. Ура!:)'); }
/** * Метод подтверждения сообщения */ public function confirmMsg(DiscussionMsg $msg) { if (!$msg->isConfirmed()) { $this->update("update {$this->table} set b_confirmed=1 where {$this->idColumn}=?", $msg->getId()); $msg->b_confirmed = 1; } }
protected function decodeMsgImpl(DiscussionMsg $msg) { return new TemplateMessageContent($msg->getTheme(), $msg->getContent()); }
public function addChild(DiscussionMsg $msg) { check_condition(!array_key_exists($msg->getId(), $this->childs), 'Cicle!'); $this->childs[$msg->getId()] = $msg; }