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\Config\IPConfiguration;
use Friendica\Core\L10n\L10n;
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;
use Friendica\Network\HTTPException;
/**
- * @brief Methods for read and write notifications from/to database
+ * 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;
private $args;
/** @var App\BaseURL */
private $baseUrl;
- /** @var PConfiguration */
+ /** @var IPConfiguration */
private $pConfig;
/** @var LoggerInterface */
private $logger;
public function __construct(Database $dba, L10n $l10n, App\Arguments $args, App\BaseURL $baseUrl,
- PConfiguration $pConfig, LoggerInterface $logger)
+ IPConfiguration $pConfig, LoggerInterface $logger)
{
$this->dba = $dba;
$this->l10n = $l10n;
}
/**
- * @brief set seen state of $note of local_user()
+ * set seen state of $note of local_user()
*
* @param array $note note array
* @param bool $seen optional true or false, default true
}
/**
- * @brief List of pages for the Notifications TabBar
+ * List of pages for the Notifications TabBar
*
* @return array with with notifications TabBar data
* @throws Exception
* 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 = [
}
/**
- * @brief Get home notifications
+ * Get home notifications
*
* @param bool $seen False => only include notifications into the query
* which aren't marked as "seen"
*
* @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 = [
}
/**
- * @brief Get introductions
+ * Get introductions
*
* @param bool $all If false only include introductions into the query
* which aren't marked as ignored
* @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 = [
}
/**
- * @brief Format the notification query in an usable array
+ * Format the notification query in an usable array
*
* @param array $intros The array from the db query
*
* @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() : ''));
}
/**
- * @brief Check for missing contact data and try to fetch the data from
- * from other sources
+ * Check for missing contact data and try to fetch the data from
+ * from other sources
*
* @param array $intro The input array with the intro data
*