use Exception;
use Friendica\App;
-use Friendica\BaseObject;
use Friendica\Content\Text\BBCode;
use Friendica\Content\Text\HTML;
use Friendica\Core\Config\PConfiguration;
use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Database\Database;
+use Friendica\DI;
use Friendica\Protocol\Activity;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Proxy as ProxyUtils;
* @brief Methods for read and write notifications from/to database
* or for formatting notifications
*/
-final class Notify extends BaseObject
+final class Notify
{
/** @var int The default limit of notifies per page */
const DEFAULT_PAGE_LIMIT = 80;
* bool 'seen' => Is the notification marked as "seen"
* @throws Exception
*/
- private function formatNotifies(array $notifies, string $ident = "")
+ private function formatList(array $notifies, string $ident = "")
{
$formattedNotifies = [];
*
* @throws Exception
*/
- public function getNetworkNotifies(bool $seen = false, int $start = 0, int $limit = self::DEFAULT_PAGE_LIMIT)
+ public function getNetworkList(bool $seen = false, int $start = 0, int $limit = self::DEFAULT_PAGE_LIMIT)
{
$ident = self::NETWORK;
$notifies = [];
$items = Item::selectForUser(local_user(), $fields, $condition, $params);
if ($this->dba->isResult($items)) {
- $notifies = $this->formatNotifies(Item::inArray($items), $ident);
+ $notifies = $this->formatList(Item::inArray($items), $ident);
}
$arr = [
*
* @throws Exception
*/
- public function getSystemNotifies(bool $seen = false, int $start = 0, int $limit = self::DEFAULT_PAGE_LIMIT)
+ public function getSystemList(bool $seen = false, int $start = 0, int $limit = self::DEFAULT_PAGE_LIMIT)
{
$ident = self::SYSTEM;
$notifies = [];
$params);
if ($this->dba->isResult($stmtNotifies)) {
- $notifies = $this->formatNotifies($this->dba->toArray($stmtNotifies), $ident);
+ $notifies = $this->formatList($this->dba->toArray($stmtNotifies), $ident);
}
$arr = [
*
* @throws Exception
*/
- public function getPersonalNotifies(bool $seen = false, int $start = 0, int $limit = self::DEFAULT_PAGE_LIMIT)
+ public function getPersonalList(bool $seen = false, int $start = 0, int $limit = self::DEFAULT_PAGE_LIMIT)
{
$ident = self::PERSONAL;
$notifies = [];
- $myurl = str_replace('http://', '', self::getApp()->contact['nurl']);
+ $myurl = str_replace('http://', '', DI::app()->contact['nurl']);
$diasp_url = str_replace('/profile/', '/u/', $myurl);
$condition = ["NOT `wall` AND `uid` = ? AND (`item`.`author-id` = ? OR `item`.`tag` REGEXP ? OR `item`.`tag` REGEXP ?)",
$items = Item::selectForUser(local_user(), $fields, $condition, $params);
if ($this->dba->isResult($items)) {
- $notifies = $this->formatNotifies(Item::inArray($items), $ident);
+ $notifies = $this->formatList(Item::inArray($items), $ident);
}
$arr = [
*
* @throws Exception
*/
- public function getHomeNotifies(bool $seen = false, int $start = 0, int $limit = self::DEFAULT_PAGE_LIMIT)
+ public function getHomeList(bool $seen = false, int $start = 0, int $limit = self::DEFAULT_PAGE_LIMIT)
{
$ident = self::HOME;
$notifies = [];
- $condition = ['wall' => false, 'uid' => local_user()];
+ $condition = ['wall' => true, 'uid' => local_user()];
if (!$seen) {
$condition['unseen'] = true;
$items = Item::selectForUser(local_user(), $fields, $condition, $params);
if ($this->dba->isResult($items)) {
- $notifies = $this->formatNotifies(Item::inArray($items), $ident);
+ $notifies = $this->formatList(Item::inArray($items), $ident);
}
$arr = [
* @throws ImagickException
* @throws Exception
*/
- public function getIntroNotifies(bool $all = false, int $start = 0, int $limit = self::DEFAULT_PAGE_LIMIT, int $id = 0)
+ public function getIntroList(bool $all = false, int $start = 0, int $limit = self::DEFAULT_PAGE_LIMIT, int $id = 0)
{
/// @todo sanitize wording according to SELF::INTRO
$ident = 'introductions';
$limit
);
if ($this->dba->isResult($stmtNotifies)) {
- $notifies = $this->formatIntros($this->dba->toArray($stmtNotifies));
+ $notifies = $this->formatIntroList($this->dba->toArray($stmtNotifies));
}
$arr = [
* @throws HTTPException\InternalServerErrorException
* @throws ImagickException
*/
- private function formatIntros(array $intros)
+ private function formatIntroList(array $intros)
{
$knowyou = '';
// We have to distinguish between these two because they use different data.
// Contact suggestions
if ($intro['fid']) {
- $return_addr = bin2hex(self::getApp()->user['nickname'] . '@' .
+ $return_addr = bin2hex(DI::app()->user['nickname'] . '@' .
$this->baseUrl->getHostName() .
(($this->baseUrl->getURLPath()) ? '/' . $this->baseUrl->getURLPath() : ''));