Add smartphone menu management, based from Auguria menu

This commit is contained in:
Regis Houssin 2010-09-23 13:02:15 +00:00
parent 8091ca0e52
commit 371ee0295f
3 changed files with 14 additions and 400 deletions

View File

@ -51,6 +51,7 @@ class Conf
//! Used to store current menu handlers
var $top_menu;
var $left_menu;
var $smart_menu;
//! Used to store entity for multi-company (default 1)
var $entity=1;
@ -206,6 +207,8 @@ class Conf
if (! $this->global->MAIN_MENUFRONT_BARRETOP) $this->global->MAIN_MENUFRONT_BARRETOP="eldy_backoffice.php";
if (! $this->global->MAIN_MENU_BARRELEFT) $this->global->MAIN_MENU_BARRELEFT="eldy_backoffice.php";
if (! $this->global->MAIN_MENUFRONT_BARRELEFT) $this->global->MAIN_MENUFRONT_BARRELEFT="eldy_backoffice.php";
if (! $this->global->MAIN_MENU_SMARTPHONE) $this->global->MAIN_MENU_SMARTPHONE="iphone_backoffice.php";
if (! $this->global->MAIN_MENUFRONT_SMARTPHONE) $this->global->MAIN_MENUFRONT_SMARTPHONE="iphone_backoffice.php";
// Variable globales LDAP
if (empty($this->global->LDAP_FIELD_FULLNAME)) $this->global->LDAP_FIELD_FULLNAME='';

View File

@ -34,6 +34,8 @@
*/
function print_iphone_menu($db,$atarget,$type_user)
{
require_once(DOL_DOCUMENT_ROOT."/core/class/menubase.class.php");
global $user,$conf,$langs,$dolibarr_main_db_name;
// On sauve en session le menu principal choisi
@ -41,412 +43,19 @@ function print_iphone_menu($db,$atarget,$type_user)
if (isset($_GET["idmenu"])) $_SESSION["idmenu"]=$_GET["idmenu"];
$_SESSION["leftmenuopened"]="";
$id='mainmenu';
$menuArbo = new Menubase($db,'iphone','top');
$tabMenu = $menuArbo->menuTopCharger($type_user,$_SESSION['mainmenu'], 'iphone');
print_start_menu_array();
// Home
$classname="";
if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "home")
{
$classname='class="tmenusel"'; $_SESSION['idmenu']='';
}
else
{
$classname = 'class="tmenu"';
}
$idsel='home';
print_start_menu_entry($idsel);
print '<a class="tmenuimage" href="'.DOL_URL_ROOT.'/index.php?mainmenu=home&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.' tmenuimage" id="mainmenuspan_'.$idsel.'"></span></div>';
print '</a>';
print '<a '.$classname.' id="mainmenua_'.$idsel.'" href="'.DOL_URL_ROOT.'/index.php?mainmenu=home&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print_text_menu_entry($langs->trans("Home"));
print '</a>';
print_end_menu_entry();
// Third parties
if ($conf->societe->enabled || $conf->fournisseur->enabled)
{
$langs->load("companies");
$langs->load("suppliers");
$classname="";
if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "companies")
{
$classname='class="tmenusel"'; $_SESSION['idmenu']='';
}
else
{
$classname = 'class="tmenu"';
}
$idsel='companies';
if (($conf->societe->enabled && $user->rights->societe->lire)
|| ($conf->fournisseur->enabled && $user->rights->fournisseur->lire))
{
print_start_menu_entry($idsel);
print '<a class="tmenuimage" href="'.DOL_URL_ROOT.'/index.php?mainmenu=companies&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.' tmenuimage" id="mainmenuspan_'.$idsel.'"></span></div>';
print '</a>';
print '<a '.$classname.' id="mainmenua_'.$idsel.'" href="'.DOL_URL_ROOT.'/index.php?mainmenu=companies&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print_text_menu_entry($langs->trans("ThirdParties"));
print '</a>';
print_end_menu_entry();
}
else
{
if (! $type_user)
{
print_start_menu_entry($idsel);
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.'" id="mainmenuspan_'.$idsel.'"></span></div>';
print '<a class="tmenudisabled" id="mainmenua_'.$idsel.'" href="#">';
print_text_menu_entry($langs->trans("ThirdParties"));
print '</a>';
print_end_menu_entry();
}
}
}
// Products-Services
if ($conf->product->enabled || $conf->service->enabled)
{
$langs->load("products");
$classname="";
if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "products")
{
$classname='class="tmenusel"'; $_SESSION['idmenu']='';
}
else
{
$classname = 'class="tmenu"';
}
$chaine="";
if ($conf->product->enabled) { $chaine.=$langs->trans("Products"); }
if ($conf->product->enabled && $conf->service->enabled) { $chaine.="/"; }
if ($conf->service->enabled) { $chaine.=$langs->trans("Services"); }
$idsel='products';
if ($user->rights->produit->lire || $user->rights->service->lire)
{
print_start_menu_entry($idsel);
print '<a class="tmenuimage" href="'.DOL_URL_ROOT.'/product/index.php?mainmenu=products&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.' tmenuimage" id="mainmenuspan_'.$idsel.'"></span></div>';
print '</a>';
print '<a '.$classname.' id="mainmenua_'.$idsel.'" href="'.DOL_URL_ROOT.'/product/index.php?mainmenu=products&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print_text_menu_entry($chaine);
print '</a>';
print_end_menu_entry();
}
else
{
if (! $type_user)
{
print_start_menu_entry($idsel);
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.'" id="mainmenuspan_'.$idsel.'"></span></div>';
print '<a class="tmenudisabled" id="mainmenua_'.$idsel.'" href="#">';
print_text_menu_entry($chaine);
print '</a>';
print_end_menu_entry();
}
}
}
// Commercial
if ($conf->societe->enabled)
{
$langs->load("commercial");
$classname="";
if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "commercial")
{
$classname='class="tmenusel"'; $_SESSION['idmenu']='';
}
else
{
$classname = 'class="tmenu"';
}
$idsel='commercial';
if($user->rights->societe->lire || $user->rights->societe->contact->lire)
{
print_start_menu_entry($idsel);
print '<a class="tmenuimage" href="'.DOL_URL_ROOT.'/comm/index.php?mainmenu=commercial&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.' tmenuimage" id="'.$id.'"></span></div>';
print '</a>';
print '<a '.$classname.' id="mainmenua_'.$idsel.'" href="'.DOL_URL_ROOT.'/comm/index.php?mainmenu=commercial&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print_text_menu_entry($langs->trans("Commercial"));
print '</a>';
print_end_menu_entry();
}
else
{
if (! $type_user)
{
print_start_menu_entry($idsel);
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.'" id="mainmenuspan_'.$idsel.'"></span></div>';
print '<a class="tmenudisabled" id="mainmenua_'.$idsel.'" href="#">';
print print_text_menu_entry($langs->trans("Commercial"));
print '</a>';
print_end_menu_entry();
}
}
}
// Financial
if ($conf->compta->enabled || $conf->accounting->enabled
|| $conf->facture->enabled || $conf->deplacement->enabled)
{
$langs->load("compta");
$classname="";
if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "accountancy")
{
$classname='class="tmenusel"'; $_SESSION['idmenu']='';
}
else
{
$classname = 'class="tmenu"';
}
$idsel='accountancy';
if ($user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire
|| $user->rights->facture->lire || $user->rights->banque->lire)
{
print_start_menu_entry($idsel);
print '<a class="tmenuimage" href="'.DOL_URL_ROOT.'/compta/index.php?mainmenu=accountancy&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.' tmenuimage" id="mainmenuspan_'.$idsel.'"></span></div>';
print '</a>';
print '<a '.$classname.' id="mainmenua_'.$idsel.'" href="'.DOL_URL_ROOT.'/compta/index.php?mainmenu=accountancy&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print_text_menu_entry($langs->trans("MenuFinancial"));
print '</a>';
print_end_menu_entry();
}
else
{
if (! $type_user)
{
print_start_menu_entry($idsel);
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.'" id="mainmenuspan_'.$idsel.'"></span></div>';
print '<a class="tmenudisabled" id="mainmenua_'.$idsel.'" href="#">';
print_text_menu_entry($langs->trans("MenuFinancial"));
print '</a>';
print_end_menu_entry();
}
}
}
// Bank
if ($conf->banque->enabled || $conf->prelevement->enabled)
{
$langs->load("compta");
$langs->load("banks");
$classname="";
if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "bank")
{
$classname='class="tmenusel"'; $_SESSION['idmenu']='';
}
else
{
$classname = 'class="tmenu"';
}
$idsel='bank';
if ($user->rights->banque->lire)
{
print_start_menu_entry($idsel);
print '<a class="tmenuimage" href="'.DOL_URL_ROOT.'/compta/bank/index.php?mainmenu=bank&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.' tmenuimage" id="mainmenuspan_'.$idsel.'"></span></div>';
print '</a>';
print '<a '.$classname.' id="mainmenua_'.$idsel.'" href="'.DOL_URL_ROOT.'/compta/bank/index.php?mainmenu=bank&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print_text_menu_entry($langs->trans("MenuBankCash"));
print '</a>';
print_end_menu_entry();
}
else
{
if (! $type_user)
{
print_start_menu_entry($idsel);
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.'" id="mainmenuspan_'.$idsel.'"></span></div>';
print '<a class="tmenudisabled" id="mainmenua_'.$idsel.'" href="#">';
print_text_menu_entry($langs->trans("MenuBankCash"));
print '</a>';
print_end_menu_entry();
}
}
}
// Projects
if ($conf->projet->enabled)
{
$langs->load("projects");
$classname="";
if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "project")
{
$classname='class="tmenusel"'; $_SESSION['idmenu']='';
}
else
{
$classname = 'class="tmenu"';
}
$idsel='project';
if ($user->rights->projet->lire)
{
print_start_menu_entry($idsel);
print '<a class="tmenuimage" href="'.DOL_URL_ROOT.'/projet/index.php?mainmenu=project&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.' tmenuimage" id="mainmenuspan_'.$idsel.'"></span></div>';
print '</a>';
print '<a '.$classname.' id="mainmenua_'.$idsel.'" href="'.DOL_URL_ROOT.'/projet/index.php?mainmenu=project&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print_text_menu_entry($langs->trans("Projects"));
print '</a>';
print_end_menu_entry();
}
else
{
if (! $type_user)
{
print_start_menu_entry($idsel);
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.'" id="mainmenuspan_'.$idsel.'"></span></div>';
print '<a class="tmenudisabled" id="mainmenua_'.$idsel.'" href="#">';
print_text_menu_entry($langs->trans("Projects"));
print '</a>';
print_end_menu_entry();
}
}
}
// Tools
if ($conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->global->MAIN_MODULE_DOMAIN)
{
$langs->load("other");
$classname="";
if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "tools")
{
$classname='class="tmenusel"'; $_SESSION['idmenu']='';
}
else
{
$classname = 'class="tmenu"';
}
$idsel='tools';
if ($user->rights->mailing->lire || $user->rights->bookmark->lire || $user->rights->export->lire || $user->rights->import->run)
{
print_start_menu_entry($idsel);
print '<a class="tmenuimage" href="'.DOL_URL_ROOT.'/index.php?mainmenu=tools&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.' tmenuimage" id="mainmenuspan_'.$idsel.'"></span></div>';
print '</a>';
print '<a '.$classname.' id="mainmenua_'.$idsel.'" href="'.DOL_URL_ROOT.'/index.php?mainmenu=tools&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print_text_menu_entry($langs->trans("Tools"));
print '</a>';
print_end_menu_entry();
}
else
{
if (! $type_user)
{
print_start_menu_entry($idsel);
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.'" id="mainmenuspan_'.$idsel.'"></span></div>';
print '<a class="tmenudisabled" id="mainmenua_'.$idsel.'" href="#">';
print_text_menu_entry($langs->trans("Tools"));
print '</a>';
print_end_menu_entry();
}
}
}
// OSCommerce 1
if (! empty($conf->boutique->enabled))
{
$langs->load("shop");
$classname="";
if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "shop")
{
$classname='class="tmenusel"'; $_SESSION['idmenu']='';
}
else
{
$classname = 'class="tmenu"';
}
$idsel='shop';
print_start_menu_entry($idsel);
print '<a class="tmenuimage" href="'.DOL_URL_ROOT.'/boutique/index.php?mainmenu=shop&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.' tmenuimage" id="mainmenuspan_'.$idsel.'"></span></div>';
print '</a>';
print '<a '.$classname.' id="mainmenua_'.$idsel.'" href="'.DOL_URL_ROOT.'/boutique/index.php?mainmenu=shop&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print_text_menu_entry($langs->trans("OSCommerce"));
print '</a>';
print_end_menu_entry();
}
// Members
if ($conf->adherent->enabled)
{
// $langs->load("members"); Added in main file
$classname="";
if ($_SESSION["mainmenu"] && $_SESSION["mainmenu"] == "members")
{
$classname='class="tmenusel"'; $_SESSION['idmenu']='';
}
else
{
$classname = 'class="tmenu"';
}
$idsel='members';
if ($user->rights->adherent->lire)
{
print_start_menu_entry($idsel);
print '<a class="tmenuimage" href="'.DOL_URL_ROOT.'/adherents/index.php?mainmenu=members&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.' tmenuimage" id="mainmenuspan_'.$idsel.'"></span></div>';
print '</a>';
print '<a '.$classname.' id="mainmenua_'.$idsel.'" href="'.DOL_URL_ROOT.'/adherents/index.php?mainmenu=members&amp;leftmenu="'.($atarget?" target=$atarget":"").'>';
print_text_menu_entry($langs->trans("MenuMembers"));
print '</a>';
print_end_menu_entry();
}
else
{
if (! $type_user)
{
print_start_menu_entry($idsel);
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.'" id="mainmenuspan_'.$idsel.'"></span></div>';
print '<a class="tmenudisabled" id="mainmenua_'.$idsel.'" href="#">';
print_text_menu_entry($langs->trans("MenuMembers"));
print '</a>';
print_end_menu_entry();
}
}
}
// Show personalized menus
require_once(DOL_DOCUMENT_ROOT."/core/class/menubase.class.php");
$menuArbo = new Menubase($db,'eldy','top');
$tabMenu = $menuArbo->menuTopCharger($type_user,$_SESSION['mainmenu'],'eldy');
for($i=0; $i<count($tabMenu); $i++)
{
if ($tabMenu[$i]['enabled'] == true)
{
//var_dump($tabMenu[$i]);
$idsel=(empty($tabMenu[$i]['mainmenu'])?'none':$tabMenu[$i]['mainmenu']);
if ($tabMenu[$i]['right'] == true) // Is allowed
{
// Define url
if (preg_match("/^(http:\/\/|https:\/\/)/i",$tabMenu[$i]['url']))
{
$url = $tabMenu[$i]['url'];
@ -469,9 +78,7 @@ function print_iphone_menu($db,$atarget,$type_user)
else $classname='class="tmenu"';
print_start_menu_entry($idsel);
print '<a class="tmenuimage" href="'.$url.'"'.($tabMenu[$i]['atarget']?" target='".$tabMenu[$i]['atarget']."'":($atarget?" target=$atarget":"")).'>';
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.' tmenuimage" id="mainmenuspan_'.$idsel.'"></span></div>';
print '</a>';
print '<div class="mainmenu '.$idsel.'"><span class="mainmenu_'.$idsel.'" id="mainmenuspan_'.$idsel.'"></span></div>';
print '<a '.$classname.' id="mainmenua_'.$idsel.'" href="'.$url.'"'.($tabMenu[$i]['atarget']?" target='".$tabMenu[$i]['atarget']."'":($atarget?" target=$atarget":"")).'>';
print_text_menu_entry($tabMenu[$i]['titre']);
print '</a>';
@ -482,7 +89,7 @@ function print_iphone_menu($db,$atarget,$type_user)
if (! $type_user)
{
print_start_menu_entry($idsel);
print '<div class="'.$id.' '.$idsel.'"><span class="'.$id.' tmenuimage" id="mainmenuspan_'.$idsel.'"></span></div>';
print '<div class="mainmenu '.$idsel.'"><span class="mainmenu_'.$idsel.'" id="mainmenuspan_'.$idsel.'"></span></div>';
print '<a class="tmenudisabled" id="mainmenua_'.$idsel.'" href="#">';
print_text_menu_entry($tabMenu[$i]['titre']);
print '</a>';
@ -493,6 +100,8 @@ function print_iphone_menu($db,$atarget,$type_user)
}
print_end_menu_array();
print "\n";
}

View File

@ -664,6 +664,7 @@ if (empty($user->societe_id)) // If internal user or not defined
{
$conf->top_menu=$conf->global->MAIN_MENU_BARRETOP;
$conf->left_menu=$conf->global->MAIN_MENU_BARRELEFT;
$conf->smart_menu=$conf->global->MAIN_MENU_SMARTPHONE;
// For backward compatibility
if ($conf->left_menu == 'eldy.php') $conf->left_menu='eldy_backoffice.php';
if ($conf->top_menu == 'rodolphe.php') $conf->top_menu='eldy_backoffice.php';
@ -673,6 +674,7 @@ else // If external user
{
$conf->top_menu=$conf->global->MAIN_MENUFRONT_BARRETOP;
$conf->left_menu=$conf->global->MAIN_MENUFRONT_BARRELEFT;
$conf->smart_menu=$conf->global->MAIN_MENUFRONT_SMARTPHONE;
// For backward compatibility
if ($conf->top_menu == 'rodolphe.php') $conf->top_menu='eldy_frontoffice.php';
if ($conf->left_menu == 'rodolphe.php') $conf->left_menu='eldy_frontoffice.php';