X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FBaseNotifications.php;h=4715641c2f59233258c583eb76efea50de60d85e;hb=06a18abf5a746232c99b5271d907687b30e72651;hp=728a9d402d865f5e58d5bd0e834289d611b1d659;hpb=09de4a5b47439542d5e73d5452e1d30da26c3ae6;p=friendica.git diff --git a/src/Module/BaseNotifications.php b/src/Module/BaseNotifications.php index 728a9d402d..4715641c2f 100644 --- a/src/Module/BaseNotifications.php +++ b/src/Module/BaseNotifications.php @@ -1,4 +1,23 @@ . + * + */ namespace Friendica\Module; @@ -8,8 +27,8 @@ use Friendica\Content\Pager; use Friendica\Core\Renderer; use Friendica\Core\System; use Friendica\DI; -use Friendica\Model\Notification; use Friendica\Network\HTTPException\ForbiddenException; +use Friendica\Object\Notification\Notification; /** * Base Module for each tab of the notification display @@ -47,6 +66,8 @@ abstract class BaseNotifications extends BaseModule /** @var int The default count of items per page */ const ITEMS_PER_PAGE = 20; + /** @var int The default limit of notifications per page */ + const DEFAULT_PAGE_LIMIT = 80; /** @var boolean True, if ALL entries should get shown */ protected static $showAll; @@ -73,30 +94,6 @@ abstract class BaseNotifications extends BaseModule self::$showAll = ($_REQUEST['show'] ?? '') === 'all'; } - public static function post(array $parameters = []) - { - $request_id = DI::args()->get(1); - - if ($request_id === 'all') { - return; - } - - if ($request_id) { - $intro = DI::intro()->selectFirst(['id' => $request_id, 'uid' => local_user()]); - - switch ($_POST['submit']) { - case DI::l10n()->t('Discard'): - $intro->discard(); - break; - case DI::l10n()->t('Ignore'): - $intro->ignore(); - break; - } - - DI::baseUrl()->redirect('notifications/intros'); - } - } - public static function rawContent(array $parameters = []) { // If the last argument of the query is NOT json, return @@ -104,7 +101,17 @@ abstract class BaseNotifications extends BaseModule return; } - System::jsonExit(static::getNotifications()['notifs'] ?? []); + // Set the pager + $pager = new Pager(DI::l10n(), DI::args()->getQueryString(), self::ITEMS_PER_PAGE); + + // Add additional informations (needed for json output) + $notifications = [ + 'notifications' => static::getNotifications(), + 'items_page' => $pager->getItemsPerPage(), + 'page' => $pager->getPage(), + ]; + + System::jsonExit($notifications); } /** @@ -125,7 +132,7 @@ abstract class BaseNotifications extends BaseModule $tabs = self::getTabs(); // Set the pager - $pager = new Pager(DI::args()->getQueryString(), self::ITEMS_PER_PAGE); + $pager = new Pager(DI::l10n(), DI::args()->getQueryString(), self::ITEMS_PER_PAGE); $notif_tpl = Renderer::getMarkupTemplate('notifications/notifications.tpl'); return Renderer::replaceMacros($notif_tpl, [