mirror of
https://gh.wpcy.net/https://github.com/fulldecent/freescout-sidebar-webhook.git
synced 2026-07-14 22:35:43 +08:00
66 lines
2 KiB
PHP
66 lines
2 KiB
PHP
<?php
|
|
|
|
namespace Modules\SidebarWebhook\Providers;
|
|
|
|
use Illuminate\Support\ServiceProvider;
|
|
|
|
class SidebarWebhookServiceProvider extends ServiceProvider
|
|
{
|
|
private const MODULE_NAME = 'sidebarwebhook';
|
|
|
|
public function boot()
|
|
{
|
|
$this->loadViewsFrom(__DIR__ . '/../Resources/views', self::MODULE_NAME);
|
|
$this->hooks();
|
|
}
|
|
|
|
public function registerViews()
|
|
{
|
|
$viewPath = resource_path('views/modules/sidebarwebhook');
|
|
|
|
$sourcePath = __DIR__ . '/../Resources/views';
|
|
|
|
$this->publishes([
|
|
$sourcePath => $viewPath
|
|
], 'views');
|
|
|
|
$this->loadViewsFrom(array_merge(array_map(function ($path) {
|
|
return $path . '/modules/sidebarwebhook';
|
|
}, \Config::get('view.paths')), [$sourcePath]), 'sidebarwebhook');
|
|
}
|
|
|
|
/**
|
|
* Module hooks.
|
|
*/
|
|
public function hooks()
|
|
{
|
|
\Eventy::addFilter('javascripts', function ($javascripts) {
|
|
$javascripts[] = \Module::getPublicPath('sidebarwebhook') . '/js/laroute.js';
|
|
$javascripts[] = \Module::getPublicPath('sidebarwebhook') . '/js/module.js';
|
|
return $javascripts;
|
|
});
|
|
|
|
\Eventy::addAction('mailboxes.settings.menu', function ($mailbox) {
|
|
if (auth()->user()->isAdmin()) {
|
|
echo \View::make('sidebarwebhook::partials/settings_menu', ['mailbox' => $mailbox])->render();
|
|
}
|
|
}, 34);
|
|
|
|
// Settings view.
|
|
\Eventy::addFilter('settings.view', function ($view, $section) {
|
|
if ($section != 'sidebarwebhook') {
|
|
return $view;
|
|
} else {
|
|
return 'sidebarwebhook::settings';
|
|
}
|
|
}, 20, 2);
|
|
|
|
\Eventy::addAction('conversation.after_prev_convs', function ($customer, $conversation, $mailbox) {
|
|
$url = \Option::get('sidebarwebhook.url')[(string)$mailbox->id] ?? '';
|
|
|
|
if ($url != '') {
|
|
echo \View::make(self::MODULE_NAME . '::partials/sidebar', [])->render();
|
|
}
|
|
}, -1, 3);
|
|
}
|
|
}
|