146 lines
5.6 KiB
PHP
146 lines
5.6 KiB
PHP
<?php
|
|
/**
|
|
* @copyright Copyright (C) 2010-2024, the Friendica project
|
|
*
|
|
* @license GNU AGPL version 3 or any later version
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Affero General Public License as
|
|
* published by the Free Software Foundation, either version 3 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Affero General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*
|
|
*/
|
|
|
|
use Friendica\App;
|
|
use Friendica\Core\Renderer;
|
|
use Friendica\DI;
|
|
|
|
require_once __DIR__ . '/theme.php';
|
|
|
|
function theme_content(App $a)
|
|
{
|
|
if (!DI::userSession()->getLocalUserId()) {
|
|
return;
|
|
}
|
|
|
|
if (!function_exists('get_vier_config')) {
|
|
return;
|
|
}
|
|
|
|
$style = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'vier', 'style');
|
|
|
|
if ($style == "") {
|
|
$style = DI::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 (!DI::userSession()->getLocalUserId()) {
|
|
return;
|
|
}
|
|
|
|
if (isset($_POST['vier-settings-submit'])) {
|
|
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'vier', 'style', $_POST['vier_style']);
|
|
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'vier', 'show_pages', $_POST['vier_show_pages']);
|
|
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'vier', 'show_profiles', $_POST['vier_show_profiles']);
|
|
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'vier', 'show_helpers', $_POST['vier_show_helpers']);
|
|
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'vier', 'show_services', $_POST['vier_show_services']);
|
|
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'vier', 'show_friends', $_POST['vier_show_friends']);
|
|
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'vier', 'show_lastusers', $_POST['vier_show_lastusers']);
|
|
}
|
|
}
|
|
|
|
|
|
function theme_admin(App $a) {
|
|
|
|
if (!function_exists('get_vier_config'))
|
|
return;
|
|
|
|
$style = DI::config()->get('vier', 'style');
|
|
|
|
$helperlist = DI::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 groups'), $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'])){
|
|
DI::config()->set('vier', 'style', $_POST['vier_style']);
|
|
DI::config()->set('vier', 'show_pages', $_POST['vier_show_pages']);
|
|
DI::config()->set('vier', 'show_profiles', $_POST['vier_show_profiles']);
|
|
DI::config()->set('vier', 'show_helpers', $_POST['vier_show_helpers']);
|
|
DI::config()->set('vier', 'show_services', $_POST['vier_show_services']);
|
|
DI::config()->set('vier', 'show_friends', $_POST['vier_show_friends']);
|
|
DI::config()->set('vier', 'show_lastusers', $_POST['vier_show_lastusers']);
|
|
DI::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;
|
|
}
|