<?php
+/**
+ * @copyright Copyright (C) 2010-2023, 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\Config;
-use Friendica\Core\PConfig;
+use Friendica\Core\Renderer;
+use Friendica\DI;
+
+/*
+ * This script can be included even when the app is in maintenance mode which requires us to avoid any config call
+ */
function duepuntozero_init(App $a) {
-set_template_engine($a, 'smarty3');
-
- $colorset = PConfig::get( local_user(), 'duepuntozero','colorset');
- if (!$colorset)
- $colorset = Config::get('duepuntozero', 'colorset'); // user setting have priority, then node settings
- if ($colorset) {
- if ($colorset == 'greenzero')
- $a->page['htmlhead'] .= '<link rel="stylesheet" href="view/theme/duepuntozero/deriv/greenzero.css" type="text/css" media="screen" />'."\n";
- if ($colorset == 'purplezero')
- $a->page['htmlhead'] .= '<link rel="stylesheet" href="view/theme/duepuntozero/deriv/purplezero.css" type="text/css" media="screen" />'."\n";
- if ($colorset == 'easterbunny')
- $a->page['htmlhead'] .= '<link rel="stylesheet" href="view/theme/duepuntozero/deriv/easterbunny.css" type="text/css" media="screen" />'."\n";
- if ($colorset == 'darkzero')
- $a->page['htmlhead'] .= '<link rel="stylesheet" href="view/theme/duepuntozero/deriv/darkzero.css" type="text/css" media="screen" />'."\n";
- if ($colorset == 'comix')
- $a->page['htmlhead'] .= '<link rel="stylesheet" href="view/theme/duepuntozero/deriv/comix.css" type="text/css" media="screen" />'."\n";
- if ($colorset == 'slackr')
- $a->page['htmlhead'] .= '<link rel="stylesheet" href="view/theme/duepuntozero/deriv/slackr.css" type="text/css" media="screen" />'."\n";
- }
-$a->page['htmlhead'] .= <<< EOT
-<script>
-function insertFormatting(BBcode, id) {
- var tmpStr = $("#comment-edit-text-" + id).val();
- if (tmpStr == "") {
- $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
- $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
- openMenu("comment-edit-submit-wrapper-" + id);
- }
+ Renderer::setActiveTemplateEngine('smarty3');
- textarea = document.getElementById("comment-edit-text-" +id);
- if (document.selection) {
- textarea.focus();
- selected = document.selection.createRange();
- selected.text = "["+BBcode+"]" + selected.text + "[/"+BBcode+"]";
- } else if (textarea.selectionStart || textarea.selectionStart == "0") {
- var start = textarea.selectionStart;
- var end = textarea.selectionEnd;
- textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
- }
+ $colorset = null;
- return true;
-}
+ if (DI::mode()->has(App\Mode::MAINTENANCEDISABLED)) {
+ $colorset = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'duepuntozero', 'colorset');
+ if (!$colorset)
+ $colorset = DI::config()->get('duepuntozero', 'colorset'); // user setting have priority, then node settings
+ }
+ if ($colorset) {
+ if ($colorset == 'greenzero')
+ DI::page()['htmlhead'] .= '<link rel="stylesheet" href="view/theme/duepuntozero/deriv/greenzero.css" type="text/css" media="screen" />' . "\n";
+ if ($colorset == 'purplezero')
+ DI::page()['htmlhead'] .= '<link rel="stylesheet" href="view/theme/duepuntozero/deriv/purplezero.css" type="text/css" media="screen" />' . "\n";
+ if ($colorset == 'easterbunny')
+ DI::page()['htmlhead'] .= '<link rel="stylesheet" href="view/theme/duepuntozero/deriv/easterbunny.css" type="text/css" media="screen" />' . "\n";
+ if ($colorset == 'darkzero')
+ DI::page()['htmlhead'] .= '<link rel="stylesheet" href="view/theme/duepuntozero/deriv/darkzero.css" type="text/css" media="screen" />' . "\n";
+ if ($colorset == 'comix')
+ DI::page()['htmlhead'] .= '<link rel="stylesheet" href="view/theme/duepuntozero/deriv/comix.css" type="text/css" media="screen" />' . "\n";
+ if ($colorset == 'slackr')
+ DI::page()['htmlhead'] .= '<link rel="stylesheet" href="view/theme/duepuntozero/deriv/slackr.css" type="text/css" media="screen" />' . "\n";
+ }
+DI::page()['htmlhead'] .= <<< EOT
+<script>
function cmtBbOpen(comment, id) {
if ($(comment).hasClass('comment-edit-text-full')) {
$(".comment-edit-bb-" + id).show();
</script>
EOT;
}
+
+/**
+ * @param int|null $uid
+ * @return null
+ * @see \Friendica\Core\Theme::getBackgroundColor()
+ * @TODO Implement this function
+ */
+function duepuntozero_get_background_color(int $uid = null)
+{
+ return null;
+}
+
+/**
+ * @param int|null $uid
+ * @return null
+ * @see \Friendica\Core\Theme::getThemeColor()
+ * @TODO Implement this function
+ */
+function duepuntozero_get_theme_color(int $uid = null)
+{
+ return null;
+}