예제 #1
0
 public function performActionEdit()
 {
     $sAction = 'edit';
     $sFormObject = $this->oModule->_oConfig->getObject('form_forms_prevalue');
     $sFormDisplay = $this->oModule->_oConfig->getObject('form_display_forms_prevalue_edit');
     $aValue = $this->_getItem('getValues');
     if ($aValue === false) {
         $this->_echoResultJson(array());
         exit;
     }
     bx_import('BxDolForm');
     $oForm = BxDolForm::getObjectInstance($sFormObject, $sFormDisplay, $this->oModule->_oTemplate);
     $oForm->aFormAttrs['action'] = BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=' . $sAction . '&list=' . $this->sList;
     $this->onLoad($oForm->aInputs);
     $oForm->initChecker($aValue);
     if ($oForm->isSubmittedAndValid()) {
         if ($oForm->update($aValue['id']) !== false) {
             $this->onSave($oForm);
             $aRes = array('grid' => $this->getCode(false), 'blink' => $aValue['id']);
         } else {
             $aRes = array('msg' => _t('_bx_dev_frm_err_prevalues_edit'));
         }
         $this->_echoResultJson($aRes, true);
     } else {
         bx_import('BxTemplStudioFunctions');
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('bx-dev-frm-prevalue-edit-popup', _t('_bx_dev_frm_txt_prevalues_edit_popup', _t($aValue['lkey'])), $this->oModule->_oTemplate->parseHtmlByName('form_add_value.html', array('form_id' => $oForm->aFormAttrs['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => array('html' => $sContent, 'options' => array('closeOnOuterClick' => false))), true);
     }
 }
예제 #2
0
 public function getPageCaption()
 {
     if (empty($this->aPage) || !is_array($this->aPage)) {
         return '';
     }
     $oTemplate = BxDolStudioTemplate::getInstance();
     $oFunctions = BxTemplStudioFunctions::getInstance();
     $sHelp = $this->getPageCaptionHelp();
     if (($bHelp = strlen($sHelp)) > 0) {
         $sHelp = $oFunctions->transBox('bx-std-pcap-menu-popup-help', $sHelp, true);
     }
     $sActions = $this->getPageCaptionActions();
     if (($bActions = strlen($sActions)) > 0) {
         $sActions = $oFunctions->transBox('bx-std-pcap-menu-popup-actions', $sActions, true);
     }
     $oTemplate->addInjection('injection_header', 'text', $sHelp . $sActions);
     //--- Menu Left ---//
     $aItems = array('back' => array('name' => 'back', 'icon' => 'th', 'link' => BX_DOL_URL_STUDIO . 'launcher.php', 'title' => '_adm_txt_back_to_launcher'));
     $oMenu = new BxTemplStudioMenu(array('template' => 'menu_top_toolbar.html', 'menu_items' => $aItems));
     $sMenuLeft = $oMenu->getCode();
     //--- Menu Right ---//
     $aItems = array();
     if ($bHelp) {
         $aItems['help'] = array('name' => 'help', 'icon' => 'question-circle', 'onclick' => BX_DOL_STUDIO_PAGE_JS_OBJECT . ".togglePopup('help', this)", 'title' => '_adm_txt_show_help');
     }
     if ($bActions) {
         $aItems['actions'] = array('name' => 'actions', 'icon' => 'cog', 'onclick' => BX_DOL_STUDIO_PAGE_JS_OBJECT . ".togglePopup('actions', this)", 'title' => '_adm_txt_show_help');
     }
     $oMenu = new BxTemplStudioMenu(array('template' => 'menu_top_toolbar.html', 'menu_items' => $aItems));
     $sMenuRight = $oMenu->getCode();
     $aTmplVars = array('menu_left' => $sMenuLeft, 'caption' => _t($this->aPage['caption']), 'menu_right' => $sMenuRight);
     return $oTemplate->parseHtmlByName('page_caption.html', $aTmplVars);
 }
예제 #3
0
 public function performActionEdit($bUpdateGrid = false)
 {
     $sAction = 'edit';
     $sFormObject = $this->oModule->_oConfig->getObject('form_nav_item');
     $sFormDisplay = $this->oModule->_oConfig->getObject('form_display_nav_item_edit');
     $aItem = $this->_getItem('getItems');
     if ($aItem === false) {
         $this->_echoResultJson(array());
         exit;
     }
     bx_import('BxDolForm');
     $oForm = BxDolForm::getObjectInstance($sFormObject, $sFormDisplay, $this->oModule->_oTemplate);
     $oForm->aFormAttrs['action'] = BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=' . $sAction . '&set=' . $this->sSet;
     $oForm->aInputs['controls'][0]['value'] = _t('_bx_dev_nav_btn_items_save');
     $this->fillInSelects($oForm->aInputs);
     $oForm->initChecker($aItem);
     if ($oForm->isSubmittedAndValid()) {
         if ($oForm->update($aItem['id']) !== false) {
             $aRes = array('grid' => $this->getCode(false), 'blink' => $aItem['id']);
         } else {
             $aRes = array('msg' => _t('_bx_dev_nav_err_items_edit'));
         }
         $this->_echoResultJson($aRes, true);
     } else {
         bx_import('BxTemplStudioFunctions');
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('bx-dev-nav-item-edit-popup', _t('_bx_dev_nav_txt_items_edit_popup', _t($aItem['title_system'])), $this->oModule->_oTemplate->parseHtmlByName('nav_add_item.html', array('form_id' => $oForm->aFormAttrs['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => array('html' => $sContent, 'options' => array('closeOnOuterClick' => false))), true);
     }
 }
 public function performActionEdit()
 {
     $sAction = 'edit';
     $aIds = bx_get('ids');
     if (!$aIds || !is_array($aIds)) {
         $sId = bx_get('set_name');
         if (!$sId) {
             $this->_echoResultJson(array());
             exit;
         }
         $aIds = array($sId);
     }
     $sId = bx_process_input($aIds[0]);
     $aSet = array();
     $iSet = $this->oDb->getSets(array('type' => 'by_name', 'value' => $sId), $aSet);
     if ($iSet != 1 || empty($aSet)) {
         $this->_echoResultJson(array());
         exit;
     }
     $aForm = array('form_attrs' => array('id' => 'adm-nav-set-edit', 'action' => BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=' . $sAction, 'method' => BX_DOL_STUDIO_METHOD_DEFAULT), 'params' => array('db' => array('table' => 'sys_menu_sets', 'key' => 'set_name', 'uri' => '', 'uri_title' => '', 'submit_name' => 'do_submit')), 'inputs' => array('set_name' => array('type' => 'hidden', 'name' => 'set_name', 'value' => $sId, 'db' => array('pass' => 'Xss')), 'title' => array('type' => 'text_translatable', 'name' => 'title', 'caption' => _t('_adm_nav_txt_sets_title'), 'info' => _t('_adm_nav_dsc_sets_title'), 'value' => $aSet['title'], 'required' => '1', 'db' => array('pass' => 'Xss'), 'checker' => array('func' => 'LengthTranslatable', 'params' => array(3, 100, 'title'), 'error' => _t('_adm_nav_err_sets_title'))), 'controls' => array('name' => 'controls', 'type' => 'input_set', array('type' => 'submit', 'name' => 'do_submit', 'value' => _t('_adm_nav_btn_menus_save')), array('type' => 'reset', 'name' => 'close', 'value' => _t('_adm_nav_btn_menus_cancel'), 'attrs' => array('onclick' => "\$('.bx-popup-applied:visible').dolPopupHide()", 'class' => 'bx-def-margin-sec-left')))));
     $oForm = new BxTemplStudioFormView($aForm);
     $oForm->initChecker();
     if ($oForm->isSubmittedAndValid()) {
         if ($oForm->update($sId) !== false) {
             $aRes = array('grid' => $this->getCode(false), 'blink' => $sId);
         } else {
             $aRes = array('msg' => _t('_adm_nav_err_sets_edit'));
         }
         $this->_echoResultJson($aRes, true);
     } else {
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('adm-nav-set-edit-popup', _t('_adm_nav_txt_sets_edit_popup', _t($aSet['title'])), $this->_oTemplate->parseHtmlByName('nav_add_set.html', array('form_id' => $aForm['form_attrs']['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => array('html' => $sContent, 'options' => array('closeOnOuterClick' => false))), true);
     }
 }
예제 #5
0
 function processActions()
 {
     if (($sAction = bx_get($this->sParamPrefix . '_action')) !== false) {
         $sAction = bx_process_input($sAction);
         $aResult = array('code' => 1, 'message' => _t('_adm_' . $this->sLangPrefix . '_err_cannot_process_action'));
         switch ($sAction) {
             case 'uninstall':
                 $sPageName = bx_process_input(bx_get($this->sParamPrefix . '_page_name'));
                 if (empty($sPageName)) {
                     break;
                 }
                 bx_import('BxDolModuleQuery');
                 $aModule = BxDolModuleQuery::getInstance()->getModuleByName($sPageName);
                 if (empty($aModule) || !is_array($aModule)) {
                     break;
                 }
                 if (($iWidgetId = (int) bx_get($this->sParamPrefix . '_widget_id')) != 0 && (int) bx_get($this->sParamPrefix . '_confirmed') != 1) {
                     $aResult['message'] = $this->getPopupConfirm($iWidgetId, $aModule);
                     break;
                 }
                 bx_import('BxDolStudioInstallerUtils');
                 $aResult = BxDolStudioInstallerUtils::getInstance()->perform($aModule['path'], 'uninstall');
                 if (!empty($aResult['message'])) {
                     $aResult['message'] = $this->getPopupResult($aResult['message']);
                 }
                 break;
         }
         if (!empty($aResult['message'])) {
             bx_import('BxTemplStudioFunctions');
             $aResult['message'] = BxTemplStudioFunctions::getInstance()->transBox('', $aResult['message']);
         }
         echo json_encode($aResult);
         exit;
     }
 }
 public function performActionEdit()
 {
     $sAction = 'edit';
     $aIds = bx_get('ids');
     if (!$aIds || !is_array($aIds)) {
         $iId = (int) bx_get('id');
         if (!$iId) {
             $this->_echoResultJson(array());
             exit;
         }
         $aIds = array($iId);
     }
     $iId = $aIds[0];
     $aEtemplate = array();
     $this->oDb->getEtemplates(array('type' => 'by_id', 'value' => $iId), $aEtemplate, false);
     if (empty($aEtemplate) || !is_array($aEtemplate)) {
         $this->_echoResultJson(array());
         exit;
     }
     $aForm = array('form_attrs' => array('id' => 'adm-pgt-etemplate-edit', 'action' => BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=' . $sAction, 'method' => BX_DOL_STUDIO_METHOD_DEFAULT), 'params' => array('db' => array('table' => 'sys_email_templates', 'key' => 'ID', 'uri' => '', 'uri_title' => '', 'submit_name' => 'do_submit')), 'inputs' => array('ID' => array('type' => 'hidden', 'name' => 'id', 'value' => $iId, 'db' => array('pass' => 'Int')), 'NameSystem' => array('type' => 'text_translatable', 'name' => 'NameSystem', 'caption' => _t('_adm_pgt_txt_etemplates_name_system'), 'info' => _t('_adm_pgt_dsc_etemplates_name_system'), 'value' => $aEtemplate['name_system'], 'required' => '1', 'db' => array('pass' => 'Xss'), 'checker' => array('func' => 'LengthTranslatable', 'params' => array(3, 100, 'NameSystem'), 'error' => _t('_adm_pgt_err_etemplates_name_system'))), 'Subject' => array('type' => 'text_translatable', 'name' => 'Subject', 'caption' => _t('_adm_pgt_txt_etemplates_subject'), 'info' => _t('_adm_pgt_dsc_etemplates_subject'), 'value' => $aEtemplate['subject'], 'required' => '1', 'db' => array('pass' => 'Xss'), 'checker' => array('func' => 'AvailTranslatable', 'params' => array('Subject'), 'error' => _t('_adm_pgt_err_etemplates_subject'))), 'Body' => array('type' => 'textarea_translatable', 'name' => 'Body', 'caption' => _t('_adm_pgt_txt_etemplates_body'), 'info' => _t('_adm_pgt_dsc_etemplates_body'), 'value' => $aEtemplate['body'], 'required' => '1', 'db' => array('pass' => 'Xss'), 'checker' => array('func' => 'AvailTranslatable', 'params' => array('Body'), 'error' => _t('_adm_pgt_err_etemplates_body'))), 'controls' => array('name' => 'controls', 'type' => 'input_set', array('type' => 'submit', 'name' => 'do_submit', 'value' => _t('_adm_pgt_btn_etemplates_save')), array('type' => 'reset', 'name' => 'close', 'value' => _t('_adm_pgt_btn_etemplates_cancel'), 'attrs' => array('onclick' => "\$('.bx-popup-applied:visible').dolPopupHide()", 'class' => 'bx-def-margin-sec-left')))));
     $oForm = new BxTemplStudioFormView($aForm);
     $oForm->initChecker();
     if ($oForm->isSubmittedAndValid()) {
         if ($oForm->update($iId) !== false) {
             $aRes = array('grid' => $this->getCode(false), 'blink' => $iId);
         } else {
             $aRes = array('msg' => _t('_adm_pgt_err_etemplates_edit'));
         }
         $this->_echoResultJson($aRes, true);
     } else {
         bx_import('BxTemplStudioFunctions');
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('adm-pgt-etemplate-edit-popup', _t('_adm_pgt_txt_etemplates_edit_popup', _t($aEtemplate['name_system'])), $this->_oTemplate->parseHtmlByName('pgt_new_etemplate.html', array('form_id' => $aForm['form_attrs']['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => array('html' => $sContent, 'options' => array('closeOnOuterClick' => false))), true);
     }
 }
 public function performActionOptions()
 {
     if ((int) $this->iLevel == 0) {
         $this->iLevel = (int) bx_get('IDLevel');
     }
     $aIds = bx_get('ids');
     if (!$aIds || !is_array($aIds)) {
         $iId = (int) bx_get('IDAction');
         if (!$iId) {
             $this->_echoResultJson(array());
             exit;
         }
         $aIds = array($iId);
     }
     $sAction = 'options';
     $iId = $aIds[0];
     if (strpos($iId, $this->sParamsDivider) !== false) {
         list($this->iLevel, $iId) = explode($this->sParamsDivider, urldecode($iId));
     }
     $aOption = array();
     $iOption = $this->oDb->getOptions(array('type' => 'by_level_action_ids', 'level_id' => $this->iLevel, 'action_id' => $iId), $aOption);
     if ($iOption != 1 || empty($aOption)) {
         $this->_echoResultJson(array());
         exit;
     }
     $aForm = array('form_attrs' => array('id' => 'adm-prm-action-options', 'action' => BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=' . $sAction, 'method' => BX_DOL_STUDIO_METHOD_DEFAULT), 'params' => array('db' => array('table' => 'sys_acl_matrix', 'key' => '', 'uri' => '', 'uri_title' => '', 'submit_name' => 'do_submit')), 'inputs' => array('IDLevel' => array('type' => 'hidden', 'name' => 'IDLevel', 'value' => $this->iLevel, 'db' => array('pass' => 'Int')), 'IDAction' => array('type' => 'hidden', 'name' => 'IDAction', 'value' => $iId, 'db' => array('pass' => 'Int')), 'AllowedCount' => array('type' => 'text', 'name' => 'AllowedCount', 'caption' => _t('_adm_prm_txt_actions_number'), 'info' => _t('_adm_prm_dsc_actions_number'), 'value' => $aOption['allowed_count'], 'db' => array('pass' => 'Int')), 'AllowedPeriodLen' => array('type' => 'text', 'name' => 'AllowedPeriodLen', 'caption' => _t('_adm_prm_txt_actions_reset'), 'info' => _t('_adm_prm_dsc_actions_reset'), 'value' => $aOption['allowed_period_len'], 'db' => array('pass' => 'Int')), 'AllowedPeriodStart' => array('type' => 'datetime', 'name' => 'AllowedPeriodStart', 'caption' => _t('_adm_prm_txt_actions_avail_start'), 'info' => _t('_adm_prm_dsc_actions_avail'), 'value' => $aOption['allowed_period_start'], 'attrs' => array('allow_input' => 'true'), 'db' => array('pass' => 'Xss')), 'AllowedPeriodEnd' => array('type' => 'datetime', 'name' => 'AllowedPeriodEnd', 'caption' => _t('_adm_prm_txt_actions_avail_end'), 'info' => _t('_adm_prm_dsc_actions_avail'), 'value' => $aOption['allowed_period_end'], 'attrs' => array('allow_input' => 'true'), 'db' => array('pass' => 'Xss')), 'controls' => array('name' => 'controls', 'type' => 'input_set', array('type' => 'submit', 'name' => 'do_submit', 'value' => _t('_adm_prm_btn_actions_save')), array('type' => 'reset', 'name' => 'close', 'value' => _t('_adm_prm_btn_actions_cancel'), 'attrs' => array('onclick' => "\$('.bx-popup-applied:visible').dolPopupHide()", 'class' => 'bx-def-margin-sec-left')))));
     if ((int) $aOption['action_countable'] != 1) {
         unset($aForm['inputs']['AllowedCount'], $aForm['inputs']['AllowedPeriodLen']);
     }
     $oForm = new BxTemplStudioFormView($aForm);
     $oForm->initChecker();
     if ($oForm->isSubmittedAndValid()) {
         $aUpdate = array();
         foreach ($aForm['inputs'] as $sName => $aInput) {
             if (in_array($aInput['type'], array('hidden', 'input_set'))) {
                 continue;
             }
             $aUpdate[$sName] = $oForm->getCleanValue($sName);
             if (empty($aUpdate[$sName])) {
                 $aUpdate[$sName] = null;
             }
         }
         $this->oDb->updateOptions((int) $oForm->getCleanValue('IDLevel'), (int) $oForm->getCleanValue('IDAction'), $aUpdate);
     } else {
         bx_import('BxTemplStudioFunctions');
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('adm-prm-action-options-popup', _t('_adm_prm_txt_actions_options_popup', _t($aOption['action_title'])), $this->_oTemplate->parseHtmlByName('prm_edit_option.html', array('form_id' => $aForm['form_attrs']['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => array('html' => $sContent, 'options' => array('closeOnOuterClick' => false))), true);
     }
 }
예제 #8
0
 function genInputTranslatable(&$aInput, $sType = 'text')
 {
     $iValueLength = 20;
     $sInputIdPrefix = 'bx-form-input-';
     $aInputMethod = array('text' => 'genInputStandard', 'textarea' => 'genInputTextarea');
     $sInput = '';
     $sInputName = $aInput['name'];
     $aInputAttrs = isset($aInput['attrs']) && is_array($aInput['attrs']) ? $aInput['attrs'] : array();
     bx_import('BxTemplStudioFunctions');
     $oFunctions = BxTemplStudioFunctions::getInstance();
     bx_import('BxDolStudioLanguagesUtils');
     $oLanguage = BxDolStudioLanguagesUtils::getInstance();
     $sLanguage = $oLanguage->getCurrentLangName(false);
     $aLanguages = $oLanguage->getLanguagesInfo();
     $aStrings = $oLanguage->getLanguageString($aInput['value']);
     $aInput['type'] = 'hidden';
     $aInput['attrs'] = array_merge($aInputAttrs, array('id' => $sInputIdPrefix . $aInput['name']));
     $sInput .= $this->genInputStandard($aInput);
     $aTmplVars = array();
     foreach ($aLanguages as $aLanguage) {
         $bLanguage = $aLanguage['name'] == $sLanguage;
         $sValue = '';
         if (($bValue = key_exists($aLanguage['id'], $aStrings)) === true) {
             $sValue = $aStrings[$aLanguage['id']]['string'];
         } else {
             if (isset($aInput['values'][$aLanguage['name']])) {
                 $sValue = $aInput['values'][$aLanguage['name']];
             }
         }
         $aInput['type'] = $sType;
         $aInput['name'] = $sInputName . '-' . $aLanguage['name'];
         $aInput['value'] = $sValue;
         $aInput['attrs'] = array_merge($aInputAttrs, array('id' => $sInputIdPrefix . $aInput['name'], 'style' => !$bLanguage ? 'display:none;' : ''));
         $sInput .= $this->{$aInputMethod}[$sType]($aInput);
         $aTmplVarValue = array('condition' => $bValue, 'content' => array('value' => strmaxtextlen($sValue, $iValueLength)));
         $aTmplVarMissing = array('condition' => !$bValue || empty($sValue), 'content' => array());
         $aTmplVars[] = array('name' => $sInputName, 'lang_name' => $aLanguage['name'], 'lang_flag' => $aLanguage['icon'], 'lang_title' => $aLanguage['title'], 'bx_if:hide_active' => array('condition' => !$bLanguage, 'content' => array()), 'bx_if:act_value' => $aTmplVarValue, 'bx_if:act_missing' => $aTmplVarMissing, 'bx_if:hide_passive' => array('condition' => $bLanguage, 'content' => array()), 'bx_if:pas_value' => $aTmplVarValue, 'bx_if:pas_missing' => $aTmplVarMissing);
     }
     $sPopup = $this->oTemplate->parseHtmlByName('form_view_translator.html', array('bx_repeat:languages' => $aTmplVars));
     $sPopup = $oFunctions->transBox('bx-form-field-translator-popup-' . $sInputName, $sPopup, true);
     $aLanguage = $oLanguage->getLanguageInfo($sLanguage);
     $sControl = $this->oTemplate->parseHtmlByName('form_view_translatable.html', array('flag' => $aLanguage['icon'], 'title' => $aLanguage['title'], 'name' => $sInputName, 'popup' => $sPopup));
     return $sInput . $sControl;
 }
 public function performActionEdit()
 {
     $oTemplate = BxDolStudioTemplate::getInstance();
     $aIds = bx_get('ids');
     if (!$aIds || !is_array($aIds)) {
         $iId = (int) bx_get('id');
         if (!$iId) {
             $this->_echoResultJson(array());
             exit;
         }
         $aIds = array($iId);
     }
     $iId = $aIds[0];
     $sAction = 'edit';
     $aLanguages = array();
     $iLanguages = $this->oDb->getLanguagesBy(array('type' => 'all_key_id'), $aLanguages);
     $aKey = $this->oDb->getKeyFullInfo($iId);
     $aForm = array('form_attrs' => array('id' => 'adm-lang-edit-key-form', 'action' => BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=' . $sAction, 'method' => 'post'), 'params' => array('db' => array('table' => 'sys_localization_keys', 'key' => 'ID', 'uri' => '', 'uri_title' => '', 'submit_name' => 'do_submit')), 'inputs' => array('id' => array('type' => 'hidden', 'name' => 'id', 'value' => $iId, 'db' => array('pass' => 'Int'))));
     foreach ($aLanguages as $aLanguage) {
         $sName = 'language_' . $aLanguage['id'];
         $aForm['inputs'][$sName] = array('type' => 'textarea', 'name' => $sName, 'caption' => $aLanguage['title'], 'value' => isset($aKey['strings'][$aLanguage['name']]) ? $aKey['strings'][$aLanguage['name']]['string'] : '', 'db' => array('pass' => 'XssHtml'));
     }
     $aForm['inputs'] = array_merge($aForm['inputs'], array('languages' => array('type' => 'hidden', 'name' => 'languages', 'value' => implode(',', array_keys($aLanguages)), 'db' => array('pass' => 'Xss')), 'controls' => array('name' => 'controls', 'type' => 'input_set', array('type' => 'submit', 'name' => 'do_submit', 'value' => _t('_adm_pgt_btn_nkp_save')), array('type' => 'reset', 'name' => 'close', 'value' => _t('_adm_pgt_btn_nkp_close'), 'attrs' => array('onclick' => "\$('.bx-popup-applied:visible').dolPopupHide()", 'class' => 'bx-def-margin-sec-left')))));
     bx_import('BxTemplStudioFormView');
     $oForm = new BxTemplStudioFormView($aForm);
     $oForm->initChecker();
     if ($oForm->isSubmittedAndValid()) {
         $mixedResult = $this->edit($oForm);
         if (is_int($mixedResult)) {
             $aRes = array('grid' => $this->getCode(false), 'blink' => $mixedResult);
         } else {
             $aRes = array('msg' => $mixedResult);
         }
         $this->_echoResultJson($aRes, true);
     } else {
         bx_import('BxTemplStudioFunctions');
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('adm-lang-edit-key-popup', _t('_adm_pgt_txt_nkp_edit_popup', $aKey['key']), $this->_oTemplate->parseHtmlByName('pgt_new_key.html', array('form_id' => $aForm['form_attrs']['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => array('html' => $sContent, 'options' => array('closeOnOuterClick' => false))), true);
     }
 }
예제 #10
0
 public function performActionEdit()
 {
     $sAction = 'edit';
     $sFormObject = $this->oModule->_oConfig->getObject('form_nav_set');
     $sFormDisplay = $this->oModule->_oConfig->getObject('form_display_nav_set_edit');
     $aIds = bx_get('ids');
     if (!$aIds || !is_array($aIds)) {
         $sId = bx_get('set_name');
         if (!$sId) {
             $this->_echoResultJson(array());
             exit;
         }
         $aIds = array($sId);
     }
     $sId = bx_process_input($aIds[0]);
     $aSet = array();
     $this->oDb->getSets(array('type' => 'by_name', 'value' => $sId), $aSet, false);
     if (empty($aSet) || !is_array($aSet)) {
         $this->_echoResultJson(array());
         exit;
     }
     bx_import('BxDolForm');
     $oForm = BxDolForm::getObjectInstance($sFormObject, $sFormDisplay, $this->oModule->_oTemplate);
     $oForm->aFormAttrs['action'] = BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=' . $sAction;
     $oForm->aInputs['module']['values'] = array_merge(array('' => _t('_bx_dev_frm_txt_select_module')), BxDolStudioUtils::getModules());
     $oForm->aInputs['controls'][0]['value'] = _t('_bx_dev_frm_btn_displays_save');
     $oForm->initChecker($aSet);
     if ($oForm->isSubmittedAndValid()) {
         if ($oForm->update($sId) !== false) {
             $aRes = array('grid' => $this->getCode(false), 'blink' => $sId);
         } else {
             $aRes = array('msg' => _t('_bx_dev_nav_err_sets_edit'));
         }
         $this->_echoResultJson($aRes, true);
     } else {
         bx_import('BxTemplStudioFunctions');
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('bx-dev-nav-set-edit-popup', _t('_bx_dev_nav_txt_sets_edit_popup', _t($aSet['title'])), $this->_oTemplate->parseHtmlByName('nav_add_set.html', array('form_id' => $oForm->aFormAttrs['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => array('html' => $sContent, 'options' => array('closeOnOuterClick' => false))), true);
     }
 }
 public function performActionEdit()
 {
     $sAction = 'edit';
     $aIds = bx_get('ids');
     if (!$aIds || !is_array($aIds)) {
         $iId = (int) bx_get('id');
         if (!$iId) {
             $this->_echoResultJson(array());
             exit;
         }
         $aIds = array($iId);
     }
     $iId = $aIds[0];
     $aPrice = array();
     $iPrice = $this->oDb->getPrices(array('type' => 'by_id', 'value' => $iId), $aPrice);
     if ($iPrice != 1 || empty($aPrice)) {
         $this->_echoResultJson(array());
         exit;
     }
     if ((int) $this->iLevel == 0) {
         $this->iLevel = (int) $aPrice['level_id'];
     }
     $aForm = array('form_attrs' => array('id' => 'adm-prm-price-edit', 'action' => BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=' . $sAction, 'method' => BX_DOL_STUDIO_METHOD_DEFAULT), 'params' => array('db' => array('table' => 'sys_acl_level_prices', 'key' => 'id', 'uri' => '', 'uri_title' => '', 'submit_name' => 'do_submit')), 'inputs' => array('id' => array('type' => 'hidden', 'name' => 'id', 'value' => $iId, 'db' => array('pass' => 'Int')), 'IDLevel' => array('type' => 'hidden', 'name' => 'IDLevel', 'value' => $aPrice['level_id'], 'db' => array('pass' => 'Int')), 'Days' => array('type' => 'text', 'name' => 'Days', 'caption' => _t('_adm_prm_txt_price_add_days'), 'info' => _t('_adm_prm_dsc_price_add_days'), 'value' => $aPrice['days'], 'db' => array('pass' => 'Int')), 'Price' => array('type' => 'text', 'name' => 'Price', 'caption' => _t('_adm_prm_txt_price_add_price'), 'info' => '', 'value' => round($aPrice['price'], 2), 'db' => array('pass' => 'Float')), 'controls' => array('name' => 'controls', 'type' => 'input_set', array('type' => 'submit', 'name' => 'do_submit', 'value' => _t('_adm_prm_btn_price_save')), array('type' => 'reset', 'name' => 'close', 'value' => _t('_adm_prm_btn_price_cancel'), 'attrs' => array('onclick' => "\$('.bx-popup-applied:visible').dolPopupHide()", 'class' => 'bx-def-margin-sec-left')))));
     $oForm = new BxTemplStudioFormView($aForm);
     $oForm->initChecker();
     if ($oForm->isSubmittedAndValid()) {
         $iId = $oForm->getCleanValue('id');
         $aPrice = array();
         $iPrice = $this->oDb->getPrices(array('type' => 'by_level_id_duration', 'level_id' => $oForm->getCleanValue('IDLevel'), 'days' => $oForm->getCleanValue('Days')), $aPrice);
         if ($iPrice != 0 && !empty($aPrice) && $aPrice['id'] != $iId) {
             $this->_echoResultJson(array('msg' => _t('_adm_prm_err_price_duplicate')), true);
             return;
         }
         if ((int) $oForm->update($iId) > 0) {
             $aRes = array('grid' => $this->getCode(false), 'blink' => $iId);
         } else {
             $aRes = array('msg' => _t('_adm_prm_err_price_update'));
         }
         $this->_echoResultJson($aRes, true);
     } else {
         bx_import('BxTemplStudioFunctions');
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('adm-prm-price-edit-popup', _t('_adm_prm_txt_price_edit_popup', $aPrice['days']), $this->_oTemplate->parseHtmlByName('prm_add_price.html', array('form_id' => $aForm['form_attrs']['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => array('html' => $sContent, 'options' => array('closeOnOuterClick' => false))), true);
     }
 }
예제 #12
0
 public function performActionExport()
 {
     $sContentInsert = $sContentDelete = "";
     $aIds = bx_get('ids');
     if (!$aIds || !is_array($aIds)) {
         $iId = (int) bx_get('id');
         if (!$iId) {
             $this->_echoResultJson(array());
             exit;
         }
         $aIds = array($iId);
     }
     $iId = $aIds[0];
     $aList = array();
     $this->oDb->getLists(array('type' => 'by_id', 'value' => $iId), $aList, false);
     if (!is_array($aList) || empty($aList)) {
         $this->_echoResultJson(array());
         exit;
     }
     $sContentInsert .= $this->oModule->_oDb->getQueryInsert('sys_form_pre_lists', array($aList), "Dumping data for '" . $aList['key'] . "' data list");
     $sContentDelete .= $this->oModule->_oDb->getQueryDelete('sys_form_pre_lists', 'key', array($aList), "Deleting data for '" . $aList['key'] . "' data list");
     $aValues = array();
     $this->oDb->getValues(array('type' => 'by_key', 'value' => $aList['key']), $aValues, false);
     $sContentInsert .= $this->oModule->_oDb->getQueryInsert('sys_form_pre_values', $aValues, false, array('id', 'key', 'value', 'lkey', 'lkey2', 'order'));
     $sContentDelete .= $this->oModule->_oDb->getQueryDelete('sys_form_pre_values', 'Key', array(array('Key' => $aList['key'])), false);
     $aFormStructure = array('form_attrs' => array(), 'inputs' => array('insert' => array('type' => 'textarea', 'name' => 'insert', 'caption' => _t('_bx_dev_frm_txt_prelists_export_insert'), 'value' => $sContentInsert), 'delete' => array('type' => 'textarea', 'name' => 'delete', 'caption' => _t('_bx_dev_frm_txt_prelists_export_delete'), 'value' => $sContentDelete), 'done' => array('type' => 'button', 'name' => 'done', 'value' => _t('_bx_dev_frm_btn_prelists_done'), 'attrs' => array('onclick' => "\$('.bx-popup-applied:visible').dolPopupHide()"))));
     $oForm = new BxTemplStudioFormView($aFormStructure);
     bx_import('BxTemplStudioFunctions');
     $sContent = BxTemplStudioFunctions::getInstance()->popupBox('bx-dev-frm-prelist-export-popup', _t('_bx_dev_frm_txt_prelists_export_popup', _t($aList['title'])), $this->oModule->_oTemplate->parseHtmlByName('form_export.html', array('content' => $oForm->getCode())));
     $this->_echoResultJson(array('popup' => $sContent), true);
 }
 public function performActionEdit()
 {
     $sAction = 'edit';
     $aMenu = $this->_getItem('getMenus');
     if ($aMenu === false) {
         $this->_echoResultJson(array());
         exit;
     }
     $oForm = $this->_getFormObject($sAction, $aMenu);
     if ($oForm->isSubmitted() && isset($oForm->aInputs['set_name'])) {
         $this->updateSetFields($oForm);
     }
     $oForm->initChecker();
     if ($oForm->isSubmittedAndValid()) {
         //--- New Set Creation
         if ($oForm->getCleanValue('set_name') == $this->sCreateNew) {
             $sSetTitleValue = $oForm->getCleanValue('set_title');
             $sSetName = 'custom_' . $this->getSystemName($sSetTitleValue);
             $sSetTitleKey = '_adm_nav_txt_set_' . $sSetName;
             if ($this->oDb->addSet(array('set_name' => $sSetName, 'module' => BX_DOL_STUDIO_MODULE_CUSTOM, 'title' => $sSetTitleKey, 'deletable' => 1))) {
                 bx_import('BxDolStudioLanguagesUtils');
                 BxDolStudioLanguagesUtils::getInstance()->addLanguageString($sSetTitleKey, $sSetTitleValue);
                 BxDolForm::setSubmittedValue('set_name', $sSetName, $oForm->aFormAttrs['method']);
             }
         }
         unset($oForm->aInputs['set_title']);
         if ($oForm->update($aMenu['id']) !== false) {
             $aRes = array('grid' => $this->getCode(false), 'blink' => $aMenu['id']);
         } else {
             $aRes = array('msg' => _t('_adm_nav_err_menus_edit'));
         }
         $this->_echoResultJson($aRes, true);
     } else {
         bx_import('BxTemplStudioFunctions');
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('adm-nav-menu-edit-popup', _t('_adm_nav_txt_menus_edit_popup', _t($aMenu['title'])), $this->_oTemplate->parseHtmlByName('nav_add_menu.html', array('form_id' => $oForm->aFormAttrs['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => array('html' => $sContent, 'options' => array('closeOnOuterClick' => false))), true);
     }
 }
예제 #14
0
 protected function actionBlockEdit()
 {
     $iId = (int) bx_get('id');
     if (!$iId) {
         return array();
     }
     $aBlock = array();
     $this->oDb->getBlocks(array('type' => 'by_id', 'value' => $iId), $aBlock, false);
     if (empty($aBlock) || !is_array($aBlock)) {
         return array('msg' => _t('_bx_dev_bp_err_block_not_found'));
     }
     bx_import('BxDolForm');
     $oForm = BxDolForm::getObjectInstance('mod_dev_bp_block', 'mod_dev_bp_block_edit');
     $this->onLoadBlock($oForm, $aBlock);
     $oForm->initChecker($aBlock);
     if ($oForm->isSubmittedAndValid()) {
         $this->onSaveBlock($oForm, $aBlock);
         if ($oForm->update($iId) !== false) {
             return array('eval' => $this->getPageJsObject() . '.onEditBlock(oData)');
         } else {
             return array('msg' => _t('_bx_dev_bp_err_block_edit'));
         }
     }
     bx_import('BxTemplStudioFunctions');
     $sContent = BxTemplStudioFunctions::getInstance()->popupBox($this->aHtmlIds['edit_block_popup_id'], _t('_bx_dev_bp_txt_block_edit_popup', _t($aBlock['title'])), $this->oModule->_oTemplate->parseHtmlByName('bp_add_block.html', array('form_id' => $oForm->aFormAttrs['id'], 'form' => $oForm->getCode(true))));
     return array('popup' => $sContent);
 }
예제 #15
0
 public function performActionExport()
 {
     $sContentInsert = $sContentDelete = "";
     $aMenu = $this->_getItem('getMenus');
     if ($aMenu === false) {
         $this->_echoResultJson(array());
         exit;
     }
     $sContentInsert .= $this->oModule->_oDb->getQueryInsert('sys_objects_menu', array($aMenu), "Dumping data for '" . $aMenu['object'] . "' menu");
     $sContentDelete .= $this->oModule->_oDb->getQueryDelete('sys_objects_menu', 'object', array($aMenu), "Deleting data for '" . $aMenu['object'] . "' menu");
     $aSet = array();
     $this->oDb->getSets(array('type' => 'dump_by_name', 'value' => $aMenu['set_name']), $aSet, false);
     $sContentInsert .= $this->oModule->_oDb->getQueryInsert('sys_menu_sets', array($aSet), false, array('name'));
     $sContentDelete .= $this->oModule->_oDb->getQueryDelete('sys_menu_sets', 'set_name', array($aSet), false);
     $aItems = array();
     $this->oDb->getItems(array('type' => 'by_set_name', 'value' => $aMenu['set_name']), $aItems, false);
     $sContentInsert .= $this->oModule->_oDb->getQueryInsert('sys_menu_items', $aItems);
     $sContentDelete .= $this->oModule->_oDb->getQueryDelete('sys_menu_items', 'set_name', array($aSet), false);
     $aFormStructure = array('form_attrs' => array(), 'inputs' => array('insert' => array('type' => 'textarea', 'name' => 'insert', 'caption' => _t('_bx_dev_nav_txt_menus_export_insert'), 'value' => $sContentInsert), 'delete' => array('type' => 'textarea', 'name' => 'delete', 'caption' => _t('_bx_dev_nav_txt_menus_export_delete'), 'value' => $sContentDelete), 'done' => array('type' => 'button', 'name' => 'done', 'value' => _t('_bx_dev_nav_btn_menus_done'), 'attrs' => array('onclick' => "\$('.bx-popup-applied:visible').dolPopupHide()"))));
     $oForm = new BxTemplStudioFormView($aFormStructure);
     bx_import('BxTemplStudioFunctions');
     $sContent = BxTemplStudioFunctions::getInstance()->popupBox('bx-dev-nav-menu-export-popup', _t('_bx_dev_nav_txt_menus_export_popup', _t($aMenu['title'])), $this->oModule->_oTemplate->parseHtmlByName('nav_export.html', array('content' => $oForm->getCode())));
     $this->_echoResultJson(array('popup' => $sContent), true);
 }
 public function performActionEdit()
 {
     $sAction = 'edit';
     $aIds = bx_get('ids');
     if (!$aIds || !is_array($aIds)) {
         $iId = (int) bx_get('id');
         if (!$iId) {
             $this->_echoResultJson(array());
             exit;
         }
         $aIds = array($iId);
     }
     $iId = $aIds[0];
     $aLevel = array();
     $iLevel = $this->oDb->getLevels(array('type' => 'by_id', 'value' => $iId), $aLevel);
     if ($iLevel != 1 || empty($aLevel)) {
         $this->_echoResultJson(array());
         exit;
     }
     $oForm = $this->_getFormObject($sAction, $aLevel);
     $oForm->initChecker();
     if ($oForm->isSubmittedAndValid()) {
         $bIconImageCur = is_numeric($aLevel['icon']) && (int) $aLevel['icon'] != 0;
         $bIconImageNew = !empty($_FILES['Icon_image']['tmp_name']);
         $sIconFont = $oForm->getCleanValue('Icon');
         $bIconFont = !empty($sIconFont);
         if ($bIconImageCur && ($bIconImageNew || $bIconFont)) {
             $oStorage = BxDolStorage::getObjectInstance(BX_DOL_STORAGE_OBJ_IMAGES);
             if (!$oStorage->deleteFile((int) $aLevel['icon'], 0)) {
                 $this->_echoResultJson(array('msg' => _t('_adm_prm_err_level_icon_image_remove')), true);
                 return;
             }
         }
         $sIcon = $sIconFont;
         if ($bIconImageNew) {
             $oStorage = BxDolStorage::getObjectInstance(BX_DOL_STORAGE_OBJ_IMAGES);
             $sIcon = $oStorage->storeFileFromForm($_FILES['Icon_image'], false, 0);
             if ($sIcon === false) {
                 $this->_echoResultJson(array('msg' => _t('_adm_prm_err_level_icon_image') . $oStorage->getErrorString()), true);
                 return;
             }
             $oStorage->afterUploadCleanup($sIcon, 0);
         } else {
             if ($bIconImageCur && !$bIconFont) {
                 $sIcon = $aLevel['icon'];
             }
         }
         BxDolForm::setSubmittedValue('Icon', $sIcon, $oForm->aFormAttrs['method']);
         $fQuotaSize = round($oForm->getCleanValue('QuotaSize'), 1);
         BxDolForm::setSubmittedValue('QuotaSize', self::$iBinMB * $fQuotaSize, $oForm->aFormAttrs['method']);
         $fQuotaMaxFileSize = round($oForm->getCleanValue('QuotaMaxFileSize'), 1);
         BxDolForm::setSubmittedValue('QuotaMaxFileSize', self::$iBinMB * $fQuotaMaxFileSize, $oForm->aFormAttrs['method']);
         if ($oForm->update($iId) !== false) {
             $aRes = array('grid' => $this->getCode(false), 'blink' => $iId);
         } else {
             $aRes = array('msg' => _t('_adm_prm_err_level_edit'));
         }
         $this->_echoResultJson($aRes, true);
     } else {
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('adm-prm-level-edit-popup', _t('_adm_prm_txt_level_edit_popup', _t($aLevel['name'])), $this->_oTemplate->parseHtmlByName('prm_add_level.html', array('form_id' => $oForm->aFormAttrs['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => array('html' => $sContent, 'options' => array('closeOnOuterClick' => false))), true);
     }
 }
예제 #17
0
 function __construct($sPage = "")
 {
     parent::__construct('store');
     $this->oDb = new BxDolStudioStoreQuery();
     $this->aAlias = array('tag' => array('modules' => 'extensions', 'languages' => 'translations'), 'category' => array());
     $this->bAuthAccessUpdates = false;
     $this->sPage = BX_DOL_STUDIO_STR_TYPE_DEFAULT;
     if (is_string($sPage) && !empty($sPage)) {
         $this->sPage = $sPage;
     }
     bx_import('BxDolStudioOAuth');
     $this->iClient = BxDolStudioOAuth::getAuthorizedClient();
     //--- Check actions ---//
     if (($sAction = bx_get('str_action')) !== false) {
         $sAction = bx_process_input($sAction);
         $aResult = array('code' => BX_DOL_STUDIO_IU_RC_FAILED, 'message' => _t('_adm_mod_err_cannot_process_action'));
         switch ($sAction) {
             case 'get-file':
                 $iFileId = (int) bx_get('str_id');
                 $aResult = $this->getFile($iFileId);
                 break;
             case 'get-product':
                 $sModuleName = bx_process_input(bx_get('str_id'));
                 $aResult = $this->getProduct($sModuleName);
                 break;
             case 'get-update':
                 $sModuleName = bx_process_input(bx_get('str_id'));
                 $aResult = $this->getUpdate($sModuleName);
                 break;
             case 'get-update-and-install':
                 $sModuleName = bx_process_input(bx_get('str_id'));
                 $aResult = $this->getUpdate($sModuleName, true);
                 break;
             case 'get-products-by-type':
                 $this->sPage = bx_process_input(bx_get('str_value'));
                 $sContent = $this->getPageCode();
                 if (!empty($sContent)) {
                     $aResult = array('code' => BX_DOL_STUDIO_IU_RC_SUCCESS, 'content' => $sContent);
                 } else {
                     $aResult = array('code' => BX_DOL_STUDIO_IU_RC_FAILED, 'message' => _t('_adm_act_err_failed_page_loading'));
                 }
                 break;
             case 'get-products-by-page':
                 $this->sPage = bx_process_input(bx_get('str_type'));
                 $sContent = $this->getPageContent();
                 if (!empty($sContent)) {
                     $aResult = array('code' => BX_DOL_STUDIO_IU_RC_SUCCESS, 'content' => $sContent);
                 } else {
                     $aResult = array('code' => BX_DOL_STUDIO_IU_RC_FAILED, 'message' => _t('_adm_act_err_failed_page_loading'));
                 }
                 break;
             case 'add-to-cart':
                 $sVendor = bx_process_input(bx_get('str_vendor'));
                 $iItem = (int) bx_get('str_item');
                 $iItemCount = 1;
                 if (empty($sVendor) || empty($iItem)) {
                     $aResult = array('code' => BX_DOL_STUDIO_IU_RC_FAILED, 'message' => _t('_adm_err_modules_cannot_add_to_cart'));
                     break;
                 }
                 bx_import('BxDolStudioCart');
                 BxDolStudioCart::getInstance()->add($sVendor, $iItem, $iItemCount);
                 $aResult = array('code' => BX_DOL_STUDIO_IU_RC_SUCCESS, 'message' => _t('_adm_msg_modules_success_added_to_cart'));
                 break;
             case 'delete-from-cart':
                 $sVendor = bx_process_input(bx_get('str_vendor'));
                 $iItem = (int) bx_get('str_item');
                 if (empty($sVendor)) {
                     $aResult = array('code' => BX_DOL_STUDIO_IU_RC_FAILED, 'message' => _t('_adm_err_modules_cannot_delete_from_cart'));
                     break;
                 }
                 bx_import('BxDolStudioCart');
                 BxDolStudioCart::getInstance()->delete($sVendor, $iItem);
                 $aResult = array('code' => BX_DOL_STUDIO_IU_RC_SUCCESS, 'message' => '');
                 break;
             case 'checkout-cart':
                 $sVendor = bx_process_input(bx_get('str_vendor'));
                 if (empty($sVendor)) {
                     $aResult = array('code' => BX_DOL_STUDIO_IU_RC_FAILED, 'message' => _t('_adm_err_modules_cannot_checkout_empty_vendor'));
                     break;
                 }
                 $sLocation = $this->checkoutCart($sVendor);
                 $aResult = array('code' => BX_DOL_STUDIO_IU_RC_SUCCESS, 'message' => '', 'redirect' => $sLocation);
                 break;
             case 'install':
                 $sValue = bx_process_input(bx_get('str_value'));
                 if (empty($sValue)) {
                     break;
                 }
                 $aResult = BxDolStudioInstallerUtils::getInstance()->perform($sValue, 'install', array('auto_enable' => true, 'html_response' => true));
                 break;
             case 'update':
                 $sValue = bx_process_input(bx_get('str_value'));
                 if (empty($sValue)) {
                     break;
                 }
                 $aResult = BxDolStudioInstallerUtils::getInstance()->perform($sValue, 'update', array('html_response' => true));
                 break;
             case 'delete':
                 $sValue = bx_process_input(bx_get('str_value'));
                 if (empty($sValue)) {
                     break;
                 }
                 $aResult = BxDolStudioInstallerUtils::getInstance()->perform($sValue, 'delete', array('html_response' => true));
                 break;
         }
         if (!empty($aResult['message'])) {
             bx_import('BxDolStudioTemplate');
             $aResult['message'] = BxDolStudioTemplate::getInstance()->parseHtmlByName('mod_action_result.html', array('content' => $aResult['message']));
             bx_import('BxTemplStudioFunctions');
             $aResult['message'] = BxTemplStudioFunctions::getInstance()->transBox('', $aResult['message']);
         }
         echo json_encode($aResult);
         exit;
     }
 }
예제 #18
0
 protected function actionBlockEdit()
 {
     $sJsObject = $this->getPageJsObject();
     $oTemplate = BxDolStudioTemplate::getInstance();
     $iId = (int) bx_get('id');
     if (!$iId) {
         return array();
     }
     $aBlock = array();
     $this->oDb->getBlocks(array('type' => 'by_id', 'value' => $iId), $aBlock, false);
     if (empty($aBlock) || !is_array($aBlock)) {
         return array('msg' => _t('_adm_bp_err_block_not_found'));
     }
     $aForm = array('form_attrs' => array('id' => 'adm-bp-block-edit', 'action' => sprintf($this->sPageUrl, $this->sType, $this->sPage) . '&bp_action=' . $this->sActionBlockEdit, 'method' => 'post'), 'params' => array('db' => array('table' => 'sys_pages_blocks', 'key' => 'id', 'uri' => '', 'uri_title' => '', 'submit_name' => 'do_submit')), 'inputs' => array('id' => array('type' => 'hidden', 'name' => 'id', 'value' => $iId, 'db' => array('pass' => 'Int')), 'title' => array('type' => 'text_translatable', 'name' => 'title', 'caption' => _t('_adm_bp_txt_block_title'), 'info' => _t('_adm_bp_dsc_block_title'), 'value' => $aBlock['title'], 'required' => '1', 'db' => array('pass' => 'Xss'), 'checker' => array('func' => 'length', 'params' => array(3, 100), 'error' => _t('_adm_bp_err_block_title'))), 'designbox_id' => array('type' => 'select', 'name' => 'designbox_id', 'caption' => _t('_adm_bp_txt_block_designbox'), 'info' => '', 'value' => $this->sSelectKeyPrefix . $aBlock['designbox_id'], 'values' => array(array('key' => '', 'value' => _t('_adm_bp_txt_block_designbox_empty'))), 'required' => '1', 'db' => array('pass' => 'Xss'), 'checker' => array('func' => 'avail', 'params' => array(), 'error' => _t('_adm_bp_err_block_designbox'))), 'visible_for' => array('type' => 'select', 'name' => 'visible_for', 'caption' => _t('_adm_bp_txt_block_visible_for'), 'info' => '', 'value' => $aBlock['visible_for_levels'] == BX_DOL_INT_MAX ? BX_DOL_STUDIO_VISIBLE_ALL : BX_DOL_STUDIO_VISIBLE_SELECTED, 'values' => array(array('key' => BX_DOL_STUDIO_VISIBLE_ALL, 'value' => _t('_adm_bp_txt_block_visible_for_all')), array('key' => BX_DOL_STUDIO_VISIBLE_SELECTED, 'value' => _t('_adm_bp_txt_block_visible_for_selected'))), 'required' => '0', 'attrs' => array('onchange' => $this->getPageJsObject() . '.onChangeVisibleFor(this)'), 'db' => array('pass' => 'Xss')), 'visible_for_levels' => array('type' => 'checkbox_set', 'name' => 'visible_for_levels', 'caption' => _t('_adm_bp_txt_block_visible_for_levels'), 'info' => _t('_adm_bp_dsc_block_visible_for_levels'), 'value' => array(), 'values' => array(), 'tr_attrs' => array('style' => $aBlock['visible_for_levels'] == BX_DOL_INT_MAX ? 'display:none' : ''), 'db' => array('pass' => 'Int')), 'active' => array('type' => 'switcher', 'name' => 'active', 'caption' => _t('_adm_bp_txt_block_active'), 'info' => '', 'value' => '1', 'checked' => $aBlock['active'] == '1', 'db' => array('pass' => 'Int')), 'controls' => array('name' => 'controls', 'type' => 'input_set', array('type' => 'submit', 'name' => 'do_submit', 'value' => _t('_adm_bp_btn_block_save')), array('type' => 'reset', 'name' => 'close', 'value' => _t('_adm_bp_btn_block_cancel'), 'attrs' => array('onclick' => "\$('.bx-popup-applied:visible').dolPopupHide()", 'class' => 'bx-def-margin-sec-left')))));
     $aDBoxes = array();
     $this->oDb->getDesignBoxes(array('type' => 'ordered'), $aDBoxes, false);
     foreach ($aDBoxes as $aDBox) {
         $aForm['inputs']['designbox_id']['values'][] = array('key' => $this->sSelectKeyPrefix . $aDBox['id'], 'value' => _t($aDBox['title']));
     }
     BxDolStudioUtils::getVisibilityValues($aBlock['visible_for_levels'], $aForm['inputs']['visible_for_levels']['values'], $aForm['inputs']['visible_for_levels']['value']);
     $aForm['inputs'] = $this->addInArray($aForm['inputs'], 'visible_for_levels', $this->getBlockContent($aBlock));
     if ((int) $aBlock['deletable'] != 0) {
         $aForm['inputs']['controls'][] = array('type' => 'reset', 'name' => 'close', 'value' => _t('_adm_bp_btn_block_delete'), 'attrs' => array('onclick' => $this->getPageJsObject() . ".deleteBlock(" . $aBlock['id'] . ")", 'class' => 'bx-def-margin-sec-left'));
     }
     $oForm = new BxTemplStudioFormView($aForm);
     $oForm->initChecker();
     if ($oForm->isSubmittedAndValid()) {
         $this->onSaveBlock($oForm, $aBlock);
         if ($oForm->update($iId) !== false) {
             return array('eval' => $sJsObject . '.onEditBlock(oData)');
         } else {
             return array('msg' => _t('_adm_bp_err_block_edit'));
         }
     }
     bx_import('BxTemplStudioFunctions');
     $sContent = BxTemplStudioFunctions::getInstance()->popupBox($this->aHtmlIds['edit_block_popup_id'], _t('_adm_bp_txt_edit_block_popup', _t($aBlock['title'])), $oTemplate->parseHtmlByName('bp_add_block.html', array('action' => 'edit', 'form_id' => $aForm['form_attrs']['id'], 'form' => $oForm->getCode(true))));
     return array('popup' => $sContent);
 }
예제 #19
0
/**
 * Display login form and exit
 * @param $bStudio display login form for studio
 * @param $bAjaxMode login form displayed via AJAX
 */
function bx_login_form($bStudio = false, $bAjaxMode = false)
{
    if ($bStudio == 1) {
        bx_import("BxTemplStudioFunctions");
        BxTemplStudioFunctions::getInstance()->getLoginForm();
        exit;
    }
    $sFormCode = BxDolService::call('system', 'login_form', array(), 'TemplServiceLogin');
    if ($bAjaxMode) {
        echo $GLOBALS['oFunctions']->transBox('', $sFormCode, false, true);
        exit;
    }
    BxDolTemplate::getInstance()->setPageNameIndex(BX_PAGE_DEFAULT);
    BxDolTemplate::getInstance()->setPageHeader(getParam('site_title') . ' ' . _t("_Member Login"));
    BxDolTemplate::getInstance()->setPageContent('page_main_code', DesignBoxContent(_t("_Member Login"), $sFormCode, BX_DB_PADDING_DEF));
    BxDolTemplate::getInstance()->getPageCode();
    exit;
}
 public function performActionShowTo()
 {
     $sAction = 'show_to';
     $aItem = $this->_getItem('getItems');
     if ($aItem === false) {
         $this->_echoResultJson(array());
         exit;
     }
     $aForm = array('form_attrs' => array('id' => 'adm-nav-item-create', 'action' => BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=' . $sAction . '&set=' . $this->sSet, 'method' => 'post'), 'params' => array('db' => array('table' => 'sys_menu_items', 'key' => 'id', 'uri' => '', 'uri_title' => '', 'submit_name' => 'do_submit')), 'inputs' => array('id' => array('type' => 'hidden', 'name' => 'id', 'value' => $aItem['id'], 'db' => array('pass' => 'Int')), 'visible_for' => array('type' => 'select', 'name' => 'visible_for', 'caption' => _t('_adm_nav_txt_items_visible_for'), 'info' => '', 'value' => $aItem['visible_for_levels'] == BX_DOL_INT_MAX ? BX_DOL_STUDIO_VISIBLE_ALL : BX_DOL_STUDIO_VISIBLE_SELECTED, 'values' => array(array('key' => BX_DOL_STUDIO_VISIBLE_ALL, 'value' => _t('_adm_nav_txt_items_visible_for_all')), array('key' => BX_DOL_STUDIO_VISIBLE_SELECTED, 'value' => _t('_adm_nav_txt_items_visible_for_selected'))), 'required' => '0', 'attrs' => array('onchange' => $this->getJsObject() . '.onChangeVisibleFor(this)'), 'db' => array('pass' => 'Xss')), 'visible_for_levels' => array('type' => 'checkbox_set', 'name' => 'visible_for_levels', 'caption' => _t('_adm_nav_txt_items_visible_for_levels'), 'info' => _t('_adm_nav_dsc_items_visible_for_levels'), 'value' => '', 'values' => array(), 'tr_attrs' => array('style' => $aItem['visible_for_levels'] == BX_DOL_INT_MAX ? 'display:none' : ''), 'db' => array('pass' => 'Int')), 'controls' => array('name' => 'controls', 'type' => 'input_set', array('type' => 'submit', 'name' => 'do_submit', 'value' => _t('_adm_nav_btn_items_save')), array('type' => 'reset', 'name' => 'close', 'value' => _t('_adm_nav_btn_items_cancel'), 'attrs' => array('onclick' => "\$('.bx-popup-applied:visible').dolPopupHide()", 'class' => 'bx-def-margin-sec-left')))));
     BxDolStudioUtils::getVisibilityValues($aItem['visible_for_levels'], $aForm['inputs']['visible_for_levels']['values'], $aForm['inputs']['visible_for_levels']['value']);
     $oForm = new BxTemplStudioFormView($aForm);
     $oForm->initChecker();
     if ($oForm->isSubmittedAndValid()) {
         if ($oForm->updateWithVisibility($aItem['id']) !== false) {
             $aRes = array('grid' => $this->getCode(false), 'blink' => $aItem['id']);
         } else {
             $aRes = array('msg' => _t('_adm_nav_err_items_show_to'));
         }
         $this->_echoResultJson($aRes, true);
     } else {
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('adm-nav-item-hide-from-popup', _t('_adm_nav_txt_items_show_to_popup', _t($aItem['title'])), $this->_oTemplate->parseHtmlByName('nav_add_item.html', array('form_id' => $aForm['form_attrs']['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => $sContent), true);
     }
 }
 public function performActionEdit()
 {
     $sAction = 'edit';
     $aValue = $this->_getItem('getValues');
     if ($aValue === false) {
         $this->_echoResultJson(array());
         exit;
     }
     $aList = array();
     $this->oDb->getLists(array('type' => 'by_key', 'value' => $this->sList), $aList, false);
     $bUseInSets = (int) $aList['use_for_sets'] == 1;
     bx_import('BxTemplStudioFormView');
     $aForm = array('form_attrs' => array('id' => 'adm-form-list-edit', 'action' => BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=' . $sAction . '&list=' . $this->sList, 'method' => BX_DOL_STUDIO_METHOD_DEFAULT), 'params' => array('db' => array('table' => 'sys_form_pre_values', 'key' => 'id', 'uri' => '', 'uri_title' => '', 'submit_name' => 'do_submit')), 'inputs' => array('id' => array('type' => 'hidden', 'name' => 'id', 'value' => $aValue['id'], 'db' => array('pass' => 'Int')), 'LKey' => array('type' => 'text_translatable', 'name' => 'LKey', 'caption' => _t('_adm_form_txt_pre_values_lkey'), 'info' => _t('_adm_form_dsc_pre_values_lkey'), 'value' => $aValue['lkey'], 'required' => '1', 'db' => array('pass' => 'Xss'), 'checker' => array('func' => 'LengthTranslatable', 'params' => array(3, 100, 'LKey'), 'error' => _t('_adm_form_err_pre_values_lkey'))), 'Empty' => array('type' => 'checkbox', 'name' => 'Empty', 'caption' => _t('_adm_form_txt_pre_values_empty'), 'info' => _t('_adm_form_dsc_pre_values_empty'), 'value' => 'on', 'checked' => empty($aValue['value']) ? '1' : '0', 'required' => '0'), 'controls' => array('name' => 'controls', 'type' => 'input_set', array('type' => 'submit', 'name' => 'do_submit', 'value' => _t('_adm_form_btn_pre_lists_save')), array('type' => 'reset', 'name' => 'close', 'value' => _t('_adm_form_btn_pre_lists_cancel'), 'attrs' => array('onclick' => "\$('.bx-popup-applied:visible').dolPopupHide()", 'class' => 'bx-def-margin-sec-left')))));
     $oForm = new BxTemplStudioFormView($aForm);
     $oForm->initChecker();
     if ($oForm->isSubmittedAndValid()) {
         $aAdd = array();
         $bEmpty = $oForm->getCleanValue('Empty') == 'on';
         if ($bEmpty && !empty($aValue['value'])) {
             $aAdd['Value'] = 0;
         } else {
             if (!$bEmpty && empty($aValue['value'])) {
                 $aAdd['Value'] = $this->_getAvailableSetValue($this->sList);
             }
         }
         if (!empty($aAdd) && $bUseInSets) {
             $mixedValue = $aAdd['Value'];
             if (!$this->canUseForSet($mixedValue)) {
                 if ($this->oDb->isListUsedInSet($this->sList)) {
                     $this->_echoResultJson(array('msg' => _t('_adm_form_err_pre_values_create_forbidden', BX_DOL_STUDIO_FIELD_PRE_VALUE_INT_MAX)), true);
                     return;
                 }
                 $this->oDb->updateList($aList['id'], array('use_for_sets' => '0'));
             }
         }
         if ($oForm->update($aValue['id'], $aAdd) !== false) {
             $aRes = array('grid' => $this->getCode(false), 'blink' => $aValue['id']);
         } else {
             $aRes = array('msg' => _t('_adm_form_err_pre_values_edit'));
         }
         $this->_echoResultJson($aRes, true);
     } else {
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('adm-form-pre-value-edit-popup', _t('_adm_form_txt_pre_values_edit_popup', _t($aValue['lkey'])), $this->_oTemplate->parseHtmlByName('form_add_value.html', array('form_id' => $aForm['form_attrs']['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => array('html' => $sContent, 'options' => array('closeOnOuterClick' => false))), true);
     }
 }
예제 #22
0
 protected function getCodeEdit($sAction, $sObject)
 {
     $aForm = $this->getFormEdit($sAction, $sObject);
     $oForm = new BxTemplStudioFormView($aForm);
     if ($oForm->isSubmitted() && isset($oForm->aInputs['required'])) {
         $this->updateCheckerFields($oForm);
     }
     $oForm->initChecker();
     if ($oForm->isSubmittedAndValid()) {
         $sInputObject = $oForm->getCleanValue('object');
         $sInputName = $oForm->getCleanValue('name');
         $this->onSubmitField($oForm);
         if ($oForm->update((int) $this->aField['id']) === false) {
             return false;
         }
         return true;
     } else {
         return BxTemplStudioFunctions::getInstance()->popupBox('adm-form-field-edit-' . $this->aField['type'] . '-popup', _t('_adm_form_txt_field_edit_popup', _t($this->aField['caption'])), BxDolStudioTemplate::getInstance()->parseHtmlByName('form_add_field.html', array('form_id' => $aForm['form_attrs']['id'], 'form' => $oForm->getCode(true), 'object' => $sObject, 'action' => $sAction)));
     }
 }
예제 #23
0
 public function performActionEdit()
 {
     $sAction = 'edit';
     $sFormObject = $this->oModule->_oConfig->getObject('form_forms_display');
     $sFormDisplay = $this->oModule->_oConfig->getObject('form_display_forms_display_edit');
     $aIds = bx_get('ids');
     if (!$aIds || !is_array($aIds)) {
         $iId = (int) bx_get('id');
         if (!$iId) {
             $this->_echoResultJson(array());
             exit;
         }
         $aIds = array($iId);
     }
     $iId = $aIds[0];
     $aDisplay = array();
     $iDisplay = $this->oDb->getDisplays(array('type' => 'by_id', 'value' => $iId), $aDisplay);
     if ($iDisplay != 1 || empty($aDisplay)) {
         $this->_echoResultJson(array());
         exit;
     }
     bx_import('BxDolForm');
     $oForm = BxDolForm::getObjectInstance($sFormObject, $sFormDisplay, $this->oModule->_oTemplate);
     $this->_fillDisplayForm($oForm, $sAction);
     $oForm->aInputs['controls'][0]['value'] = _t('_bx_dev_frm_btn_displays_save');
     $oForm->initChecker($aDisplay);
     if ($oForm->isSubmittedAndValid()) {
         if ($oForm->update($iId) !== false) {
             $aRes = array('grid' => $this->getCode(false), 'blink' => $iId);
         } else {
             $aRes = array('msg' => _t('_bx_dev_frm_err_displays_edit'));
         }
         $this->_echoResultJson($aRes, true);
     } else {
         bx_import('BxTemplStudioFunctions');
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('bx-dev-frm-display-edit-popup', _t('_bx_dev_frm_txt_displays_edit_popup', _t($aDisplay['title'])), $this->_oTemplate->parseHtmlByName('form_add_display.html', array('form_id' => $oForm->aFormAttrs['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => array('html' => $sContent, 'options' => array('closeOnOuterClick' => false))), true);
     }
 }
예제 #24
0
 public function performActionShowTo()
 {
     $sAction = 'show_to';
     $aIds = bx_get('ids');
     if (!$aIds || !is_array($aIds)) {
         $iId = (int) bx_get('id');
         if (!$iId) {
             $this->_echoResultJson(array());
             exit;
         }
         $aIds = array($iId);
     }
     $iId = $aIds[0];
     $aField = array();
     $this->oDb->getInputs(array('type' => 'by_object_id', 'object' => $this->sObject, 'id' => (int) $iId), $aField, false);
     if (empty($aField) || !is_array($aField)) {
         $this->_echoResultJson(array());
         exit;
     }
     $aForm = array('form_attrs' => array('id' => 'adm-form-field-visibility', 'action' => BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=' . $sAction . '&object=' . $this->sObject . '&display=' . $this->sDisplay, 'method' => 'post'), 'params' => array('db' => array('table' => 'sys_form_display_inputs', 'key' => 'id', 'uri' => '', 'uri_title' => '', 'submit_name' => 'do_submit')), 'inputs' => array('id' => array('type' => 'hidden', 'name' => 'id', 'value' => $iId, 'db' => array('pass' => 'Int')), 'visible_for' => array('type' => 'select', 'name' => 'visible_for', 'caption' => _t('_adm_form_txt_field_visible_for'), 'info' => '', 'value' => $aField['visible_for_levels'] == BX_DOL_INT_MAX ? BX_DOL_STUDIO_VISIBLE_ALL : BX_DOL_STUDIO_VISIBLE_SELECTED, 'values' => array(array('key' => BX_DOL_STUDIO_VISIBLE_ALL, 'value' => _t('_adm_form_txt_field_visible_for_all')), array('key' => BX_DOL_STUDIO_VISIBLE_SELECTED, 'value' => _t('_adm_form_txt_field_visible_for_selected'))), 'required' => '0', 'attrs' => array('onchange' => $this->getJsObject() . '.onChangeVisibleFor(this)'), 'db' => array('pass' => 'Xss')), 'visible_for_levels' => array('type' => 'checkbox_set', 'name' => 'visible_for_levels', 'caption' => _t('_adm_form_txt_field_visible_for_levels'), 'info' => _t('_adm_form_dsc_field_visible_for_levels'), 'value' => '', 'values' => array(), 'tr_attrs' => array('style' => $aField['visible_for_levels'] == BX_DOL_INT_MAX ? 'display:none' : ''), 'db' => array('pass' => 'Int')), 'controls' => array('name' => 'controls', 'type' => 'input_set', array('type' => 'submit', 'name' => 'do_submit', 'value' => _t('_adm_form_btn_field_save')), array('type' => 'reset', 'name' => 'close', 'value' => _t('_adm_form_btn_field_cancel'), 'attrs' => array('onclick' => "\$('.bx-popup-applied:visible').dolPopupHide()", 'class' => 'bx-def-margin-sec-left')))));
     BxDolStudioUtils::getVisibilityValues($aField['visible_for_levels'], $aForm['inputs']['visible_for_levels']['values'], $aForm['inputs']['visible_for_levels']['value']);
     bx_import('BxTemplStudioFormView');
     $oForm = new BxTemplStudioFormView($aForm);
     $oForm->initChecker();
     if ($oForm->isSubmittedAndValid()) {
         if ($oForm->updateWithVisibility($iId) !== false) {
             $aRes = array('grid' => $this->getCode(false), 'blink' => $iId);
         } else {
             $aRes = array('msg' => _t('_adm_form_err_field_show_to'));
         }
         $this->_echoResultJson($aRes, true);
     } else {
         bx_import('BxTemplStudioFunctions');
         $sContent = BxTemplStudioFunctions::getInstance()->popupBox('adm-form-field-show-to-popup', _t('_adm_form_txt_field_show_to_popup', _t($aField['caption_system'])), $this->_oTemplate->parseHtmlByName('form_add_field.html', array('form_id' => $aForm['form_attrs']['id'], 'form' => $oForm->getCode(true), 'object' => $this->_sObject, 'action' => $sAction)));
         $this->_echoResultJson(array('popup' => $sContent), true);
     }
 }
예제 #25
0
 public function performActionExport()
 {
     $sContentInsert = $sContentDelete = "";
     $aForm = $this->_getItem('getForms');
     if ($aForm === false) {
         $this->_echoResultJson(array());
         exit;
     }
     $sContentInsert .= $this->oModule->_oDb->getQueryInsert('sys_objects_form', array($aForm), "Dumping data for '" . $aForm['object'] . "' form");
     $sContentDelete .= $this->oModule->_oDb->getQueryDelete('sys_objects_form', 'object', array($aForm), "Deleting data for '" . $aForm['object'] . "' form");
     $aDisplays = array();
     $this->oDb->getDisplays(array('type' => 'by_object', 'value' => $aForm['object']), $aDisplays, false);
     $sContentInsert .= $this->oModule->_oDb->getQueryInsert('sys_form_displays', $aDisplays, false, array('id', 'name'));
     $sContentDelete .= $this->oModule->_oDb->getQueryDelete('sys_form_displays', 'object', array($aForm), false);
     $aFields = array();
     $this->oDb->getInputs(array('type' => 'dump_inputs', 'value' => $aForm['object']), $aFields, false);
     $sContentInsert .= $this->oModule->_oDb->getQueryInsert('sys_form_inputs', $aFields);
     $sContentDelete .= $this->oModule->_oDb->getQueryDelete('sys_form_inputs', 'object', array($aForm), false);
     $aConnections = array();
     $this->oDb->getInputs(array('type' => 'dump_connections', 'value' => $aForm['object']), $aConnections, false);
     $sContentInsert .= $this->oModule->_oDb->getQueryInsert('sys_form_display_inputs', $aConnections);
     $sContentDelete .= $this->oModule->_oDb->getQueryDelete('sys_form_display_inputs', 'display_name', $aDisplays);
     $aFormStructure = array('form_attrs' => array(), 'inputs' => array('insert' => array('type' => 'textarea', 'name' => 'insert', 'caption' => _t('_bx_dev_frm_txt_forms_export_insert'), 'value' => $sContentInsert), 'delete' => array('type' => 'textarea', 'name' => 'delete', 'caption' => _t('_bx_dev_frm_txt_forms_export_delete'), 'value' => $sContentDelete), 'done' => array('type' => 'button', 'name' => 'done', 'value' => _t('_bx_dev_frm_btn_forms_done'), 'attrs' => array('onclick' => "\$('.bx-popup-applied:visible').dolPopupHide()"))));
     $oForm = new BxTemplStudioFormView($aFormStructure);
     bx_import('BxTemplStudioFunctions');
     $sContent = BxTemplStudioFunctions::getInstance()->popupBox('bx-dev-frm-form-export-popup', _t('_bx_dev_frm_txt_forms_export_popup', _t($aForm['title'])), $this->oModule->_oTemplate->parseHtmlByName('form_export.html', array('content' => $oForm->getCode())));
     $this->_echoResultJson(array('popup' => $sContent), true);
 }
예제 #26
0
 function __construct()
 {
     parent::__construct('dashboard');
     $this->oDb = new BxDolStudioDashboardQuery();
     $this->aBlocks = array('space' => 'serviceGetBlockSpace', 'htools' => 'serviceGetBlockHostTools');
     $this->aItemsCache = array(array('name' => 'all'), array('name' => 'db'), array('name' => 'template'), array('name' => 'css'), array('name' => 'js'));
     $this->aItemsHTools = array('PHP' => 'requirementsPHP', 'MySQL' => 'requirementsMySQL', 'Web Server' => 'requirementsWebServer');
     //--- Check actions ---//
     if (($sAction = bx_get('dbd_action')) !== false) {
         $sAction = bx_process_input($sAction);
         $aResult = array('code' => 1, 'message' => _t('_adm_err_cannot_process_action'));
         switch ($sAction) {
             case 'get_block':
                 $sValue = bx_get('dbd_value');
                 if ($sValue === false) {
                     break;
                 }
                 $sValue = bx_process_input($sValue);
                 if (!isset($this->aBlocks[$sValue])) {
                     break;
                 }
                 $aBlock = $this->{$this->aBlocks[$sValue]}(false);
                 if (!empty($aBlock['content'])) {
                     $aResult = array('code' => 0, 'data' => $aBlock['content']);
                 }
                 break;
             case 'check_for_upgrade':
                 $aResult = array('code' => 0, 'data' => $this->getPageCodeVersionAvailable());
                 break;
             case 'perform_upgrade':
                 $oUpgrader = bx_instance('BxDolUpgrader');
                 if (!$oUpgrader->prepare()) {
                     $aResult = array('code' => 1, 'message' => $oUpgrader->getError());
                 } else {
                     $aResult = array('code' => 0, 'message' => _t('_adm_dbd_msg_upgrade_started'));
                 }
                 break;
             case 'clear_cache':
                 $sValue = bx_get('dbd_value');
                 if ($sValue === false) {
                     break;
                 }
                 $sValue = bx_process_input($sValue);
                 $oCacheUtilities = BxDolCacheUtilities::getInstance();
                 switch ($sValue) {
                     case 'all':
                         $aResult = false;
                         foreach ($this->aItemsCache as $aItem) {
                             if ($aItem['name'] == 'all') {
                                 continue;
                             }
                             $aResultClear = $oCacheUtilities->clear($aItem['name']);
                             if ($aResultClear === false) {
                                 continue;
                             }
                             $aResult = $aResultClear;
                             if (isset($aResult['code']) && $aResult['code'] != 0) {
                                 break;
                             }
                         }
                         break;
                     case 'db':
                     case 'template':
                     case 'css':
                     case 'js':
                         $aResult = $oCacheUtilities->clear($sValue);
                         break;
                     default:
                         $aResult = array('code' => 1, 'message' => _t('_Error Occured'));
                 }
                 if ($aResult === false) {
                     $aResult['data'] = MsgBox(_t('_adm_dbd_msg_c_all_disabled'));
                 } else {
                     if (isset($aResult['code']) && $aResult['code'] == 0) {
                         $aResult['data'] = $this->getCacheChartData(false);
                     }
                 }
                 break;
             case 'permissions':
                 $oAdmTools = new BxDolStudioTools();
                 header('Content-type: text/html; charset=utf-8');
                 echo $oAdmTools->generateStyles();
                 $oAdmTools->checkPermissions();
                 exit;
             case 'server_audit':
                 $oAudit = new BxDolStudioToolsAudit();
                 header('Content-type: text/html; charset=utf-8');
                 echo $oAudit->generate();
                 exit;
         }
         if (!empty($aResult['message'])) {
             $aResult['message'] = BxDolStudioTemplate::getInstance()->parseHtmlByName('page_action_result.html', array('content' => $aResult['message']));
             $aResult['message'] = BxTemplStudioFunctions::getInstance()->transBox('', $aResult['message']);
         }
         echo json_encode($aResult);
         exit;
     }
 }