Example #1
0
 /**
  * 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;
 }
Example #2
0
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;
}
Example #3
0
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;
}
Example #4
0
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];
}
Example #5
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;
 }
Example #6
0
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);
}
Example #7
0
        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));
Example #8
0
	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();
	}