Example #1
0
 /**
  * Find data from the text tables.
  *
  * @param int $elemId The text id to find and get its data
  * @param int $langId The language id
  *
  * @return array $textList
  */
 protected function _selectTexts()
 {
     $oText = new FormText();
     $oTxtType = new FormTextIndex();
     $select = $oText->select()->setIntegrityCheck(false)->from(array('FT' => $oText->getName()))->joinInner(array('FTI' => $oTxtType->info('name')), 'FTI_FormTextId = FT_ID', 'FTI_Text')->where('FT_ElementID = ?', $this->_elementId);
     if ($this->_langId != null) {
         $select->where($this->_indexLanguageId . ' = ?', $this->_langId);
     }
     $txtList = $oText->fetchRow($select)->toArray();
     return $txtList;
 }
 public function __toString()
 {
     $html = trim(parent::__toString());
     if (!$this->readonly) {
         $html .= $this->value() . '</' . $this->tag_name . '>';
     }
     return $html;
 }
 public function value()
 {
     if (func_num_args() == 1) {
         $v = (int) func_get_arg(0);
         parent::value($v);
     } else {
         return parent::value();
     }
 }
 /**
  *
  */
 public function signoff($content = true)
 {
     if ($content === true) {
         $content = date('Y-m-d');
     }
     $this->title = new HTMLAttribute($content);
     // we have no use for $this->value() in this context
     parent::value($content);
     $this->disabled = true;
 }
 public function __construct($args = array())
 {
     $args = PSU::params($args);
     if (!isset($args['size'])) {
         $args['size'] = 20;
     }
     if (!isset($args['maxlength'])) {
         $args['maxlength'] = 90;
     }
     parent::__construct($args);
 }
 public function value()
 {
     if (func_num_args() == 1) {
         $v = func_get_arg(0);
         if ($v === '' || $v === null) {
             // these values shouldn't be typecast, they'll turn into zeroes
             $v = null;
         } else {
             // any substantial value should be cast
             $v = (int) $v;
         }
         parent::value($v);
     } else {
         return parent::value();
     }
 }
 public function value()
 {
     if (func_num_args() == 1) {
         $v = func_get_arg(0);
         // ctype_digit will fail on timestamps in the past, so typecast here
         if (substr($v, 0, 1) == '-' && ctype_digit(substr($v, 1))) {
             $v = (int) $v;
         }
         if (is_int($v) || ctype_digit($v)) {
             $v = strftime('%m/%d/%Y', (int) $v);
         }
         // unset default field value
         if ($v == 'MM/DD/YYYY') {
             $v = '';
         }
         parent::value($v);
     } else {
         return parent::value();
     }
 }
Example #8
0
 public function Load($ff, $addendum, $signal)
 {
     if (!isfile($ff, 'forms/')) {
         return;
     }
     $file = file_get_contents('forms/' . $ff);
     $data = new HDataStream($file);
     $data = $data->toArray();
     $settings = array();
     $settings['insert'] = array();
     $settings['hidden'] = array();
     $settings['text'] = array();
     $settings['multiline'] = array();
     $settings['slider'] = array();
     $settings['date'] = array();
     $settings['select'] = array();
     $settings['radio'] = array();
     $settings['submit'] = array();
     $settings['list'] = array();
     $settings['name'] = 'form';
     $settings['action'] = 'ajax.post.php';
     if (!is_null($addendum) && is_array($addendum)) {
         foreach ($addendum as $add => $val) {
             $settings[$add] = $val;
         }
     }
     if (isset($settings['dbid'])) {
         $this->dbid = $settings['dbid'];
     }
     $t = count($data);
     $o = 0;
     for ($i = 0; $i < $t; $i++) {
         $setting = $data[$i + 1];
         if (matches($data[$i], "text")) {
             $settings['text'][$o++] = HDataStream::asKV($setting);
         } else {
             if (matches($data[$i], "hidden")) {
                 $settings['hidden'][$o++] = HDataStream::asKV($setting);
             } else {
                 if (matches($data[$i], "multiline") || matches($data[$i], "textarea")) {
                     $settings['multiline'][$o++] = HDataStream::asKV($setting);
                 } else {
                     if (matches($data[$i], "slider")) {
                         $settings['slider'][$o++] = HDataStream::asKV($setting);
                     } else {
                         if (matches($data[$i], "date")) {
                             $settings['date'][$o++] = HDataStream::asKV($setting);
                         } else {
                             if (matches($data[$i], "select")) {
                                 $settings['select'][$o++] = HDataStream::asKV($setting);
                             } else {
                                 if (matches($data[$i], "list")) {
                                     $settings['list'][$o++] = HDataStream::asKV($setting);
                                 } else {
                                     if (matches($data[$i], "radio")) {
                                         $settings['radio'][$o++] = HDataStream::asKV($setting);
                                     } else {
                                         if (matches($data[$i], "insert")) {
                                             $settings['insert'][$o++] = HDataStream::asKV($setting);
                                         } else {
                                             if (matches($data[$i], "submit")) {
                                                 $settings['submit'][$o++] = HDataStream::asKV($setting);
                                             } else {
                                                 $settings[$data[$i]] = $setting;
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
         $i++;
     }
     $this->form = new FormHelper($settings['name'], $settings['action'], $this->dbid, $signal);
     for ($i = 0; $i < $o; $i++) {
         if (isset($settings['radio'][$i])) {
             $e = $settings['radio'][$i];
             $e['html'] = HDataStream::asKV($e['html']);
             $e['options'] = HDataStream::asKV($e['options']);
             $element = new FormRadio($e, TRUE);
             if (!is_null($this->data) && isset($e['data']) && isset($this->data[$e['data']])) {
                 $element->Set($this->data[$e['data']]);
             }
             $element->_Init($element->settings);
             $this->form->Add($element);
         } else {
             if (isset($settings['select'][$i])) {
                 $e = $settings['select'][$i];
                 $e['html'] = HDataStream::asKV($e['html']);
                 $e['options'] = HDataStream::asKV($e['options']);
                 $element = new FormSelect($e, TRUE);
                 if (!is_null($this->data) && isset($e['data']) && isset($this->data[$e['data']])) {
                     $element->Set($this->data[$e['data']]);
                 }
                 $element->_Init($element->settings);
                 $this->form->Add($element);
             } else {
                 if (isset($settings['list'][$i])) {
                     $e = $settings['list'][$i];
                     $e['html'] = HDataStream::asKV($e['html']);
                     $e['options'] = HDataStream::asKV($e['options']);
                     $element = new FormList($e, TRUE);
                     if (!is_null($this->data) && isset($e['data']) && isset($this->data[$e['data']])) {
                         $element->Set($this->data[$e['data']]);
                     }
                     $element->_Init($element->settings);
                     $this->form->Add($element);
                 } else {
                     if (isset($settings['slider'][$i])) {
                         $e = $settings['slider'][$i];
                         $e['html'] = HDataStream::asKV($e['html']);
                         $element = new FormSlider($e, TRUE);
                         if (!is_null($this->data) && isset($e['data']) && isset($this->data[$e['data']])) {
                             $element->Set($this->data[$e['data']]);
                         }
                         $element->_Init($element->settings);
                         $this->form->Add($element);
                     } else {
                         if (isset($settings['multiline'][$i])) {
                             $e = $settings['multiline'][$i];
                             $e['html'] = HDataStream::asKV($e['html']);
                             $element = new FormMultiline($e, TRUE);
                             if (!is_null($this->data) && isset($e['data']) && isset($this->data[$e['data']])) {
                                 $element->Set($this->data[$e['data']]);
                             }
                             $element->_Init($element->settings);
                             $this->form->Add($element);
                         } else {
                             if (isset($settings['text'][$i])) {
                                 $e = $settings['text'][$i];
                                 $e['html'] = HDataStream::asKV($e['html']);
                                 $element = new FormText($e, TRUE);
                                 if (!is_null($this->data) && isset($e['data']) && isset($this->data[$e['data']])) {
                                     $element->Set($this->data[$e['data']]);
                                 }
                                 $element->_Init($element->settings);
                                 $this->form->Add($element);
                             } else {
                                 if (isset($settings['insert'][$i])) {
                                     $e = $settings['insert'][$i];
                                     $this->form->Add(new FormInsert($e));
                                 } else {
                                     if (isset($settings['hidden'][$i])) {
                                         $e = $settings['insert'][$i];
                                         $this->form->Add(new FormHidden($e));
                                     } else {
                                         if (isset($settings['submit'][$i])) {
                                             $e = $settings['submit'][$i];
                                             $e['html'] = HDataStream::asKV($e['html']);
                                             $element = new FormSubmit($e, TRUE);
                                             if (!is_null($this->data) && isset($e['data']) && isset($this->data[$e['data']])) {
                                                 $element->Set($this->data[$e['data']]);
                                             }
                                             $element->_Init($element->settings);
                                             $this->form->Add($element);
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Example #9
0
 public function editAction()
 {
     $this->view->title = "Modification d'un texte";
     if ($this->view->aclIsAllowed('text', 'edit', true)) {
         $_blockID = $this->_getParam('blockID');
         $_pageid = $this->_getParam('pageID');
         $_id = $this->_getParam('ID');
         $base_dir = $this->getFrontController()->getBaseUrl();
         $blockText = new Text();
         $select = $blockText->select();
         $select->where('TD_BlockID = ?', $_blockID);
         $select->where('TD_LanguageID = ?', $this->_currentEditLanguage);
         $block = $blockText->fetchRow($select);
         $blockSelect = new Blocks();
         $selectBloc = $blockSelect->select()->setIntegrityCheck(false)->from('Blocks')->where('B_ID = ?', $_blockID)->join('PagesIndex', 'PI_PageID = B_PageID')->where('PI_LanguageID = ?', $block['TD_LanguageID']);
         // If block doesn't exist, creates it.
         if (empty($block)) {
             $block = $blockText->createRow(array('TD_BlockID' => $_blockID, 'TD_LanguageID' => $this->_currentEditLanguage));
             $block->save();
             // load it
             $block = $blockText->fetchRow($select);
         }
         if ($_id) {
             $returnLink = "{$base_dir}/text/index/list-approbation-request/";
         } else {
             $returnLink = "{$base_dir}/page/index/index/ID/{$_pageid}";
         }
         $form = new FormText(array('baseDir' => $base_dir, 'pageID' => $_pageid, 'cancelUrl' => $returnLink, 'toApprove' => $block["TD_ToApprove"]));
         if (!$this->_request->isPost()) {
             $block_data = empty($block) ? array() : $block->toArray();
             $blockData = $blockSelect->fetchRow($selectBloc);
             $block_data['PI_PageTitle'] = $blockData['PI_PageTitle'];
             $form->populate($block_data);
         } else {
             $formData = $this->_request->getPost();
             if ($form->isValid($formData)) {
                 if (isset($_POST['submitSaveSubmit'])) {
                     $block['TD_ToApprove'] = 1;
                     //header("location:".$returnLink);
                 } elseif (isset($_POST['submitSaveReturnWriting'])) {
                     $block['TD_ToApprove'] = 0;
                     //header("location:".$returnLink);
                 } elseif (isset($_POST['submitSaveOnline'])) {
                     $block['TD_OnlineTitle'] = $formData['TD_DraftTitle'];
                     $block['TD_OnlineText'] = $formData['TD_DraftText'];
                     $block['TD_ToApprove'] = 0;
                     //header("location:".$returnLink);
                     // index the new text if block online
                     $blockData = $blockSelect->fetchRow($selectBloc);
                     if ($blockData['B_Online'] == 1 && $blockData['PI_Status'] == 1) {
                         $indexData['pageID'] = $blockData['B_PageID'];
                         $indexData['moduleID'] = $blockData['B_ModuleID'];
                         $indexData['contentID'] = $block['TD_ID'];
                         $indexData['languageID'] = $block['TD_LanguageID'];
                         $indexData['title'] = $blockData['PI_PageTitle'];
                         $indexData['text'] = '';
                         $indexData['link'] = '';
                         $indexData['contents'] = $blockData['PI_PageTitle'] . " " . $block['TD_OnlineText'];
                         $indexData['action'] = 'update';
                         Cible_FunctionsIndexation::indexation($indexData);
                     }
                 } else {
                     $returnLink = "";
                 }
                 $block['TD_DraftTitle'] = $formData['TD_DraftTitle'];
                 $block['TD_DraftText'] = $formData['TD_DraftText'];
                 $block->save();
                 $oPage = new PagesObject();
                 $pageData['P_ID'] = $_pageid;
                 $pageData['PI_PageTitle'] = $formData['PI_PageTitle'];
                 $oPage->save($_pageid, $pageData, $this->_currentEditLanguage);
                 //if($returnLink <> "")
                 //$this->_redirect("/page/index/index/ID/$_pageid");
             }
         }
         $this->view->assign('form', $form);
         $this->view->assign('pageId', $_pageid);
         $this->view->assign('onlineTitle', isset($block['TD_OnlineTitle']) ? $block['TD_OnlineTitle'] : '');
         $this->view->assign('onlineText', isset($block['TD_OnlineText']) ? $block['TD_OnlineText'] : '');
     }
 }