Example #1
0
     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;
}
Example #4
0
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'));