BxBaseCover.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
  4. * CC-BY License - http://creativecommons.org/licenses/by/3.0/
  5. *
  6. * @defgroup TridentCore Trident Core
  7. * @{
  8. */
  9. /**
  10. * Cover representation.
  11. * @see BxDolCover
  12. */
  13. class BxBaseCover extends BxDolCover
  14. {
  15. protected $_bJsCssAdded = false;
  16. protected $_oTemplate;
  17. public function __construct ($oTemplate)
  18. {
  19. parent::__construct ();
  20. if ($oTemplate)
  21. $this->_oTemplate = $oTemplate;
  22. else
  23. $this->_oTemplate = BxDolTemplate::getInstance();
  24. }
  25. /**
  26. * Display Cover.
  27. */
  28. public function display ()
  29. {
  30. $this->_addJsCss();
  31. if (!$this->_aOptions || !$this->_sTemplateName) {
  32. $oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
  33. $mixedOptions = $oMenuSubmenu->getParamsForCover();
  34. if (!$mixedOptions || !is_array($mixedOptions))
  35. return $this->_oTemplate->parseHtmlByName($this->_sTemplateNameEmpty, array());
  36. if ($this->_sCoverImageUrl)
  37. $mixedOptions['bx_if:bg'] = array (
  38. 'condition' => true,
  39. 'content' => array('image_url' => $this->_sCoverImageUrl),
  40. );
  41. return $this->_oTemplate->parseHtmlByName($this->_sTemplateName, array_merge($this->_aOptiondDefault, $mixedOptions));
  42. }
  43. return $this->_oTemplate->parseHtmlByName($this->_sTemplateName, array_merge($this->_aOptiondDefault, $this->_aOptions));
  44. }
  45. /**
  46. * Add css/js files which are needed for display and functionality.
  47. */
  48. protected function _addJsCss()
  49. {
  50. if ($this->_bJsCssAdded)
  51. return;
  52. $this->_oTemplate->addCss(array('cover.css'));
  53. $this->_bJsCssAdded = true;
  54. }
  55. }
  56. /** @} */