friendica/view/theme/vier/config.php

131 lines
4.6 KiB
PHP

<?php
/**
* Theme settings
*/
use Friendica\App;
use Friendica\Core\Config;
use Friendica\Core\Renderer;
use Friendica\DI;
require_once __DIR__ . '/theme.php';
function theme_content(App $a)
{
if (!local_user()) {
return;
}
if (!function_exists('get_vier_config')) {
return;
}
$style = DI::pConfig()->get(local_user(), 'vier', 'style');
if ($style == "") {
$style = Config::get('vier', 'style');
}
if ($style == "") {
$style = "plus";
}
$show_pages = get_vier_config('show_pages', true);
$show_profiles = get_vier_config('show_profiles', true);
$show_helpers = get_vier_config('show_helpers', true);
$show_services = get_vier_config('show_services', true);
$show_friends = get_vier_config('show_friends', true);
$show_lastusers = get_vier_config('show_lastusers', true);
return vier_form($a,$style, $show_pages, $show_profiles, $show_helpers,
$show_services, $show_friends, $show_lastusers);
}
function theme_post(App $a)
{
if (! local_user()) {
return;
}
if (isset($_POST['vier-settings-submit'])) {
DI::pConfig()->set(local_user(), 'vier', 'style', $_POST['vier_style']);
DI::pConfig()->set(local_user(), 'vier', 'show_pages', $_POST['vier_show_pages']);
DI::pConfig()->set(local_user(), 'vier', 'show_profiles', $_POST['vier_show_profiles']);
DI::pConfig()->set(local_user(), 'vier', 'show_helpers', $_POST['vier_show_helpers']);
DI::pConfig()->set(local_user(), 'vier', 'show_services', $_POST['vier_show_services']);
DI::pConfig()->set(local_user(), 'vier', 'show_friends', $_POST['vier_show_friends']);
DI::pConfig()->set(local_user(), 'vier', 'show_lastusers', $_POST['vier_show_lastusers']);
}
}
function theme_admin(App $a) {
if (!function_exists('get_vier_config'))
return;
$style = Config::get('vier', 'style');
$helperlist = Config::get('vier', 'helperlist');
if ($helperlist == "")
$helperlist = "https://forum.friendi.ca/profile/helpers";
$t = Renderer::getMarkupTemplate("theme_admin_settings.tpl");
$o = Renderer::replaceMacros($t, [
'$helperlist' => ['vier_helperlist', DI::l10n()->t('Comma separated list of helper forums'), $helperlist, '', ''],
]);
$show_pages = get_vier_config('show_pages', true, true);
$show_profiles = get_vier_config('show_profiles', true, true);
$show_helpers = get_vier_config('show_helpers', true, true);
$show_services = get_vier_config('show_services', true, true);
$show_friends = get_vier_config('show_friends', true, true);
$show_lastusers = get_vier_config('show_lastusers', true, true);
$o .= vier_form($a,$style, $show_pages, $show_profiles, $show_helpers, $show_services,
$show_friends, $show_lastusers);
return $o;
}
function theme_admin_post(App $a) {
if (isset($_POST['vier-settings-submit'])){
Config::set('vier', 'style', $_POST['vier_style']);
Config::set('vier', 'show_pages', $_POST['vier_show_pages']);
Config::set('vier', 'show_profiles', $_POST['vier_show_profiles']);
Config::set('vier', 'show_helpers', $_POST['vier_show_helpers']);
Config::set('vier', 'show_services', $_POST['vier_show_services']);
Config::set('vier', 'show_friends', $_POST['vier_show_friends']);
Config::set('vier', 'show_lastusers', $_POST['vier_show_lastusers']);
Config::set('vier', 'helperlist', $_POST['vier_helperlist']);
}
}
/// @TODO $a is no longer used
function vier_form(App $a, $style, $show_pages, $show_profiles, $show_helpers, $show_services, $show_friends, $show_lastusers) {
$styles = [
"breathe"=>"Breathe",
"netcolour"=>"Coloured Networks",
"dark"=>"Dark",
"flat"=>"Flat",
"plus"=>"Plus",
"plusminus"=>"Plus Minus",
"shadow"=>"Shadow"
];
$show_or_not = ['0' => DI::l10n()->t("don't show"), '1' => DI::l10n()->t("show"),];
$t = Renderer::getMarkupTemplate("theme_settings.tpl");
$o = Renderer::replaceMacros($t, [
'$submit' => DI::l10n()->t('Submit'),
'$title' => DI::l10n()->t("Theme settings"),
'$style' => ['vier_style', DI::l10n()->t('Set style'), $style, '', $styles],
'$show_pages' => ['vier_show_pages', DI::l10n()->t('Community Pages'), $show_pages, '', $show_or_not],
'$show_profiles' => ['vier_show_profiles', DI::l10n()->t('Community Profiles'), $show_profiles, '', $show_or_not],
'$show_helpers' => ['vier_show_helpers', DI::l10n()->t('Help or @NewHere ?'), $show_helpers, '', $show_or_not],
'$show_services' => ['vier_show_services', DI::l10n()->t('Connect Services'), $show_services, '', $show_or_not],
'$show_friends' => ['vier_show_friends', DI::l10n()->t('Find Friends'), $show_friends, '', $show_or_not],
'$show_lastusers' => ['vier_show_lastusers', DI::l10n()->t('Last users'), $show_lastusers, '', $show_or_not]
]);
return $o;
}