X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FStarred.php;h=0f111b21e0198f51185aef8b650044d37837bd0d;hb=6cbfa5b862ce7a241fd4339129749f87dc19760c;hp=70cd3973518a81584604b2ef68439701a5fcfb7e;hpb=f59ea2af55aea17beeda1f93ad9ea91f12b1b84d;p=friendica.git diff --git a/src/Module/Starred.php b/src/Module/Starred.php index 70cd397351..0f111b21e0 100644 --- a/src/Module/Starred.php +++ b/src/Module/Starred.php @@ -3,6 +3,7 @@ namespace Friendica\Module; use Friendica\BaseModule; +use Friendica\DI; use Friendica\Model\Item; /** @@ -10,51 +11,36 @@ use Friendica\Model\Item; */ class Starred extends BaseModule { - public static function rawContent() + public static function rawContent(array $parameters = []) { - $a = self::getApp(); - $starred = 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(), ['starred'], ['uid' => local_user(), 'id' => $itemId]); if (empty($item)) { - exit(); + throw new \Friendica\Network\HTTPException\NotFoundException(); } - if (!intval($item['starred'])) { - $starred = 1; - } + $starred = !(bool)$item['starred']; Item::update(['starred' => $starred], ['id' => $itemId]); // 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($starred); + echo json_encode((int)$starred); exit(); } }