]> git.mxchange.org Git - friendica.git/blob - src/Module/Starred.php
70cd3973518a81584604b2ef68439701a5fcfb7e
[friendica.git] / src / Module / Starred.php
1 <?php
2
3 namespace Friendica\Module;
4
5 use Friendica\BaseModule;
6 use Friendica\Model\Item;
7
8 /**
9  * Toggle starred items
10  */
11 class Starred extends BaseModule
12 {
13         public static function rawContent()
14         {
15                 $a = self::getApp();
16                 $starred = 0;
17                 $itemId = null;
18
19                 if (!local_user()) {
20                         exit();
21                 }
22
23                 // @TODO: Replace with parameter from router
24                 if ($a->argc > 1) {
25                         $itemId = intval($a->argv[1]);
26                 }
27
28                 if (!$itemId) {
29                         exit();
30                 }
31
32                 $item = Item::selectFirstForUser(local_user(), ['starred'], ['uid' => local_user(), 'id' => $itemId]);
33                 if (empty($item)) {
34                         exit();
35                 }
36
37                 if (!intval($item['starred'])) {
38                         $starred = 1;
39                 }
40
41                 Item::update(['starred' => $starred], ['id' => $itemId]);
42
43                 // See if we've been passed a return path to redirect to
44                 $returnPath = $_REQUEST['return'] ?? '';
45                 if ($returnPath) {
46                         $rand = '_=' . time();
47                         if (strpos($returnPath, '?')) {
48                                 $rand = "&$rand";
49                         } else {
50                                 $rand = "?$rand";
51                         }
52
53                         $a->internalRedirect($returnPath . $rand);
54                 }
55
56                 // the json doesn't really matter, it will either be 0 or 1
57                 echo json_encode($starred);
58                 exit();
59         }
60 }