changelogsTable = $config['db_name'] . ".b_changelogs"; $changelog_parser->relationTable = $config['db_name'] . ".r_viewed_changelog_user"; $changelog_parser->pdo = $pdo; /** * Filtra i changelog accessibili in base alla gerarchia dell'utente */ $gerarchia = Utente::ruoli()[$_SESSION["utente"]->getInfo()["ruolo"]]["gerarchia"]; $changelog_permessi = [":all" => "all"]; foreach (Utente::ruoli() as $id => $ruolo) { if ($gerarchia <= $ruolo["gerarchia"]) { $changelog_permessi[":{$id}"] = $id; } } $changelog_parser->addFilter( new Where( "hierarchy IN (".implode(',',array_keys($changelog_permessi)).")", $changelog_permessi ) ); if (!empty($_SESSION["ente"])) { $changelog_parser->addFilter( new Where( '(tenant IN (:ente) OR tenant IS NULL)', [":ente" => $_SESSION["ente"]->codice] ) ); $changelog_moduli = []; foreach($_SESSION["utente"]->moduliDisponibili() as $__moduli_disponibili) { foreach ($__moduli_disponibili as $key => $module) { $changelog_moduli[":" . str_replace("-","_", $key)] = $key; } } $changelog_parser->addFilter( //WHERE module = gare new Where( "module IN (".implode(',', array_keys($changelog_moduli)).", 'all')", $changelog_moduli ) ); $changelogs_modules = []; foreach ($_SESSION["ente"]->moduli as $key => $modulo) { $changelogs_modules[$key] = $modulo["titolo"]; } $changelog_parser->setModules($changelogs_modules); } $roles = []; foreach (Utente::ruoli() as $_id => $ruolo) { $roles[$_id] = __($ruolo["nome"]); } $changelog_parser->setHierarchies($roles); $changelog_parser->overrideSeverities( [ "minor" => [ "label" => "Cambiamenti minori", "class" => "badge badge-primary" ], "info" => [ "label" => "Informativa", "class" => "badge badge-info" ], "major" => [ "label" => "Cambiamenti maggiori", "class" => "badge badge-danger" ] ] ); $changelog_parser->setTemplate(new ChangelogsBootstrap($changelog_parser, "/backend/changelogs/endpoint.php", __DIR__ . "/../public_html/backend/changelogs/templates")); $changelog_parser->templateWrapper->setDictionary($_SESSION["language"]); }