]> git.mxchange.org Git - friendica.git/commitdiff
move mod/ignored to src/Module/Item/Ignored
authorPhilipp Holzer <admin+github@philipp.info>
Mon, 21 Oct 2019 19:18:59 +0000 (21:18 +0200)
committerPhilipp Holzer <admin+github@philipp.info>
Mon, 21 Oct 2019 19:19:28 +0000 (21:19 +0200)
mod/ignored.php [deleted file]
src/Module/Item/Ignored.php [new file with mode: 0644]
static/routes.config.php

diff --git a/mod/ignored.php b/mod/ignored.php
deleted file mode 100644 (file)
index 6e0cf92..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-use Friendica\App;
-use Friendica\Database\DBA;
-use Friendica\Model\Item;
-
-function ignored_init(App $a)
-{
-       if (!local_user()) {
-               exit();
-       }
-
-       if ($a->argc > 1) {
-               $message_id = intval($a->argv[1]);
-       }
-
-       if (empty($message_id)) {
-               exit();
-       }
-
-       $thread = Item::selectFirstThreadForUser(local_user(), ['uid', 'ignored'], ['iid' => $message_id]);
-       if (!DBA::isResult($thread)) {
-               exit();
-       }
-
-       // Numeric values are needed for the json output further below
-       $ignored = ($thread['ignored'] ? 0 : 1);
-
-       if ($thread['uid'] != 0) {
-               DBA::update('thread', ['ignored' => $ignored], ['iid' => $message_id]);
-       } else {
-               DBA::update('user-item', ['ignored' => $ignored], ['iid' => $message_id, 'uid' => local_user()], true);
-       }
-
-       // See if we've been passed a return path to redirect to
-       $return_path = $_REQUEST['return'] ?? '';
-       if ($return_path) {
-               $rand = '_=' . time();
-               if (strpos($return_path, '?')) {
-                       $rand = "&$rand";
-               } else {
-                       $rand = "?$rand";
-               }
-
-               $a->internalRedirect($return_path . $rand);
-       }
-
-       // the json doesn't really matter, it will either be 0 or 1
-
-       echo json_encode($ignored);
-       exit();
-}
diff --git a/src/Module/Item/Ignored.php b/src/Module/Item/Ignored.php
new file mode 100644 (file)
index 0000000..474f01d
--- /dev/null
@@ -0,0 +1,70 @@
+<?php
+
+namespace Friendica\Module\Item;
+
+use Friendica\App;
+use Friendica\BaseModule;
+use Friendica\Core\L10n\L10n;
+use Friendica\Core\Session;
+use Friendica\Database\Database;
+use Friendica\Model\Item;
+use Friendica\Network\HTTPException;
+
+/**
+ * Module for ignoring threads or user items
+ */
+class Ignored extends BaseModule
+{
+       public static function rawContent()
+       {
+               /** @var L10n $l10n */
+               $l10n = self::getClass(L10n::class);
+
+               if (!Session::isAuthenticated()) {
+                       throw new HttpException\ForbiddenException($l10n->t('Access denied.'));
+               }
+
+               /** @var App\Arguments $args */
+               $args = self::getClass(App\Arguments::class);
+               /** @var Database $dba */
+               $dba = self::getClass(Database::class);
+
+               $message_id = intval($args->get(1));
+
+               if (empty($message_id) || !is_int($message_id)) {
+                       throw new HTTPException\BadRequestException();
+               }
+
+               $thread = Item::selectFirstThreadForUser(local_user(), ['uid', 'ignored'], ['iid' => $message_id]);
+               if (!$dba->isResult($thread)) {
+                       throw new HTTPException\BadRequestException();
+               }
+
+               // Numeric values are needed for the json output further below
+               $ignored = !empty($thread['ignored']) ? 0 : 1;
+
+               if (!empty($thread['uid']) && $thread['uid'] != 0) {
+                       $dba->update('thread', ['ignored' => $ignored], ['iid' => $message_id]);
+               } else {
+                       $dba->update('user-item', ['ignored' => $ignored], ['iid' => $message_id, 'uid' => local_user()], true);
+               }
+
+               // See if we've been passed a return path to redirect to
+               $return_path = $_REQUEST['return'] ?? '';
+               if (!empty($return_path)) {
+                       $rand = '_=' . time();
+                       if (strpos($return_path, '?')) {
+                               $rand = "&$rand";
+                       } else {
+                               $rand = "?$rand";
+                       }
+
+                       self::getApp()->internalRedirect($return_path . $rand);
+               }
+
+               // the json doesn't really matter, it will either be 0 or 1
+
+               echo json_encode($ignored);
+               exit();
+       }
+}
index 7cc9fdaa6d08d958e45dd0ea2c9d620a0c813158..32a9f12edfbb33d94d03858357736f3bd5f5b54a 100644 (file)
@@ -128,11 +128,12 @@ return [
                '/{group:\d+}/add/{contact:\d+}'    => [Module\Group::class, [R::GET, R::POST]],
                '/{group:\d+}/remove/{contact:\d+}' => [Module\Group::class, [R::GET, R::POST]],
        ],
-       '/hashtag'            => [Module\Hashtag::class, [R::GET]],
-       '/home'               => [Module\Home::class,    [R::GET]],
-       '/help[/{doc:.+}]'    => [Module\Help::class,    [R::GET]],
-       '/inbox[/{nickname}]' => [Module\Inbox::class,   [R::GET, R::POST]],
-       '/invite'             => [Module\Invite::class,  [R::GET, R::POST]],
+       '/hashtag'            => [Module\Hashtag::class,      [R::GET]],
+       '/home'               => [Module\Home::class,         [R::GET]],
+       '/help[/{doc:.+}]'    => [Module\Help::class,         [R::GET]],
+       '/ignored/{id}'       => [Module\Item\Ignored::class, [R::GET]],
+       '/inbox[/{nickname}]' => [Module\Inbox::class,        [R::GET, R::POST]],
+       '/invite'             => [Module\Invite::class,       [R::GET, R::POST]],
 
        '/install'         => [
                '[/]'                    => [Module\Install::class, [R::GET, R::POST]],