PageRenderTime 40ms CodeModel.GetById 11ms RepoModel.GetById 1ms app.codeStats 0ms

/library/include/header.php

http://gevion.googlecode.com/
PHP | 182 lines | 139 code | 2 blank | 41 comment | 30 complexity | 3b4bda2c42ad738ed6b8e098efd5c59a MD5 | raw file
Possible License(s): LGPL-2.1, GPL-2.0
  1. <?php
  2. /* $Id: header.php,v 1.23 2010/03/15 08:16:38 devincen Exp $
  3. --------------------------------------------------------------------------
  4. Gazie - Gestione Azienda
  5. Copyright (C) 2004-2010 - Antonio De Vincentiis Montesilvano (PE)
  6. (www.devincentiis.it)
  7. <http://gazie.sourceforge.net>
  8. --------------------------------------------------------------------------
  9. Questo programma e` free software; e` lecito redistribuirlo e/o
  10. modificarlo secondo i termini della Licenza Pubblica Generica GNU
  11. come e` pubblicata dalla Free Software Foundation; o la versione 2
  12. della licenza o (a propria scelta) una versione successiva.
  13. Questo programma e` distribuito nella speranza che sia utile, ma
  14. SENZA ALCUNA GARANZIA; senza neppure la garanzia implicita di
  15. NEGOZIABILITA` o di APPLICABILITA` PER UN PARTICOLARE SCOPO. Si
  16. veda la Licenza Pubblica Generica GNU per avere maggiori dettagli.
  17. Ognuno dovrebbe avere ricevuto una copia della Licenza Pubblica
  18. Generica GNU insieme a questo programma; in caso contrario, si
  19. scriva alla Free Software Foundation, Inc., 59
  20. Temple Place, Suite 330, Boston, MA 02111-1307 USA Stati Uniti.
  21. --------------------------------------------------------------------------
  22. */
  23. ?>
  24. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  25. <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
  26. <head>
  27. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  28. <meta name="author" content="Antonio De Vincentiis www.devincentiis.it">
  29. <?php
  30. $menuclass = ' class="FacetMainMenu" ';
  31. $style = 'stylesheet.css';
  32. if (!empty($admin_aziend['style'])){
  33. $style = $admin_aziend['style'];
  34. }
  35. echo '<link rel="stylesheet" type="text/css" href="../../library/style/'.$style.'">';
  36. echo '<link rel="shortcut icon" href="../../library/images/favicon.ico">';
  37. echo '<script type="text/javascript" src="../../js/jscookmenu/JSCookMenu.js"></script>';
  38. echo '<link rel="stylesheet" href="../../js/jscookmenu/theme.css" type="text/css">';
  39. echo '<script type="text/javascript" src="../../js/jscookmenu/theme.js"></script>';
  40. function HeadMain ($idScript='',$jsArray='',$alternative_transl=false)
  41. {
  42. /* - In $idScript si deve passare l'id dell'array submenu (m2) in menu.language.php (per mettere nel tag <TITLE> )
  43. oltre che il nome del modulo anche quello dello script tradotto
  44. - In $jsArray di devono passare i nomi dei file javascript che si vogliono caricare e presenti nella directory 'js'
  45. */
  46. if (is_array($jsArray)){
  47. foreach ($jsArray as $v){
  48. echo '<script type="text/javascript" src="../../js/'.$v.'.js"></script>';
  49. }
  50. }
  51. global $money,$module,$admin_aziend,$radix,$scriptname;
  52. $result = getAccessRights($_SESSION['Login'],$_SESSION['enterprise_id']);
  53. if (gaz_dbi_num_rows($result) > 0) {
  54. // creo l'array associativo per la generazione del menu con JSCookMenu
  55. $ctrl_m1=0;
  56. $ctrl_m2=0;
  57. $ctrl_m3=0;
  58. $menuArray = array();
  59. $transl = array();
  60. while ($row = gaz_dbi_fetch_array($result)) {
  61. if ($row['access'] == 3 ){
  62. if ($ctrl_m1!=$row['m1_id']) {
  63. require("../../modules/".$row['name']."/menu.".$admin_aziend['lang'].".php");
  64. }
  65. if ($row['name'] == $module) {
  66. $row['weight']=0;
  67. if ($row['m3_link'] == $scriptname) {
  68. $title_from_menu = $transl[$row['name']]['m3'][$row['m3_trkey']][0];
  69. }
  70. if ($ctrl_m2 != $row['m2_id'] and $ctrl_m1 != $row['m1_id']) {
  71. require("../../modules/".$row['name']."/lang.".$admin_aziend['lang'].".php");
  72. if (isset($strScript[$scriptname])){ // se ? stato tradotto lo script lo ritorno al chiamante
  73. $translated_script=$strScript[$scriptname];
  74. if (isset($translated_script['title'])) {
  75. $title_from_menu = $translated_script['title'];
  76. }
  77. }
  78. }
  79. }
  80. if (isset($row['m3_id']) and $row['m3_id']>0) { // ? un menu3
  81. if ($ctrl_m2 != $row['m2_id'] and $ctrl_m1 != $row['m1_id']) { // ? pure il primo di menu2 e menu1
  82. $menuArray[$row['weight']] = array('link'=>'../'.$row['name'].'/'.$row['link'],'icon'=>'../'.$row['name'].'/'.$row['icon'],'name'=>$transl[$row['name']]['name'],'title'=>$transl[$row['name']]['title'],'class'=>$row['class']);
  83. $menuArray[$row['weight']][$row['m2_weight']] = array('link'=>'../'.$row['name'].'/'.$row['m2_link'],'icon'=>'../'.$row['name'].'/'.$row['m2_icon'],'name'=>$transl[$row['name']]['m2'][$row['m2_trkey']][1],'title'=>$transl[$row['name']]['m2'][$row['m2_trkey']][0],'class'=>$row['m2_class']);
  84. } elseif ($ctrl_m2 != $row['m2_id']) { // ? solo il primo di menu2
  85. $menuArray[$row['weight']][$row['m2_weight']] = array('link'=>'../'.$row['name'].'/'.$row['m2_link'],'icon'=>'../'.$row['name'].'/'.$row['m2_icon'],'name'=>$transl[$row['name']]['m2'][$row['m2_trkey']][1],'title'=>$transl[$row['name']]['m2'][$row['m2_trkey']][0],'class'=>$row['m2_class']);
  86. }
  87. $menuArray[$row['weight']][$row['m2_weight']][$row['m3_weight']] = array('link'=>'../'.$row['name'].'/'.$row['m3_link'],'icon'=>'../'.$row['name'].'/'.$row['m3_icon'],'name'=>$transl[$row['name']]['m3'][$row['m3_trkey']][1],'title'=>$transl[$row['name']]['m3'][$row['m3_trkey']][0],'class'=>$row['m3_class']);
  88. } elseif ($ctrl_m1!=$row['m1_id']) { // ? il primo di menu2
  89. $menuArray[$row['weight']] = array('link'=>'../'.$row['name'].'/'.$row['link'],'icon'=>'../'.$row['name'].'/'.$row['icon'],'name'=>$transl[$row['name']]['name'],'title'=>$transl[$row['name']]['title'],'class'=>$row['class']);
  90. $menuArray[$row['weight']][$row['m2_weight']] = array('link'=>'../'.$row['name'].'/'.$row['m2_link'],'icon'=>'../'.$row['name'].'/'.$row['m2_icon'],'name'=>$transl[$row['name']]['m2'][$row['m2_trkey']][1],'title'=>$transl[$row['name']]['m2'][$row['m2_trkey']][0],'class'=>$row['m2_class']);
  91. } else { // non ? il primo di menu2
  92. $menuArray[$row['weight']][$row['m2_weight']] = array('link'=>'../'.$row['name'].'/'.$row['m2_link'],'icon'=>'../'.$row['name'].'/'.$row['m2_icon'],'name'=>$transl[$row['name']]['m2'][$row['m2_trkey']][1],'title'=>$transl[$row['name']]['m2'][$row['m2_trkey']][0],'class'=>$row['m2_class']);
  93. }
  94. }
  95. $ctrl_m1=$row['m1_id'];
  96. $ctrl_m2=$row['m2_id'];
  97. $ctrl_m3=$row['m3_id'];
  98. }
  99. ksort($menuArray);
  100. /* Fine creazione array per JSCookMenu.
  101. In $menuArray c'e' la lista del menu
  102. con index '0' il modulo corrente,
  103. ? una matrice a 3 dimensioni ,
  104. questo serve per poter creare un array in JS
  105. compatibile con le specifiche di JSCookMenu,
  106. la funzione createGazieJSCM serve per creare un
  107. array con il menu corrente orizzontale , si potrebbero creare
  108. altre forme di menu modificando questa funzione. */
  109. echo "\n<title>".$admin_aziend['ragso1']."&raquo;".$menuArray[0]['title'];
  110. if (!empty($idScript)) {
  111. if (is_array($idScript)) { // $idScript dev'essere un array con index [0] per il numero di menu e index[1] per l'id dello script
  112. if ($idScript[0] == 2) {
  113. echo "&raquo;".$transl[$module]['m2'][$idScript[1]][0];
  114. } elseif ($idScript[0] == 3){
  115. echo "&raquo;".$transl[$module]['m3'][$idScript[1]][0];
  116. }
  117. } elseif ($idScript > 0) {
  118. echo "&raquo;".$transl[$module]['m3'][$idScript][0];
  119. }
  120. } elseif (isset($title_from_menu)) {
  121. echo "&raquo;".$title_from_menu;
  122. }
  123. echo "</title>\n";
  124. echo createGazieCookMenu($menuArray,$radix);
  125. echo "</head>\n";
  126. echo "<body>\n";
  127. echo '<div id="GazieMenuID"></div>';
  128. echo '<script type="text/javascript">';
  129. echo "cmDraw('GazieMenuID', myMenu, 'hbr', cmThemeGazie)\n";
  130. echo '</script>';
  131. }
  132. if (!isset($translated_script)){
  133. if ($alternative_transl){ // se e' stato passato il nome dello script sul quale mi devo basare per la traduzione
  134. $translated_script=$strScript[$alternative_transl.'.php'];
  135. } else {
  136. $translated_script=array($module);
  137. }
  138. }
  139. require("../../language/".$admin_aziend['lang']."/menu.inc.php");
  140. return ($strCommon+$translated_script);
  141. }
  142. function createGazieCookMenu($m,$r)
  143. {
  144. /*
  145. Questa funzione crea l'array Javascript da passare a JSCookMenu
  146. dove sulla barra orizzontale in alto c'? il menu del modulo corrente
  147. */
  148. $acc="<script type=\"text/javascript\">\n var myMenu = [";
  149. $acc.= "['<img class=\"seq1\" src=\"".$m[0]['icon']."\" />','".$m[0]['name']."','".$m[0]['link']."','_new',null\n";
  150. unset($m[0][0],$m[0]['link'],$m[0]['icon'],$m[0]['name'],$m[0]['title'],$m[0]['class']);
  151. $topm=$m[0];
  152. unset($m[0]);
  153. foreach($m as $v1) {
  154. $acc .= ",['<img class=\"seq1\" src=\"".$v1['icon']."\"/><img class=\"seq2\" src=\"".$v1['icon']."\" />','".$v1['name']."','".$v1['link']."',null,null\n";
  155. unset($v1['link'],$v1['icon'],$v1['name'],$v1['title'],$v1['class']);
  156. foreach($v1 as $v2) {
  157. $acc .= ",[null,'".$v2['name']."','".$v2['link']."',null,null";
  158. unset($v2['link'],$v2['icon'],$v2['name'],$v2['title'],$v2['class']);
  159. foreach($v2 as $v3) {
  160. $acc .= ",['','".$v3['name']."','".$v3['link']."',null,null]";
  161. }
  162. $acc .= "]\n";
  163. }
  164. $acc .= "]\n";
  165. }
  166. $acc .= "]\n";
  167. foreach($topm as $v2) {
  168. $acc .= ",_cmSplit,[null,'".$v2['name']."','".$v2['link']."',null,null";
  169. unset($v2['link'],$v2['icon'],$v2['name'],$v2['title'],$v2['class']);
  170. foreach($v2 as $v3) {
  171. $acc .= ",[null,'".$v3['name']."','".$v3['link']."',null,null]";
  172. }
  173. $acc .= "]\n";
  174. }
  175. $acc .= "];\n </script>\n";
  176. return $acc;
  177. }
  178. ?>