adding themes system
This commit is contained in:
parent
a1d9b63dcf
commit
747e28e07c
3
.gitignore
vendored
3
.gitignore
vendored
@ -26,3 +26,6 @@ system/uploads/sms/**
|
||||
!system/uploads/sms/index.html
|
||||
system/uploads/system/**
|
||||
!system/uploads/system/index.html
|
||||
ui/themes/**
|
||||
!ui/themes/index.html
|
||||
!ui/themes/README.md
|
@ -81,4 +81,9 @@ class Lang
|
||||
return $_notifmsg_default[$key];
|
||||
}
|
||||
}
|
||||
|
||||
public static function ucWords($text)
|
||||
{
|
||||
return ucwords(str_replace('_', ' ', $text));
|
||||
}
|
||||
}
|
||||
|
@ -128,9 +128,18 @@ function _notify($msg, $type = 'e')
|
||||
}
|
||||
|
||||
$lan_file = File::pathFixer('system/lan/' . $config['language'] . '/common.lan.php');
|
||||
require($lan_file);
|
||||
require $lan_file;
|
||||
|
||||
$ui = new Smarty();
|
||||
|
||||
if (!empty($config['theme']) && $config['theme'] != 'default') {
|
||||
$_theme = APP_URL . '/ui/theme/' . $config['theme'];
|
||||
$ui->setTemplateDir(['custom' => File::pathFixer('ui/ui_custom/'), 'theme' => $_theme, 'default' => File::pathFixer('ui/ui/')]);
|
||||
} else {
|
||||
$_theme = APP_URL . '/ui/ui';
|
||||
$ui->setTemplateDir(['custom' => File::pathFixer('ui/ui_custom/'), 'default' => File::pathFixer('ui/ui/')]);
|
||||
}
|
||||
$ui->assign('_theme', $_theme);
|
||||
$ui->addTemplateDir(File::pathFixer('system/paymentgateway/ui/'), 'pg');
|
||||
$ui->addTemplateDir(File::pathFixer('system/plugin/ui/'), 'plugin');
|
||||
$ui->setCompileDir(File::pathFixer('ui/compiled/'));
|
||||
|
@ -30,6 +30,14 @@ switch ($action) {
|
||||
//ignore
|
||||
}
|
||||
}
|
||||
$themes = [];
|
||||
$files = scandir('ui/themes/');
|
||||
foreach ($files as $file) {
|
||||
if (is_dir('ui/themes/' . $file) && !in_array($file, ['.', '..'])) {
|
||||
$themes[] = $file;
|
||||
}
|
||||
}
|
||||
$ui->assign('themes', $themes);
|
||||
run_hook('view_app_settings'); #HOOK
|
||||
$ui->display('app-settings.tpl');
|
||||
break;
|
||||
@ -46,7 +54,6 @@ switch ($action) {
|
||||
}
|
||||
}
|
||||
$ui->assign('lan', $folders);
|
||||
|
||||
$timezonelist = Timezone::timezoneList();
|
||||
$ui->assign('tlist', $timezonelist);
|
||||
$ui->assign('xjq', ' $("#tzone").select2(); ');
|
||||
@ -242,6 +249,7 @@ switch ($action) {
|
||||
$http_proxyauth = _post('http_proxyauth');
|
||||
$radius_enable = _post('radius_enable');
|
||||
$radius_client = _post('radius_client');
|
||||
$theme = _post('theme');
|
||||
run_hook('save_settings'); #HOOK
|
||||
|
||||
|
||||
@ -289,6 +297,18 @@ switch ($action) {
|
||||
$d->save();
|
||||
}
|
||||
|
||||
|
||||
$d = ORM::for_table('tbl_appconfig')->where('setting', 'theme')->find_one();
|
||||
if ($d) {
|
||||
$d->value = $theme;
|
||||
$d->save();
|
||||
} else {
|
||||
$d = ORM::for_table('tbl_appconfig')->create();
|
||||
$d->setting = 'theme';
|
||||
$d->value = $theme;
|
||||
$d->save();
|
||||
}
|
||||
|
||||
$d = ORM::for_table('tbl_appconfig')->where('setting', 'CompanyFooter')->find_one();
|
||||
if ($d) {
|
||||
$d->value = $footer;
|
||||
|
3
ui/themes/README.md
Normal file
3
ui/themes/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Themes Folder
|
||||
|
||||
Folder name must only alphanumeric characters and underscores _**my_theme**_ will show as _**My Theme**_
|
@ -53,6 +53,17 @@
|
||||
<input type="text" class="form-control" id="phone" name="phone" value="{$_c['phone']}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">Theme</label>
|
||||
<div class="col-md-6">
|
||||
<select name="theme" id="theme" class="form-control">
|
||||
<option value="default" {if $_c['theme'] eq 'default'}selected="selected" {/if}>Default</option>
|
||||
{foreach $themes as $theme}
|
||||
<option value="{$theme}" {if $_c['theme'] eq $theme}selected="selected" {/if}>{Lang::ucWords($theme)}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('Disable Voucher')}</label>
|
||||
<div class="col-md-6">
|
||||
|
Loading…
x
Reference in New Issue
Block a user