Please See PR 173#172
Conversation
pitch314
left a comment
There was a problem hiding this comment.
Les conditions des tests sont à revoir pour éviter des erreurs d'interprétations PHP.
Sinon d'un point de vue algorithmique cela est bon.
PS : avant de l'intégrer un formatage formatage du code (espace, indentation, etc.)
| //Binu : ajout d'une fonction pour convertir les coordonn�es de la table universe en coordonn�es de la table spy | ||
| public function getArrayCoordinates() | ||
| { | ||
| if ($this->galaxy_down != null && $this->galaxy_up != null){ |
There was a problem hiding this comment.
Comparaison à revoir, réfléchir à quoi on veux tester.
Changer les != NULL en soit !== NULL, soit en isset() (ou empty()).
| }else{ | ||
| $galaxy = array(1,$this->server_config['num_of_galaxies']); | ||
| } | ||
| if ($this->system_down != null && $this->system_up != null){ |
There was a problem hiding this comment.
idem
Comparaison à revoir, réfléchir à quoi on veux tester.
Changer les != NULL en soit !== NULL, soit en isset() (ou empty()).
| }else{ | ||
| $system = array(1,$this->server_config['num_of_systems']); | ||
| } | ||
| if ($this->row_down != null && $this->row_up != null){ |
There was a problem hiding this comment.
idem
Comparaison à revoir, réfléchir à quoi on veux tester.
Changer les != NULL en soit !== NULL, soit en isset() (ou empty()).
| case "colonization": | ||
| $criteria->setPlanetName(""); | ||
| // $criteria->setPlanetName(""); | ||
| //Binu : utilisation d'une chaine non vide, sinon celle-ci est considérée comme null et le critère n'est pas utilisé |
There was a problem hiding this comment.
Ce n'est pas ici qu'il faut mettre une rustine mais il faut corriger là où la variable est utilisée
| @@ -398,27 +398,32 @@ public function find(SearchCriteria_Helper $criteria, array $order_by = array(), | |||
| } | |||
|
|
|||
| if ($criteria->getPlanetName() != null) { | |||
There was a problem hiding this comment.
C'est ici que le problème ce trouve car ce test est non déterministe.
Comparaison à revoir, réfléchir à quoi on veux tester.
Changer les != NULL en soit !== NULL, soit en isset() (ou empty()) ou === ''
| } | ||
| $where .= " `moon` = 1"; | ||
| //Binu : ajout des cotes | ||
| $where .= " `moon` = '1'"; |
| if (($criteria->getGalaxyDown() != null && $criteria->getGalaxyUp() != null) || ($criteria->getSystemDown() != null && $criteria->getSystemUp() != null) || ($criteria->getRowDown() != null && $criteria->getRowUp() != null)){ | ||
| $coordinates = $criteria->getArrayCoordinates(); | ||
| $spy_where .= " AND "; | ||
| if (count($coordinates) > 1){ |
There was a problem hiding this comment.
Optimisation : count() sur la même variable, sans changement, est utilisé plusieurs fois et ceux dans des boucles.
=>créer un variable pour réduire le temps d'exécution ($nb_coor =count($coordinates par exemple)
|
|
||
| $spy_query = "SELECT `coordinates`, `active` FROM " . TABLE_PARSEDSPY . " WHERE `active` = '1'"; | ||
| $spy_where = ""; | ||
| if (($criteria->getGalaxyDown() != null && $criteria->getGalaxyUp() != null) || ($criteria->getSystemDown() != null && $criteria->getSystemUp() != null) || ($criteria->getRowDown() != null && $criteria->getRowUp() != null)){ |
There was a problem hiding this comment.
idem
Comparaison à revoir, réfléchir à quoi on veux tester.
Changer les != NULL en soit !== NULL, soit en isset() (ou empty()).
Remonté par Binu.
Il y a pas mal de travail et donc pas mal de relecture aussi :-)