function api_post() {\r
\r
switch ($_GET['action']) {\r
- /*case 'create_exploitant' :\r
- $exploitant = new Exploitant(\r
- null, // l'ID en base est auto-généré, donc laissé vide ici\r
- $_POST['nom'], \r
- $_POST['reference'], \r
- $_POST['instances']\r
- );\r
- $exploitantManager -> createExploitant($exploitant);\r
- break;\r
-\r
- case 'update_exploitant' :\r
- $exploitant = new Exploitant(\r
- $_POST['id'], \r
- $_POST['nom'], \r
- $_POST['reference'], \r
- $_POST['instances']\r
- );\r
- $exploitantManager -> updateExploitant($exploitant);\r
- break;\r
- */\r
case 'upload_info' :\r
\r
// GETTING REQUEST DATA\r
}\r
break;\r
\r
- default:\r
+ case 'check_updates' :\r
+\r
+ // GETTING REQUEST DATA\r
+ $data = file_get_contents("php://input");\r
+\r
+ // DECODING JSON\r
+ $array = json_decode($data, true);\r
+\r
+ // CHECKING IF ARRAY IS VALID\r
+ if (!is_null($array) && assert($array)) {\r
+ $applianceManager = new PdoApplianceManager();\r
+ $changelogManager = new PdoChangelogManager();\r
+ $versionManager = new PdoVersionManager();\r
+ $appliance = $applianceManager->getApplianceByReference($array['reference']);\r
+ $currentVersion = $changelogManager->findLastVersionForId($appliance->getChangelog());\r
+ $nextPatchVersion = $versionManager->getNext($appliance->getProduct(), 'patch', $currentVersion->getValue())->getValue();\r
+ if (isset($nextPatchVersion)) {\r
+ echo "Nouveau patch disponible : " . $nextPatchVersion;\r
+ } else {\r
+ echo "Aucun nouveau patch n'est disponible pour votre version";\r
+ }\r
+ }\r
break;\r
\r
- }\r
- }\r
+ // TO-DO : REFACTOR THIS\r
+ case 'get_patch_url' :\r
\r
-?>
\ No newline at end of file
+ // GETTING REQUEST DATA\r
+ $data = file_get_contents("php://input");\r
+\r
+ // DECODING JSON\r
+ $array = json_decode($data, true);\r
+\r
+ // CHECKING IF ARRAY IS VALID\r
+ if (!is_null($array) && assert($array)) {\r
+ $applianceManager = new PdoApplianceManager();\r
+ $changelogManager = new PdoChangelogManager();\r
+ $versionManager = new PdoVersionManager();\r
+ $productManager = new PdoProductManager();\r
+ $patchManager = new PdoPatchManager();\r
+ $appliance = $applianceManager->getApplianceByReference($array['reference']);\r
+ $product = $productManager->getProduct($appliance->getProduct());\r
+ $currentVersion = $changelogManager->findLastVersionForId($appliance->getChangelog());\r
+ $nextPatchVersion = $versionManager->getNext($product->getId(), 'patch', $currentVersion->getValue());\r
+ $patch = $patchManager->getPatchForVersionId($nextPatchVersion->getId());\r
+ $patch_url = 'http://allo_serveur/resources/patches/'.$product->getName()."/".$patch->getFileUrl();\r
+ echo $patch_url;\r
+ }\r
+ break;\r
+\r
+ // TO-DO : ADD MANAGEMENT OF "UPDATING" STATE OF THE APPLICATION\r
+\r
+ default:\r
+ break;\r
+ }\r
+ }
\ No newline at end of file