$flag = true;
         break;
     }
     if ($flag) {
         usePreparedUpdateBlade('room_size', array('width' => $width, 'depth' => $depth, 'height' => $height), array("row_id" => $row_id));
     } else {
         usePreparedInsertBlade('room_size', array('row_id' => $row_id, 'width' => $width, 'depth' => $depth, 'height' => $height));
     }
     return;
     // api.php?method=add_rack_with_position&name=test4&row_id=2&height1=42&asset_no=&type=rack&pos_x=25&pos_y=200&pos_z=25
 // api.php?method=add_rack_with_position&name=test4&row_id=2&height1=42&asset_no=&type=rack&pos_x=25&pos_y=200&pos_z=25
 case 'add_rack_with_position':
     require_once 'inc/init.php';
     require_once 'inc/ophandlers.php';
     $_REQUEST['got_data'] = true;
     addRack();
     redirectUser('http://' . $_SERVER['HTTP_HOST'] . '/racktables/index.php?page=top');
     return;
     // api.php?method=add_item&itemid=99&object_name=test&hostid=2&name=item1&type=0&key_=key1&interfaceid=99&value_type=0&data_type=3&units=s&multiplier=0&formula=10&delay=30
 // api.php?method=add_item&itemid=99&object_name=test&hostid=2&name=item1&type=0&key_=key1&interfaceid=99&value_type=0&data_type=3&units=s&multiplier=0&formula=10&delay=30
 case 'add_item':
     require_once 'inc/init.php';
     $objectid = getEntityIdByName('object', $_REQUEST['object_name']);
     if ($objectid < 0) {
         echo json_encode(array('error' => 'In racktables the object ' . $_REQUEST['object_name'] . 'is not existed.'));
         return;
     }
     # insert into DB
     usePreparedInsertBlade('item_information', array('itemid' => $_REQUEST['itemid'], 'objectid' => $objectid, 'hostid' => $_REQUEST['hostid'], 'name' => $_REQUEST['name'], 'description' => $_REQUEST['description'], 'key_' => $_REQUEST['key_'], 'interfaceid' => $_REQUEST['interfaceid'], 'delay' => $_REQUEST['delay'], 'history' => $_REQUEST['history'], 'status' => $_REQUEST['status'], 'type' => $_REQUEST['type'], 'snmp_community' => $_REQUEST['snmp_community'], 'snmp_oid' => $_REQUEST['snmp_oid'], 'value_type' => $_REQUEST['value_type'], 'trapper_hosts' => $_REQUEST[''], 'port' => $_REQUEST['trapper_hosts'], 'units' => $_REQUEST['units'], 'multiplier' => $_REQUEST['multiplier'], 'delta' => $_REQUEST['delta'], 'snmpv3_contextname' => $_REQUEST['snmpv3_contextname'], 'snmpv3_securityname' => $_REQUEST['snmpv3_securityname'], 'snmpv3_securitylevel' => $_REQUEST['snmpv3_securitylevel'], 'snmpv3_authprotocol' => $_REQUEST['snmpv3_authprotocol'], 'snmpv3_authpassphrase' => $_REQUEST['snmpv3_authpassphrase'], 'snmpv3_privprotocol' => $_REQUEST['snmpv3_privprotocol'], 'snmpv3_privpassphrase' => $_REQUEST['snmpv3_privpassphrase'], 'formula' => $_REQUEST['formula'], 'trends' => $_REQUEST['trends'], 'logtimefmt' => $_REQUEST['logtimefmt'], 'valuemapid' => $_REQUEST['valuemapid'], 'delay_flex' => $_REQUEST['delay_flex'], 'authtype' => $_REQUEST['authtype'], 'username' => $_REQUEST['username'], 'password' => $_REQUEST['password'], 'publickey' => $_REQUEST['publickey'], 'privatekey' => $_REQUEST['privatekey'], 'params' => $_REQUEST['params'], 'ipmi_sensor' => $_REQUEST['ipmi_sensor'], 'data_type' => $_REQUEST['data_type'], 'inventory_link' => $_REQUEST['inventory_link']));
     echo json_encode(array('result' => $_REQUEST['itemid']));
     return;
     if (!$createNew) {
         $host['templates_clear'] = zbx_toObject(get_request('clear_templates', array()), 'templateid');
     }
 }
 ##############################################################################################
 # update racktables object
 require_once 'racktablesapi.php';
 $groupids = get_request('groups', array());
 $groupNames = array();
 foreach ($groupids as $groupid) {
     $group = API::HostGroup()->get(array('groupids' => $groupid, 'output' => API_OUTPUT_EXTEND));
     array_push($groupNames, $group[0]['name']);
 }
 if (!zbx_empty($_REQUEST['newgroup'])) {
     # new group
     $response = addRack($_REQUEST['newgroup']);
     if (isset($response['error'])) {
         show_messages(false, '', 'Updating racktables rack ' . $_REQUEST['newgroup'] . ' is failed');
     }
     array_push($groupNames, $_REQUEST['newgroup']);
 }
 $response = array();
 $operate = '';
 if ($createNew) {
     $response = addObject($_REQUEST['host'], $groupNames, $_REQUEST['status']);
     $operate = "Updating";
 } else {
     $response = updateObject($hostOld['host'], $_REQUEST['host'], $groupNames, $_REQUEST['status']);
     $operate = "Adding";
 }
 if (isset($response['error'])) {
            $result = API::HostGroup()->massAdd(array('hosts' => $hosts, 'templates' => $templates, 'groups' => $groups));
            if ($result) {
                $group = reset($groups);
                add_audit_ext(AUDIT_ACTION_ADD, AUDIT_RESOURCE_HOST_GROUP, $group['groupid'], $group['name'], null, null, null);
            }
        }
        $result = DBend($result);
        #############################################################################################################
        # add racktables Rack
        require_once 'racktablesapi.php';
        // host name
        $hostnames = array();
        foreach ($hosts as $key => $value) {
            array_push($hostnames, $value['name']);
        }
        $response = addRack($_REQUEST['name'], $hostnames);
        if (isset($response['error'])) {
            show_messages(false, '', 'Adding racktables Rack id failed. Error message:' . $response['error']);
        }
        #############################################################################################################
        $msgOk = _('Group added');
        $msgFail = _('Cannot add group');
    }
    show_messages($result, $msgOk, $msgFail);
    if ($result) {
        unset($_REQUEST['form']);
        clearCookies($result);
    }
    unset($_REQUEST['save']);
} elseif (isset($_REQUEST['delete']) && isset($_REQUEST['groupid'])) {
    #############################################################################################################