public function updateApplianceInfos($array) {
$appliance = $this -> getApplianceByReference($array['reference']);
+ // GETTING CUSTOMER CONTACT FOR ERROR MESSAGES
+ $customerManager = new PdoCustomerManager();
+ $contactEmail = "";
+ $applianceReferenceArray = explode("/", $appliance -> getReference());
+ if(isset($applianceReferenceArray[1])) {
+ $customerAPId = substr($applianceReferenceArray[1], 0, -11);
+ $customer = $customerManager->getCustomerByAPId($customerAPId);
+ $contactEmail = ", dont l'adresse est ".$customer->getAPContact().",";
+ }
+
// IF APPLIANCE EXISTS
if(isset($appliance) && $appliance -> getId() > 0) {
// IF APPLIANCE ISN'T MAINTAINED
if(!$appliance -> isMaintained()) {
- $customerManager = new PdoCustomerManager();
- $contactEmail = "";
- $applianceReferenceArray = explode("/", $appliance -> getReference());
- if(isset($applianceReferenceArray[1])) {
- $customerAPId = substr($applianceReferenceArray[1], 0, -11);
- $customer = $customerManager->getCustomerByAPId($customerAPId);
- $contactEmail = ", dont l'adresse est ".$customer->getAPContact().",";
- }
echo "Votre application n'est plus maintainue par nos services, merci de vous renseigner auprès de votre contact ADULLACT Projet".$contactEmail." pour plus d'informations.";
} else {
// IF CHANGELOG FOR THIS APPLIANCE EXISTS
if (isset($changelog) && $changelog->getId() > 0) {
- // IF VERSION DIFFERS FROM DB
- $lastVersionValue = $changelogManager->findLastVersionForId($appliance->getChangelog())->getValue();
- if ($array['version'] === $lastVersionValue) {
- echo "Informations à jour sur le serveur ALLO.";
- } else {
+ // IF OTHER WARNINGS EXIST, WE DON'T ADD ANOTHER
+ $warnings = $changelog->getWarnings();
+ if((array_search("", $warnings)) !== false) {
- // GETTING VERSION ID
- $version_id = $versionManager->getIdByValueAndProductId($array['version'], $appliance -> getProduct());
-
- // NEW WARNING CREATION, VERSION TYPE
- $warningMessage = "Version declaree " . $array['version'] . " sans mise à jour par ALLO.";
- $warning = new Warning(null, null, "version", $warningMessage, $version_id);
- $warningManager->createWarning($warning);
-
- // SENDING MAIL TO ADMIN
- $to = 'david.calmel@adullact-projet.coop';
- $subject = 'ALLO - Nouvelle alerte';
- $message = $warningMessage;
- $headers = 'From: ne-pas-repondre@allo-serveur';
- mail($to, $subject, $message, $headers);
-
- // ADDING NEW WARNING TO CHANGELOG
- $warnings = $changelog->getWarnings();
- if ((array_search("", $warnings)) !== false) {
- $warnings = array($warningManager->getLastWarning()->getId());
+ // IF VERSION DOES NOT DIFFER FROM DB
+ $lastVersionValue = $changelogManager->findLastVersionForId($appliance->getChangelog())->getValue();
+ if ($array['version'] === $lastVersionValue) {
+ echo "Informations à jour sur le serveur ALLO.";
} else {
- $warnings[] = $warningManager->getLastWarning()->getId();
+
+ // GETTING VERSION ID
+ $version_id = $versionManager->getIdByValueAndProductId($array['version'], $appliance -> getProduct());
+
+ // NEW WARNING CREATION, VERSION TYPE
+ $warningMessage = "Version declaree " . $array['version'] . " sans mise à jour par ALLO.";
+ $warning = new Warning(null, null, "version", $warningMessage, $version_id);
+ $warningManager->createWarning($warning);
+
+ // SENDING MAIL TO ADMIN
+ $to = 'david.calmel@adullact-projet.coop';
+ $subject = 'ALLO - Nouvelle alerte';
+ $message = $warningMessage;
+ $headers = 'From: ne-pas-repondre@allo-serveur';
+ mail($to, $subject, $message, $headers);
+
+ // ADDING NEW WARNING TO CHANGELOG
+ if ((array_search("", $warnings)) !== false) {
+ $warnings = array($warningManager->getLastWarning()->getId());
+ } else {
+ $warnings[] = $warningManager->getLastWarning()->getId();
+ }
+ $changelog->setWarnings($warnings);
+ $changelogManager->updateChangelog($changelog);
+ echo "Votre version diffère de la dernière déclarée sur le serveur ALLO, un administrateur se chargera de traiter ceci dans les meilleurs délais.";
}
- $changelog->setWarnings($warnings);
- $changelogManager->updateChangelog($changelog);
- // TO-DO : ADD CONTACT INFORMATIONS TO MESSAGE
- echo "Votre version diffère de la dernière déclarée sur le serveur ALLO, merci de contacter machin pour plus d'informations";
+ } else {
+ echo "Des conflits de version existent au niveau de votre application, un administrateur se chargera de les traiter dans les meilleurs délais.";
}
-
- // IF CHANGELOG DOES NOT EXIST, CREATING NEW ONE (DELETE THIS ?)
- } /*else {
- $changelog = new Changelog(null, array($warningManager -> getLastWarning() -> getId()), array(""));
- $changelogManager -> createChangelog($changelog);
- $appliance -> setChangelog($changelogManager -> getLastChangelog() -> getId());
- $this -> updateAppliance($appliance);
- }*/
+ } else {
+ echo "Les informations de cette instance ne sont pas cohérentes sur le serveur, un administrateur se chargera de traiter ceci dans les meilleurs délais.";
+ }
} else {
- echo "Ce produit est incorrect, merci de contacter machin.";
+ echo "Ce produit est incorrect, merci de vous renseigner auprès de votre contact ADULLACT Projet".$contactEmail." pour plus d'informations.";
}
} else {
echo "Le type d'usager est inconnu, merci de corriger la configuration.";
$array['canal']
);
$this->createAppliance($appliance);
+ echo "L'instance a été déclarée sur le serveur ALLO, un administrateur se chargera de traiter la demande dès que possible.";
}
-
-
}
public function getAppliance($id) {