daux.io/libs/DauxHelper.php

93 regels
3.0 KiB
PHP

<?php namespace Todaymade\Daux;
2015-04-23 00:32:30 +02:00
class DauxHelper
{
2015-04-23 00:32:30 +02:00
public static function getBreadcrumbFromRequest($request, $separator = 'Chevrons', $multilanguage = false)
{
if ($multilanguage) {
$request = substr($request, strpos($request, '/') + 1);
}
$request = str_replace('_', ' ', $request);
switch ($separator) {
case 'Chevrons':
$request = str_replace('/', ' <i class="glyphicon glyphicon-chevron-right"></i> ', $request);
return $request;
case 'Colons':
$request = str_replace('/', ': ', $request);
return $request;
case 'Spaces':
$request = str_replace('/', ' ', $request);
return $request;
default:
$request = str_replace('/', $separator, $request);
return $request;
}
2015-04-23 00:32:30 +02:00
return $request;
}
2015-04-23 21:04:00 +02:00
public static function getTheme($theme_name, $base_url, $local_base, $current_url)
2015-04-23 00:32:30 +02:00
{
2015-04-23 21:04:00 +02:00
$theme_folder = $local_base . DS . 'resources' . DS . 'themes' . DS . $theme_name;
$theme_url = $base_url . "resources/themes/" . $theme_name . '/';
2015-04-23 00:32:30 +02:00
$theme = array();
if (is_file($theme_folder . DS . "config.json")) {
$theme = json_decode(file_get_contents($theme_folder . DS . "config.json"), true);
if (!$theme) {
$theme = array();
}
2015-04-23 00:32:30 +02:00
}
2015-04-23 00:32:30 +02:00
//Default parameters for theme
$theme += [
2015-04-23 21:04:00 +02:00
'name' => $theme_name,
2015-04-23 00:32:30 +02:00
'css' => [],
'js' => [],
'fonts' => [],
'require-jquery' => false,
'bootstrap-js' => false,
'favicon' => '<base_url>resources/img/favicon.png',
2015-04-23 10:24:50 +02:00
'templates' => $theme_folder . DS . 'templates',
2015-04-23 00:32:30 +02:00
];
2015-04-23 21:04:00 +02:00
$substitutions = ['<local_base>' => $local_base, '<base_url>' => $current_url, '<theme_url>' => $theme_url];
2015-04-23 00:32:30 +02:00
// Substitute some placeholders
2015-04-23 10:24:50 +02:00
$theme['templates'] = strtr($theme['templates'], $substitutions);
2015-04-23 00:32:30 +02:00
$theme['favicon'] = utf8_encode(strtr($theme['favicon'], $substitutions));
2015-04-23 00:32:30 +02:00
foreach ($theme['css'] as $key => $css) {
$theme['css'][$key] = utf8_encode(strtr($css, $substitutions));
}
2015-04-23 00:32:30 +02:00
foreach ($theme['fonts'] as $key => $font) {
$theme['fonts'][$key] = utf8_encode(strtr($font, $substitutions));
}
2015-04-23 00:32:30 +02:00
foreach ($theme['js'] as $key => $js) {
$theme['js'][$key] = utf8_encode(strtr($js, $substitutions));
}
2015-04-23 00:32:30 +02:00
return $theme;
}
public static function pathinfo($path)
{
preg_match('%^(.*?)[\\\\/]*(([^/\\\\]*?)(\.([^\.\\\\/]+?)|))[\\\\/\.]*$%im', $path, $m);
if (isset($m[1])) {
$ret['dir']=$m[1];
}
if (isset($m[2])) {
$ret['basename']=$m[2];
}
if (isset($m[5])) {
$ret['extension']=$m[5];
}
if (isset($m[3])) {
$ret['filename']=$m[3];
}
2015-04-23 00:32:30 +02:00
return $ret;
}
2015-04-23 00:32:30 +02:00
}