diff --git a/scenemodels/classes/ObjectFactory.php b/scenemodels/classes/ObjectFactory.php index 89f0913..c230e7b 100644 --- a/scenemodels/classes/ObjectFactory.php +++ b/scenemodels/classes/ObjectFactory.php @@ -31,7 +31,7 @@ public function __construct($objectDaoRO) { } public function createObject($id, $modelId, $lon, $lat, $countryCode, - $elevOffset, $orientation, $group, $desc) { + $elevOffset, $orientation, $group, $desc, $usageId = 0, $tokenId = 0) { $country = $this->objectDaoRO->getCountry($countryCode); $object = new \model\TheObject(); @@ -45,7 +45,8 @@ public function createObject($id, $modelId, $lon, $lat, $countryCode, $object->getPosition()->setOrientation($orientation); $object->setDescription($desc); $object->setGroupId($group); - + $object->setUsageId($usageId); + $object->setTokenId($tokenId); return $object; } } diff --git a/scenemodels/classes/controller/AddModelController.php b/scenemodels/classes/controller/AddModelController.php index f38fead..38849ee 100644 --- a/scenemodels/classes/controller/AddModelController.php +++ b/scenemodels/classes/controller/AddModelController.php @@ -40,12 +40,14 @@ public function __construct() { */ public function formAction() { parent::menu(); - + // Show all the families other than the static family $modelsGroups = $this->getModelsGroups(); $countries = $this->objectDaoRO->getCountries(); $nbModels = $this->getModelDaoRO()->countTotalModels(); $authors = $this->authorDaoRO->getAllAuthors(0, "ALL"); + $usages = \model\TheObject::usages(); + $tokens = \model\TheObject::tokens(); include 'view/submission/model/add_model_form.php'; } @@ -59,7 +61,7 @@ public function addRequestAction() { /** STEP 1 : CHECK IF ALL FILES WERE RECEIVED */ $exceptions = $this->checkFilesArray(); - + /** STEP 2 : MOVE THUMBNAIL, AC3D, PNG AND XML FILES IN TMP DIRECTORY (Will be removed later on) */ $thumbName = $_FILES['mo_thumbfile']['name']; $ac3dName = $_FILES['ac3d_file']['name']; @@ -127,6 +129,10 @@ public function addRequestAction() { $offset = strip_tags($this->getVar('offset')); $heading = strip_tags($this->getVar('heading')); $country = $this->getVar('ob_country'); + $country = $this->getVar('ob_country'); + $usageId = $this->getVar('ob_usage_id'); + $tokenId = $this->getVar('ob_token_id'); + $objectValidator = \submission\ObjectValidator::getPositionValidator($longitude, $latitude, $country, $offset, $heading); $validatorsSet = new \submission\ValidatorsSet(); @@ -183,7 +189,7 @@ public function addRequestAction() { $newModel->setThumbnail($thumbFile); $newObject = $objectFactory->createObject(-1, -1, $longitude, $latitude, $country, - $offset, \ObjectUtils::headingSTG2True($heading), 1, $name); + $offset, \ObjectUtils::headingSTG2True($heading), 1, $name, $usageId, $tokenId); // Check captcha if (!$this->checkCaptcha()) { diff --git a/scenemodels/classes/controller/AddModelValidatorController.php b/scenemodels/classes/controller/AddModelValidatorController.php index 36d800a..9f3670b 100644 --- a/scenemodels/classes/controller/AddModelValidatorController.php +++ b/scenemodels/classes/controller/AddModelValidatorController.php @@ -48,7 +48,9 @@ public function viewRequestAction() { // Check first if the author already exist $authorExist = $this->authorDaoRO->getAuthorByEmail($newAuthor->getEmail()) != null; } - + $usages = \model\TheObject::usages(); + $tokens = \model\TheObject::tokens(); + include 'view/submission/model/validator/view_add_model_request.php'; } } diff --git a/scenemodels/classes/controller/ObjectValidatorController.php b/scenemodels/classes/controller/ObjectValidatorController.php index 54aef09..57510cf 100644 --- a/scenemodels/classes/controller/ObjectValidatorController.php +++ b/scenemodels/classes/controller/ObjectValidatorController.php @@ -28,6 +28,8 @@ class ObjectValidatorController extends ValidatorController { public function viewRequestAction() { $request = $this->getRequest(); + $usages = \model\TheObject::usages(); + $tokens = \model\TheObject::tokens(); if ($request != null) { include 'view/submission/object/validator/object_submission.php'; } diff --git a/scenemodels/classes/controller/ObjectsController.php b/scenemodels/classes/controller/ObjectsController.php index 595e91a..8f5fb63 100644 --- a/scenemodels/classes/controller/ObjectsController.php +++ b/scenemodels/classes/controller/ObjectsController.php @@ -44,6 +44,8 @@ public function viewAction() { $object = $this->objectDaoRO->getObject($id); $modelMetadata = $this->getModelDaoRO()->getModelMetadata($object->getModelId()); $group = $this->objectDaoRO->getObjectsGroup($object->getGroupId()); + $usages = \model\TheObject::usages(); + $tokens = \model\TheObject::tokens(); include 'view/objectview.php'; } else { $pageTitle = "Object ID not valid"; diff --git a/scenemodels/classes/controller/UpdateObjectsController.php b/scenemodels/classes/controller/UpdateObjectsController.php index d7a7e46..0714903 100644 --- a/scenemodels/classes/controller/UpdateObjectsController.php +++ b/scenemodels/classes/controller/UpdateObjectsController.php @@ -118,6 +118,8 @@ public function updateFormAction() { if (\FormChecker::isLongitude($this->getVar('lon'))) { $defaultLon = $this->getVar('lon'); } + $usages = \model\TheObject::usages(); + $tokens = \model\TheObject::tokens(); include 'view/submission/object/update_object_form.php'; } @@ -144,7 +146,9 @@ public function checkAction() { $new_offset = $this->getVar('new_offset'); $new_orientation = $this->getVar('new_heading'); $safe_new_ob_text = $this->getVar('new_ob_text'); - + $new_usageId = $this->getVar('new_usage_id'); + $new_tokenId = $this->getVar('new_token_id'); + $idToUpdate = $this->getVar('id_to_update'); if (!\FormChecker::isObjectId($idToUpdate)) { $pageTitle = 'Objects update Form'; @@ -178,7 +182,8 @@ public function checkAction() { $oldObject = $this->objectDaoRO->getObject($idToUpdate); $newObject = $objectFactory->createObject($idToUpdate, $modelId, $new_long, $new_lat, $new_country, - $new_offset, \ObjectUtils::headingSTG2True($new_orientation), 1, $safe_new_ob_text); + $new_offset, \ObjectUtils::headingSTG2True($new_orientation), 1, $safe_new_ob_text, + $new_usageId, $new_tokenId); $oldModelMD = $this->getModelDaoRO()->getModelMetadata($oldObject->getModelId()); $newModelMD = $this->getModelDaoRO()->getModelMetadata($modelId); diff --git a/scenemodels/classes/dao/ObjectDAO.php b/scenemodels/classes/dao/ObjectDAO.php index 1dcdc0c..26db9f0 100644 --- a/scenemodels/classes/dao/ObjectDAO.php +++ b/scenemodels/classes/dao/ObjectDAO.php @@ -17,11 +17,12 @@ public function addObject(\model\TheObject $obj) { $objPos = $obj->getPosition(); $obOffset = $objPos->getElevationOffset(); - $query = "INSERT INTO fgs_objects (ob_id, ob_text, wkb_geometry, ob_gndelev, ob_elevoffset, ob_heading, ob_country, ob_model, ob_group) ". + $query = "INSERT INTO fgs_objects (ob_id, ob_text, wkb_geometry, ob_gndelev, ob_elevoffset, ob_heading, ob_country, ob_model, ob_usage, ob_token, ob_group) ". "VALUES (DEFAULT, '".pg_escape_string($obj->getDescription())."', ST_PointFromText('POINT(".pg_escape_string($objPos->getLongitude())." ".pg_escape_string($objPos->getLatitude()).")', 4326), -9999, ". (($obOffset == 0 || $obOffset == '')?"NULL":pg_escape_string($obOffset)) . - ", ".pg_escape_string($objPos->getOrientation()).", '".pg_escape_string($obj->getCountry()->getCode())."', ".pg_escape_string($obj->getModelId()).", 1) RETURNING ob_id;"; - + ", ".pg_escape_string($objPos->getOrientation()).", '".pg_escape_string($obj->getCountry()->getCode())."', ".pg_escape_string($obj->getModelId()). + ", ".pg_escape_string($obj->getUsageId()).", ".pg_escape_string($obj->getTokenId()).", 1) RETURNING ob_id;"; + $result = $this->database->query($query); if (!$result) { @@ -40,8 +41,10 @@ public function updateObject(\model\TheObject $object) { "SET ob_text=$$".pg_escape_string($object->getDescription())."$$, ". "wkb_geometry=ST_PointFromText('POINT(".pg_escape_string($objPos->getLongitude())." ".pg_escape_string($objPos->getLatitude()).")', 4326),". "ob_country='".pg_escape_string($object->getCountry()->getCode())."',". - "ob_gndelev=-9999, ob_elevoffset=".pg_escape_string($objPos->getElevationOffset()).", ob_heading=".pg_escape_string($objPos->getOrientation()).", ob_model=".pg_escape_string($object->getModelId()).", ob_group=1 ". - "WHERE ob_id=".pg_escape_string($object->getId()).";"; + "ob_gndelev=-9999, ob_elevoffset=".pg_escape_string($objPos->getElevationOffset()).", ob_heading=".pg_escape_string($objPos->getOrientation()).", ob_model=".pg_escape_string($object->getModelId()).", ". + "ob_usage=".pg_escape_string($object->getUsageId()).",". + "ob_token=".pg_escape_string($object->getTokenId()).",". + "ob_group=1 WHERE ob_id=".pg_escape_string($object->getId()).";"; $result = $this->database->query($query); @@ -203,7 +206,9 @@ private function getObjectFromRow($objectRow) { $object->setDescription($objectRow['ob_text']); $object->setGroupId($objectRow['ob_group']); $object->setLastUpdated(new \DateTime($objectRow['ob_modified'])); - + $object->setUsageId($objectRow['ob_usage']); + $object->setTokenId($objectRow['ob_token']); + return $object; } diff --git a/scenemodels/classes/dao/RequestDAO.php b/scenemodels/classes/dao/RequestDAO.php index f701b1e..e8c6722 100644 --- a/scenemodels/classes/dao/RequestDAO.php +++ b/scenemodels/classes/dao/RequestDAO.php @@ -136,7 +136,9 @@ private function arrayObject(\model\TheObject $object) { 'offset'=>(empty($offset)?'NULL':$offset), 'orientation'=>$objPos->getOrientation(), 'country'=>$object->getCountry()->getCode(), - 'modelId'=>$object->getModelId()); + 'modelId'=>$object->getModelId(), + 'usageId'=>$object->getUsageId(), + 'tokenId'=>$object->getTokenId()); } private function arrayRequestObjectUpdate($request) { @@ -151,7 +153,9 @@ private function arrayRequestObjectUpdate($request) { 'orientation'=>$newObjPos->getOrientation(), 'country'=>$newObj->getCountry()->getCode(), 'modelId'=>$newObj->getModelId(), - 'objectId'=>$newObj->getId()); + 'objectId'=>$newObj->getId(), + 'usageId'=>$newObj->getUsageId(), + 'tokenId'=>$newObj->getTokenId()); } private function arrayRequestObjectDelete($request) { @@ -365,7 +369,8 @@ private function getObjectFromRow($addReqArray) { return $objectFactory->createObject(-1, $addReqArray['modelId'], $addReqArray['longitude'], $addReqArray['latitude'], $addReqArray['country'], - $addReqArray['offset'], $addReqArray['orientation'], 1, $addReqArray['description']); + $addReqArray['offset'], $addReqArray['orientation'], 1, $addReqArray['description'], + $addReqArray['usageId'], $addReqArray['tokenId']); } private function getRequestMassiveObjectsAddFromRow($objRequests) { @@ -387,7 +392,8 @@ private function getRequestObjectUpdateFromRow($updReqArray) { $newObject = $objectFactory->createObject($updReqArray['objectId'], $updReqArray['modelId'], $updReqArray['longitude'], $updReqArray['latitude'], $updReqArray['country'], - $updReqArray['offset'], $updReqArray['orientation'], 1, $updReqArray['description']); + $updReqArray['offset'], $updReqArray['orientation'], 1, $updReqArray['description'], + $updReqArray['usageId'],$updReqArray['tokenId']); $requestObjUp = new \model\RequestObjectUpdate(); $requestObjUp->setContributorEmail(''); diff --git a/scenemodels/classes/model/TheObject.php b/scenemodels/classes/model/TheObject.php index a2c4726..79f2917 100644 --- a/scenemodels/classes/model/TheObject.php +++ b/scenemodels/classes/model/TheObject.php @@ -23,6 +23,8 @@ class TheObject { private $description; private $groupId; + private $usageId; + private $tokenId; function __construct() { $this->position = new Position(); @@ -92,6 +94,32 @@ public function setLastUpdated($lastUpdated) { public function getPosition() { return $this->position; } -} + public function getUsageId() { + return $this->usageId; + } + + public function setUsageId($usageId) { + $this->usageId = $usageId; + } + + public function getTokenId() { + return $this->tokenId; + } + + public function setTokenId($tokenId) { + $this->tokenId = $tokenId; + } + + /** + * static lists of allowed usages and tokens + */ + public static function usages() { + return array("", "StaticAircraft", "ApronVehicles","AIObjects"); + } + + public static function tokens() { + return array("", "AI_OBJECT"); + } +} ?> diff --git a/scenemodels/view/objectview.php b/scenemodels/view/objectview.php index 4f233f4..f7be695 100644 --- a/scenemodels/view/objectview.php +++ b/scenemodels/view/objectview.php @@ -14,7 +14,7 @@ - + @@ -53,6 +53,14 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/scenemodels/view/submission/object/update_object_form.php b/scenemodels/view/submission/object/update_object_form.php index 39ec842..72952c2 100644 --- a/scenemodels/view/submission/object/update_object_form.php +++ b/scenemodels/view/submission/object/update_object_form.php @@ -95,6 +95,47 @@ function validateForm() ?> + + + + + + + + + + "; + + echo "getUsageId() != $newObject->getUsageId()) { + echo " style=\"background-color: rgb(255, 200, 0)\""; + } + echo ">"; + + echo "getTokenId() != $newObject->getTokenId()) { + echo " style=\"background-color: rgb(255, 200, 0)\""; + } + echo ">"; + echo "". ""; echo "
ThumbnailThumbnail Unique ID getId(); ?>
Group getGroupId()."\">".$group->getName().""; ?>
UsagegetUsageId()]); ?>
STG TokengetTokenId()]); ?>
Model diff --git a/scenemodels/view/submission/model/add_model_form.php b/scenemodels/view/submission/model/add_model_form.php index bc225b2..26dc0c7 100644 --- a/scenemodels/view/submission/model/add_model_form.php +++ b/scenemodels/view/submission/model/add_model_form.php @@ -158,6 +158,44 @@ function validateTabs()
+ + + +
+ + + +
diff --git a/scenemodels/view/submission/model/validator/view_add_model_request.php b/scenemodels/view/submission/model/validator/view_add_model_request.php index dbadb38..bf12001 100644 --- a/scenemodels/view/submission/model/validator/view_add_model_request.php +++ b/scenemodels/view/submission/model/validator/view_add_model_request.php @@ -83,6 +83,14 @@ function validateForm() { Family getModelsGroup()->getName(); ?>
UsagegetUsageId()]); ?>
STG TokengetTokenId()]); ?>
Proposed Path Name getFilename(); ?>
+ + getUsageId()]); ?> + +
+ + + getTokenId()]); ?> + +
diff --git a/scenemodels/view/submission/object/validator/object_submission.php b/scenemodels/view/submission/object/validator/object_submission.php index 018b26d..8bcab60 100644 --- a/scenemodels/view/submission/object/validator/object_submission.php +++ b/scenemodels/view/submission/object/validator/object_submission.php @@ -32,6 +32,19 @@ echo " style=\"background-color: rgb(255, 200, 0)\""; } echo ">Object's model".htmlspecialchars($oldModelMD->getName())."".htmlspecialchars($newModelMD->getName())."
Object's Usage".htmlspecialchars($usages[$oldObject->getUsageId()])."".htmlspecialchars($usages[$newObject->getUsageId()])."
Object's STG token".htmlspecialchars($tokens[$oldObject->getTokenId()])."".htmlspecialchars($tokens[$newObject->getTokenId()])."
Thumbnail