?> " <?php if ($this->_tpl_vars['thisUser']->getId() == $this->_tpl_vars['user']->getId()) { ?> disabled="disabled" <?php } ?> /></td> <?php } ?> <td><a class="action" href="<?php echo $this->_plugins['function']['url'][0][0]->smartyUrl(array('op' => 'userProfile', 'path' => $this->_tpl_vars['user']->getId()), $this); ?> "><?php echo is_array($_tmp = is_array($_tmp = $this->_tpl_vars['user']->getUsername()) ? $this->_run_mod_handler('escape', true, $_tmp) : $this->_plugins['modifier']['escape'][0][0]->smartyEscape($_tmp)) ? $this->_run_mod_handler('wordwrap', true, $_tmp, 15, ' ', true) : smarty_modifier_wordwrap($_tmp, 15, ' ', true); ?> </a></td> <td><?php echo is_array($_tmp = $this->_tpl_vars['user']->getFullName()) ? $this->_run_mod_handler('escape', true, $_tmp) : $this->_plugins['modifier']['escape'][0][0]->smartyEscape($_tmp); ?> </td> <td class="nowrap"> <?php $this->assign('emailString', is_array($_tmp = $this->_tpl_vars['user']->getFullName()) ? $this->_run_mod_handler('concat', true, $_tmp, " <", $this->_tpl_vars['user']->getEmail(), ">") : $this->_plugins['modifier']['concat'][0][0]->smartyConcat($_tmp, " <", $this->_tpl_vars['user']->getEmail(), ">")); ?> <?php echo is_array($_tmp = $this->_plugins['function']['url'][0][0]->smartyUrl(array('path' => $this->_tpl_vars['roleSymbolic']), $this)) ? $this->_run_mod_handler('assign', true, $_tmp, 'redirectUrl') : $this->_plugins['modifier']['assign'][0][0]->smartyAssign($_tmp, 'redirectUrl'); ?> <?php
function smarty_function_dataform2($params, &$smarty) { require_once $smarty->_get_plugin_filepath('shared', 'escape_special_chars'); require_once $smarty->_get_plugin_filepath('shared', 'video_service'); require_once $smarty->_get_plugin_filepath('function', 'html_options'); require_once $smarty->_get_plugin_filepath('function', 'html_select_date'); require_once $smarty->_get_plugin_filepath('function', 'html_select_time'); require_once $smarty->_get_plugin_filepath('modifier', 'truncate'); require_once $smarty->_get_plugin_filepath('modifier', 'nl2br'); require_once $smarty->_get_plugin_filepath('modifier', 'wordwrap'); require_once $smarty->_get_plugin_filepath('modifier', 'return_bytes'); require_once $smarty->_get_plugin_filepath('modifier', 'fsize_format'); $row = array(); $dd = array(); $options = array(); $key = null; $key1 = null; $key2 = null; $type = 0; $name = 'dfform'; $object = null; $edit = false; $table = null; $preset = null; $is_child = false; $extra = ''; foreach ($params as $_key => $_val) { switch ($_key) { case 'name': case 'object': case 'title': case 'key': case 'key1': case 'key2': case 'preset': ${$_key} = (string) $_val; break; case 'options': case 'row': case 'dd': ${$_key} = (array) $_val; break; case 'paginate': case 'is_child': case 'edit': ${$_key} = (bool) $_val; break; default: if (!is_array($_val)) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { $smarty->trigger_error("dataform: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE); } break; } } if (!$object) { $object = $name; } if (!$table) { $table = $object; } if (empty($row) && empty($dd)) { $smarty->trigger_error("dataform: either dd or row attribute must be present", E_USER_NOTICE); return ''; } if (empty($row)) { $type = 2; /* new record */ } if ($edit) { $type = 1; } if (empty($dd)) { $labels = null; } else { foreach ($dd as $_key => $_val) { $labels[$_key] = $_val['label']; } } if ($preset) { list($_field, $_text) = preg_split('/,/', $preset); list($_fieldname, $_fieldvalue) = preg_split('/=/', $_field); $_preset[$_fieldname] = $_fieldvalue; $_preset_text[$_fieldname] = $_text; } $_html_rows = ''; $_html_result = ''; $h_f = $key2 ? F2 : F; # Determinar el tamaño máximo de los archivo $upload = smarty_modifier_return_bytes(ini_get('upload_max_filesize')); $post = smarty_modifier_return_bytes(ini_get('post_max_size')); $max_size = 0; if ($upload < $post) { $max_size = $upload; } else { $max_size = $post; } $max_size = smarty_modifier_fsize_format($max_size); # Crea las filas del dataform $_i = 0; // Para los preset $_pre = ''; if ($type) { foreach ((array) $dd as $_key => $_val) { if (!$dd[$_key]) { continue; } if ($type == 2) { $_val = ''; } if ($type == 1) { $_val = $row[$_val['name']]; } if ($dd[$_key]['references'] && $dd[$_key]['type'] != 'auto' && $dd[$_key]['type'] != 'hidden') { if ($_preset[$_key]) { $_selected = $_preset[$_key]; } else { $_selected = $_val; $_val = $row[$dd[$_key]['references']]; } $dd[$_key]['type'] = 'references'; } $_start_year = "-10"; $_end_year = "+10"; $_ispreset = false; switch ($dd[$_key]['type']) { //Add case 'video': $_tmp = ''; $_options = smarty_function_video_service(); if ($_val) { require_once $smarty->_get_plugin_filepath('shared', 'video_service'); $a_vs = smarty_function_video_service(); // XML require_once 'XML/Unserializer.php'; $options = array(XML_UNSERIALIZER_OPTION_ATTRIBUTES_PARSE => true, XML_UNSERIALIZER_OPTION_ATTRIBUTES_ARRAYKEY => false); $unserializer = new XML_Unserializer($options); $status = $unserializer->unserialize($_val, false); if (PEAR::isError($status)) { echo 'Error: ' . $status->getMessage(); } else { $vs = $unserializer->getUnserializedData(); } // ----- $_tmp .= smarty_function_html_options(array('name' => $_key . '_type', 'options' => $_options, 'selected' => $vs['tipo']), $smarty) . '<input type="text" size="25" name="' . $_key . '_src" maxlength="500" value="' . $vs['src'] . '" />'; } else { $_tmp .= smarty_function_html_options(array('name' => $_key . '_type', 'options' => $_options, 'selected' => $_val), $smarty) . '<input type="text" size="25" name="' . $_key . '_src" maxlength="500" />'; } break; //End Add //End Add case 'auto': if ($dd[$_key]['extra']['default']) { $_tmp = '<span class="auto">' . $dd[$_key]['extra']['default'] . '</span>'; } else { $_tmp = !empty($_val) ? $_val : ''; } break; case 'file': $_tmp = ''; if ($_val) { $_file = HOMEDIR . "/_" . $table . "/" . $_val; $_icon = 'doc.png'; $_p = explode('.', $_file); $_pc = count($_p); $ext = $_p[$_pc - 1]; if (preg_match('/doc|rtf|swx|osd/i', $ext)) { $_icon = 'doc.png'; } if (preg_match('/pdf/i', $ext)) { $_icon = 'pdf.png'; } if (preg_match('/xls/i', $ext)) { $_icon = 'excel.png'; } if (preg_match('/jpg|gif|png/i', $ext)) { $_icon = 'image.png'; } $_tmp = '<input type="checkbox" checked name="' . $_key . '_keep" /> Conservar archivo actual (' . $_val . ')<br /><img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/' . $_icon . '" alt="' . $_val . '" border="0" /><br />'; } $_tmp .= '[' . $max_size . ']<input type="file" name="' . $_key . '" value="' . $_val . '" />'; break; case 'image': case 'img': $_tmp = ''; $_icon = 'image.png'; $_tmp = '[' . $max_size . ']<input name="old_' . $_key . '" type="hidden" value="' . $_val . '" /><img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/' . $_icon . '" border="0" alt="Imagen" title="Imagen" />'; if ($_val) { $_tmp .= '<input type="checkbox" checked name="' . $_key . '_keep" /> Conservar archivo actual (' . $_val . ')<br /><img src="' . URL . '/' . ALM_URI . '/pic/50/' . $table . '/' . $_val . '" alt="' . $_val . '" width="50" border="0" /><br />'; } $_tmp .= '<input type="file" name="' . $_key . '" value="' . $_val . '" />'; break; case 'boolean': case 'bool': if (preg_match("/:/", $dd[$_key]['extra']['label_bool'])) { list($_si, $_no) = preg_split('/:/', $dd[$_key]['extra']['label_bool']); $_tchecked = $_val == 't' ? 'checked' : ''; $_fchecked = $_val == 'f' ? 'checked' : ''; $_tmp = $_si . '<input type="radio" name="' . $_key . '" ' . $_tchecked . ' value="on" />' . $_no . '<input type="radio" name="' . $_key . '" ' . $_fchecked . ' value="" />'; } else { $_checked = $_val == 't' ? 'checked' : ''; $_tmp = '<input type="checkbox" name="' . $_key . '" ' . $_checked . ' />'; } break; case 'datenull': if (preg_match("/:/", $dd[$_key]['extra']['range'])) { list($_start_year, $_end_year) = preg_split('/:/', $dd[$_key]['extra']['range']); } if (!isset($_val) || empty($_val)) { $_val = '--'; } $_tmp = smarty_function_html_select_date(array('prefix' => $_key . '_', 'time' => $_val, 'start_year' => $_start_year, 'end_year' => $_end_year, 'day_empty' => '--', 'month_empty' => '--', 'year_empty' => '--'), $smarty); break; case 'date': if (!$_val) { $_val = $dd[$_key]['extra']['default']; } if (preg_match("/:/", $dd[$_key]['extra']['range'])) { list($_start_year, $_end_year) = preg_split('/:/', $dd[$_key]['extra']['range']); } $_tmp = smarty_function_html_select_date(array('prefix' => $_key . '_', 'time' => $_val, 'start_year' => $_start_year, 'end_year' => $_end_year), $smarty); break; case 'time': $_tmp = smarty_function_html_select_time(array('prefix' => $_key . '_', 'time' => $_val, 'display_seconds' => false), $smarty); break; case 'datetime': if (!$_val) { $_val = $dd[$_key]['extra']['default']; } if (preg_match("/:/", $dd[$_key]['extra']['range'])) { list($_start_year, $_end_year) = preg_split('/:/', $dd[$_key]['extra']['range']); } $_tmp = smarty_function_html_select_date(array('prefix' => $_key . '_', 'time' => $_val, 'start_year' => $_start_year, 'end_year' => $_end_year), $smarty); $_tmp .= smarty_function_html_select_time(array('prefix' => $_key . '_', 'time' => $_val, 'display_seconds' => false), $smarty); break; case 'datetimenull': if (!$_val) { $_val = $dd[$_key]['extra']['default']; } if (preg_match("/:/", $dd[$_key]['extra']['range'])) { list($_start_year, $_end_year) = preg_split('/:/', $dd[$_key]['extra']['range']); } $_tmp = smarty_function_html_select_date(array('prefix' => $_key . '_', 'time' => $_val, 'start_year' => $_start_year, 'end_year' => $_end_year, 'day_empty' => '--', 'month_empty' => '--', 'year_empty' => '--'), $smarty); $_tmp .= smarty_function_html_select_time(array('prefix' => $_key . '_', 'time' => $_val, 'display_seconds' => false), $smarty); break; case 'password': $_tmp = '<input type="password" name="' . $_key . '" size="20" maxlength="16" />'; break; case 'text': $_tmp = '<textarea rows="5" cols="40" name="' . $_key . '">' . $_val . '</textarea> <a href="javascript:edittext(\'' . $name . '\', \'' . $_key . '\', document.forms[\'' . $name . '\'].' . $_key . '.value);">' . ALM_MAX . '</a>'; break; case 'html': $_tmp = '<textarea rows="5" cols="40" class="adm" id="' . $_key . '" name="' . $_key . '">' . $_val . '</textarea>'; $_tmp .= "<script language=\"JavaScript\">\ngenerate_wysiwyg('" . $_key . "');\n</script>\n"; break; case 'xhtml': $_tmp = '<textarea rows="5" cols="40" class="adm" id="' . $_key . '" name="' . $_key . '"' . ($dd[$_key]['extra']['style'] ? ' style="' . $dd[$_key]['extra']['style'] . '"' : '') . '>' . $_val . '</textarea>'; $_tmp .= "<script language=\"JavaScript\">\ntinyMCE.execCommand(\"mceAddControl\", true,\"{$_key}\");\n</script>\n"; break; case 'varchar': case 'char': if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_tmp = smarty_function_html_options(array('options' => $_options, 'selected' => $_val), $smarty); $_tmp = preg_replace("/_REFERENCE_/", $_tmp, FCELLMODREF); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); } else { $_val = preg_replace("/\"/", """, $_val); $_tmp = preg_replace("/_VALUE_/", qdollar($_val), FCELLMODSTR); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); $_tmp = preg_replace("/_SIZE_/", $dd[$_key]['size'], $_tmp); if ($dd[$_key]['extra']['source']) { $_tmp .= '<script type="text/javascript"> addEvent(document.getElementById(\'' . $dd[$_key]['extra']['source'] . '\'), \'blur\', function () { if(document.getElementById(\'' . $_key . '\').value.replace(/(^\\s*)|(\\s*$)/g, \'\') == \'\') document.getElementById(\'' . $_key . '\').value = ' . $dd[$_key]['extra']['apply_funct_js'] . '(document.getElementById(\'' . $dd[$_key]['extra']['source'] . '\').value) }); </script>'; } if ($dd[$_key]['extra']['autocomplete']) { $_tmp .= '<script type="text/javascript"> $(\'#' . $_key . '\').autocomplete({ serviceUrl:' . ($dd[$_key]['extra']['autocomplete_sr'] ? $dd[$_key]['extra']['autocomplete_sr'] : '\'' . URL . '/' . ALM_URI . '/js/autocomplete/autocomplete.php\'') . ', delimiter: /(,|;)\\s*/, params: { table:\'' . ($dd[$_key]['extra']['autocomplete_tb'] ? $dd[$_key]['extra']['autocomplete_tb'] : $table) . '\', field:\'' . ($dd[$_key]['extra']['autocomplete_fd'] ? $dd[$_key]['extra']['autocomplete_fd'] : ($dd[$_key]['extra']['autocomplete_tb'] ? $dd[$_key]['extra']['autocomplete_tb'] : $_key)) . '\' } }); </script>'; } } break; case 'numeric': case 'int': if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_tmp = smarty_function_html_options(array('options' => $_options, 'selected' => $_val), $smarty); $_tmp = preg_replace("/_REFERENCE_/", $_tmp, FCELLMODREF); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); } else { $_tmp = preg_replace("/_VALUE_/", $_val, FCELLMODSTR); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); $_tmp = preg_replace("/_SIZE_/", 10, $_tmp); } break; case 'references': if ($_preset[$_key]) { $_tmp = ''; $_ispreset = true; $_pre .= '<input type="hidden" name="' . $_key . '" value="' . $_selected . '" />'; //$_tmp = '<input type="hidden" name="' . $_key . '" value="' . $_selected . '" />'; //$_tmp .= $_selected; } else { if ($dd[$_key]['extra']['readonly']) { $_tmp = preg_replace("/_FIELD_/", $_key, FCELLHIDEN); $_tmp = preg_replace("/_VALUE_/", qdollar($_selected), $_tmp); $_tmp = preg_replace("/_LABEL_/", $_val, $_tmp); } else { $_options = $options[$_key]; $_tmp = smarty_function_html_options(array('options' => $_options, 'selected' => $_selected), $smarty); $_tmp = preg_replace("/_REFERENCE_/", $_tmp, FCELLMODREF); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); if ($dd[$_key]['extra']['son']) { $_tmp = preg_replace("/_CHANGE_/", "updateCombo('{$_key}', '" . $dd[$_key]['extra']['son'] . "', null)", $_tmp); } else { $_tmp = preg_replace("/_CHANGE_/", "", $_tmp); } if ($dd[$_key]['extra']['open_popup']) { $_tmp .= ' <a href="javascript:openPopUp(\'' . URL . '/' . ALM_URI . '/query.php?f=' . $dd[$_key]['references'] . '&action=record&' . $_key . '=\'+document.forms[\'new\'].' . $_key . '.value,' . $dd[$_key]['extra']['height'] . ',' . $dd[$_key]['extra']['width'] . ');">consultar</a>'; } if ($dd[$_key]['extra']['depend']) { $_tmp .= "<script>updateCombo('" . $dd[$_key]['extra']['depend'] . "', '{$_key}', '{$_selected}')</script>"; } } } break; case 'hidden': case 'serial': $hidden = true; $_tmp = ''; break; default: $_tmp = $_val; } if (!$_ispreset) { $_tmp = preg_replace("/_FCELL_/", qdollar($_tmp), FROW); } $_tmp = preg_replace("/_LABEL_/", $labels[$_key], $_tmp); if (!$hidden) { $_html_rows .= $_tmp; } $hidden = false; } } else { foreach ((array) $row as $_key => $_val) { $_tmp = ''; if (!$dd[$_key]) { continue; } if ($dd[$_key]['references']) { $pos = strpos($dd[$_key]['references'], '.'); if ($pos !== false) { $r_table = substr($dd[$_key]['references'], 0, $pos); $pos_2 = strpos($dd[$_key]['references'], '['); if ($pos_2 !== false) { $r_field = substr($dd[$_key]['references'], $pos_2 + 1, strlen($dd[$_key]['references']) - ($pos_2 + 2)); } else { $r_field = $r_table; } $_val = $row[$r_field]; } else { $_val = $row[$dd[$_key]['references']]; } } switch ($dd[$_key]['type']) { case 'char': if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_tmp = $_options[$_val]; } else { $_tmp = smarty_modifier_truncate($_val, 50); } break; case 'bool': case 'boolean': $_si = ALM_YES; $_no = ALM_NO; if ($dd[$_key]['extra']['label_bool']) { list($_si, $_no) = preg_split('/:/', $dd[$_key]['extra']['label_bool']); } $_tmp = $_val == 't' ? $_si : $_no; break; case 'video': if ($_val) { require_once $smarty->_get_plugin_filepath('shared', 'video_service'); $a_vs = smarty_function_video_service(); // XML require_once 'XML/Unserializer.php'; $options = array(XML_UNSERIALIZER_OPTION_ATTRIBUTES_PARSE => true, XML_UNSERIALIZER_OPTION_ATTRIBUTES_ARRAYKEY => false); $unserializer = new XML_Unserializer($options); $status = $unserializer->unserialize($_val, false); if (PEAR::isError($status)) { echo 'Error: ' . $status->getMessage(); } else { $vs = $unserializer->getUnserializedData(); } // ----- $_tmp = '<a href="javascript:openwindow(\'' . URL . '/' . ALM_URI . '/video.php?src=' . $vs['src'] . '&type=' . $vs['tipo'] . '\',400,333)"><img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/' . $vs['tipo'] . '.png" alt="' . $a_vs[$vs['tipo']] . '" title="' . $a_vs[$vs['tipo']] . '" border="0" /></a>'; } else { $_tmp = '--'; } break; case 'file': if ($_val) { $_icon = $_val; $_file = HOMEDIR . "/_" . $table . "/" . $_val; $_icon = 'doc.png'; $_p = explode('.', $_file); $_pc = count($_p); if ($_p[$_pc - 1] == 'doc') { $_icon = 'doc.png'; } if ($_p[$_pc - 1] == 'pdf') { $_icon = 'pdf.png'; } if ($_p[$_pc - 1] == 'xls') { $_icon = 'xls.png'; } $_tmp = '<a title="' . $_val . '" href="' . URL . '/files/' . $table . '/' . $_val . '" target="_new"><img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/' . $_icon . '" alt="' . $_val . '" border="0" /></a>'; } else { $_tmp = '--'; } break; case 'image': if ($_val) { if (THUMBNAILING) { $_tmp = '<a href="javascript:openimage(\'' . URL . '/files/' . $table . '/' . $_val . '\',\'Imagen: ' . $_val . '\')"><img src="' . URL . '/' . ALM_URI . '/pic/50/' . $table . '/' . $_val . '" alt="' . $_val . '" width="50" border="0" /></a>'; } else { $_tmp = '<a href="javascript:openimage(\'/files/' . $table . '/' . $_val . '\',\'Imagen: ' . $_val . '\')"><img src="' . URL . '/' . ALM_URI . '/pic/50/' . $table . '/' . $_val . '" alt="' . $_val . '" width="50" border="0" /></a>'; } } else { $_tmp = '--'; } break; case 'hidden': case 'serial': $hidden = true; $_tmp = ''; break; default: if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_val = $_options[trim($_val)]; } if ($_preset[$_key]) { $_tmp = ''; if (!empty($_pre)) { $_pre .= ','; } $_pre .= $_key . '=' . $_preset[$_key]; } else { $_tmp = smarty_modifier_wordwrap($_val); $_tmp = smarty_modifier_nl2br($_tmp); } } if (!$_preset[$_key]) { $_tmp = preg_replace('/_FCELL_/', qdollar($_tmp), FROW); $_tmp = preg_replace('/_LABEL_/', $labels[$_key], $_tmp); } if (!$hidden) { $_html_rows .= $_tmp; } $hidden = false; } $_html_cmd = preg_replace('/{_ID_}/', $row[$key], FCMD); if (!empty($_pre)) { $_pre = '<input type="hidden" name="preset" value="' . $_pre . '" />'; } } if ($type == 2) { $_html_cmd = FCMDADD; $action = "add"; } if ($type == 1) { $_html_cmd = FCMDMOD; $action = "save"; } if ($type == 0) { $_html_cmd = FCMD; $action = "edit"; } //if ($cmd) $_html_rows .= $_html_cmd; $_i++; $_tmp = FROW; if (!($_i % 2)) { $_tmp = preg_replace("/class=\"dgrow\"/", "class=\"dgrow2\"", $_tmp); } #$_html_rows .= preg_replace("/_FCELL_/", $_html_row, $_tmp); if ($paginate && $maxrows && $_i >= $maxrows * $pg) { $_need_paginate = true; break; } $_f = preg_replace('/_PRESET_/', $_pre, $h_f); //$_f = $h_f; $_html_result = preg_replace("/_FHEADER_/", $_html_labels, $_f); if ($cmd) { $_html_result = preg_replace("/_FHEADERCMD_/", FHEADERCMD, $_html_result); } $_html_result = preg_replace("/_FHEADERCMD_/", '', $_html_result); $_html_result = preg_replace("/_TITLE_/", $title, $_html_result); $_html_result = preg_replace('/_FROW_/', qdollar($_html_rows), $_html_result); #$_npgs = ceil(count($rows) / $maxrows); $_paginate = ''; if ($paginate && $_npgs > 1) { if ($pg != 1) { $_paginate = PREV; } for ($_j = 1; $_j <= $_npgs; $_j++) { $npg = $_j == $pg ? CURRENTPG : NPG; $_paginate .= preg_replace("/_NPG_/", $_j, $npg); } if ($pg != $_npgs) { $_paginate .= NEXT; } } $_html_result = preg_replace("/_PAGINATE_/", $_paginate, $_html_result); # christian | a new way to know if this pages is the 404.php file $params = preg_split('/\\//', $_SERVER['PHP_SELF']); $page = $params[count($params) - 1]; # end if ($page == '404.php') { $_html_result = preg_replace("/_SELF_/", SELF, $_html_result); } else { $_html_result = preg_replace("/_SELF_/", $_SERVER['PHP_SELF'], $_html_result); } $_referer = preg_replace("/\\//", "\\/", $_SERVER['PHP_SELF']); if (preg_match("/{$_referer}/", $_SERVER['HTTP_REFERER']) || $is_child || $_SERVER['PHP_SELF'] == '/cms/query.php' || $_SERVER['PHP_SELF'] == '/' . ALM_URI . '/query.php') { $_referer = $_SERVER['PHP_SELF']; } else { if (defined('SELF')) { $_referer = SELF; } else { $_referer = $_SERVER['PHP_SELF']; } } if ($is_child) { $_referer .= '?action=close'; } // Si es el popup de consulta if ($_SERVER['PHP_SELF'] == '/cms/query.php' || $_SERVER['PHP_SELF'] == '/' . ALM_URI . '/query.php') { $_referer .= '?action=close'; } $_html_result = preg_replace("/_REFERER_/", $_referer, $_html_result); $_html_result = preg_replace("/_KEY_/", $key, $_html_result); $_html_result = preg_replace("/_KEY1_/", $key1, $_html_result); $_html_result = preg_replace("/_KEY2_/", $key2, $_html_result); $_html_result = preg_replace("/{_ID_}/", $_REQUEST[$key], $_html_result); $_html_result = preg_replace("/_ID1_/", $_REQUEST[$key1], $_html_result); $_html_result = preg_replace("/_ID2_/", $_REQUEST[$key2], $_html_result); $_html_result = preg_replace("/_SORT_/", $_REQUEST['sort'], $_html_result); $_html_result = preg_replace("/_PG_/", $_REQUEST[$object . 'pg'], $_html_result); $_html_result = preg_replace("/_PGPREV_/", $pg - 1, $_html_result); $_html_result = preg_replace("/_PGNEXT_/", $pg + 1, $_html_result); $_html_result = preg_replace("/_FORM_/", $name, $_html_result); $_html_result = preg_replace("/_OBJECT_/", $object, $_html_result); $_html_result = preg_replace("/_ACTION_/", $action, $_html_result); if ($type == 0) { $_html_result = preg_replace('/old_/', '', $_html_result); } if (strpos($_html_rows, 'value="Agregar"') != '') { $_SESSION['accion'] = 'add'; } elseif (isset($_SESSION['accion'])) { unset($_SESSION['accion']); } return $_html_result; }
function smarty_function_datagrid($params, &$smarty) { require_once $smarty->_get_plugin_filepath('shared', 'escape_special_chars'); require_once $smarty->_get_plugin_filepath('function', 'html_options'); require_once $smarty->_get_plugin_filepath('function', 'html_select_date'); require_once $smarty->_get_plugin_filepath('function', 'html_select_time'); require_once $smarty->_get_plugin_filepath('modifier', 'truncate'); require_once $smarty->_get_plugin_filepath('modifier', 'wordwrap'); require_once $smarty->_get_plugin_filepath('modifier', 'url'); $rows = array(); $dd = array(); $options = array(); $paginate = false; $selected = null; $keys = array(); $maxrows = defined('MAXROWS') ? MAXROWS : 5; $maxcols = defined('MAXCOLS') ? MAXCOLS : 5; $name = 'dgform'; $table = null; $parent = null; $truncate = true; $is_child = null; $have_child = null; $extra = ''; foreach ($params as $_key => $_val) { switch ($_key) { case 'name': case 'title': case 'parent': ${$_key} = (string) $_val; break; case 'options': case 'rows': case 'dd': case 'keys': ${$_key} = (array) $_val; break; case 'paginate': case 'search': case 'cmd': case 'truncate': case 'have_child': case 'is_child': ${$_key} = (bool) $_val; break; case 'selected': if (is_array($_val)) { $smarty->trigger_error('datagrid: the "' . $_key . '" attribute cannot be an array', E_USER_WARNING); } else { $selected = (string) $_val; } break; case 'num_rows': case 'maxcols': case 'maxrows': ${$_key} = (int) $_val; break; default: if (!is_array($_val)) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { $smarty->trigger_error("datagrid: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE); } break; } } if (empty($rows)) { $smarty->trigger_error("datagrid: rows attribute must be present", E_USER_NOTICE); return ''; /* raise error here? */ } if (empty($dd)) { $headers = null; } else { foreach ($dd as $_key => $_val) { $headers[$_key] = $_val['label']; } } if (!$table) { $table = $name; } $_html_search = ''; $_html_headers = ''; $_html_rows = ''; $_html_result = ''; # # Crea los encabezados del datagrid # $_cols = 0; if (!empty($headers)) { foreach ($headers as $_key => $_val) { if ($maxcols && $_cols >= $maxcols) { break; } # Tenemos permiso para mostrar este campo? if (isset($dd[$_key]['extra']['role']) && $dd[$_key]['extra']['role'] !== $_SESSION['idalm_role']) { $dd[$_key]['type'] = 'hidden'; } if ($parent == $_key || $dd[$_key]['type'] == 'external' || $dd[$_key]['type'] == 'hidden') { continue; } $_html_header = DGHEADERCELL; # Para permitir referencias multiples a la misma tabla if ($dd[$_key]['references']) { if (!isset($references[$dd[$_key]['references']])) { $references[$dd[$_key]['references']] = 0; } if ($dd[$_key]['references'] == $name && !$references[$dd[$_key]['references']]) { $references[$dd[$_key]['references']] += 2; } else { $references[$dd[$_key]['references']]++; } $n = $references[$dd[$_key]['references']] == 1 ? '' : $references[$dd[$_key]['references']]; $_field = $dd[$_key]['references'] . $n; } else { $_field = $_key; } if ($_SESSION[$name . 'sort'] == $_field) { $_img = '<img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/up.gif" border="0" />'; $_html_header = preg_replace("/_DESC_/", ' desc', $_html_header); $_html_header = preg_replace("/_SORTIMG_/", $_img, $_html_header); } else { $_html_header = preg_replace("/_DESC_/", '', $_html_header); } if ($_SESSION[$name . 'sort'] == $_field . ' desc') { $_img = '<img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/down.gif" border="0" />'; $_html_header = preg_replace("/_SORTIMG_/", $_img, $_html_header); } else { $_html_header = preg_replace("/_SORTIMG_/", '', $_html_header); } $_html_header = preg_replace("/_LABEL_/", $_val, $_html_header); $_html_header = preg_replace("/_FIELD_/", $_field, $_html_header); $_html_headers .= $_html_header; ++$_cols; } unset($references); } else { foreach ($rows[0] as $_key => $_val) { if ($maxcols && $_cols >= $maxcols) { break; } $_html_header = preg_replace("/_LABEL_|_FIELD_/", $_key, DGHEADERCELL); $_html_headers .= $_html_header; ++$_cols; } } $_i = 0; $pg = $_SESSION[$name . 'pg'] ? $_SESSION[$name . 'pg'] : 1; foreach ((array) $rows as $row) { unset($references); # # Crea las filas del datagrid en modo edicion # $_html_row = ''; $_chosen = true; foreach ($keys as $val) { if ($_REQUEST[$val] !== $row[$val]) { $_chosen = false; break; } } if ($_REQUEST['f'] == $name && $_REQUEST['action'] == 'mod' && $_chosen) { $selected_row = $row; $_cols = 0; foreach ($row as $_key => $_val) { if ($maxcols && $_cols >= $maxcols) { break; } if (!$dd[$_key]) { continue; } # Tenemos permiso para mostrar este campo? if (isset($dd[$_key]['extra']['role']) && $dd[$_key]['extra']['role'] !== $_SESSION['idalm_role']) { $dd[$_key]['type'] = 'hidden'; } if ($parent == $_key) { $parentid = $_val; $dd[$_key]['type'] = 'hidden'; } elseif ($dd[$_key]['references']) { $_selected = $_val; if (!isset($references[$dd[$_key]['references']])) { $references[$dd[$_key]['references']] = 0; } if ($dd[$_key]['references'] == $name && !$references[$dd[$_key]['references']]) { $references[$dd[$_key]['references']] += 2; } else { $references[$dd[$_key]['references']]++; } $n = $references[$dd[$_key]['references']] == 1 ? '' : $references[$dd[$_key]['references']]; $_val = $row[$dd[$_key]['references'] . $n]; $dd[$_key]['type'] = 'references'; } switch ($dd[$_key]['type']) { case 'file': case 'image': case 'img': $_tmp = ''; if ($_val) { $_tmp = '<input type="checkbox" checked name="' . $_key . '_keep" /> ' . ALM_KEEP_FILE . ' (' . $_val . ')<br /><img src="' . URL . '/' . ALM_URI . '/pic/50/' . $table . '/' . $_val . '" alt="' . $_val . '" width="50" border="0" /><br />'; } $_tmp .= '<input type="file" name="' . $_key . '" value="' . $_val . '" />'; break; case 'time': $_tmp = smarty_function_html_select_time(array('prefix' => $_key . '_', 'time' => $_val, 'display_seconds' => false), $smarty); break; case 'datetime': $_tmp = '<input type="hidden" name="' . $_key . '" value="' . $_val . '" />'; $_tmp .= $_val; break; case 'date': $_tmp = smarty_function_html_select_date(array('prefix' => $_key . '_', 'time' => $_val, 'start_year' => "-10", 'end_year' => "+10"), $smarty); break; case 'boolean': case 'bool': if ($dd[$_key]['extra']['label_bool']) { list($_si, $_no) = preg_split('/:/', $dd[$_key]['extra']['label_bool']); $_tchecked = $_val == 't' ? 'checked' : ''; $_fchecked = $_val == 'f' ? 'checked' : ''; $_tmp = $_si . '<input type="radio" name="' . $_key . '" ' . $_tchecked . ' value="on">' . $_no . '<input type="radio" name="' . $_key . '" ' . $_fchecked . ' value="">'; } else { $_checked = $_val == 't' ? 'checked' : ''; $_tmp = '<input type="checkbox" name="' . $_key . '" ' . $_checked . ' />'; } break; case 'text': $_tmp = preg_replace("/_VALUE_/", qdollar(htmlentities($_val, ENT_COMPAT, 'UTF-8')), DGCELLMODSTR); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); break; case 'xhtml': $_tmp = '<textarea rows="5" cols="40" class="adm" id="grid' . $_key . '" name="' . $_key . '"' . ($dd[$_key]['extra']['style'] ? ' style="' . $dd[$_key]['extra']['style'] . '"' : '') . '>' . $_val . '</textarea>'; $_tmp .= "<script language=\"JavaScript\">\ntinyMCE.execCommand(\"mceAddControl\", true,\"grid{$_key}\");\n</script>\n"; break; case 'varchar': case 'char': if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_tmp = smarty_function_html_options(array('options' => $_options, 'selected' => trim($_val)), $smarty); $_tmp = preg_replace("/_REFERENCE_/", qdollar($_tmp), DGCELLMODREF); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); } else { $_tmp = preg_replace("/_VALUE_/", qdollar(htmlentities($_val, ENT_COMPAT, 'UTF-8')), DGCELLMODSTR); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); $_tmp = preg_replace("/_SIZE_/", $dd[$_key]['size'], $_tmp); } break; case 'int': case 'numeric': if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_tmp = smarty_function_html_options(array('options' => $_options, 'selected' => trim($_val)), $smarty); $_tmp = preg_replace("/_REFERENCE_/", qdollar($_tmp), DGCELLMODREF); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); } else { $_tmp = preg_replace("/_VALUE_/", $_val, DGCELLMODSTR); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); $_tmp = preg_replace("/_SIZE_/", 10, $_tmp); } break; case 'references': $_options = $options[$_key]; $_tmp = smarty_function_html_options(array('options' => $_options, 'selected' => $_selected), $smarty); $_tmp = preg_replace("/_REFERENCE_/", qdollar($_tmp), DGCELLMODREF); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); break; case 'order': $_tmp = '- +'; break; #case 'hidden': # $_tmp = '<input type="hidden" name="'.$_key.'" value="'.$_val.'" />'; # break; #case 'hidden': # $_tmp = '<input type="hidden" name="'.$_key.'" value="'.$_val.'" />'; # break; case 'hidden': $hidden = true; $_tmp = ''; break; default: $_tmp = $_val; } if ($dd[$_key]['type'] != 'hidden') { $_tmp = preg_replace("/_VALUE_/", qdollar($_tmp), DGCELL); $_cols++; } $_html_row .= $_tmp; } if ($_SESSION['credentials'][$table] == 'full' || $_SESSION['credentials'][$table] == 'edit' || $_SESSION['idalm_user'] === 'admin') { $_dgcmdmod = DGCMDMOD; } /* $key_id = null; foreach($keys as $val) $key_id[] = $val .'='. $row[$val]; $_html_cmd = preg_replace("/{_IDS_}/", 'array('. join(',',$key_id) .')', $_dgcmdmod); */ $_html_cmd = $_dgcmdmod; } else { # # Crea las filas del datagrid en modo lectura # $_cols = 0; foreach ($row as $_key => $_val) { if ($maxcols && $_cols >= $maxcols) { break; } if (!$dd[$_key] || $dd[$_key]['type'] == 'external') { continue; } # Tenemos permiso para mostrar este campo? if (isset($dd[$_key]['extra']['role']) && $dd[$_key]['extra']['role'] !== $_SESSION['idalm_role']) { $dd[$_key]['type'] = 'hidden'; } if ($parent == $_key) { $parentid = $_val; continue; } if ($dd[$_key]['references']) { if (!isset($references[$dd[$_key]['references']])) { $references[$dd[$_key]['references']] = 0; } if ($dd[$_key]['references'] == $name && !$references[$dd[$_key]['references']]) { $references[$dd[$_key]['references']] += 2; } else { $references[$dd[$_key]['references']]++; } $n = $references[$dd[$_key]['references']] == 1 ? '' : $references[$dd[$_key]['references']]; $_val = empty($_val) ? '--' : $row[$dd[$_key]['references'] . $n]; } switch ($dd[$_key]['type']) { case 'varchar': case 'char': if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_tmp = $_options[trim($_val)]; } else { $_tmp = smarty_modifier_truncate($_val, 50); $_tmp = smarty_modifier_url($_tmp); $_tmp = preg_replace("/_SIZE_/", $dd[$_key]['size'], $_tmp); } break; case 'bool': case 'boolean': $_si = ALM_YES; $_no = ALM_NO; if ($dd[$_key]['extra']['label_bool']) { list($_si, $_no) = preg_split('/:/', $dd[$_key]['extra']['label_bool']); } $_tmp = $_val == 't' ? $_si : $_no; break; case 'file': if ($_val) { $_file = HOMEDIR . "/_" . $table . "/" . $_val; $_icon = 'doc.png'; $_p = explode('.', $_file); $_pc = count($_p); $ext = $_p[$_pc - 1]; if (preg_match('/doc|rtf|swx|osd/i', $ext)) { $_icon = 'doc.png'; } if (preg_match('/pdf/i', $ext)) { $_icon = 'pdf.png'; } if (preg_match('/xls/i', $ext)) { $_icon = 'excel.png'; } if (preg_match('/jpg|gif|png/i', $ext)) { $_icon = 'image.png'; } $_tmp = '<a href="' . URL . '/files/' . $table . '/' . $_val . '" target="_new"><img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/' . $_icon . '" alt="' . $_val . '" border="0" /></a>'; } else { $_tmp = '--'; } break; case 'image': if ($_val) { if (THUMBNAILING) { $_tmp = '<a href="javascript:openimage(\'' . URL . '/files/' . $table . '/' . $_val . '\',\'Imagen: ' . $_val . '\')"><img src="' . URL . '/' . ALM_URI . '/pic/50/' . $table . '/' . $_val . '" alt="' . $_val . '" width="50" border="0" /></a>'; } else { $_tmp = '<a href="javascript:openimage(\'/files/' . $table . '/' . $_val . '\',\'Imagen: ' . $_val . '\')"><img src="/_' . $table . '/' . $_val . '" alt="' . $_val . '" width="50" height="20" border="0" /></a>'; } } else { $_tmp = '--'; } break; case 'order': $_tmp = ''; if ($_SESSION[$name . 'first'] != $row[$key]) { $_tmp .= '<a href="_SELF_?action=move&' . $key . '=' . $row[$key] . '&sense=up&key=' . $_key . '"><img src="' . URI . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/up.gif" border="0"/></a>'; } if ($_SESSION[$name . 'last'] != $row[$key]) { if (!empty($_tmp)) { $tmp = ' '; } $_tmp .= '<a href="_SELF_?action=move&' . $key . '=' . $row[$key] . '&sense=down&key=' . $_key . '"><img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/down.gif" border="0"/></a>'; } if (empty($_tmp)) { $_tmp = '--'; } break; case 'hidden': $hidden = true; $_tmp = ''; break; case 'text': case 'html': case 'xhtml': # strip_tags quita los tags [x]html, preg_replace reemplaza los por espacio en blanco, el otro preg_replace quita mas de un espacio en blanco conjunto y lo reemplaza por un solo espacio y trim quita los espacios en blanco al final e inicio de la cadena. $_val = trim(preg_replace('/\\s\\s+/', ' ', preg_replace('/ /', ' ', strip_tags($_val)))); default: $_val = $_val === '' ? " " : $_val; if ($truncate) { $_tmp = smarty_modifier_truncate($_val, 50); } else { $_tmp = smarty_modifier_wordwrap($_val, 50, "<br/>"); } $_tmp = smarty_modifier_url($_tmp); } if ($dd[$_key]['type'] != 'hidden') { $_tmp = preg_replace("/_VALUE_/", qdollar($_tmp), DGCELL); $_cols++; } $_html_row .= $_tmp; } if ($_cols <= 3 || $parent) { if ($_SESSION['credentials'][$table] == 'full' || $_SESSION['idalm_user'] === 'admin') { if ($is_child) { $_dgcmd = DGCMD_det; } else { $_dgcmd = DGCMDR; } } elseif ($_SESSION['credentials'][$table] == 'edit') { $_dgcmd = DGCMDREDIT; } elseif ($_SESSION['credentials'][$table] == 'delete') { $_dgcmd = DGCMDRDEL; } elseif ($_SESSION['credentials'][$table] == 'read') { $_dgcmd = DGCMDRVER; } } else { if ($_SESSION['credentials'][$table] == 'full' || $_SESSION['idalm_user'] === 'admin') { $_dgcmd = DGCMD; } elseif ($_SESSION['credentials'][$table] == 'edit') { $_dgcmd = DGCMDEDIT; } elseif ($_SESSION['credentials'][$table] == 'delete') { $_dgcmd = DGCMDDEL; } elseif ($_SESSION['credentials'][$table] == 'read') { $_dgcmd = DGCMDVER; } } $ids = null; $key_id_url = null; $key_id_js = null; foreach ($keys as $val) { $key_id_url[] = $val . '=' . $row[$val]; $key_id_js[] = "'{$val}':'" . $row[$val] . "'"; $ids[] = "'" . $row[$val] . "'"; } /* If it has a child, set parent keys */ if (!empty($parent)) { $key_id_js[] = "'{$parent}':'" . $row[$parent] . "'"; } $_html_cmd = preg_replace("/{_KEY=ID_}/", join('&', $key_id_url), $_dgcmd); $_html_cmd = preg_replace("/{_KEY:ID_}/", '{' . join(',', $key_id_js) . '}', $_html_cmd); $_html_cmd = preg_replace("/{_IDS_}/", '[' . join(',', $ids) . ']', $_html_cmd); } if ($cmd) { $_html_row .= $_html_cmd; } $_i++; $_tmp = DGROW; if (!($_i % 2)) { $_tmp = preg_replace("/class=\"dgrow\"/", "class=\"dgrow2\"", $_tmp); } $_html_rows .= preg_replace("/_DGCELL_/", qdollar($_html_row), $_tmp); if ($paginate && $maxrows && $_i >= $maxrows * $pg) { $_need_paginate = true; break; } } $_dg = DG; $oldkeys = null; foreach ($keys as $val) { $oldkeys .= '<input type="hidden" name="alm_old_' . $val . '" value="' . $selected_row[$val] . '" />'; } $_dg = preg_replace("/{_OLDKEYS_}/", $oldkeys, $_dg); $_html_result = preg_replace("/_DGHEADER_/", $_html_headers, $_dg); if ($search === true) { $_dgsearch = preg_replace("/{_Q_}/", htmlentities($_REQUEST['q']), DGSEARCH); $_html_result = preg_replace("/{_DGSEARCH_}/", $_dgsearch, $_html_result); } else { $_html_result = preg_replace("/{_DGSEARCH_}/", '', $_html_result); } if ($cmd) { $_html_result = preg_replace("/_DGHEADERCMD_/", DGHEADERCMD, $_html_result); } $_html_result = preg_replace("/_DGHEADERCMD_/", '', $_html_result); $_html_result = preg_replace("/_TITLE_/", $title, $_html_result); $_html_result = preg_replace("/_ROWS_/", $num_rows, $_html_result); $_html_result = preg_replace("/_DGROW_/", qdollar($_html_rows), $_html_result); # Paginacion del datagrid $_npgs = ceil($num_rows / $maxrows); $_paginate = ''; if ($paginate && $_npgs > 1) { if ($pg != 1) { $_paginate = PREV; } for ($_j = 1; $_j <= $_npgs; $_j++) { if ($_j > 2 && $_npgs > 10 && $_npgs - $_j >= 2 && abs($pg - $_j) > 3) { $npg = $npg != '...' && $npg ? '...' : ''; } else { $npg = $_j == $pg ? CURRENTPG : NPG; } $_paginate .= preg_replace("/_NPG_/", $_j, $npg); } if ($pg != $_npgs) { $_paginate .= NEXT; } } $_html_result = preg_replace("/_PARENT_/", $parent, $_html_result); $_html_result = preg_replace("/_PARENTID_/", $parentid, $_html_result); $_html_result = preg_replace("/_PAGINATE_/", $_paginate, $_html_result); $params = preg_split('/\\//', $_SERVER['PHP_SELF']); $page = $params[count($params) - 1]; if ($page == '404.php' || $page == '404c.php') { $_html_result = preg_replace("/_SELF_/", SELF, $_html_result); } else { $_html_result = preg_replace("/_SELF_/", $_SERVER['PHP_SELF'], $_html_result); } $akeys = null; foreach ($keys as $val) { $akeys[] = "'" . $val . "'"; } $_html_result = preg_replace("/{_KEYS_}/", '[' . join(',', $akeys) . ']', $_html_result); #$_html_result = preg_replace("/{_ID_}/", $_REQUEST[$key], $_html_result); $_html_result = preg_replace("/_SORT_/", $_SESSION[$name . 'sort'], $_html_result); $_html_result = preg_replace("/_PG_/", $_SESSION[$name . 'pg'], $_html_result); $_html_result = preg_replace("/_PGPREV_/", $pg - 1, $_html_result); $_html_result = preg_replace("/_PGNEXT_/", $pg + 1, $_html_result); $_html_result = preg_replace("/_MAXCOLS_/", $maxcols, $_html_result); $_html_result = preg_replace("/_FORM_/", $name, $_html_result); $_html_result = preg_replace("/_Q_/", $_REQUEST['q'], $_html_result); return $_html_result; }
<?php /* Smarty version 2.6.19, created on 2012-01-15 04:56:44 compiled from includes/pages/gmap/gmap_fullmap.tpl */ require_once SMARTY_CORE_DIR . 'core.load_plugins.php'; smarty_core_load_plugins(array('plugins' => array(array('modifier', 'wordwrap', 'includes/pages/gmap/gmap_fullmap.tpl', 25, false), array('modifier', 'nl2br', 'includes/pages/gmap/gmap_fullmap.tpl', 25, false), array('function', 'html_image', 'includes/pages/gmap/gmap_fullmap.tpl', 28, false))), $this); ?> <table class="table-main" cellpadding="0" cellspacing="0"><tr><td style="font-size:12px; text-align:center; width: 100%; height: 100%"> <?php if ($this->_tpl_vars['gmap_key_ok']) { ?> <div id="map" style="width: 100%; height: 100%"></div> <?php } else { echo is_array($_tmp = is_array($_tmp = $this->_tpl_vars['lang']['message']['error']['gmap_key_failed']['body']) ? $this->_run_mod_handler('wordwrap', true, $_tmp, 40) : smarty_modifier_wordwrap($_tmp, 40)) ? $this->_run_mod_handler('nl2br', true, $_tmp) : smarty_modifier_nl2br($_tmp); ?> <?php } ?> </td></tr><tr><td style="font-size:12px;" align="center"> <input type="checkbox" name="p2p" checked="checked" onclick="gmap_refresh();" /><?php echo smarty_function_html_image(array('file' => $this->_tpl_vars['img_dir'] . "/gmap/mm_20_orange.png", 'alt' => $this->_tpl_vars['lang']['backbone']), $this); echo $this->_tpl_vars['lang']['backbone']; ?> <input type="checkbox" name="aps" checked="checked" onclick="gmap_refresh();" /><?php echo smarty_function_html_image(array('file' => $this->_tpl_vars['img_dir'] . "/gmap/mm_20_green.png", 'alt' => $this->_tpl_vars['lang']['aps']), $this); echo $this->_tpl_vars['lang']['aps']; ?>
function smarty_function_datagrid2($params, &$smarty) { require_once $smarty->_get_plugin_filepath('shared', 'escape_special_chars'); require_once $smarty->_get_plugin_filepath('function', 'html_options'); require_once $smarty->_get_plugin_filepath('function', 'html_select_date'); require_once $smarty->_get_plugin_filepath('function', 'html_select_time'); require_once $smarty->_get_plugin_filepath('modifier', 'truncate'); require_once $smarty->_get_plugin_filepath('modifier', 'wordwrap'); require_once $smarty->_get_plugin_filepath('modifier', 'url'); $rows = array(); $dd = array(); $options = array(); $paginate = false; $selected = null; $key = null; $key1 = null; $key2 = null; $maxrows = defined('MAXROWS') ? MAXROWS : 5; $maxcols = defined('MAXCOLS') ? MAXCOLS : 5; $name = 'dgform'; $table = null; $parent = null; $truncate = true; $is_child = null; $have_child = null; $extra = ''; foreach ($params as $_key => $_val) { switch ($_key) { case 'name': case 'title': case 'key': case 'key1': case 'key2': case 'parent': case 'search': ${$_key} = (string) $_val; break; case 'options': case 'rows': case 'dd': ${$_key} = (array) $_val; break; case 'shortEdit': if (isset($params[$_key])) { ${$_key} = (bool) $_val; } break; case 'paginate': case 'cmd': case 'truncate': case 'have_child': case 'is_child': ${$_key} = (bool) $_val; break; case 'selected': if (is_array($_val)) { $smarty->trigger_error('datagrid: the "' . $_key . '" attribute cannot be an array', E_USER_WARNING); } else { $selected = (string) $_val; } break; case 'num_rows': case 'maxcols': case 'maxrows': ${$_key} = (int) $_val; break; default: if (!is_array($_val)) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { $smarty->trigger_error("datagrid: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE); } break; } } if (empty($rows) && empty($search)) { #$smarty->trigger_error("datagrid: rows attribute must be present", E_USER_NOTICE); return ALM_NODATA; /* raise error here? */ } if (empty($dd)) { $headers = null; } else { foreach ($dd as $_key => $_val) { $headers[$_key] = $_val['label']; } } if (!$table) { $table = $name; } $_html_search = ''; $_html_headers = ''; $_html_rows = ''; $_html_result = ''; # Crea el Buscador del datagrid if (!empty($search)) { $_html_search = preg_replace("/_FIELDS_/", 'Filtro', DS); $fields = preg_split('/,/', trim($search)); $_html_sch = ''; if ($fields) { foreach ($fields as $field) { $_tmp = ''; if (!empty($_html_sch)) { $_html_sch .= ' | '; } switch ($dd[$field]['type']) { case 'varchar': $_tmp = preg_replace("/_LABEL_/", $dd[$field]['label'], DSLABEL); $_tmp .= ' ' . preg_replace("/_VALUE_/", '', DGCELLMODSTR); $_tmp = preg_replace("/_FIELD_/", $field . 'search', $_tmp); $_tmp = preg_replace("/_SIZE_/", $dd[$field]['size'], $_tmp); if ($dd[$field]['extra']['autocomplete']) { $_tmp .= '<script type="text/javascript"> $(\'#' . $field . 'search\').autocomplete({ serviceUrl:' . ($dd[$field]['extra']['autocomplete_sr'] ? $dd[$field]['extra']['autocomplete_sr'] : '\'' . URL . '/' . ALM_URI . '/js/autocomplete/autocomplete.php\'') . ', delimiter: /(,|;)\\s*/, params: { table:\'' . ($dd[$field]['extra']['autocomplete_tb'] ? $dd[$field]['extra']['autocomplete_tb'] : $table) . '\', field:\'' . ($dd[$field]['extra']['autocomplete_fd'] ? $dd[$field]['extra']['autocomplete_fd'] : ($dd[$field]['extra']['autocomplete_tb'] ? $dd[$field]['extra']['autocomplete_tb'] : $field)) . '\' } }); </script>'; } break; } $_html_sch .= $_tmp; } } $_html_search = preg_replace("/_DSFIELDS_/", $_html_sch, $_html_search); } # Crea los encabezados del datagrid if (!empty($rows)) { $_cols = 0; if (!empty($headers)) { foreach ($headers as $_key => $_val) { if ($maxcols && $_cols >= $maxcols) { break; } if ($parent == $_key || $dd[$_key]['type'] == 'external') { continue; } $_html_header = DGHEADERCELL; $_field = $dd[$_key]['references'] ? $dd[$_key]['references'] : $_key; if ($_SESSION[$name . 'sort'] == $_field) { $_img = '<img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/up.gif" border="0" />'; $_html_header = preg_replace("/_DESC_/", ' desc', $_html_header); $_html_header = preg_replace("/_SORTIMG_/", $_img, $_html_header); } else { $_html_header = preg_replace("/_DESC_/", '', $_html_header); } if ($_SESSION[$name . 'sort'] == $_field . ' desc') { $_img = '<img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/down.gif" border="0" />'; $_html_header = preg_replace("/_SORTIMG_/", $_img, $_html_header); } else { $_html_header = preg_replace("/_SORTIMG_/", '', $_html_header); } $_html_header = preg_replace("/_LABEL_/", $_val, $_html_header); $_html_header = preg_replace("/_FIELD_/", $_field, $_html_header); $_html_headers .= $_html_header; ++$_cols; } } else { foreach ($rows[0] as $_key => $_val) { if ($maxcols && $_cols >= $maxcols) { break; } $_html_header = preg_replace("/_LABEL_|_FIELD_/", $_key, DGHEADERCELL); $_html_headers .= $_html_header; ++$_cols; } } # Crea las filas del datagrid $_i = 0; $pg = $_SESSION[$name . 'pg'] ? $_SESSION[$name . 'pg'] : 1; foreach ((array) $rows as $row) { $_html_row = ''; $_chosen = $key2 ? $_REQUEST[$key1] == $row[$key1] && $_REQUEST[$key2] == $row[$key2] : $_REQUEST[$key] == $row[$key]; if ($_REQUEST['f'] == $name && $_REQUEST['action'] == 'mod' && $_chosen) { $_cols = 0; foreach ($row as $_key => $_val) { if ($maxcols && $_cols >= $maxcols) { break; } if (!$dd[$_key]) { continue; } if ($parent == $_key) { $parentid = $_val; $dd[$_key]['type'] = 'hidden'; } elseif ($dd[$_key]['references']) { $_selected = $_val; $_val = $row[$dd[$_key]['references']]; $dd[$_key]['type'] = 'references'; } switch ($dd[$_key]['type']) { case 'hidden': $_tmp = '<input type="hidden" name="' . $_key . '" value="' . $_val . '" />'; break; case 'file': case 'image': case 'img': $_tmp = ''; if ($_val) { $_tmp = '<input type="checkbox" checked name="' . $_key . '_keep" /> Conservar archivo actual (' . $_val . ')<br /><img src="' . URL . '/' . ALM_URI . '/pic/50/' . $table . '/' . $_val . '" alt="' . $_val . '" width="50" border="0" /><br />'; } $_tmp .= '<input type="file" name="' . $_key . '" value="' . $_val . '" />'; break; case 'time': $_tmp = smarty_function_html_select_time(array('prefix' => $_key . '_', 'time' => $_val, 'display_seconds' => false), $smarty); break; case 'datetime': $_tmp = '<input type="hidden" name="' . $_key . '" value="' . $_val . '" />'; $_tmp .= $_val; break; case 'date': $_tmp = smarty_function_html_select_date(array('prefix' => $_key . '_', 'time' => $_val, 'start_year' => "-10", 'end_year' => "+10"), $smarty); break; case 'boolean': case 'bool': if ($dd[$_key]['extra']['label_bool']) { list($_si, $_no) = preg_split('/:/', $dd[$_key]['extra']['label_bool']); $_tchecked = $_val == 't' ? 'checked' : ''; $_fchecked = $_val == 'f' ? 'checked' : ''; $_tmp = $_si . '<input type="radio" name="' . $_key . '" ' . $_tchecked . ' value="on">' . $_no . '<input type="radio" name="' . $_key . '" ' . $_fchecked . ' value="">'; } else { $_checked = $_val == 't' ? 'checked' : ''; $_tmp = '<input type="checkbox" name="' . $_key . '" ' . $_checked . ' />'; } break; case 'text': $_tmp = preg_replace("/_VALUE_/", qdollar($_val), DGCELLMODTXT); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); break; case 'xhtml': $_tmp = '<textarea rows="5" cols="40" class="adm" id="grid' . $_key . '" name="' . $_key . '"' . ($dd[$_key]['extra']['style'] ? ' style="' . $dd[$_key]['extra']['style'] . '"' : '') . '>' . $_val . '</textarea>'; $_tmp .= "<script language=\"JavaScript\">\ntinyMCE.execCommand(\"mceAddControl\", true,\"grid{$_key}\");\n</script>\n"; break; case 'varchar': case 'char': if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_tmp = smarty_function_html_options(array('options' => $_options, 'selected' => trim($_val)), $smarty); $_tmp = preg_replace("/_REFERENCE_/", qdollar($_tmp), DGCELLMODREF); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); } else { $_tmp = preg_replace("/_VALUE_/", qdollar($_val), DGCELLMODSTR); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); $_tmp = preg_replace("/_SIZE_/", $dd[$_key]['size'], $_tmp); } break; case 'int': case 'numeric': $_tmp = preg_replace("/_VALUE_/", $_val, DGCELLMODSTR); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); $_tmp = preg_replace("/_SIZE_/", 10, $_tmp); break; case 'references': $_options = $options[$_key]; $_tmp = smarty_function_html_options(array('options' => $_options, 'selected' => $_selected), $smarty); $_tmp = preg_replace("/_REFERENCE_/", $_tmp, DGCELLMODREF); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); break; case 'order': $_tmp = '- +'; break; default: $_tmp = $_val; } if ($dd[$_key]['type'] != 'hidden') { $_tmp = preg_replace("/_VALUE_/", qdollar($_tmp), DGCELL); $_cols++; } $_html_row .= $_tmp; } $_dgcmdmod = $key2 ? DGCMD2MOD : DGCMDMOD; $_html_cmd = preg_replace("/{_ID_}/", $row[$key], $_dgcmdmod); } else { $_cols = 0; foreach ($row as $_key => $_val) { if ($maxcols && $_cols >= $maxcols) { break; } if (!$dd[$_key] || $dd[$_key]['type'] == 'external') { continue; } if ($parent == $_key) { $parentid = $_val; continue; } if ($dd[$_key]['references']) { $pos = strpos($dd[$_key]['references'], '.'); if ($pos !== false) { $r_table = substr($dd[$_key]['references'], 0, $pos); $pos_2 = strpos($dd[$_key]['references'], '['); if ($pos_2 !== false) { $r_field = substr($dd[$_key]['references'], $pos_2 + 1, strlen($dd[$_key]['references']) - ($pos_2 + 2)); } else { $r_field = $r_table; } $_val = $row[$r_field]; } else { $_val = $row[$dd[$_key]['references']]; } } switch ($dd[$_key]['type']) { case 'char': if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_tmp = $_options[trim($_val)]; } else { $_tmp = smarty_modifier_truncate($_val, 50); $_tmp = smarty_modifier_url($_tmp); $_tmp = preg_replace("/_SIZE_/", $dd[$_key]['size'], $_tmp); } break; case 'bool': case 'boolean': $_si = ALM_YES; $_no = ALM_NO; if ($dd[$_key]['extra']['label_bool']) { list($_si, $_no) = preg_split('/:/', $dd[$_key]['extra']['label_bool']); } $_tmp = $_val == 't' ? $_si : $_no; break; case 'video': if ($_val) { require_once $smarty->_get_plugin_filepath('shared', 'video_service'); $a_vs = smarty_function_video_service(); // XML require_once 'XML/Unserializer.php'; $options = array(XML_UNSERIALIZER_OPTION_ATTRIBUTES_PARSE => true, XML_UNSERIALIZER_OPTION_ATTRIBUTES_ARRAYKEY => false); $unserializer = new XML_Unserializer($options); $status = $unserializer->unserialize($_val, false); if (PEAR::isError($status)) { echo 'Error: ' . $status->getMessage(); } else { $vs = $unserializer->getUnserializedData(); } $_tmp = '<a href="javascript:openwindow(\'' . URL . '/' . ALM_URI . '/video.php?src=' . $vs['src'] . '&type=' . $vs['tipo'] . '\',400,333)"><img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/' . $vs['tipo'] . '.png" alt="' . $a_vs[$vs['tipo']] . '" title="' . $a_vs[$vs['tipo']] . '" border="0" /></a>'; } else { $_tmp = '--'; } break; case 'file': if ($_val) { $_file = HOMEDIR . "/_" . $table . "/" . $_val; $_icon = 'doc.png'; $_p = explode('.', $_file); $_pc = count($_p); $ext = $_p[$_pc - 1]; if (preg_match('/doc|rtf|swx|osd/i', $ext)) { $_icon = 'doc.png'; } if (preg_match('/pdf/i', $ext)) { $_icon = 'pdf.png'; } if (preg_match('/xls/i', $ext)) { $_icon = 'excel.png'; } if (preg_match('/jpg|gif|png/i', $ext)) { $_icon = 'image.png'; } $_tmp = '<a href="' . URL . '/files/' . $table . '/' . $_val . '" target="_new"><img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/' . $_icon . '" alt="' . $_val . '" border="0" /></a>'; } else { $_tmp = '--'; } break; case 'image': if ($_val) { if (THUMBNAILING) { $_tmp = '<a href="javascript:openimage(\'' . URL . '/files/' . $table . '/' . $_val . '\',\'Imagen: ' . $_val . '\')"><img src="' . URL . '/' . ALM_URI . '/pic/50/' . $table . '/' . $_val . '" alt="' . $_val . '" width="50" border="0" /></a>'; } else { $_tmp = '<a href="javascript:openimage(\'' . URL . '/files/' . $table . '/' . $_val . '\',\'Imagen: ' . $_val . '\')"><img src="/_' . $table . '/' . $_val . '" alt="' . $_val . '" width="50" height="20" border="0" /></a>'; } } else { $_tmp = '--'; } break; case 'order': $_tmp = ''; if ($_SESSION[$name . 'first'] != $row[$key]) { $_tmp .= '<a href="_SELF_?action=move&' . $key . '=' . $row[$key] . '&sense=up&key=' . $_key . '"><img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/up.gif" border="0"/></a>'; } if ($_SESSION[$name . 'last'] != $row[$key]) { if (!empty($_tmp)) { $tmp = ' '; } $_tmp .= '<a href="_SELF_?action=move&' . $key . '=' . $row[$key] . '&sense=down&key=' . $_key . '"><img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/down.gif" border="0"/></a>'; } if (empty($_tmp)) { $_tmp = '--'; } break; case 'text': case 'html': case 'xhtml': # strip_tags quita los tags [x]html, preg_replace reemplaza los por espacio en blanco, el otro preg_replace quita mas de un espacio en blanco conjunto y lo reemplaza por un solo espacio y trim quita los espacios en blanco al final e inicio de la cadena. $_val = trim(preg_replace('/\\s\\s+/', ' ', preg_replace('/ /', ' ', strip_tags($_val)))); case 'varchar': if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_tmp = $_options[trim($_val)]; break; } default: if ($truncate) { $_tmp = smarty_modifier_truncate($_val, 50); } else { $_tmp = smarty_modifier_wordwrap($_val, 50, "<br/>"); } $_tmp = smarty_modifier_url($_tmp); } $_html_row .= preg_replace("/_VALUE_/", qdollar($_tmp), DGCELL); $_cols++; } if ($key2) { $_dgcmd = $_cols <= 3 || $parent ? DGCMD2R : DGCMD2; } elseif ($is_child) { $_dgcmd = DGCMD_det; } else { $_dgcmd = ($_cols <= 3 || $parent) && !$have_child ? $shortEdit === false ? DGCMD_NOSHORT_EDIT : DGCMDR : DGCMD; } $_html_cmd = preg_replace("/{_ID_}/", $row[$key], $_dgcmd); $_html_cmd = preg_replace("/_ID1_/", $row[$key1], $_html_cmd); $_html_cmd = preg_replace("/_ID2_/", $row[$key2], $_html_cmd); } if ($cmd) { $_html_row .= $_html_cmd; } $_i++; $_tmp = DGROW; if (!($_i % 2)) { $_tmp = preg_replace("/class=\"dgrow\"/", "class=\"dgrow2\"", $_tmp); } $_html_rows .= preg_replace("/_DGCELL_/", qdollar($_html_row), $_tmp); if ($paginate && $maxrows && $_i >= $maxrows * $pg) { $_need_paginate = true; break; } } $_dg = $key2 ? DG2 : DG; $_html_result = preg_replace("/_DGHEADER_/", $_html_headers, $_dg); if (!empty($search)) { $_html_result = $_html_search . $_html_result; } if ($cmd) { $_html_result = preg_replace("/_DGHEADERCMD_/", DGHEADERCMD, $_html_result); } $_html_result = preg_replace("/_DGHEADERCMD_/", '', $_html_result); $_html_result = preg_replace("/_TITLE_/", $title, $_html_result); $_html_result = preg_replace("/_ROWS_/", $num_rows, $_html_result); $_html_result = preg_replace("/_DGROW_/", qdollar($_html_rows), $_html_result); # Paginacion del datagrid $_npgs = ceil($num_rows / $maxrows); $_paginate = ''; if ($paginate && $_npgs > 1) { if ($pg != 1) { $_paginate = PREV; } for ($_j = 1; $_j <= $_npgs; $_j++) { if ($_j > 2 && $_npgs > 10 && $_npgs - $_j >= 2 && abs($pg - $_j) > 3) { $npg = $npg != '...' && $npg ? '...' : ''; } else { $npg = $_j == $pg ? CURRENTPG : NPG; } $_paginate .= preg_replace("/_NPG_/", $_j, $npg); } if ($pg != $_npgs) { $_paginate .= NEXT; } } $_html_result = preg_replace("/_PARENT_/", $parent, $_html_result); $_html_result = preg_replace("/_PARENTID_/", $parentid, $_html_result); $_html_result = preg_replace("/_PAGINATE_/", $_paginate, $_html_result); # christian | a new way to know if this pages is the 404.php file $params = preg_split('/\\//', $_SERVER['PHP_SELF']); $page = $params[count($params) - 1]; # end if ($page == '404.php' || $page == '404c.php') { $_html_result = preg_replace("/_SELF_/", SELF, $_html_result); } else { $_html_result = preg_replace("/_SELF_/", $_SERVER['PHP_SELF'], $_html_result); } $_html_result = preg_replace("/_KEY_/", $key, $_html_result); $_html_result = preg_replace("/_KEY1_/", $key1, $_html_result); $_html_result = preg_replace("/_KEY2_/", $key2, $_html_result); $_html_result = preg_replace("/{_ID_}/", $_REQUEST[$key], $_html_result); $_html_result = preg_replace("/_ID1_/", $_REQUEST[$key1], $_html_result); $_html_result = preg_replace("/_ID2_/", $_REQUEST[$key2], $_html_result); $_html_result = preg_replace("/_SORT_/", $_SESSION[$name . 'sort'], $_html_result); $_html_result = preg_replace("/_PG_/", $_SESSION[$name . 'pg'], $_html_result); $_html_result = preg_replace("/_PGPREV_/", $pg - 1, $_html_result); $_html_result = preg_replace("/_PGNEXT_/", $pg + 1, $_html_result); $_html_result = preg_replace("/_MAXCOLS_/", $maxcols, $_html_result); $_html_result = preg_replace("/_FORM_/", $name, $_html_result); $_html_result = preg_replace("/_Q_/", $_REQUEST['q'], $_html_result); } else { if (!empty($search)) { $_html_result = $_html_search; if ($_SESSION[$table . 'query']) { $_html_result .= DSL . "<br />"; } } # christian | a new way to know if this pages is the 404.php file $params = preg_split('/\\//', $_SERVER['PHP_SELF']); $page = $params[count($params) - 1]; # end if ($page == '404.php' || $page == '404c.php') { $_html_result = preg_replace("/_SELF_/", SELF, $_html_result); } else { $_html_result = preg_replace("/_SELF_/", $_SERVER['PHP_SELF'], $_html_result); } $_html_result = preg_replace("/_DSQUERY_/", $_SESSION[$table . 'ssearch'], $_html_result); $_html_result .= ALM_NODATA; } return $_html_result; }
function smarty_function_dataform($params, &$smarty) { require_once $smarty->_get_plugin_filepath('shared', 'escape_special_chars'); require_once $smarty->_get_plugin_filepath('function', 'html_options'); require_once $smarty->_get_plugin_filepath('function', 'html_select_date'); require_once $smarty->_get_plugin_filepath('function', 'html_select_time'); require_once $smarty->_get_plugin_filepath('modifier', 'truncate'); require_once $smarty->_get_plugin_filepath('modifier', 'nl2br'); require_once $smarty->_get_plugin_filepath('modifier', 'wordwrap'); require_once $smarty->_get_plugin_filepath('modifier', 'return_bytes'); require_once $smarty->_get_plugin_filepath('modifier', 'fsize_format'); $row = array(); $dd = array(); $options = array(); $keys = array(); $type = 0; $name = 'dfform'; $object = null; $edit = false; $table = null; $preset = null; $is_child = false; $extra = ''; foreach ($params as $_key => $_val) { switch ($_key) { case 'name': case 'object': case 'title': case 'preset': ${$_key} = (string) $_val; break; case 'options': case 'row': case 'dd': case 'keys': ${$_key} = (array) $_val; break; case 'paginate': case 'is_child': case 'edit': ${$_key} = (bool) $_val; break; default: if (!is_array($_val)) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { $smarty->trigger_error("dataform: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE); } break; } } if (!$object) { $object = $name; } if (!$table) { $table = $object; } if (empty($row) && empty($dd)) { $smarty->trigger_error("dataform: either dd or row attribute must be present", E_USER_NOTICE); return ''; } if (empty($row)) { $type = 2; /* new record */ } if ($edit) { $type = 1; } if (empty($dd)) { $labels = null; } else { foreach ($dd as $_key => $_val) { $labels[$_key] = $_val['label']; } } if ($preset) { list($_field, $_text) = preg_split('/,/', $preset); list($_fieldname, $_fieldvalue) = preg_split('/=/', $_field); $_preset[$_fieldname] = $_fieldvalue; $_preset_text[$_fieldname] = $_text; } $_html_rows = ''; $_html_result = ''; # Determinar el tamaño máximo de los archivo $upload = smarty_modifier_return_bytes(ini_get('upload_max_filesize')); $post = smarty_modifier_return_bytes(ini_get('post_max_size')); $max_size = 0; if ($upload < $post) { $max_size = $upload; } else { $max_size = $post; } $max_size = smarty_modifier_fsize_format($max_size); # # Crea las filas del dataform en modo edicion # $_i = 0; if ($type) { foreach ((array) $dd as $_key => $_val) { if (!$dd[$_key]) { continue; } if ($type == 2) { $_val = ''; } if ($type == 1) { $_val = $row[$_val['name']]; } # Tenemos permiso para mostrar este campo? if (isset($dd[$_key]['extra']['role']) && $dd[$_key]['extra']['role'] !== $_SESSION['idalm_role']) { $dd[$_key]['type'] = 'hidden'; } if ($dd[$_key]['references'] && !in_array($dd[$_key]['type'], array('hidden', 'auto'))) { if ($_preset[$_key]) { $_selected = $_preset[$_key]; } else { $_selected = $_val; if (!isset($references[$dd[$_key]['references']])) { $references[$dd[$_key]['references']] = 0; } $references[$dd[$_key]['references']]++; $n = $references[$dd[$_key]['references']] == 1 ? '' : $references[$dd[$_key]['references']]; $_val = $row[$dd[$_key]['references'] . $n]; } $dd[$_key]['type'] = 'references'; } $_start_year = "-10"; $_end_year = "+10"; switch ($dd[$_key]['type']) { case 'auto': if ($dd[$_key]['extra']['default']) { if (!empty($options[$_key])) { $_val = $options[$_key][trim($dd[$_key]['extra']['default'])]; } else { $_val = $dd[$_key]['extra']['default']; } $_tmp = '<span class="auto">' . $_val . '</span>'; } else { $_tmp = !empty($_val) ? $_val : ''; } break; case 'file': $_tmp = ''; if ($_val) { $_file = HOMEDIR . "/_" . $table . "/" . $_val; $_icon = 'doc.png'; $_p = explode('.', $_file); $_pc = count($_p); $ext = $_p[$_pc - 1]; if (preg_match('/doc|rtf|swx|osd/i', $ext)) { $_icon = 'doc.png'; } if (preg_match('/pdf/i', $ext)) { $_icon = 'pdf.png'; } if (preg_match('/xls/i', $ext)) { $_icon = 'excel.png'; } if (preg_match('/jpg|gif|png/i', $ext)) { $_icon = 'image.png'; } $_tmp = '<input type="checkbox" checked name="' . $_key . '_keep" /> Conservar archivo actual (' . $_val . ')<br /><img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/' . $_icon . '" alt="' . $_val . '" border="0" /><br />'; } $_tmp .= '[' . ALM_MAXIMUM . ' ' . $max_size . '] <input type="file" name="' . $_key . '" value="' . $_val . '" />'; break; case 'image': case 'img': $_tmp = ''; $_icon = 'image.png'; $_tmp = '[' . ALM_MAXIMUM . ' ' . $max_size . '] <img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/' . $_icon . '" border="0" alt="Imagen" title="Imagen" />'; if ($_val) { $_tmp .= '<input type="checkbox" checked name="' . $_key . '_keep" /> Conservar archivo actual (' . $_val . ')<br /><img src="' . URL . '/' . ALM_URI . '/pic/50/' . $table . '/' . $_val . '" alt="' . $_val . '" width="50" border="0" /><br />'; } $_tmp .= '<input type="file" name="' . $_key . '" value="' . $_val . '" />'; break; case 'boolean': case 'bool': if (preg_match("/:/", $dd[$_key]['extra']['label_bool'])) { list($_si, $_no) = preg_split('/:/', $dd[$_key]['extra']['label_bool']); $_tchecked = $_val == 't' ? 'checked' : ''; $_fchecked = $_val == 'f' ? 'checked' : ''; $_tmp = $_si . '<input type="radio" name="' . $_key . '" ' . $_tchecked . ' value="on" />' . $_no . '<input type="radio" name="' . $_key . '" ' . $_fchecked . ' value="" />'; } else { $_checked = $_val == 't' ? 'checked' : ''; $_tmp = '<input type="checkbox" name="' . $_key . '" ' . $_checked . ' />'; } break; case 'datenull': if (preg_match("/:/", $dd[$_key]['extra']['range'])) { list($_start_year, $_end_year) = preg_split('/:/', $dd[$_key]['extra']['range']); } if (!isset($_val) || empty($_val)) { $_val = '--'; } $_tmp = smarty_function_html_select_date(array('prefix' => $_key . '_', 'time' => $_val, 'start_year' => $_start_year, 'end_year' => $_end_year, 'day_empty' => '--', 'month_empty' => '--', 'year_empty' => '--'), $smarty); break; case 'date': if (preg_match("/:/", $dd[$_key]['extra']['range'])) { list($_start_year, $_end_year) = preg_split('/:/', $dd[$_key]['extra']['range']); } $_tmp = smarty_function_html_select_date(array('prefix' => $_key . '_', 'time' => $_val, 'start_year' => $_start_year, 'end_year' => $_end_year), $smarty); break; case 'time': $_tmp = smarty_function_html_select_time(array('prefix' => $_key . '_', 'time' => $_val, 'display_seconds' => false), $smarty); break; case 'datetime': if (preg_match("/:/", $dd[$_key]['extra']['range'])) { list($_start_year, $_end_year) = preg_split('/:/', $dd[$_key]['extra']['range']); } $_tmp = smarty_function_html_select_date(array('prefix' => $_key . '_', 'time' => $_val, 'start_year' => $_start_year, 'end_year' => $_end_year), $smarty); $_tmp .= smarty_function_html_select_time(array('prefix' => $_key . '_', 'time' => $_val, 'display_seconds' => false), $smarty); break; case 'datetimenull': if (preg_match("/:/", $dd[$_key]['extra']['range'])) { list($_start_year, $_end_year) = preg_split('/:/', $dd[$_key]['extra']['range']); } $_tmp = smarty_function_html_select_date(array('prefix' => $_key . '_', 'time' => $_val, 'start_year' => $_start_year, 'end_year' => $_end_year, 'day_empty' => '--', 'month_empty' => '--', 'year_empty' => '--'), $smarty); $_tmp .= smarty_function_html_select_time(array('prefix' => $_key . '_', 'time' => $_val, 'display_seconds' => false), $smarty); break; case 'password': $_tmp = '<input type="password" name="' . $_key . '" size="20" maxlength="16" />'; break; case 'text': $_tmp = '<textarea rows="5" cols="40" name="' . $_key . '">' . $_val . '</textarea> <a href="javascript:edittext(\'' . $name . '\', \'' . $_key . '\', document.forms[\'' . $name . '\'].' . $_key . '.value);">' . ALM_MAX . '</a>'; break; case 'html': $_tmp = '<textarea rows="5" cols="40" id="' . $_key . '" name="' . $_key . '">' . $_val . '</textarea> <a href="javascript:edithtml(\'' . $name . '\', \'' . $_key . '\', document.forms[\'' . $name . '\'].' . $_key . '.value);">' . ALM_MAX . '</a>'; $_tmp .= "<script language=\"JavaScript\">\ngenerate_wysiwyg('" . $_key . "');\n</script>\n"; break; case 'xhtml': $_tmp = '<textarea rows="5" cols="40" class="adm" id="' . $_key . '" name="' . $_key . '"' . ($dd[$_key]['extra']['style'] ? ' style="' . $dd[$_key]['extra']['style'] . '"' : '') . '>' . $_val . '</textarea>'; $_tmp .= "<script language=\"JavaScript\">\ntinyMCE.execCommand(\"mceAddControl\", true,\"{$_key}\");\n</script>\n"; break; case 'varchar': case 'char': if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_tmp = smarty_function_html_options(array('options' => $_options, 'selected' => $_val), $smarty); $_tmp = preg_replace("/_REFERENCE_/", $_tmp, FCELLMODREF); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); } else { $_val = preg_replace("/\"/", """, $_val); $_tmp = preg_replace("/_VALUE_/", qdollar($_val), FCELLMODSTR); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); $_tmp = preg_replace("/_SIZE_/", $dd[$_key]['size'], $_tmp); } break; case 'numeric': case 'int': if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_tmp = smarty_function_html_options(array('options' => $_options, 'selected' => $_val), $smarty); $_tmp = preg_replace("/_REFERENCE_/", $_tmp, FCELLMODREF); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); } else { $_tmp = preg_replace("/_VALUE_/", $_val, FCELLMODSTR); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); $_tmp = preg_replace("/_SIZE_/", 10, $_tmp); } break; case 'references': if ($_preset[$_key]) { $_tmp = '<input type="hidden" name="' . $_key . '" value="' . $_selected . '" />'; if ($options[$_key]) { $_tmp .= $options[$_key][$_selected]; } else { $_tmp .= $_selected; } } else { $_options = $options[$_key]; $_tmp = smarty_function_html_options(array('options' => $_options, 'selected' => $_selected), $smarty); $_tmp = preg_replace("/_REFERENCE_/", qdollar($_tmp), FCELLMODREF); $_tmp = preg_replace("/_FIELD_/", $_key, $_tmp); } break; case 'hidden': case 'serial': $hidden = true; $_tmp = ''; break; default: $_tmp = $_val; } if (!empty($dd[$_key]['extra']['help'])) { $_tmp .= '<sup title="' . $dd[$_key]['extra']['help'] . '"> ? </sup>'; } $_tmp = preg_replace("/_FCELL_/", qdollar($_tmp), FROW); $_tmp = preg_replace("/_LABEL_/", $labels[$_key], $_tmp); if (!$hidden) { $_html_rows .= $_tmp; } $hidden = false; } } else { # # Crea las filas del dataform en modo lectura # foreach ((array) $row as $_key => $_val) { $_tmp = ''; if (!$dd[$_key]) { continue; } # Tenemos permiso para mostrar este campo? if (isset($dd[$_key]['extra']['role']) && $dd[$_key]['extra']['role'] !== $_SESSION['idalm_role']) { $dd[$_key]['type'] = 'hidden'; } if ($dd[$_key]['references']) { if (!isset($references[$dd[$_key]['references']])) { $references[$dd[$_key]['references']] = 0; } $references[$dd[$_key]['references']]++; $n = $references[$dd[$_key]['references']] == 1 ? '' : $references[$dd[$_key]['references']]; $_val = $row[$dd[$_key]['references'] . $n]; } switch ($dd[$_key]['type']) { case 'char': if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_tmp = $_options[$_val]; } else { $_tmp = smarty_modifier_truncate($_val, 50); } break; case 'bool': case 'boolean': $_si = ALM_YES; $_no = ALM_NO; if ($dd[$_key]['extra']['label_bool']) { list($_si, $_no) = preg_split('/:/', $dd[$_key]['extra']['label_bool']); } $_tmp = $_val == 't' ? $_si : $_no; break; case 'file': if ($_val) { $_icon = $_val; $_file = HOMEDIR . "/_" . $table . "/" . $_val; $_icon = 'doc.png'; $_p = explode('.', $_file); $_pc = count($_p); if ($_p[$_pc - 1] == 'doc') { $_icon = 'doc.png'; } if ($_p[$_pc - 1] == 'pdf') { $_icon = 'pdf.png'; } if ($_p[$_pc - 1] == 'xls') { $_icon = 'xls.png'; } $_tmp = '<a title="' . $_val . '" href="' . URL . '/files/' . $table . '/' . $_val . '" target="_new"><img src="' . URL . '/' . ALM_URI . '/themes/' . ALM_ADMIN_THEME . '/img/' . $_icon . '" alt="' . $_val . '" border="0" /></a>'; } else { $_tmp = '--'; } break; case 'image': if ($_val) { if (THUMBNAILING) { $_tmp = '<a href="javascript:openimage(\'' . URL . '/files/' . $table . '/' . $_val . '\',\'Imagen: ' . $_val . '\')"><img src="' . URL . '/' . ALM_URI . '/pic/50/' . $table . '/' . $_val . '" alt="' . $_val . '" width="50" border="0" /></a>'; } else { $_tmp = '<a href="javascript:openimage(\'' . URL . '/files/' . $table . '/' . $_val . '\',\'Imagen: ' . $_val . '\')"><img src="' . URL . '/' . ALM_URI . '/pic/50/' . $table . '/' . $_val . '" alt="' . $_val . '" width="50" border="0" /></a>'; } } else { $_tmp = '--'; } break; case 'hidden': case 'serial': $hidden = true; $_tmp = ''; break; default: if ($dd[$_key]['extra']['list_values']) { $_options = $dd[$_key]['extra']['list_values']; $_val = $_options[trim($_val)]; } if ($_preset[$_key]) { $_tmp = $_val; if (!empty($_pre)) { $_pre .= ','; } $_pre .= $_key . '=' . $_preset[$_key]; } else { $_tmp = smarty_modifier_wordwrap($_val); $_tmp = smarty_modifier_nl2br($_tmp); } } $_tmp = preg_replace('/_FCELL_/', qdollar($_tmp), FROW); $_tmp = preg_replace('/_LABEL_/', $labels[$_key], $_tmp); if (!$hidden) { $_html_rows .= $_tmp; } $hidden = false; } $_html_cmd = preg_replace("/{_ID_}/", $row[$key], FCMD); if (!empty($_pre)) { $_pre = '<input type="hidden" name="preset" value="' . $_pre . '" />'; } } if ($type == 2) { $_html_cmd = FCMDADD; $action = "add"; } if ($type == 1) { $_html_cmd = FCMDMOD; $action = "save"; } if ($type == 0) { $_html_cmd = FCMD; $action = "edit"; } //if ($cmd) $_html_rows .= $_html_cmd; $_i++; $_tmp = FROW; if (!($_i % 2)) { $_tmp = preg_replace("/class=\"dgrow\"/", "class=\"dgrow2\"", $_tmp); } #$_html_rows .= preg_replace("/_FCELL_/", $_html_row, $_tmp); if ($paginate && $maxrows && $_i >= $maxrows * $pg) { $_need_paginate = true; break; } $_f = F; $oldkeys = null; foreach ($keys as $val) { $oldkeys .= '<input type="hidden" name="alm_old_' . $val . '" value="' . $row[$val] . '" />'; } $_f = preg_replace("/{_OLDKEYS_}/", $oldkeys, $_f); $_f = preg_replace('/{_PRESET_}/', $_pre, $_f); $_html_result = preg_replace("/_FHEADER_/", $_html_labels, $_f); if ($cmd) { $_html_result = preg_replace("/_FHEADERCMD_/", FHEADERCMD, $_html_result); } $_html_result = preg_replace("/_FHEADERCMD_/", '', $_html_result); $_html_result = preg_replace("/_TITLE_/", $title, $_html_result); $_html_result = preg_replace("/_FROW_/", qdollar($_html_rows), $_html_result); #$_npgs = ceil(count($rows) / $maxrows); $_paginate = ''; if ($paginate && $_npgs > 1) { if ($pg != 1) { $_paginate = PREV; } for ($_j = 1; $_j <= $_npgs; $_j++) { $npg = $_j == $pg ? CURRENTPG : NPG; $_paginate .= preg_replace("/_NPG_/", $_j, $npg); } if ($pg != $_npgs) { $_paginate .= NEXT; } } $_html_result = preg_replace("/_PAGINATE_/", $_paginate, $_html_result); $params = preg_split('/\\//', $_SERVER['PHP_SELF']); $page = $params[count($params) - 1]; if ($page == '404.php') { $_html_result = preg_replace("/_SELF_/", SELF, $_html_result); } else { $_html_result = preg_replace("/_SELF_/", $_SERVER['PHP_SELF'], $_html_result); } $_referer = preg_replace("/\\//", "\\/", $_SERVER['PHP_SELF']); if (preg_match("/{$_referer}/", $_SERVER['HTTP_REFERER']) || $is_child) { $_referer = $_SERVER['PHP_SELF']; } else { if (defined('SELF')) { $_referer = SELF; } else { $_referer = $_SERVER['HTTP_REFERER']; } } if ($is_child) { $_referer .= '?action=close'; } $_html_result = preg_replace("/_REFERER_/", $_referer, $_html_result); $_html_result = preg_replace("/_KEY_/", $key, $_html_result); $_html_result = preg_replace("/_KEY1_/", $key1, $_html_result); $_html_result = preg_replace("/_KEY2_/", $key2, $_html_result); $_html_result = preg_replace("/{_ID_}/", $_REQUEST[$key], $_html_result); $_html_result = preg_replace("/_ID1_/", $_REQUEST[$key1], $_html_result); $_html_result = preg_replace("/_ID2_/", $_REQUEST[$key2], $_html_result); $_html_result = preg_replace("/_SORT_/", $_REQUEST['sort'], $_html_result); $_html_result = preg_replace("/_PG_/", $_REQUEST[$object . 'pg'], $_html_result); $_html_result = preg_replace("/_PGPREV_/", $pg - 1, $_html_result); $_html_result = preg_replace("/_PGNEXT_/", $pg + 1, $_html_result); $_html_result = preg_replace("/_FORM_/", $name, $_html_result); $_html_result = preg_replace("/_OBJECT_/", $object, $_html_result); $_html_result = preg_replace("/_ACTION_/", $action, $_html_result); if ($type == 0) { $_html_result = preg_replace('/alm_old_/', '', $_html_result); } if (strpos($_html_rows, 'value="Agregar"') != '') { $_SESSION['accion'] = 'add'; } elseif (isset($_SESSION['accion'])) { unset($_SESSION['accion']); } return $_html_result; }
<td class="tblfield" style="width:100px;"><a href="<?php echo @URL; ?> /a/<?php echo $this->_tpl_vars['art']['id']; ?> " class="sidelinks"><?php echo $this->_tpl_vars['art']['title']; ?> </a></td> <?php } ?> <td class="tblfield" style="width:170px;"><?php if ($this->_tpl_vars['art']['url'] != null) { echo is_array($_tmp = $this->_tpl_vars['art']['url']) ? $this->_run_mod_handler('wordwrap', true, $_tmp, 26, "\n", true) : smarty_modifier_wordwrap($_tmp, 26, "\n", true); ?> <?php } ?> </td> <?php $_from = $this->_tpl_vars['catList']; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array'); } if (count($_from)) { foreach ($_from as $this->_tpl_vars['c']) { ?> <?php if ($this->_tpl_vars['c']['id'] == $this->_tpl_vars['art']['category_id']) {
<h1>spacify 使用</h1> <?php echo is_array($_tmp = 'abcd') ? $this->_run_mod_handler('spacify', true, $_tmp, "^_^") : smarty_modifier_spacify($_tmp, "^_^"); ?> <h1>strip 使用</h1> <?php echo is_array($_tmp = $this->_tpl_vars['dd']) ? $this->_run_mod_handler('strip', true, $_tmp) : smarty_modifier_strip($_tmp); ?> <h1>truncate 使用</h1> <?php echo is_array($_tmp = $this->_tpl_vars['ee']) ? $this->_run_mod_handler('truncate', true, $_tmp, 10) : smarty_modifier_truncate($_tmp, 10); ?> <h1>truncateutf8 使用</h1> <?php echo is_array($_tmp = $this->_tpl_vars['ff']) ? $this->_run_mod_handler('truncateutf8', true, $_tmp, 10, "...", true) : smarty_modifier_truncateutf8($_tmp, 10, "...", true); ?> <h1>wordwrap 使用</h1><?php echo is_array($_tmp = $this->_tpl_vars['gg']) ? $this->_run_mod_handler('wordwrap', true, $_tmp, 50, "<br/>") : smarty_modifier_wordwrap($_tmp, 50, "<br/>"); ?> <h1>自定义变量调节器 ismail 使用</h1> <?php echo is_array($_tmp = $this->_tpl_vars['hh']) ? $this->_run_mod_handler('ismail', true, $_tmp) : smarty_modifier_ismail($_tmp);
?> <?php } ?> <?php } } unset($_from); ?> <?php echo is_array($_tmp = $this->_tpl_vars['selected_val']) ? $this->_run_mod_handler('replace', true, $_tmp, "\n", "<br> ") : smarty_modifier_replace($_tmp, "\n", "<br> "); ?> <!-- commented to fix ticket4631 -using wordwrap will affect Not Accessible font color --> <!--<?php echo is_array($_tmp = is_array($_tmp = is_array($_tmp = is_array($_tmp = is_array($_tmp = $this->_tpl_vars['selected_val']) ? $this->_run_mod_handler('replace', true, $_tmp, $this->_tpl_vars['MULTISELECT_COMBO_BOX_ITEM_SEPARATOR_STRING'], "") : smarty_modifier_replace($_tmp, $this->_tpl_vars['MULTISELECT_COMBO_BOX_ITEM_SEPARATOR_STRING'], "")) ? $this->_run_mod_handler('replace', true, $_tmp, ' ', "") : smarty_modifier_replace($_tmp, ' ', "")) ? $this->_run_mod_handler('replace', true, $_tmp, "", $this->_tpl_vars['MULTISELECT_COMBO_BOX_ITEM_SEPARATOR_STRING']) : smarty_modifier_replace($_tmp, "", $this->_tpl_vars['MULTISELECT_COMBO_BOX_ITEM_SEPARATOR_STRING'])) ? $this->_run_mod_handler('wordwrap', true, $_tmp, $this->_tpl_vars['DETAILVIEW_WORDWRAP_WIDTH'], "<br> ") : smarty_modifier_wordwrap($_tmp, $this->_tpl_vars['DETAILVIEW_WORDWRAP_WIDTH'], "<br> ")) ? $this->_run_mod_handler('replace', true, $_tmp, "", " ") : smarty_modifier_replace($_tmp, "", " "); ?> --> </span> <!--code given by Neil End--> <div id="editarea_<?php echo $this->_tpl_vars['label']; ?> " style="display:none;"> <select MULTIPLE id="txtbox_<?php echo $this->_tpl_vars['label']; ?> " name="<?php echo $this->_tpl_vars['keyfldname']; ?> " size="4" style="width:160px;" class="small">
<td height="100%" colspan="3" align="center"><img src="<?php echo $this->_tpl_vars['plot_image']; ?> &width=570&height=250" width="570" height="250" /></td> </tr> <tr> <td colspan="3" align="right"><?php $_smarty_tpl_vars = $this->_tpl_vars; $this->_smarty_include(array('smarty_include_tpl_file' => "generic/link.tpl", 'smarty_include_vars' => array('content' => $this->_tpl_vars['lang']['google_earth'], 'link' => $this->_tpl_vars['gearth']))); $this->_tpl_vars = $_smarty_tpl_vars; unset($_smarty_tpl_vars); ?> </td> </tr> <?php } else { ?> <tr> <td height="100%" colspan="3" align="center"><?php echo is_array($_tmp = $this->_tpl_vars['lang']['nodes_plot_link_info']) ? $this->_run_mod_handler('wordwrap', true, $_tmp, 40, "<br />") : smarty_modifier_wordwrap($_tmp, 40, "<br />"); ?> </td> </tr> <?php } ?> </table> </form> </td> </tr> </table>
function smarty_fun_menurecursion(&$smarty, $params) { $_fun_tpl_vars = $smarty->_tpl_vars; $smarty->assign($params); ?> <?php $smarty->assign('i', 0); ?> <?php $_from = $smarty->_tpl_vars['list']; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array'); } if (count($_from)) { foreach ($_from as $smarty->_tpl_vars['page']) { ?> <?php $smarty->assign('i', $smarty->_tpl_vars['i'] + 1); ?> <?php echo smarty_function_math(array('assign' => 'padding', 'equation' => "10+x*5", 'x' => $smarty->_tpl_vars['level']), $smarty); ?> <?php if (isset($smarty->_tpl_vars['page']['subpages'])) { ?> <?php $smarty->assign('togglerlevel', "toggler_" . $smarty->_tpl_vars['level']); ?> <?php } else { ?> <?php $smarty->assign('togglerlevel', ""); ?> <?php } ?> <?php if ($smarty->_tpl_vars['i'] == count($smarty->_tpl_vars['list'])) { ?> <?php if (isset($smarty->_tpl_vars['page']['subpages'])) { ?> <?php $smarty->assign('last', 'last_withsub'); ?> <?php $smarty->assign('tmplast', 'false'); ?> <?php } else { ?> <?php $smarty->assign('last', 'last_withoutsub'); ?> <?php if ($smarty->_tpl_vars['rlast'] == 'true') { ?> <?php $smarty->assign('tmplast', 'true'); ?> <?php } else { ?> <?php $smarty->assign('tmplast', 'false'); ?> <?php } ?> <?php } ?> <?php if ($smarty->_tpl_vars['rlast'] == 'true') { ?> <?php $smarty->assign('tmplast2', 'true'); ?> <?php } else { ?> <?php $smarty->assign('tmplast2', false); ?> <?php } ?> <?php } else { ?> <?php $smarty->assign('last', ""); ?> <?php $smarty->assign('tmplast', 'false'); ?> <?php $smarty->assign('tmplast2', 'false'); ?> <?php } ?> <?php if ($smarty->_tpl_vars['tmplast'] == 'true') { ?> <?php $smarty->assign('last_last', 'last_last'); ?> <?php } else { ?> <?php } ?> <div class="toggler <?php echo $smarty->_tpl_vars['togglerlevel']; ?> toggler_level_<?php echo $smarty->_tpl_vars['level']; ?> <?php echo $smarty->_tpl_vars['page']['status']; ?> <?php echo $smarty->_tpl_vars['page']['status_subpages']; ?> <?php echo $smarty->_tpl_vars['last']; ?> <?php echo $smarty->_tpl_vars['last_last']; ?> " style="padding-left:<?php echo $smarty->_tpl_vars['padding']; ?> px;"> <a href="<?php echo smarty_function_pagerequest(array('request' => $smarty->_tpl_vars['page']['page']->getRequest()), $smarty); ?> "> <?php echo is_array($_tmp = $smarty->_tpl_vars['page']['page']->getTitle()) ? $smarty->_run_mod_handler('wordwrap', true, $_tmp, 26, "<br />\n") : smarty_modifier_wordwrap($_tmp, 26, "<br />\n"); ?> </a><div class="menuline"> </div> </div> <?php if (isset($smarty->_tpl_vars['page']['subpages'])) { ?> <div class="content_<?php echo $smarty->_tpl_vars['level']; ?> "> <?php smarty_fun_menurecursion($smarty, array('list' => $smarty->_tpl_vars['page']['subpages'], 'level' => $smarty->_tpl_vars['level'] + 1, 'rlast' => $smarty->_tpl_vars['tmplast2'])); ?> </div> <?php } ?> <?php } } unset($_from); $smarty->_tpl_vars = $_fun_tpl_vars; }