PageRenderTime 42ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/modules/mod_mainmenu.php

https://bitbucket.org/dgough/annamaria-daneswood-25102012
PHP | 95 lines | 58 code | 17 blank | 20 comment | 8 complexity | c8fd6b32a18083e7e1dfb449b6425ba5 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.1
  1. <?php
  2. /**
  3. * mainMenu Joomla! Module
  4. *
  5. * Class to extend Joomla 1.0.x with a split menu function and more...
  6. *
  7. * @author yootheme.com
  8. * @copyright Copyright (C) 2007 YOOtheme Ltd. & Co. KG. All rights reserved.
  9. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
  10. */
  11. // no direct access
  12. defined( '_VALID_MOS' ) or die( 'Restricted access' );
  13. require_once($mosConfig_absolute_path.'/modules/mod_mainmenu/mod_mainmenu.class.php');
  14. global $menuCounter;
  15. // default params
  16. $params->def('menutype', 'mainmenu');
  17. $params->def('class_sfx', '');
  18. $params->def('startLevel', 0);
  19. $params->def('endLevel', 0);
  20. $params->def('accordion', 0);
  21. $params->def('dropdown', 0);
  22. $params->def('showItemBackgroundImage', 0);
  23. $params->def('showAllChildren', 0);
  24. $params->def('fade', 0);
  25. $params->def('fadeInColor', 'ffffff');
  26. $params->def('fadeOutColor', 'ffffff');
  27. $params->def('fadeInTime', 300);
  28. $params->def('fadeOutTime', 500);
  29. $params->def('fadeLevel', 2);
  30. //Create a counter for each menu output
  31. $menutype = $params->get('menutype', 'mainmenu');;
  32. if(empty($menuCounter)){
  33. $menuCounter = array();
  34. }
  35. if(!isset($menuCounter[$menutype])) $menuCounter[$menutype] = 0;
  36. else $menuCounter[$menutype]++;
  37. //Set a unique id for the menu
  38. $menuname = $menutype.$menuCounter[$menutype];
  39. // render menu
  40. $menu = new mainMenu($params);
  41. $output = $menu->showMenu();
  42. if($output != ''){
  43. echo '<div id="'.$menuname.'">';
  44. echo $output;
  45. echo '</div>';
  46. //Render the appropriate javascript
  47. ?>
  48. <script type="text/javascript">
  49. //<!--
  50. <?php
  51. if($params->get('accordion', 0)){ ?>
  52. /* Accordion menu */
  53. try{
  54. new YOOAccordionMenu('div#<?php echo $menuname ?> ul.menu li.toggler', 'ul.accordion', { accordion: 'slide' });
  55. }catch(e){
  56. }
  57. <?php }
  58. if($params->get('dropdown', 0)){ ?>
  59. /* Dropdown menu */
  60. try{
  61. new YOODropdownMenu('div#<?php echo $menuname ?> li.parent');
  62. }catch(e){
  63. }
  64. <?php }
  65. if($params->get('fade', 0)){ ?>
  66. /* Menu fader */
  67. try{
  68. var <?php echo $menuname ?>Enter = { 'background-color': '#<?php echo $params->get('fadeInColor', '') ?>' };
  69. var <?php echo $menuname ?>Leave = { 'background-color': '#<?php echo $params->get('fadeOutColor', '') ?>' };
  70. new YOOMorph('div#<?php echo $menuname ?> li.level<?php echo $params->def('fadeLevel', 2) ?> a, div#<?php echo $menuname ?> li.level<?php echo $params->def('fadeLevel', 2) ?> span.separator', <?php echo $menuname ?>Enter, <?php echo $menuname ?>Leave,
  71. { transition: Fx.Transitions.expoOut, duration: <?php echo $params->get('fadeInTime', '') ?> },
  72. { transition: Fx.Transitions.sineIn, duration: <?php echo $params->get('fadeOutTime', '') ?> });
  73. }catch(e){
  74. }
  75. <?php } ?>
  76. //-->
  77. </script>
  78. <?php } ?>