PageRenderTime 43ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/templates/yoo_master/layouts/module.php

https://bitbucket.org/organicdevelopment/joomla-2.5
PHP | 111 lines | 67 code | 20 blank | 24 comment | 30 complexity | d18fbad1ce25db5eca0a6d993bfe5db3 MD5 | raw file
Possible License(s): LGPL-3.0, GPL-2.0, MIT, BSD-3-Clause, LGPL-2.1
  1. <?php
  2. /**
  3. * @package yoo_master
  4. * @author YOOtheme http://www.yootheme.com
  5. * @copyright Copyright (C) YOOtheme GmbH
  6. * @license http://www.gnu.org/licenses/gpl.html GNU/GPL
  7. */
  8. // init vars
  9. $id = $module->id;
  10. $position = $module->position;
  11. $title = JText::_($module->title);
  12. $showtitle = $module->showtitle;
  13. $content = $module->content;
  14. $color_char = '::';
  15. $subtitle_char = '||';
  16. $title_template = '<h3 class="module-title">%s</h3>';
  17. $template = 'default-1';
  18. $suffix = '';
  19. $style = '';
  20. $badge = '';
  21. $icon = '';
  22. $dropdownwidth = '';
  23. // extract params
  24. //extract($params);
  25. //Template is a reserved word so we use layout instead
  26. if(isset($layout)) $template = $layout;
  27. //Append suffix
  28. $style .= ' '.$suffix;
  29. //Set menu template
  30. if ($module->position == 'menu'){
  31. $template = $module->menu ? 'raw' : 'dropdown';
  32. $showtitle = 0;
  33. }
  34. //Force hide title for raw templates
  35. if($template == 'raw') $showtitle = 0;
  36. // set badge if exists
  37. if ($badge) {
  38. $badge = '<div class="badge badge-'.$badge.'"></div>';
  39. }
  40. // split title in two colors
  41. $split_color = mb_strpos($title, $color_char);
  42. if ($split_color !== false) {
  43. $title = '<span class="color">'.mb_substr($title, 0, $split_color).'</span>'.mb_substr($title, $split_color + strlen($color_char));
  44. }
  45. // create subtitle
  46. $subtitle = mb_strpos($title, $subtitle_char);
  47. if ($subtitle !== false) {
  48. $title = '<span class="title">'.mb_substr($title, 0, $subtitle).'</span><span class="subtitle">'.mb_substr($title, $subtitle + strlen($subtitle_char)).'</span>';
  49. }
  50. // create title icon if exists
  51. if ($icon) {
  52. $title = '<span class="icon icon-'.$icon.'"></span>'.$title.'';
  53. }
  54. // create title template
  55. if ($title_template) {
  56. $title = sprintf($title_template, $title);
  57. }
  58. // set dropdownwidth if exists
  59. if ($dropdownwidth) {
  60. $dropdownwidth = 'style="width: '.$dropdownwidth.'px;"';
  61. }
  62. //Using advanced module manager, set module title to a link
  63. if(isset($module->adv_params) && isset($adv_params->adv_params->extra1) && $adv_params->adv_params->extra1){
  64. $title = JHTML::link(JRoute::_($adv_params->adv_params->extra), $title);
  65. }
  66. // render menu
  67. if ($module->menu) {
  68. // set menu renderer
  69. if (isset($params['menu'])) {
  70. $renderer = $params['menu'];
  71. } else if (in_array($module->position, array('menu'))) {
  72. $renderer = 'dropdown';
  73. } else if (in_array($module->position, array('toolbar-l', 'toolbar-r', 'footer'))) {
  74. $renderer = 'default';
  75. } else {
  76. $renderer = 'accordion';
  77. }
  78. // set menu style
  79. if ($renderer == 'dropdown') {
  80. $module->menu_style = 'menu-dropdown';
  81. } else if ($renderer == 'accordion') {
  82. $module->menu_style = 'menu-sidebar';
  83. } else if ($renderer == 'default') {
  84. $module->menu_style = 'menu-line';
  85. } else {
  86. $module->menu_style = null;
  87. }
  88. $content = $this['menu']->process($module, array_unique(array('pre', 'default', $renderer, 'post')));
  89. }
  90. // render module
  91. echo $this->render("modules/templates/{$template}", compact('style', 'badge', 'showtitle', 'title', 'content', 'dropdownwidth', 'params'));