Exemple #1
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;
 }