$db->beginTransaction(); insertSegment($db, $name, $slots, $lng, $lat, $city); // the key of the newly added segment is needed as a foreign key for the following queries $id = $db->lastInsertId(); // we need to create a default name if the name wasn't filled in the form if (empty($name)) { $name = 'Parking #' . $id; updateName($db, $id, $name); } insertEntranceAdress($db, $entrance, $id); insertWalkingAdress($db, $walking, $id); insertExitAdress($db, $exit, $id); insertOpeningHours($db, $openingHour, $closingHour, $id); insertPaymentType($db, $payment, $id); insertParkLot($db, $name, $city); insertFeatures($db, $id, $features); $db->commit(); } catch (PDOExecption $e) { $db->rollBack(); print "Error!: " . $e->getMessage() . "</br>"; } /** * Inserts a new segment with specified informations in the database * * @param string $db the pdo database object * @param string $name the name of the segment * @param int $slots the capacity of the segment * @param string $lat the latitude of the segment * @param string $lng the longitude of the segment * @param string $city the city of the segment */
case "getlock": processGetLock($network); break; case "releaselock": $key = $params["key"]; processReleaseLock($network, $key); break; } } else { if ($requestType == 'POST') { $network = $_GET["network"]; $component = $_GET["component"]; $featureCollection = $HTTP_RAW_POST_DATA; $features = deserializeFeatures($featureCollection); $dbHandle = connectDB($network); $ids = insertFeatures($component, $features); mysql_close($dbHandle); $insertedFeatures = getProcessedFeatures($features, $ids); echo serializeFeatures($insertedFeatures); } else { if ($requestType == 'PUT') { $network = $_GET["network"]; //in openlayers in put method feature id is attached with url with "/" may be to make restfull $componentWithId = explode("/", $_GET["component"]); $component = $componentWithId[0]; $featureCollection = file_get_contents("php://input"); $features = deserializeFeatures($featureCollection); $dbHandle = connectDB($network); $ids = updateFeatures($component, $features); mysql_close($dbHandle); $updatedFeatures = getProcessedFeatures($features, $ids);