1
0

BxDolStudioLauncher.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. class BxDolStudioLauncher extends BxTemplStudioWidgets implements iBxDolSingleton
  10. {
  11. protected $aIncludes;
  12. function __construct()
  13. {
  14. parent::__construct(BX_DOL_STUDIO_PAGE_HOME);
  15. $aClasses = array(
  16. 'BxTemplStudioModules',
  17. 'BxTemplStudioDesigns',
  18. 'BxTemplStudioLanguages'
  19. );
  20. $this->aIncludes = array();
  21. foreach($aClasses as $sClass)
  22. $this->aIncludes[] = new $sClass();
  23. }
  24. public static function getInstance()
  25. {
  26. if (!isset($GLOBALS['bxDolClasses'][__CLASS__]))
  27. $GLOBALS['bxDolClasses'][__CLASS__] = new BxTemplStudioLauncher();
  28. return $GLOBALS['bxDolClasses'][__CLASS__];
  29. }
  30. public function checkAction()
  31. {
  32. $sAction = bx_get('action');
  33. if($sAction === false)
  34. return false;
  35. $sAction = bx_process_input($sAction);
  36. $aResult = array('code' => 1, 'message' => _t('_adm_err_operation_failed'));
  37. switch($sAction) {
  38. case 'launcher-browser':
  39. $sType = bx_process_input(bx_get('type'));
  40. $aResult = array('code' => 0, 'popup' => $this->getPopupBrowser($sType));
  41. break;
  42. case 'launcher-update-cache':
  43. $aResult = $this->updateCache();
  44. break;
  45. case 'launcher-reorder':
  46. $sPage = bx_process_input(bx_get('page'));
  47. $aItems = bx_process_input(bx_get('items'));
  48. BxDolStudioWidgetsQuery::getInstance()->reorder($sPage, $aItems);
  49. $aResult = array('code' => 0, 'message' => _t('_adm_scs_operation_done'));
  50. break;
  51. case 'page-featured':
  52. $sPage = bx_process_input(bx_get('page'));
  53. bx_import('BxDolStudioWidget');
  54. $oPage = new BxDolStudioWidget($sPage);
  55. $aResult = $oPage->featured();
  56. break;
  57. case 'page-bookmark':
  58. $sPage = bx_process_input(bx_get('page'));
  59. bx_import('BxDolStudioWidget');
  60. $oPage = new BxDolStudioWidget($sPage);
  61. $aResult = $oPage->bookmark();
  62. break;
  63. case 'widget-rearrange':
  64. $iWidgetId = bx_process_input(bx_get('widget_id'), BX_DATA_INT);
  65. $sType = bx_process_input(bx_get('type'));
  66. if(BxDolStudioWidgetsQuery::getInstance()->updateWidget(array('type' => $sType), array('id' => $iWidgetId)) !== false)
  67. $aResult = array('code' => 0, 'redirect' => bx_append_url_params ($this->sPageUrl, array('type' => $sType)));
  68. else
  69. $aResult = array('code' => 1, 'message' => _t('_error occured'));
  70. break;
  71. }
  72. return $aResult;
  73. }
  74. }
  75. /** @} */