<?php
/**
- * Theme settings
+ * @copyright Copyright (C) 2010-2022, 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(&$a){
- if(!local_user())
+function theme_content(App $a)
+{
+ if (!DI::userSession()->getLocalUserId()) {
return;
+ }
+
+ if (!function_exists('get_vier_config')) {
+ return;
+ }
- $style = get_pconfig(local_user(), 'vier', 'style');
+ $style = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'vier', 'style');
- if ($style == "")
- $style = get_config('vier', 'style');
+ if ($style == "") {
+ $style = DI::config()->get('vier', 'style');
+ }
+
+ if ($style == "") {
+ $style = "plus";
+ }
- return vier_form($a,$style);
+ $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(&$a){
- if(! local_user())
+function theme_post(App $a)
+{
+ if (!DI::userSession()->getLocalUserId()) {
return;
+ }
- if (isset($_POST['vier-settings-submit'])){
- set_pconfig(local_user(), 'vier', 'style', $_POST['vier_style']);
+ 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(&$a){
- $style = get_config('vier', 'style');
- return vier_form($a,$style);
+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 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(&$a){
+function theme_admin_post(App $a) {
if (isset($_POST['vier-settings-submit'])){
- set_config('vier', 'style', $_POST['vier_style']);
+ 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']);
}
}
-
-function vier_form(&$a, $style){
- $styles = array(
- "shadow"=>"Shadow",
- "flat"=>"Flat",
- "netcolour"=>"Coloured Networks",
+/// @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",
- "dark"=>"Dark"
- );
- $t = get_markup_template("theme_settings.tpl" );
- $o .= replace_macros($t, array(
- '$submit' => t('Submit'),
- '$baseurl' => $a->get_baseurl(),
- '$title' => t("Theme settings"),
- '$style' => array('vier_style',t ('Set style'),$style,'',$styles),
- ));
+ "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;
}