. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Statistics\Repository; use Fisharebest\Webtrees\Auth; use Fisharebest\Webtrees\I18N; use Fisharebest\Webtrees\Statistics\Repository\Interfaces\NewsRepositoryInterface; use Fisharebest\Webtrees\Tree; use Illuminate\Database\Capsule\Manager as DB; /** * A repository providing methods for news related statistics. */ class NewsRepository implements NewsRepositoryInterface { private Tree $tree; /** * @param Tree $tree */ public function __construct(Tree $tree) { $this->tree = $tree; } /** * @return string */ public function totalUserJournal(): string { $number = DB::table('news') ->where('user_id', '=', Auth::id()) ->count(); return I18N::number($number); } /** * @return string */ public function totalGedcomNews(): string { $number = DB::table('news') ->where('gedcom_id', '=', $this->tree->id()) ->count(); return I18N::number($number); } }