Modificati nomi di alcune pagine php Aggiunto metodo per filtrare i backend datatable Modifiche al css
122 lines
4.5 KiB
PHP
122 lines
4.5 KiB
PHP
<?php
|
|
/*
|
|
Author: Riccardo Di Dato
|
|
Creation Date: 13/gen/2016
|
|
*/
|
|
|
|
class MenuGenerator {
|
|
|
|
private static $voices = array(
|
|
array("label"=>"Notizie", "subvoices"=>array(
|
|
array("label"=>"Nuova","page"=>"editNotizie.php","requires"=>AdminModel::ADMIN_TYPE_EDITORE),
|
|
array("label"=>"Tutte","page"=>"listNotizie.php","requires"=>AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR),
|
|
array("label"=>"Mie Notizie","page"=>"myNotizie.php","requires"=>AdminModel::ADMIN_TYPE_EDITORE),
|
|
array("label"=>"Da accettare","page"=>"unacceptedNotizie.php","requires"=>AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR),
|
|
array("label"=>"Respinte","page"=>"rejectedNotizie.php","requires"=>AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR)
|
|
)),
|
|
array("label"=>"Giornalisti","page"=>"listGiornalisti.php","requires"=>AdminModel::ADMIN_TYPE_NORMALADMIN),
|
|
array("label"=>"Commenti","page"=>"unacceptedCommenti.php","requires"=>AdminModel::ADMIN_TYPE_COMMENTI_SUPERVISOR),
|
|
|
|
|
|
array("label"=>"Banner", "subvoices"=>array(
|
|
array("label"=>"Nuovo","page"=>"editBanner.php","requires"=>AdminModel::ADMIN_TYPE_BANNER),
|
|
array("label"=>"Lista","page"=>"listBanner.php","requires"=>AdminModel::ADMIN_TYPE_BANNER)
|
|
)),
|
|
|
|
array("label"=>"Utenti registrati","page"=>"listUsers.php","requires"=>AdminModel::ADMIN_TYPE_NORMALADMIN),
|
|
array("label"=>"Newsletter", "subvoices"=>array(
|
|
array("label"=>"Nuova","page"=>"editNewsletter.php","requires"=>AdminModel::ADMIN_TYPE_NEWSLETTER),
|
|
array("label"=>"Da inviare","page"=>"pendingNewsletter.php","requires"=>AdminModel::ADMIN_TYPE_NEWSLETTER),
|
|
array("label"=>"Inviate","page"=>"sentNewsletter.php","requires"=>AdminModel::ADMIN_TYPE_NEWSLETTER)
|
|
)),
|
|
array("label"=>"Statistiche", "subvoices"=>array(
|
|
array("label"=>"Sito","page"=>"statSito.php","requires"=>AdminModel::ADMIN_TYPE_STATISTICHE_SUPERVISOR),
|
|
array("label"=>"Banner","page"=>"statBanner.php","requires"=>AdminModel::ADMIN_TYPE_BANNER_SUPERVISOR)
|
|
)),
|
|
|
|
array("label"=>"Superuser", "subvoices"=>array(
|
|
array("label"=>"Amministratori","page"=>"listAmministratori.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN),
|
|
array("label"=>"Accessi","page"=>"listAccess.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN),
|
|
array("label"=>"Task","page"=>"listTasks.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN),
|
|
array("label"=>"Config","page"=>"listConfig.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN),
|
|
array("label"=>"Logs","page"=>"logs.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN)
|
|
)),
|
|
|
|
array("label"=>"Logout","page"=>"logout.php")
|
|
);
|
|
|
|
public static function getVoices(){
|
|
$user = AdminLoginManager::getLogged();
|
|
$rval = array();
|
|
foreach (self::$voices as $voice){
|
|
if ($user->hasRole($voice["requires"])){
|
|
$rval[] = $voice;
|
|
}
|
|
}
|
|
return $rval;
|
|
}
|
|
|
|
public static function generateMenu(){
|
|
$admin = AdminLoginManager::getLogged();
|
|
$menuText = "";
|
|
foreach (self::$voices as $voice){
|
|
$submenuText = "";
|
|
if (array_key_exists("subvoices", $voice)){
|
|
foreach ($voice["subvoices"] as $subvoice){
|
|
if ($admin->hasRole($subvoice["requires"])){
|
|
$submenuText.='<li><a href="'.$subvoice["page"].'">'.$subvoice["label"].'</a></li>';
|
|
}
|
|
}
|
|
if (strcmp("", $submenuText)!=0){
|
|
$menuText.='<li><a href="#">'.$voice["label"].'</a><ul>'.$submenuText.'</ul></li>';
|
|
}
|
|
}
|
|
else if (array_key_exists("requires", $voice)){
|
|
if ( $admin->hasRole($voice["requires"]) ){
|
|
$menuText.='<li><a href="'.$voice["page"].'">'.$voice["label"].'</a></li>';
|
|
}
|
|
}
|
|
else if (array_key_exists("label", $voice) && array_key_exists("page", $voice) ) {
|
|
$menuText.='<li><a href="'.$voice["page"].'">'.$voice["label"].'</a></li>';
|
|
}
|
|
|
|
}
|
|
if (strcmp("",$menuText)!=0){
|
|
echo "<div id=\"admin_menu\"><ul>$menuText</ul></div>";
|
|
?>
|
|
<script type="text/javascript">
|
|
$("#admin_menu > ul > li").click(function (){
|
|
$("#admin_menu > ul > li.selected").removeClass("selected");
|
|
$(this).addClass("selected");
|
|
|
|
var useUl = $(this).find("ul");
|
|
var curHeight = useUl.height();
|
|
var desiredHeight = 0;
|
|
if (curHeight == 0){
|
|
useUl.css("height", "auto");
|
|
desiredHeight = useUl.height();
|
|
useUl.height(curHeight);
|
|
}
|
|
|
|
useUl.animate({height:desiredHeight},200);
|
|
});
|
|
</script>
|
|
<?php
|
|
}
|
|
|
|
|
|
|
|
|
|
// $voices = self::getVoices();
|
|
// if (sizeof($voices)>0){
|
|
// echo "<div id=\"admin_menu\"><ul>";
|
|
// foreach ($voices as $voice){
|
|
// echo '<li><a href="'.$voice["page"].'">'.$voice["label"].'</a></li>';
|
|
// }
|
|
// echo "</ul></div>";
|
|
// }
|
|
}
|
|
|
|
}
|
|
|
|
?>
|