private function valid_tree() { $v = $this->__(w('page')); if (!f($v['page'])) { _fatal(); } $v['field'] = is_numb($v['page']) ? 'id' : 'alias'; $sql = 'SELECT * FROM _tree WHERE tree_?? = ? LIMIT ??'; if (!($tree = _fieldrow(sql_filter($sql, $v['field'], $v['page'], 1)))) { if ($v['field'] == 'alias' && $v['page'] != 'tree') { _xfs($v['page']); } _fatal(); } return $tree; }
function valid_tree() { $v = $this->__(array('page')); if (empty($v['page'])) { _fatal(); } $v['field'] = 'alias'; if (preg_match('#^\\d+$#is', $v['page'])) { $v['field'] = 'id'; } $sql = 'SELECT * FROM _tree WHERE tree_' . $this->_escape($v['field']) . " = '" . $this->_escape($v['page']) . "'\n\t\t\tLIMIT 1"; if (!($tree = $this->_fieldrow($sql))) { if ($v['field'] == 'alias' && $v['page'] != 'tree') { $_REQUEST['module'] = $v['page']; _xfs(); } _fatal(); } return $tree; }
error_reporting(E_ALL); if (@ini_get('register_globals')) { foreach ($_REQUEST as $var_name => $void) { unset(${$var_name}); } } if (!defined('XFS')) { define('XFS', './'); } if (!defined('DD')) { define('DD', 'mysql'); } if (!defined('CA')) { define('CA', 'sha1'); } if (!defined('REQC')) { define('REQC', strtolower(ini_get('request_order')) == 'gp'); } foreach (array('core', 'dd/' . DD, 'styles', 'session') as $w) { $f_core = XFS . 'core/' . $w . '.php'; if (!@file_exists($f_core)) { exit; } @(require_once $f_core); } foreach (w((!defined('NDB') ? 'db ' : '') . 'style user core') as $w) { ${$w} = new $w(); } if (!defined('XCORE')) { _xfs(); }
$arg = request_var('args'); if (f($arg)) { foreach (explode('.', $arg) as $v) { $el = explode(':', $v); if (isset($el[0]) && isset($el[1]) && f($el[0])) { $warg[$el[0]] = $el[1]; } } } if (isset($_POST) && count($_POST)) { $_POST = _utf8($_POST); $warg = array_merge($warg, $_POST); } } if ($p_dir) { _xfs(isset($warg['x1']) ? $warg['x1'] : '', $mod, $warg); } else { _lib_define(); $warg_x = 0; foreach ($warg as $warg_k => $warg_v) { if (preg_match('/x\\d+/i', $warg_k)) { $warg_x = str_replace('x', '', $warg_k); } } if ($wdir !== false) { for ($i = 0; $i < $warg_x; $i++) { $warg['x' . ($i + 1)] = isset($warg['x' + ($i + 2)]) ? $warg['x' + ($i + 2)] : ''; } } } if (defined('MY_TIMEZONE') && !f(ini_get('date.timezone')) && function_exists('date_default_timezone_set')) {
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ $starttime = explode(' ', microtime()); $starttime = $starttime[1] + $starttime[0]; error_reporting(E_ALL); //error_reporting(E_ERROR | E_WARNING | E_PARSE); if (@ini_get('register_globals')) { foreach ($_REQUEST as $var_name => $void) { unset(${$var_name}); } } if (!defined('XFS')) define('XFS', './'); require_once(XFS . 'core/functions.php'); require_once(XFS . 'core/db.mysql.php'); require_once(XFS . 'core/styles.php'); require_once(XFS . 'core/session.php'); foreach (w('database style user core') as $w) $$w = new $w; if (!defined('XCORE')) _xfs(); ?>
function _xfs($mod = false, $wdir = false, $warg = false) { global $user, $style; include_once(XFS . 'core/modules.php'); if ($mod === false) { $mod = request_var('module', ''); } $mod = (!empty($mod)) ? $mod : 'home'; $mod_dir = './base/_' . $mod; $p_dir = ($wdir === false && @file_exists($mod_dir) && is_dir($mod_dir)) ? true : false; if (!$p_dir) { $mod_dir = './base/_' . (($wdir !== false) ? $wdir . '/_' : '') . $mod; $mod_path = $mod_dir . '.php'; $mod_class = '__' . $mod; if (!@file_exists($mod_path)) { _fatal(); } include_once($mod_path); if (!class_exists($mod_class)) { _fatal(); } $module = new $mod_class(); } if ($warg === false) { $warg = array(); $arg = request_var('args', ''); if (!empty($arg)) { foreach (explode('.', $arg) as $v) { $el = explode(':', $v); if (isset($el[0]) && isset($el[1]) && !empty($el[0])) { $warg[$el[0]] = $el[1]; } } } if (isset($_POST) && count($_POST)) { $_POST = _utf8($_POST); $warg = array_merge($warg, $_POST); } } if ($p_dir) { _xfs(((isset($warg['x1'])) ? $warg['x1'] : ''), $mod, $warg); } else { if (isset($module->auth) && $module->auth) { $v_auth_exclude = (isset($module->auth_exclude) && (isset($warg['x1']) && in_array($warg['x1'], $module->auth_exclude))) ? true : false; if (!$v_auth_exclude) { _login(); } } $warg_x = 0; foreach ($warg as $warg_k => $warg_v) { if (preg_match('/x\d+/i', $warg_k)) { $warg_x = str_replace('x', '', $warg_k); } } if ($wdir !== false) { for ($i = 0; $i < $warg_x; $i++) { $warg['x' . ($i + 1)] = (isset($warg['x' + ($i + 2)])) ? $warg['x' + ($i + 2)] : ''; } } } date_default_timezone_set('America/Guatemala'); $module->arg = $warg; $module->xlevel(); if (!method_exists($module, $module->level['x1'])) { _fatal(); } // Session start $user->start(true); $user->setup(); if (!$module->auth_access($user->data)) { _fatal(); } if (!defined('LIB')) define('LIB', '../space/'); if (!defined('LIBD')) define('LIBD', _link() . str_replace('../', '', LIB)); $module->module = $mod; if (@method_exists($module, 'install')) { $module->install(); } $module->navigation('home', '', ''); $module->navigation($module->module, ''); $module->{$module->level['x1']}(); if (empty($module->template)) { $module->template = $mod; } if (@file_exists('./base/tree')) { $menu = array_map('trim', @file('./base/tree')); foreach ($menu as $i => $row) { if (!$i) $style->assign_block_vars('tree', array()); $row = trim($row); $row_level = strripos($row, '*') + 1; preg_match('#^\*{0,} (.*?) <(.*?)>$#i', $row, $row_key); $row_mod = array(dvar(array_key(explode('/', $row_key[2]), 1), 'index')); if ($row_level > 1) $row_mod[] = array_key(explode(':', array_key(explode('.', array_key(explode('/', $row_key[2]), 2)), 0)), 1); $row_auth = implode('_', $row_mod); if (!$user->auth_get($row_auth)) continue; $row_style = '.row' . (($row_level == 1) ? '' : '.sub' . ($row_level - 1)); $style->assign_block_vars('tree' . $row_style, array( 'V_NAME' => trim(str_replace('*', '', $row_key[1])), 'V_LINK' => _link() . substr($row_key[2], 1)) ); } } // // Output template $page_smodule = 'CONTROL_' . strtoupper($mod); if (is_lang($page_smodule)) { $module->page_title($page_smodule); } $sv = array( 'MODE' => $module->level['x1'], 'MANAGE' => $module->level['x2'], 'NAVIGATION' => $module->get_navigation() ); _layout($module->template, $module->page_title(), $sv); }