ldleman / yana-server

Interface PHP de domotique Y.A.N.A (You Are Not Alone)
http://projet.idleman.fr/yana
107 stars 59 forks source link

Soucis en voulant ajouter une commande. #192

Closed MaximeGratens closed 5 years ago

MaximeGratens commented 8 years ago

Bonjour! J'essaie de rajouter mes propres phrases avec Yana mais je me heurte à un problème quand je veux mettre une commande avec des antislashs tel que: python C:\Users\conta\Documents\py\main.py Voici ce qui en ressort: python C:\\\\Users\\\\... etc http://puu.sh/nAMwi/d0a2102438.png Une idée? Merci beaucoup !

ingfred commented 8 years ago

Bonjour j'ai eu le même problème avec ces caractères d'échappement. Jusqu'au plantage car rajout d'antislash a chaque appel. J'ai fini par nettoyer la base à la main (pas envie de tout réinstaller), j'ai viré le gestion d'événement et je passe par les scénarii (story). Il me rajoute toujours les caractères d'échapeement mais seulement une fois et tout fonctionne. Je n'ai toujours pas trouvé d'ou cela venait vraiment

ldleman commented 8 years ago

Le soucis se passe sur quel plugin exactement ?

ingfred commented 8 years ago

bonjour Idle. Evenement et meme story. Mais a mon humble avis de quiche informatique cela vient plutot du JSON/UTF8. On a du faire une mise a jour qui a bougé les lignes. Car le plugin evenement n'a pas changé. De plus lors d'une sauvegarde de scenarii en lisant le JSON on observe qu'il a bien rajouté une pelleté de \ Et qu'il en rajoute a chaque fois. Étonnamment, pour deux fonctions qusi identique, l'une m'ajoutait des \ sans fin, l'autre non. (ex le radioEmission on en rajoutait et pas le off). Peut être bien des cochonerie dans un copier/coller. Après nettoyage manuel de la ligne qui m'embetait dans la base, et recreation du scenario, un ajout de caractere d'echappement puis tout ok

RemiG26 commented 8 years ago

Salut tout le monde, J'ai exactement le même problème que vous que ce soit dans les évènements ou dans les scénarios : quand je met un / sa me rajoute un \ devant et quand je mets un \ sa rajoute //// Bref du coup sa corromps la commande et elle de ne s’exécute pas ^^ C'est quelle ligne qui pose problème ingfred ? Comment tu as fait pour la nettoyer ? Merci d'avance

moebius911 commented 8 years ago

Je viens de trouver la solution

Le problème vient de « SQLiteEntity.class.php » dans le dossier classes. Il faut remplacer la commande suivante (ligne 302) : if(isset($queryReturn[$field])) $object->$field= html_entity_decode( addslashes($queryReturn[$field]));

Par celle-ci : if(isset($queryReturn[$field])) eval('$object->'.$field .'= html_entity_decode(\''. addslashes($queryReturn[$field]).'\');');

bonne soirée

ingfred commented 8 years ago

Merci !

RemiG26 commented 8 years ago

Merci beaucoup pour ce fix !!

MaximeGratens commented 5 years ago

Le problème vient de « SQLiteEntity.class.php » dans le dossier classes. Il faut remplacer la commande suivante (ligne 302) : if(isset($queryReturn[$field])) $object->$field= html_entity_decode( addslashes($queryReturn[$field]));

Par celle-ci : if(isset($queryReturn[$field])) eval('$object->'.$field .'= html_entity_decode(''. addslashes($queryReturn[$field]).'');');