]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Home.php
Option to automatically add links as attachment via API
[friendica.git] / src / Module / Home.php
index adcdb02a63202e1809e25bb8c4aad8024aeb878f..fbba889a883af7839d36b7999a3e719d08536820 100644 (file)
@@ -1,58 +1,79 @@
 <?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/>.
+ *
+ */
 
 namespace Friendica\Module;
 
 use Friendica\BaseModule;
 use Friendica\Core\Hook;
-use Friendica\Core\L10n;
 use Friendica\Core\Renderer;
+use Friendica\DI;
+use Friendica\Model\User;
+use Friendica\Module\Security\Login;
+use Friendica\Protocol\ActivityPub;
 
 /**
  * Home module - Landing page of the current node
  */
 class Home extends BaseModule
 {
-       public static function content()
+       protected function rawContent(array $request = [])
        {
-               if (!empty($_SESSION['theme'])) {
-                       unset($_SESSION['theme']);
-               }
-
-               if (!empty($_SESSION['mobile-theme'])) {
-                       unset($_SESSION['mobile-theme']);
+               if (ActivityPub::isRequest()) {
+                       DI::baseUrl()->redirect(User::getActorName());
                }
+       }
 
-               $app = self::getApp();
-               $config = $app->getConfig();
+       protected function content(array $request = []): string
+       {
+               $app = DI::app();
+               $config = DI::config();
 
                // currently no returned data is used
                $ret = [];
 
                Hook::callAll('home_init', $ret);
 
-               if (local_user() && ($app->user['nickname'])) {
-                       $app->internalRedirect('network');
+               if (DI::userSession()->getLocalUserId() && ($app->getLoggedInUserNickname())) {
+                       DI::baseUrl()->redirect('network');
                }
 
-               if (strlen($config->get('system', 'singleuser'))) {
-                       $app->internalRedirect('/profile/' . $config->get('system', 'singleuser'));
+               if ($config->get('system', 'singleuser')) {
+                       DI::baseUrl()->redirect('/profile/' . $config->get('system', 'singleuser'));
                }
 
                $customHome = '';
-               $defaultHeader = ($config->get('config', 'sitename') ? L10n::t('Welcome to %s', $config->get('config', 'sitename')) : '');
+               $defaultHeader = ($config->get('config', 'sitename') ? DI::l10n()->t('Welcome to %s', $config->get('config', 'sitename')) : '');
 
-               $homeFilePath = $app->getBaseURL() . '/home.html';
-               $cssFilePath = $app->getBaseURL() . '/home.css';
+               $homeFilePath = $app->getBasePath() . '/home.html';
+               $cssFilePath = $app->getBasePath() . '/home.css';
 
                if (file_exists($homeFilePath)) {
                        $customHome = $homeFilePath;
 
                        if (file_exists($cssFilePath)) {
-                               $app->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $app->getBaseURL() . '/home.css' . '" media="all" />';
+                               DI::page()->registerStylesheet('home.css', 'all');
                        }
                }
 
-               $login = Login::form($app->query_string, $config->get('config', 'register_policy') === Register::CLOSED ? 0 : 1);
+               $login = Login::form(DI::args()->getQueryString(), $config->get('config', 'register_policy') === Register::CLOSED ? 0 : 1);
 
                $content = '';
                Hook::callAll('home_content', $content);