use Friendica\App\BaseURL;
use Friendica\App\Mode;
use Friendica\App\Page;
-use Friendica\AppHelper;
use Friendica\BaseModule;
use Friendica\Core\ACL;
use Friendica\Core\Config\Capability\IManageConfigValues;
use Friendica\Core\Session\Capability\IHandleUserSessions;
use Friendica\Core\Theme;
use Friendica\Database\DBA;
+use Friendica\Event\HtmlFilterEvent;
use Friendica\Model\Contact;
use Friendica\Model\Item as ItemModel;
use Friendica\Model\Post;
use Friendica\Util\Strings;
use Friendica\Util\Temporal;
use ImagickException;
+use Psr\EventDispatcher\EventDispatcherInterface;
use Psr\Log\LoggerInterface;
class Conversation
private $baseURL;
/** @var IManageConfigValues */
private $config;
- /** @var AppHelper */
- private $appHelper;
/** @var Page */
private $page;
/** @var Mode */
private $session;
/** @var UserGServerRepository */
private $userGServer;
+ private EventDispatcherInterface $eventDispatcher;
- public function __construct(UserGServerRepository $userGServer, LoggerInterface $logger, Profiler $profiler, Activity $activity, L10n $l10n, Item $item, Arguments $args, BaseURL $baseURL, IManageConfigValues $config, IManagePersonalConfigValues $pConfig, Page $page, Mode $mode, AppHelper $appHelper, IHandleUserSessions $session)
+ public function __construct(UserGServerRepository $userGServer, LoggerInterface $logger, Profiler $profiler, Activity $activity, L10n $l10n, Item $item, Arguments $args, BaseURL $baseURL, IManageConfigValues $config, IManagePersonalConfigValues $pConfig, Page $page, Mode $mode, EventDispatcherInterface $eventDispatcher, IHandleUserSessions $session)
{
$this->activity = $activity;
$this->item = $item;
$this->args = $args;
$this->pConfig = $pConfig;
$this->page = $page;
- $this->appHelper = $appHelper;
+ $this->eventDispatcher = $eventDispatcher;
$this->session = $session;
$this->userGServer = $userGServer;
}
'$is_mobile' => $this->mode->isMobile(),
]);
- $jotplugins = '';
- Hook::callAll('jot_tool', $jotplugins);
+ $jotplugins = $this->eventDispatcher->dispatch(
+ new HtmlFilterEvent(HtmlFilterEvent::JOT_TOOL, ''),
+ )->getHtml();
if ($this->config->get('system', 'set_creation_date')) {
$created_at = Temporal::getDateTimeField(
HtmlFilterEvent::PAGE_HEADER => 'page_header',
HtmlFilterEvent::PAGE_CONTENT_TOP => 'page_content_top',
HtmlFilterEvent::PAGE_END => 'page_end',
+ HtmlFilterEvent::JOT_TOOL => 'jot_tool',
];
/**
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent',
+ HtmlFilterEvent::JOT_TOOL => 'onHtmlFilterEvent',
];
}
public const PAGE_END = 'friendica.html.page_end';
+ public const JOT_TOOL = 'friendica.html.jot_tool';
+
private string $html;
public function __construct(string $name, string $html)
use Friendica\Content\Feature;
use Friendica\Core\ACL;
use Friendica\Core\Config\Capability\IManageConfigValues;
-use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
use Friendica\Core\Renderer;
use Friendica\Core\Session\Model\UserSession;
use Friendica\Core\Theme;
use Friendica\Database\DBA;
+use Friendica\Event\HtmlFilterEvent;
use Friendica\Model\Contact;
use Friendica\Model\Item;
use Friendica\Model\User;
use Friendica\Util\Crypto;
use Friendica\Util\Profiler;
use Friendica\Util\Temporal;
+use Psr\EventDispatcher\EventDispatcherInterface;
use Psr\Log\LoggerInterface;
class Compose extends BaseModule
/** @var AppHelper */
private $appHelper;
+ private EventDispatcherInterface $eventDispatcher;
- public function __construct(AppHelper $appHelper, UserSession $session, IManageConfigValues $config, IManagePersonalConfigValues $pConfig, Page $page, ACLFormatter $ACLFormatter, SystemMessages $systemMessages, L10n $l10n, BaseURL $baseUrl, Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, array $server, array $parameters = [])
+ public function __construct(EventDispatcherInterface $eventDispatcher, AppHelper $appHelper, UserSession $session, IManageConfigValues $config, IManagePersonalConfigValues $pConfig, Page $page, ACLFormatter $ACLFormatter, SystemMessages $systemMessages, L10n $l10n, BaseURL $baseUrl, Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, array $server, array $parameters = [])
{
parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
$this->config = $config;
$this->session = $session;
$this->appHelper = $appHelper;
+ $this->eventDispatcher = $eventDispatcher;
}
protected function post(array $request = [])
$location = $_REQUEST['location'] ?? $user['default-location'];
$wall = $_REQUEST['wall'] ?? $type == 'post';
- $jotplugins = '';
- Hook::callAll('jot_tool', $jotplugins);
+ $jotplugins = $this->eventDispatcher->dispatch(
+ new HtmlFilterEvent(HtmlFilterEvent::JOT_TOOL, ''),
+ )->getHtml();
// Output
$this->page->registerFooterScript(Theme::getPathForFile('js/ajaxupload.js'));
use Friendica\AppHelper;
use Friendica\BaseModule;
use Friendica\Content\Feature;
-use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Renderer;
use Friendica\Core\Session\Capability\IHandleUserSessions;
+use Friendica\Event\HtmlFilterEvent;
use Friendica\Model\Contact;
use Friendica\Model\Post;
use Friendica\Model\User;
use Friendica\Network\HTTPException;
use Friendica\Util\Crypto;
use Friendica\Util\Profiler;
+use Psr\EventDispatcher\EventDispatcherInterface;
use Psr\Log\LoggerInterface;
/**
protected $mode;
/** @var AppHelper */
protected $appHelper;
+
+ private EventDispatcherInterface $eventDispatcher;
+
/** @var bool */
protected $isModal = false;
- public function __construct(L10n $l10n, BaseURL $baseUrl, Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, IHandleUserSessions $session, SystemMessages $sysMessages, Page $page, Mode $mode, AppHelper $appHelper, array $server, array $parameters = [])
+ public function __construct(L10n $l10n, BaseURL $baseUrl, Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, IHandleUserSessions $session, SystemMessages $sysMessages, Page $page, Mode $mode, AppHelper $appHelper, EventDispatcherInterface $eventDispatcher, array $server, array $parameters = [])
{
parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
$this->page = $page;
$this->mode = $mode;
$this->appHelper = $appHelper;
+ $this->eventDispatcher = $eventDispatcher;
}
$item['body'] = Post\Media::addAttachmentsToBody($item['uri-id'], $item['body']);
$item = Post\Media::addHTMLAttachmentToItem($item);
- $jotplugins = '';
-
- Hook::callAll('jot_tool', $jotplugins);
+ $jotplugins = $this->eventDispatcher->dispatch(
+ new HtmlFilterEvent(HtmlFilterEvent::JOT_TOOL, ''),
+ )->getHtml();
$output .= Renderer::replaceMacros(Renderer::getMarkupTemplate('jot.tpl'), [
'$is_edit' => true,
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent',
+ HtmlFilterEvent::JOT_TOOL => 'onHtmlFilterEvent',
];
$this->assertSame(
[HtmlFilterEvent::PAGE_HEADER, 'page_header'],
[HtmlFilterEvent::PAGE_CONTENT_TOP, 'page_content_top'],
[HtmlFilterEvent::PAGE_END, 'page_end'],
+ [HtmlFilterEvent::JOT_TOOL, 'jot_tool'],
];
}