/** * Checks for empty variable and shows language variable if possible. */ function lang($var) { global $user, $core; $prefix = substr($var, 0, 2); $value = substr($var, 2); $response = ''; switch ($prefix) { case 'L_': if (is_lang($value)) { return _lang($value); } return $value; break; case 'U_': $module = ''; $v_args = array(); $e_name = explode('_', $value); if (count($e_name) > 0) { $e_name[0] = strtolower($e_name[0]); $module = $e_name[0] != 'home' ? $e_name[0] : ''; unset($e_name[0]); foreach ($e_name as $row) { $k = ''; $v = $row; $e_row = explode(':', $row); if (isset($e_row[1])) { $k = $e_row[0]; $v = $e_row[1]; } $v_args[$k] = $v; } } $response = _link($module, $v_args); break; } return $response; }
function title($title) { global $CONFIG, $lang; $str = $CONFIG['prefix_short_title'] ? $CONFIG['site_short_title'] . ': ' : ''; if (preg_match('/^[0-9]+$/', $title)) { $str .= sprintf(lang('pagetitle_quotenum'), $title); } else { if (is_lang('pagetitle_' . $title)) { $str .= lang('pagetitle_' . $title); } else { $str .= $CONFIG['site_long_title']; } } return $str; }
function langs_list($inactive, $active = false) { $dir = glob(ROOT . 'lang/info.*.ini'); foreach ($dir as $lang) { $lang = substr($lang, -6, 2); if (is_lang($lang)) { $info = parse_ini(file_get_contents(ROOT . 'lang/info.' . $lang . '.ini')); $langs .= sprintf(LANG == $lang && $active ? $active : $inactive, $lang, $info['NAME']); } } return $langs; }
function _lang() { global $user; $f = func_get_args(); if (is_lang($f[0])) { return array_construct($user->lang, array_map('strtoupper', $f)); } return $f[0]; }
public final function e($m = '') { if ($m == '!' && !$this->errors()) { return false; } // GZip if (_browser('gecko')) { ob_start('ob_gzhandler'); } // Headers if (!headers_sent()) { header('Cache-Control: private, no-cache="set-cookie", pre-check=0, post-check=0'); header('Expires: 0'); header('Pragma: no-cache'); } sql_close(); if (is_object($m) || is_array($m)) { _pre($m); } else { if (is_lang($m)) { $m = _lang($m); } elseif ($m == '!') { $m = '#' . $this->get_errors(); } elseif (($s = substr($m, 0, 1)) == '~') { $m = str_replace($s, '', $m); $m = isset($this->je[$m]) ? $this->je[$m] : $this->je['OK']; } echo $m; } exit; }
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); }
Kio::$urlPrefix = ''; break; // www.site.com/index.php/example // www.site.com/index.php/example default: Kio::$url = array_map('clean_url', explode('/', substr($_SERVER['PATH_INFO'], 1))); Kio::$urlPrefix = 'index.php/'; } if (Kio::getConfig('multilang')) { // Language code is setted in URL if (is_lang(Kio::$url[0])) { define('LANG', Kio::$url[0]); setcookie(COOKIE . '-lang', Kio::$url[0], TIMESTAMP + 31536000, '/'); array_shift(Kio::$url); } else { define('LANG', is_lang(User::$lang) ? User::$lang : Kio::getConfig('lang')); } } else { define('LANG', Kio::getConfig('lang')); } //is_lang($kio->url[0]) && array_shift($m).redirect(local_dir.$cfg->system['url_prefix'].implode('/', $m)); //is_lang($kio->url[0]) && array_shift($m); //$lang_url = ''; for ($i = 0; $i <= 20; $i++) { define('u' . $i, isset(Kio::$url[$i]) ? Kio::$url[$i] : ''); } Kio::loadLangPhrases(); // Name of system theme (default is Kiofol) define('THEME', Kio::getConfig('template')); // Requested system path define('PATH', substr(implode('/', Kio::$url), 0, 255));
function e($msg = '') { global $user; if ($msg == '!' && !$this->errors()) { return false; } // GZip if (!isset($this->config['ob_gz'])) { if (strstr($user->browser, 'compatible') || strstr($user->browser, 'Gecko')) { ob_start('ob_gzhandler'); $this->config['ob_gz'] = true; } } // Headers header('Cache-Control: private, no-cache="set-cookie", pre-check=0, post-check=0'); header('Expires: 0'); header('Pragma: no-cache'); // if (!is_array($msg)) { if (is_lang($msg)) { $msg = _lang($msg); } else if ($msg == '!') { $msg = '#' . $this->get_errors(); } } sql_close(); if (!is_array($msg)) { echo $msg; } else { echo '<pre>'; print_r($msg); echo '</pre>'; } die(); }