52 lines
1.2 KiB
PHP
52 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Leantime\Domain\Notifications\Hxcontrollers;
|
|
|
|
use Illuminate\Contracts\Container\BindingResolutionException;
|
|
use Illuminate\Support\Facades\Log;
|
|
use Leantime\Core\Controller\HtmxController;
|
|
|
|
class News extends HtmxController
|
|
{
|
|
protected static string $view = 'notifications::partials.latestNews';
|
|
|
|
private \Leantime\Domain\Notifications\Services\News $newsService;
|
|
|
|
/**
|
|
* Controller constructor
|
|
*/
|
|
public function init(\Leantime\Domain\Notifications\Services\News $newsService): void
|
|
{
|
|
$this->newsService = $newsService;
|
|
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*
|
|
* @throws BindingResolutionException
|
|
*/
|
|
public function get()
|
|
{
|
|
if (! env('LEAN_NEWS_ENABLED', true)) {
|
|
$this->tpl->assign('rss', 'News service is disabled');
|
|
|
|
return;
|
|
}
|
|
|
|
$news = false;
|
|
try {
|
|
$news = $this->newsService->getLatest(session('userdata.id'));
|
|
|
|
} catch (\Exception $e) {
|
|
Log::warning('Could not connect to news server');
|
|
}
|
|
|
|
if ($news === false) {
|
|
$news = 'Could not connect to news server';
|
|
}
|
|
|
|
$this->tpl->assign('rss', $news);
|
|
}
|
|
}
|