PageRenderTime 36ms CodeModel.GetById 12ms RepoModel.GetById 0ms app.codeStats 0ms

/templates/yoo_inspire/styles/mobile/layouts/module.php

https://bitbucket.org/kraymitchell/apex
PHP | 118 lines | 76 code | 17 blank | 25 comment | 28 complexity | 0e9a02afddf02a8a8fdca7accb201c21 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-3.0, BSD-3-Clause, LGPL-2.1, GPL-3.0
  1. <?php
  2. /**
  3. * @package yoo_inspire
  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 = $module->title;
  12. $showtitle = $module->showtitle;
  13. $content = $module->content;
  14. $split_color = '';
  15. $subtitle = '';
  16. $title_template = '';
  17. // init params
  18. foreach (array('suffix', 'style', 'color', 'badge', 'icon') as $var) {
  19. $$var = isset($params[$var]) ? $params[$var] : null;
  20. }
  21. // test module styles here
  22. //$style = '';
  23. //$color = '';
  24. //$badge = '';
  25. //$icon = '';
  26. //$title = '';
  27. // force module style
  28. if (in_array($module->position, array('mobile-logo', 'logo', 'search'))) {
  29. $style = 'raw';
  30. $showtitle = 0;
  31. }
  32. if (in_array($module->position, array('mobile-footer', 'footer'))) {
  33. $style = '';
  34. $showtitle = 0;
  35. }
  36. if ($module->position == 'menu') {
  37. $style = 'raw';
  38. }
  39. // set module template using the style
  40. switch ($style) {
  41. case 'raw':
  42. $template = 'raw';
  43. break;
  44. default:
  45. $template = 'default-1';
  46. $style = $suffix;
  47. $title_template = '<h3 class="module-title">%s</h3>';
  48. $subtitle = 1;
  49. }
  50. // set badge if exists
  51. if ($badge) {
  52. $badge = '<div class="badge badge-'.$badge.'"></div>';
  53. }
  54. // split title in two colors
  55. if ($split_color) {
  56. $pos = mb_strpos($title, ' ');
  57. if ($pos !== false) {
  58. $title = '<span class="color">'.mb_substr($title, 0, $pos).'</span>'.mb_substr($title, $pos);
  59. }
  60. }
  61. // create subtitle
  62. if ($subtitle) {
  63. $pos = mb_strpos($title, '||');
  64. if ($pos !== false) {
  65. $title = '<span class="title">'.mb_substr($title, 0, $pos).'</span><span class="subtitle">'.mb_substr($title, $pos + 2).'</span>';
  66. }
  67. }
  68. // create title icon if exists
  69. if ($icon) {
  70. $title = '<span class="icon icon-'.$icon.'"></span>'.$title.'';
  71. }
  72. // create title template
  73. if ($title_template) {
  74. $title = sprintf($title_template, $title);
  75. }
  76. // render menu
  77. if ($module->menu) {
  78. // set menu renderer
  79. if (isset($params['menu'])) {
  80. $renderer = $params['menu'];
  81. } else if (in_array($module->position, array('menu'))) {
  82. $renderer = 'dropdown';
  83. } else if (in_array($module->position, array('toolbar-l', 'toolbar-r', 'footer'))) {
  84. $renderer = 'default';
  85. } else {
  86. $renderer = 'accordion';
  87. }
  88. // set menu style
  89. if ($renderer == 'dropdown') {
  90. $module->menu_style = 'menu-dropdown';
  91. } else if ($renderer == 'accordion') {
  92. $module->menu_style = 'menu-sidebar';
  93. } else if ($renderer == 'default') {
  94. $module->menu_style = 'menu-line';
  95. } else {
  96. $module->menu_style = null;
  97. }
  98. $content = $this['menu']->process($module, array_unique(array('pre', 'default', $renderer, 'post')));
  99. }
  100. // render module
  101. echo $this->render("modules/templates/{$template}", compact('style', 'badge', 'showtitle', 'title', 'content'));