experimental multi-client capability

This commit is contained in:
MaZderMind 2015-11-06 16:45:55 +01:00
parent e84ce4fea6
commit 4c52028f55
3 changed files with 53 additions and 7 deletions

View file

@ -4,7 +4,56 @@ if(!ini_get('short_open_tag'))
die('`short_open_tag = On` is required');
require_once('lib/helper.php');
require_once('config.php');
$route = @$_GET['route'];
$route = rtrim($route, '/');
if($route == '')
{
// list of clients
$clients = array_values(array_filter(array_map(function($file)
{
$info = pathinfo($file);
if($info['extension'] == 'php')
return $info['filename'];
}, scandir('configs/clients/'))));
if(count($clients) == 0)
{
// no clients
// error
die('no clients');
}
else if(count($clients) == 1)
{
// one client
// redirect
header('Location: '.baseurl().$clients[0].'/');
exit;
}
else
{
// multiple clients
// show overview
// TODO Template
print_r($clients);
exit;
}
}
else
{
list($client, $route) = explode('/', $route, 2);
$GLOBALS['CLIENT'] = $client;
require_once('configs/clients/'.$client.'.php');
}
require_once('lib/PhpTemplate.php');
require_once('lib/Exceptions.php');
@ -22,9 +71,6 @@ require_once('model/Stream.php');
require_once('model/Relive.php');
require_once('model/Upcoming.php');
$route = @$_GET['route'];
$route = rtrim($route, '/');
$conference = new Conference();
$tpl = new PhpTemplate('template/page.phtml');
@ -71,7 +117,7 @@ try {
$dir = forceslash(sys_get_temp_dir());
$css_file = Less_Cache::Get([
'assets/css/main.less' => '../assets/css/',
'assets/css/main.less' => '../../assets/css/',
], [
'sourceMap' => true,
'compress' => true,

View file

@ -18,14 +18,14 @@ function baseurl()
if(startswith('//', $base))
$base = proto().':'.$base;
return $base;
return forceslash($base.'/'.$GLOBALS['CLIENT']);
}
$base = ssl() ? 'https://' : 'http://';
$base .= $_SERVER['HTTP_HOST'];
$base .= forceslash(dirname($_SERVER['SCRIPT_NAME']));
return $base;
return forceslash($base.$GLOBALS['CLIENT']);
}
function forceslash($url)