/**
  * Построение простой дискуссии - для одного листа. Выполняет основные действия.
  */
 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();
 }
Exemple #2
0
 /**
  * ===========
  * = ФЕТЧИНГ =
  * ===========
  * 
  * Основной метод фетчинга формы. На вход можно передать hidden-поля.
  */
 private function fetchImpl(array $HIDDENS = null)
 {
     //HIDDEN PARAMS
     //1. Переданные извне
     $HIDDENS = to_array($HIDDENS);
     //2. Установленные
     $HIDDENS = array_merge($HIDDENS, $this->hiddens);
     //3. Код формы
     $HIDDENS[FORM_PARAM_ID] = $this->ident;
     //SMARTY PARAMS
     $SMARTY['form_id'] = $this->ident;
     $SMARTY['hiddens'] = $HIDDENS;
     $SMARTY['ajax_url'] = 'ajax/FormProcess.php';
     $SMARTY['html_hiddens'] = PsHtml::hiddens($HIDDENS);
     //HTML - hidden поля
     $SMARTY['html_buttons'] = ($this->isAddCapture() ? PsHtmlForm::capture() : '') . PsHtmlForm::submit($this->buttonsAllowed, $this->CAN_RESET);
     //HTML - submit buttons
     $SMARTY = array_merge($SMARTY, $this->smartyParams);
     //DO FETCH
     $content = $this->getFoldedEntity()->fetchTpl($SMARTY);
     //К шаблону формы добавим js-data
     $data = array();
     if ($this->isCheckActivity()) {
         $data['timer'] = 1;
     }
     if ($this instanceof BaseSearchForm) {
         $data['search'] = 1;
     }
     $data = PsHtml::data2string($data);
     if ($data) {
         $content = str_replace_first('<form', "<form {$data}", $content);
     }
     $content = $this->getFoldedEntity()->getResourcesLinks($content);
     return $content;
 }