Files
fdn2/private/lib/gui/MenuGenerator.php
T
Riccardo Di Dato 1718518fe5 Aggiunte a config le mail di sistema
Aggiunti nuovi task per mail server
Creato metodo in guihandler per aprire le pagine con richiesta post
Aggiunta possibilità di passare callback ai backend delle datatables
Modificati alcuni url
Modificato HTMLInclusion per non utilizzare i path assoluti in fase di
creazione ma solo in fase di stampa degli header (per evitare problemi
sugli script)
Creato mailserver e mail template
Creata interfaccia mail per salvataggio mail in database, gestione coda.
Creata interfaccia grafica per la gestione delle mail  e delle code
Incluse librerie PHP_Mailer
Inserite pagine di creazione e cancellazione manuale utenti

Bugfix su alcune pagine di edit
2016-01-25 18:23:28 +01:00

127 lines
4.9 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", "subvoices"=>array(
array("label"=>"Nuovo","page"=>"editGiornalisti.php","requires"=>AdminModel::ADMIN_TYPE_NORMALADMIN),
array("label"=>"Lista","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"=>"pendingNewsletters.php","requires"=>AdminModel::ADMIN_TYPE_NEWSLETTER),
array("label"=>"Inviate","page"=>"sentNewsletters.php","requires"=>AdminModel::ADMIN_TYPE_NEWSLETTER),
array("label"=>"Nuova Mail","page"=>"editMail.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN),
array("label"=>"Coda Mail","page"=>"listMail.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN)
)),
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"=>"Nuovo Amministratore","page"=>"editAmministratori.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN),
array("label"=>"Amministratori","page"=>"listAmministratori.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN),
array("label"=>"Accessi","page"=>"listAccess.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN),
array("label"=>"Config","page"=>"editConfig.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>";
// }
}
}
?>