function execute(&$form, $action_id) { $config = $form->actions_config[$action_id]; $config = new \GCore\Libs\Parameter($config); $field = $config->get('field', ''); $data_path = $config->get('data_path', ''); $value = $config->get('value_key', 'value'); $prepend = $config->get('prepend_value', true); $text = $config->get('text_key', 'text'); $level = $config->get('level_key', ''); $labels = $config->get('labels', 'L1,L2,L3,L4'); $limit = $config->get('limit', 999); $placeholder = $config->get('placeholder', 'Procurar...'); $res = array(); if (!empty($field) && !empty($data_path) && !empty($text) && !empty($value)) { $treeList = self::mount_tree($form->data[$data_path], $value, $prepend, $text, $level); self::mount_list($treeList, explode(',', $labels), $value, $text, $res); $list = implode("\n", $res); $clean_attrbs = array('type' => 'button', 'value' => 'Limpar', 'id' => 'limpar'); $search_attrbs = array('type' => 'text', 'name' => 'busca', 'id' => 'busca', 'placeholder' => $placeholder, 'size' => '20'); $clean = \GCore\Helpers\Html::_concat($clean_attrbs, array_keys($clean_attrbs), '<input ', ' />'); $search = \GCore\Helpers\Html::_concat($search_attrbs, array_keys($search_attrbs), '<input ', ' />'); $arvore = '<div id="arvore">' . $list . '</div>'; $c_busca = \GCore\Helpers\Html::container('div', $search . $clean, array('id' => 'c_busca')); $modal_div = \GCore\Helpers\Html::container('div', $c_busca . $arvore, array('id' => 'modal_arvore', 'style' => array('display' => 'none'))); $doc = \GCore\Libs\Document::getInstance(); $doc->addCssFile('vendors/vakata-jstree/themes/default/style.min.css'); $doc->addCssFile('vendors/jquery-ui-1.11.4/jquery-ui.min.css'); $doc->addJsFile('vendors/vakata-jstree/jstree.min.js'); $doc->addJsFile('vendors/jquery-ui-1.11.4/jquery-ui.min.js'); $fieldKey = $this->getFieldKey($form->form['Form']['extras']['fields'], $field); $campo = $form->form['Form']['extras']['fields'][$fieldKey]; $condicoes = $config->get('conditions', ""); if (!empty($condicoes)) { $condicoes = explode("\n", $condicoes); foreach ($condicoes as $condicao) { $condicao = explode("::", $condicao); // $condicao[0]: Condição; $condicao[1]: Mensagem $elseifs = ' else if (' . $condicao[0] . ')' . '{ alert("' . $condicao[1] . '"); event.preventDefault(); return false; }'; } } else { $elseifs = ''; } $opcoes = array('{field}' => $field, '{fieldID}' => $campo['id'], '{label}' => $campo['label']['text'], '{limit}' => empty($limit) || is_null($limit) ? 999 : $limit, '{condicoes}' => $elseifs); $doc->addJsCode($this->get_script($opcoes)); $doc->addCssCode($this->get_style($campo['id'])); $form->form['Form']['content'] = str_replace('<div id="modal_tree" style="display: none;"></div>', $modal_div, $form->form['Form']['content']); } // echo 'Field name: ' . $field . '<br/>'; // echo 'Chave: ' . array_search($field, array_column($form->form['Form']['extras']['fields'], 'name')); }
public static function html_label($params = array(), $f_params = array()) { $attributes = array('for', 'class', 'id'); //$class = 'gform-label-'.$params['position'].' control-label'; if (!empty($params['sub'])) { $class = 'help-block'; $tag = 'span'; } else { $class = ''; $tag = 'label'; if (!empty($params['position']) and $params['position'] == 'left') { $class .= ' gcore-label-left'; } else { $class .= ' gcore-label'; } if (in_array($f_params['type'], array('checkbox', 'checkbox_group', 'radio'))) { $class .= ' gcore-label-checkbox'; } } $params['class'] = $class; return \GCore\Helpers\Html::_concat($params, $attributes, '<' . $tag . ' ', '>' . $params['text'] . '</' . $tag . '>'); }
function _renderHeader() { $chunks = array($this->doc->getBase(), $this->doc->getMeta(), $this->doc->getTitle(), $this->doc->getFavicon()); //add css files list foreach ($this->doc->cssfiles as $cssfile) { $chunks[] = \GCore\Helpers\Html::_concat($cssfile, array_keys($cssfile), '<link ', ' />'); } //add css code list foreach ($this->doc->csscodes as $media => $codes) { $chunks[] = \GCore\Helpers\Html::container('style', implode("\n", $codes), array('type' => 'text/css', 'media' => $media)); } //add js files list foreach ($this->doc->jsfiles as $jsfile) { $chunks[] = \GCore\Helpers\Html::_concat($jsfile, array_keys($jsfile), '<script ', '></script>'); } //add js code list foreach ($this->doc->jscodes as $type => $codes) { $chunks[] = \GCore\Helpers\Html::container('script', implode("\n", $codes), array('type' => $type)); } foreach ($this->doc->headertags as $k => $code) { $chunks[] = $code; } return implode("\n", array_filter($chunks)); }
function getFavicon() { $data = array('rel' => 'shortcut icon', 'href' => \GCore\Helpers\Assets::image('favicon.ico')); return \GCore\Helpers\Html::_concat($data, array_keys($data), '<link ', ' />'); }
public static function getHeader() { $doc = \GCore\Libs\Document::getInstance(); static $used; if (!isset($used)) { $used = array(); } $chunks = array(); $chunks[] = ' <script type="text/javascript"> if("undefined"==typeof window.jQuery){}else{ var gcore_jQuery_bak = window.jQuery; var gcore_$_bak = window.$; } if("undefined"==typeof gcore_jQuery){}else{ window.jQuery = gcore_jQuery; window.$ = gcore_$; } </script> '; //add css files list foreach ($doc->cssfiles as $k => $cssfile) { //if(empty($used['cssfiles'][$k])){ $used['cssfiles'][$k] = true; $chunks[] = \GCore\Helpers\Html::_concat($cssfile, array_keys($cssfile), '<link ', '>'); //} } //add css code list foreach ($doc->csscodes as $media => $codes) { $chunks[] = \GCore\Helpers\Html::container('style', implode("\n", $codes), array('type' => 'text/css', 'media' => $media)); foreach ($doc->csscodes[$media] as $k => $code) { unset($doc->csscodes[$media][$k]); } } //add js files list foreach ($doc->jsfiles as $k => $jsfile) { /*if(strpos($jsfile['src'], 'jquery.js') !== false){ $document = \JFactory::getDocument(); $document->addScript($jsfile['src']); continue; }*/ //if(empty($used['jsfiles'][$k])){ $used['jsfiles'][$k] = true; $chunks[] = \GCore\Helpers\Html::_concat($jsfile, array_keys($jsfile), '<script ', '></script>'); //} } //add js code list foreach ($doc->jscodes as $type => $codes) { $chunks[] = \GCore\Helpers\Html::container('script', implode("\n", $codes), array('type' => $type)); foreach ($doc->jscodes[$type] as $k => $code) { unset($doc->jscodes[$type][$k]); } } foreach ($doc->headertags as $k => $code) { $chunks[] = $code; unset($doc->headertags[$k]); } $chunks[] = ' <script type="text/javascript"> if("undefined"==typeof gcore_jQuery){ var gcore_jQuery = window.jQuery; var gcore_$ = window.$; } if("undefined"==typeof gcore_jQuery_bak){}else{ window.jQuery = gcore_jQuery_bak; window.$ = gcore_$_bak; } </script> '; return implode("\n", array_filter($chunks)); }