]> git.mxchange.org Git - friendica.git/commitdiff
Move mod/starred to src/Module/Starred
authorPhilipp Holzer <admin+github@philipp.info>
Sat, 18 May 2019 19:38:02 +0000 (21:38 +0200)
committerPhilipp Holzer <admin+github@philipp.info>
Sun, 19 May 2019 01:07:44 +0000 (03:07 +0200)
mod/starred.php [deleted file]
src/App/Router.php
src/Module/Starred.php [new file with mode: 0644]

diff --git a/mod/starred.php b/mod/starred.php
deleted file mode 100644 (file)
index 0705d54..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/**
- * @file mod/starred.php
- */
-use Friendica\App;
-use Friendica\Database\DBA;
-use Friendica\Model\Item;
-
-function starred_init(App $a) {
-       $starred = 0;
-       $message_id = null;
-
-       if (!local_user()) {
-               exit();
-       }
-       if ($a->argc > 1) {
-               $message_id = intval($a->argv[1]);
-       }
-       if (!$message_id) {
-               exit();
-       }
-
-       $item = Item::selectFirstForUser(local_user(), ['starred'], ['uid' => local_user(), 'id' => $message_id]);
-       if (!DBA::isResult($item)) {
-               exit();
-       }
-
-       if (!intval($item['starred'])) {
-               $starred = 1;
-       }
-
-       Item::update(['starred' => $starred], ['id' => $message_id]);
-
-       // See if we've been passed a return path to redirect to
-       $return_path = defaults($_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($starred);
-       exit();
-}
index 133544c819c233ac558dedaa7884bf541eefbd4f..e9eeebf86aa25e51ff840001aedbf5086e310f3e 100644 (file)
@@ -207,6 +207,7 @@ class Router
                $this->routeCollector->addRoute(['GET'],         '/rsd.xml',             Module\ReallySimpleDiscovery::class);
                $this->routeCollector->addRoute(['GET'],         '/smilies[/json]',      Module\Smilies::class);
                $this->routeCollector->addRoute(['GET'],         '/statistics.json',     Module\Statistics::class);
+               $this->routeCollector->addRoute(['GET'],         '/starred/{item:\d+}',  Module\Starred::class);
                $this->routeCollector->addRoute(['GET'],         '/toggle_mobile',       Module\ToggleMobile::class);
                $this->routeCollector->addRoute(['GET'],         '/tos',                 Module\Tos::class);
                $this->routeCollector->addRoute(['GET'],         '/viewsrc/{item:\d+}',  Module\ItemBody::class);
diff --git a/src/Module/Starred.php b/src/Module/Starred.php
new file mode 100644 (file)
index 0000000..df7da40
--- /dev/null
@@ -0,0 +1,60 @@
+<?php
+
+namespace Friendica\Module;
+
+use Friendica\BaseModule;
+use Friendica\Model\Item;
+
+/**
+ * Toggle starred items
+ */
+class Starred extends BaseModule
+{
+       public static function rawContent()
+       {
+               $a = self::getApp();
+               $starred = 0;
+               $itemId = null;
+
+               if (!local_user()) {
+                       exit();
+               }
+
+               // @TODO: Replace with parameter from router
+               if ($a->argc > 1) {
+                       $itemId = intval($a->argv[1]);
+               }
+
+               if (!$itemId) {
+                       exit();
+               }
+
+               $item = Item::selectFirstForUser(local_user(), ['starred'], ['uid' => local_user(), 'id' => $itemId]);
+               if (empty($item)) {
+                       exit();
+               }
+
+               if (!intval($item['starred'])) {
+                       $starred = 1;
+               }
+
+               Item::update(['starred' => $starred], ['id' => $itemId]);
+
+               // See if we've been passed a return path to redirect to
+               $returnPath = defaults($_REQUEST, 'return', '');
+               if ($returnPath) {
+                       $rand = '_=' . time();
+                       if (strpos($returnPath, '?')) {
+                               $rand = "&$rand";
+                       } else {
+                               $rand = "?$rand";
+                       }
+
+                       $a->internalRedirect($returnPath . $rand);
+               }
+
+               // the json doesn't really matter, it will either be 0 or 1
+               echo json_encode($starred);
+               exit();
+       }
+}