ArrayFilterEvent::PREPARE_POST_END => 'prepare_body_final',
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'photo_upload_form',
ArrayFilterEvent::NETWORK_TO_NAME => 'network_to_name',
+ ArrayFilterEvent::NETWORK_CONTENT_START => 'network_content_init',
+ ArrayFilterEvent::NETWORK_CONTENT_TABS => 'network_tabs',
ArrayFilterEvent::PARSE_LINK => 'parse_link',
ArrayFilterEvent::CONVERSATION_START => 'conversation_start',
ArrayFilterEvent::FETCH_ITEM_BY_LINK => 'item_by_link',
ArrayFilterEvent::PREPARE_POST_END => 'onArrayFilterEvent',
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
ArrayFilterEvent::NETWORK_TO_NAME => 'onArrayFilterEvent',
+ ArrayFilterEvent::NETWORK_CONTENT_START => 'onArrayFilterEvent',
+ ArrayFilterEvent::NETWORK_CONTENT_TABS => 'onArrayFilterEvent',
ArrayFilterEvent::PARSE_LINK => 'onArrayFilterEvent',
ArrayFilterEvent::CONVERSATION_START => 'onArrayFilterEvent',
ArrayFilterEvent::FETCH_ITEM_BY_LINK => 'onArrayFilterEvent',
use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\Database\Database;
+use Friendica\Event\ArrayFilterEvent;
use Friendica\Model\Contact;
use Friendica\Model\Circle;
use Friendica\Model\Post;
use Friendica\Navigation\SystemMessages;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Profiler;
+use Psr\EventDispatcher\EventDispatcherInterface;
use Psr\Log\LoggerInterface;
class Network extends Timeline
protected $community;
/** @var NetworkFactory */
protected $networkFactory;
-
- public function __construct(UserDefinedChannelFactory $userDefinedChannel, NetworkFactory $network, CommunityFactory $community, ChannelFactory $channelFactory, UserDefinedChannel $channel, AppHelper $appHelper, TimelineFactory $timeline, SystemMessages $systemMessages, Mode $mode, Conversation $conversation, Page $page, IHandleUserSessions $session, Database $database, IManagePersonalConfigValues $pConfig, IManageConfigValues $config, ICanCache $cache, L10n $l10n, BaseURL $baseUrl, Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, array $server, array $parameters = [])
- {
- parent::__construct($channel, $mode, $session, $database, $pConfig, $config, $cache, $l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
+ private EventDispatcherInterface $eventDispatcher;
+
+ public function __construct(
+ UserDefinedChannelFactory $userDefinedChannel,
+ NetworkFactory $network,
+ CommunityFactory $community,
+ ChannelFactory $channelFactory,
+ UserDefinedChannel $channel,
+ AppHelper $appHelper,
+ EventDispatcherInterface $eventDispatcher,
+ TimelineFactory $timeline,
+ SystemMessages $systemMessages,
+ Mode $mode,
+ Conversation $conversation,
+ Page $page,
+ IHandleUserSessions $session,
+ Database $database,
+ IManagePersonalConfigValues $pConfig,
+ IManageConfigValues $config,
+ ICanCache $cache,
+ L10n $l10n,
+ BaseURL $baseUrl,
+ Arguments $args,
+ LoggerInterface $logger,
+ Profiler $profiler,
+ Response $response,
+ array $server,
+ array $parameters = []
+ ) {
+ parent::__construct(
+ $channel,
+ $mode,
+ $session,
+ $database,
+ $pConfig,
+ $config,
+ $cache,
+ $l10n,
+ $baseUrl,
+ $args,
+ $logger,
+ $profiler,
+ $response,
+ $server,
+ $parameters,
+ );
$this->appHelper = $appHelper;
+ $this->eventDispatcher = $eventDispatcher;
$this->timeline = $timeline;
$this->systemMessages = $systemMessages;
$this->conversation = $conversation;
$module = 'network';
- $arr = ['query' => $this->args->getQueryString()];
- Hook::callAll('network_content_init', $arr);
+ $hook_data = [
+ 'query' => $this->args->getQueryString(),
+ ];
+
+ $this->eventDispatcher->dispatch(
+ new ArrayFilterEvent(ArrayFilterEvent::NETWORK_CONTENT_START, $hook_data)
+ );
$o = '';
$tabs = array_merge($tabs, $this->getTabArray($this->community->getTimelines(true), 'network', 'channel'));
}
- $arr = ['tabs' => $tabs];
- Hook::callAll('network_tabs', $arr);
+ $hook_data = [
+ 'tabs' => $tabs,
+ ];
+
+ $hook_data = $this->eventDispatcher->dispatch(
+ new ArrayFilterEvent(ArrayFilterEvent::NETWORK_CONTENT_TABS, $hook_data)
+ )->getArray();
if (!empty($network_timelines)) {
$tabs = [];
- foreach ($arr['tabs'] as $tab) {
+ foreach ($hook_data['tabs'] as $tab) {
if (in_array($tab['code'], $network_timelines)) {
$tabs[] = $tab;
}
}
} else {
- $tabs = $arr['tabs'];
+ $tabs = $hook_data['tabs'];
}
$tpl = Renderer::getMarkupTemplate('common_tabs.tpl');
ArrayFilterEvent::PREPARE_POST_END => 'onArrayFilterEvent',
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
ArrayFilterEvent::NETWORK_TO_NAME => 'onArrayFilterEvent',
+ ArrayFilterEvent::NETWORK_CONTENT_START => 'onArrayFilterEvent',
+ ArrayFilterEvent::NETWORK_CONTENT_TABS => 'onArrayFilterEvent',
ArrayFilterEvent::PARSE_LINK => 'onArrayFilterEvent',
ArrayFilterEvent::CONVERSATION_START => 'onArrayFilterEvent',
ArrayFilterEvent::FETCH_ITEM_BY_LINK => 'onArrayFilterEvent',
[ArrayFilterEvent::PREPARE_POST_END, 'prepare_body_final'],
[ArrayFilterEvent::PHOTO_UPLOAD_FORM, 'photo_upload_form'],
[ArrayFilterEvent::NETWORK_TO_NAME, 'network_to_name'],
+ [ArrayFilterEvent::NETWORK_CONTENT_START, 'network_content_init'],
+ [ArrayFilterEvent::NETWORK_CONTENT_TABS, 'network_tabs'],
[ArrayFilterEvent::PARSE_LINK, 'parse_link'],
[ArrayFilterEvent::CONVERSATION_START, 'conversation_start'],
[ArrayFilterEvent::FETCH_ITEM_BY_LINK, 'item_by_link'],