BxBaseMenuSwitchLanguage.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. bx_import('BxTemplMenu');
  10. /**
  11. * Site main menu representation.
  12. */
  13. class BxBaseMenuSwitchLanguage extends BxTemplMenu
  14. {
  15. public function __construct ($aObject, $oTemplate)
  16. {
  17. parent::__construct ($aObject, $oTemplate);
  18. }
  19. public function getMenuItems ()
  20. {
  21. $this->loadData();
  22. return parent::getMenuItems();
  23. }
  24. protected function loadData()
  25. {
  26. bx_import('BxDolLanguages');
  27. $sLanguage = BxDolLanguages::getInstance()->getCurrentLangName();
  28. $this->setSelected('', $sLanguage);
  29. $aPage = explode('?', $_SERVER['HTTP_REFERER']);
  30. $aPageParams = array();
  31. if(!empty($aPage[1]))
  32. parse_str($aPage[1], $aPageParams);
  33. bx_import('BxDolLanguagesQuery');
  34. $aLanguages = BxDolLanguagesQuery::getInstance()->getLanguages(false, true);
  35. $aItems = array();
  36. foreach( $aLanguages as $sName => $sLang ) {
  37. $aPageParams['lang'] = $sName;
  38. $aItems[] = array(
  39. 'id' => $sName,
  40. 'name' => $sName,
  41. 'class' => '',
  42. 'title' => $sLang,
  43. 'target' => '_self',
  44. 'icon' => 'sys_fl_' . $sName . '.gif',
  45. 'link' => bx_html_attribute(bx_append_url_params($aPage[0], $aPageParams)),
  46. 'onclick' => ''
  47. );
  48. }
  49. $this->_aObject['menu_items'] = $aItems;
  50. }
  51. }
  52. /** @} */