1
0

BxDolStudioLanguage.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup UnaStudio UNA Studio
  7. * @{
  8. */
  9. define('BX_DOL_STUDIO_LANG_DEFAULT', BX_DOL_LANGUAGE_DEFAULT);
  10. define('BX_DOL_STUDIO_LANG_TYPE_SETTINGS', 'settings');
  11. define('BX_DOL_STUDIO_LANG_TYPE_DEFAULT', BX_DOL_STUDIO_LANG_TYPE_SETTINGS);
  12. class BxDolStudioLanguage extends BxTemplStudioModule
  13. {
  14. public function __construct($sModule, $mixedPageName, $sPage = "")
  15. {
  16. parent::__construct($sModule, $mixedPageName, $sPage);
  17. $this->sLangPrefix = 'lang';
  18. $this->sParamPrefix = 'lang';
  19. $this->sManageUrl = BX_DOL_URL_STUDIO . 'language.php?name=' . $this->aPage['name'];
  20. }
  21. public function init()
  22. {
  23. parent::init();
  24. $this->aPage['header'] = $this->aModule['title'];
  25. $this->aPage['caption'] = $this->aModule['title'];
  26. }
  27. public function checkAction()
  28. {
  29. $sAction = bx_get($this->sParamPrefix . '_action');
  30. if($sAction === false)
  31. return false;
  32. $sAction = bx_process_input($sAction);
  33. $aResult = array('code' => 1, 'message' => _t('_adm_pgt_err_cannot_process_action'));
  34. switch($sAction) {
  35. default:
  36. $aResult = parent::checkAction();
  37. }
  38. return $aResult;
  39. }
  40. function activate($sModule, $iWidgetId = 0)
  41. {
  42. $aModule = BxDolModuleQuery::getInstance()->getModuleByName($sModule);
  43. if(empty($aModule) || !is_array($aModule))
  44. return array('code' => 1, 'message' => _t('_adm_err_operation_failed'));
  45. $aLanguages = array();
  46. $iLanguages = BxDolLanguagesQuery::getInstance()->getLanguagesBy(array('type' => 'active'), $aLanguages);
  47. if($iLanguages == 1 && $aLanguages[0]['name'] == $aModule['uri'])
  48. return array('code' => 1, 'message' => _t('_adm_pgt_err_last_active'));
  49. $sLanguageDefault = getParam('lang_default');
  50. if($aModule['uri'] == $sLanguageDefault)
  51. return array('code' => 2, 'message' => _t('_adm_pgt_err_deactivate_default'));
  52. return parent::activate($sModule, $iWidgetId);
  53. }
  54. }
  55. /** @} */