diff --git a/src/Module/Pinned.php b/src/Module/Pinned.php new file mode 100644 index 0000000000..590bda159e --- /dev/null +++ b/src/Module/Pinned.php @@ -0,0 +1,60 @@ +argc > 1) { + $itemId = intval($a->argv[1]); + } + + if (!$itemId) { + exit(); + } + + $item = Item::selectFirstForUser(local_user(), ['pinned'], ['uid' => local_user(), 'id' => $itemId]); + if (empty($item)) { + exit(); + } + + if (!intval($item['pinned'])) { + $pinned = 1; + } + + Item::update(['pinned' => $pinned], ['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); + } + + // the json doesn't really matter, it will either be 0 or 1 + echo json_encode($pinned); + exit(); + } +}