Skip to content

Commit 8e997d1

Browse files
committed
system update
1 parent d416e7b commit 8e997d1

File tree

5 files changed

+47
-16
lines changed

5 files changed

+47
-16
lines changed

system/Language.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ class Language {
88
public function __construct (Config $conf) {
99
$this->conf = $conf;
1010
$this->default = 'en';
11-
$this->current = $this->default;
12-
// print_r(DB::fetch('SELECT * from `languages`'));
11+
//$this->current = $this->default; // moved to middleware
1312
}
1413

1514
}

system/Template.php

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,15 @@ public function loadSystem () {
2626
$this->force_compile = true; // set true only for debugging purposes
2727

2828
$this->assign('requestURI',$_SESSION['requestURI']);
29-
$this->assign('language',$this->language->current);
30-
if ($this->language->default !== $this->language->current) {
31-
$baseurl = BASE_URL.'/'.$this->language->current;
32-
}else {
33-
$baseurl = BASE_URL;
34-
}
35-
$this->assign('baseurl',$baseurl);
3629

3730
$this->setTemplateDir($this->conf->template['template_dir'])
3831
->setCompileDir($this->conf->template['compile_dir'])
3932
->setCacheDir($this->conf->template['cache_dir'])
4033
->setConfigDir($this->conf->template['languages_dir'])
4134
->addPluginsDir($this->conf->template['plugins_dir']);
42-
4335
$this->applyCacheSettings();
44-
36+
$this->assignLanguage();
37+
4538
$this->loadFilter('output', 'trimwhitespace'); // enable smarty internal html minifier
4639

4740
// Set template variables
@@ -54,6 +47,22 @@ public function loadSystem () {
5447
}
5548
}
5649

50+
public function assignLanguage()
51+
{
52+
$this->assign('language',$this->language->current);
53+
$this->assign('defaultLang',$this->language->default);
54+
if ($this->language->default !== $this->language->current) {
55+
$baseurl = BASE_URL.'/'.$this->language->current;
56+
}else {
57+
$baseurl = BASE_URL;
58+
}
59+
$this->assign('baseurl',$baseurl);
60+
$langfile = ROOT_DIR.'/storage/languages/'.$this->language->current.'.ini';
61+
if (is_file($langfile)) {
62+
$this->configLoad($langfile);
63+
$this->language->vars = parse_ini_file($langfile);
64+
}
65+
}
5766
/**
5867
* Override Smarty's built-in 'display' function
5968
*

system/functions.php

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,29 @@
1717
function lang ($value) {
1818
$grp=before('.',$value);
1919
$val=after('.',$value);
20-
return \System\lang::$lang_vars[$grp][$val];
20+
return \System\Language::$lang_vars[$grp][$val];
2121
}
2222

23+
/**
24+
* Send Redirect request to browser
25+
*
26+
* @param string $url
27+
* @return mixed
28+
*/
29+
function redirect($url, $type = 'header') {
30+
if (!headers_sent() and $type == 'header') {
31+
header('Location: '.$url);
32+
flush();
33+
} else {
34+
echo '<script type="text/javascript">';
35+
echo 'window.location.href="'.$url.'";';
36+
echo '</script>';
37+
echo '<noscript>';
38+
echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
39+
echo '</noscript>';
40+
}
41+
}
42+
2343
/**
2444
* Convert size format to bytes
2545
*

system/middlewares/LanguageDetect.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ public function __invoke(ServerRequestInterface $request, ResponseInterface $res
4545
//remove the language in the path
4646
$request = $request->withUri($uri->withPath('/'.array_shift($dirs)));
4747
$this->language->current = $language;
48+
}else {
49+
$this->language->current = $this->language->default;
50+
$this->language->notOrigin = true;
4851
}
4952
return $next($request, $response);
5053
}

system/middlewares/Phroute.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ public function __invoke(ServerRequestInterface $request, ResponseInterface $res
4040
try {
4141
$_SESSION['requestURI']=$request->getUri()->getPath();
4242
ob_start();
43-
$this->router->dispatch($request->getMethod(), $request->getUri()->getPath());
44-
$bufferedBody = ob_get_clean();
45-
$response->getBody()->write($bufferedBody);
46-
$response = $response->withStatus(200);
43+
$route = $this->router->dispatch($request->getMethod(), $request->getUri()->getPath());
44+
$bufferedBody = ob_get_clean();
45+
$response->getBody()->write($bufferedBody);
46+
$response = $response->withStatus(200);
4747
}
4848
catch (HttpRouteNotFoundException $e) {
4949
return $response->withStatus(404);

0 commit comments

Comments
 (0)