]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Pinned.php
Remove deprecated code
[friendica.git] / src / Module / Pinned.php
index 590bda159ea69ab4d290180ac5e87341a98f1251..b28777516ef0fcacb8cb624c900ca61edaf96ae3 100644 (file)
@@ -3,6 +3,7 @@
 namespace Friendica\Module;
 
 use Friendica\BaseModule;
+use Friendica\DI;
 use Friendica\Model\Item;
 
 /**
@@ -10,51 +11,31 @@ use Friendica\Model\Item;
  */
 class Pinned extends BaseModule
 {
-       public static function rawContent($parameters)
+       public static function rawContent(array $parameters = [])
        {
-               $a = self::getApp();
-               $pinned = 0;
-               $itemId = null;
-
                if (!local_user()) {
-                       exit();
+                       throw new \Friendica\Network\HTTPException\ForbiddenException();
                }
 
-               // @TODO: Replace with parameter from router
-               if ($a->argc > 1) {
-                       $itemId = intval($a->argv[1]);
+               if (empty($parameters['item'])) {
+                       throw new \Friendica\Network\HTTPException\BadRequestException();
                }
 
-               if (!$itemId) {
-                       exit();
-               }
+               $itemId = intval($parameters['item']);
 
-               $item = Item::selectFirstForUser(local_user(), ['pinned'], ['uid' => local_user(), 'id' => $itemId]);
-               if (empty($item)) {
-                       exit();
-               }
-
-               if (!intval($item['pinned'])) {
-                       $pinned = 1;
-               }
+               $pinned = !Item::getPinned($itemId, local_user());
 
-               Item::update(['pinned' => $pinned], ['id' => $itemId]);
+               Item::setPinned($itemId, local_user(), $pinned);
 
                // See if we've been passed a return path to redirect to
                $returnPath = $_REQUEST['return'] ?? '';
-               if ($returnPath) {
-                       $rand = '_=' . time();
-                       if (strpos($returnPath, '?')) {
-                               $rand = "&$rand";
-                       } else {
-                               $rand = "?$rand";
-                       }
-
-                       $a->internalRedirect($returnPath . $rand);
+               if (!empty($returnPath)) {
+                       $rand = '_=' . time() . (strpos($returnPath, '?') ? '&' : '?') . 'rand';
+                       DI::baseUrl()->redirect($returnPath . $rand);
                }
 
                // the json doesn't really matter, it will either be 0 or 1
-               echo json_encode($pinned);
+               echo json_encode((int)$pinned);
                exit();
        }
 }