header('Content-Type: text/html; charset=utf-8'); $aItem = db_assoc_arr("SELECT * FROM `sys_menu_member` WHERE `ID` = {$id}", 0); $sResponce = $aItem ? showEditForm($aItem, $sMenuSection) : echoMenuEditMsg('Error', 'red'); break; case 'create_item': $newID = createNewElement($_POST['type'], (int) $_POST['source'], $sMenuSection); $sResponce = $newID; break; case 'deactivate_item': $res = db_res("UPDATE `sys_menu_member` SET `Active`='0' WHERE `ID`=" . (int) bx_get('id')); $sResponce = db_affected_rows(); break; case 'save_item': $id = (int) $_POST['id']; if (!$id) { $sResponce = echoMenuEditMsg('Error', 'red'); } else { $aItemFields = array('Name', 'Caption', 'Link', 'Target', 'Icon', 'Script'); $aItem = array(); foreach ($aItemFields as $field) { $aItem[$field] = isset($_POST[$field]) ? $_POST[$field] : null; } if (!$aItem['Icon']) { $aItem['Icon'] = 'member_menu_default.png'; } $res = saveItem($id, $aItem, $sMenuSection); updateLangFile($_POST['Caption'], $_POST['LangCaption']); $res['message'] = MsgBox($res['message']); $oJson = new Services_JSON(); echo $oJson->encode($res); exit;
case 'edit_form': $id = (int) bx_get('id'); if ($id < 1000) { $aItem = db_assoc_arr("SELECT * FROM `sys_menu_admin` WHERE `id` = '{$id}'", 0); if ($aItem) { echo showEditFormCustom($aItem); } else { echo echoMenuEditMsg(_t('_Error'), 'red'); } } else { $id = $id - 1000; $aItem = db_assoc_arr("SELECT * FROM `sys_menu_admin` WHERE `id` = '{$id}' AND `parent_id`='0'", 0); if ($aItem) { echo showEditFormTop($aItem); } else { echo echoMenuEditMsg(_t('_Error'), 'red'); } } exit; case 'create_item': $newID = createNewElement($_POST['type'], (int) $_POST['source']); echo $newID; exit; case 'deactivate_item': $id = (int) bx_get('id'); if ($id > 1000) { $id = $id - 1000; $res = db_res("DELETE FROM `sys_menu_admin` WHERE `id`='{$id}' AND `parent_id`='0'"); echo db_affected_rows($res); } else { echo 1;
function saveItem($id, $aItem) { global $sTableName; $aOldItem = db_arr("SELECT * FROM `{$sTableName}` WHERE `ID`={$id}"); if (!$aOldItem) { return echoMenuEditMsg('Error. Item not found', 'red'); } $sQuerySet = ''; foreach ($aItem as $field => $value) { $sQuerySet .= ", `{$field}`='" . process_db_input($value) . "'"; } $sQuerySet = substr($sQuerySet, 1); $sQuery = "UPDATE `{$sTableName}` SET {$sQuerySet} WHERE `ID` = {$id}"; db_res($sQuery); $ret = echoMenuEditMsg('Saved', 'green'); $ret .= '<script type="text/javascript">updateItem( ' . $id . ', \'' . process_db_input($aItem['Title']) . '\' );</script>'; return $ret; }
require_once BX_DIRECTORY_PATH_PLUGINS . 'Services_JSON.php'; bx_import('BxDolMenu'); // Check if administrator is logged in. If not display login form. $logged['admin'] = member_auth(1, true, true); $GLOBALS['oAdmTemplate']->addJsTranslation(array('_adm_mbuilder_Sorry_could_not_insert_object', '_adm_mbuilder_This_items_are_non_editable')); $oMenu = new BxDolMenu(); if (bx_get('action') !== false) { switch (bx_get('action')) { case 'edit_form': $id = (int) bx_get('id'); header('Content-Type: text/html; charset=utf-8'); $aItem = db_assoc_arr("SELECT * FROM `sys_menu_top` WHERE `ID` = '{$id}'", 0); if ($aItem) { echo showEditForm($aItem); } else { echoMenuEditMsg(_t('_Error occured'), 'red'); } exit; case 'create_item': $newID = createNewElement($_POST['type'], (int) $_POST['source']); echo $newID; exit; case 'deactivate_item': $res = db_res("UPDATE `sys_menu_top` SET `Active`=0 WHERE `ID`=" . (int) bx_get('id')); echo db_affected_rows(); $oMenu->compile(); exit; case 'save_item': $id = (int) $_POST['id']; if (!$id) { $aResult = array('code' => 1, 'message' => _t('_Error occured'));