Je viens de découvrir un "petit soucis" avec
DocManager en version Française... En effet, si l’on tente de trier les "items de menu", l’on obtient à la validation une erreur SQL lors de l’écriture dans les logs :
MODx encountered the following error while attempting to parse the requested resource:
« Execution of a query to the database failed - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index de menu effectuée.')' at line 1 »
SQL: INSERT INTO `095`.manager_log(timestamp, internalKey, username, action, itemid, itemname, message) VALUES('1166215446', '1', 'admin', '112', '1', '-', 'Document Manager: Modification de l'index de menu effectuée.')
De prime abord ce problème provient de la présence de "quotes simples" dans le fichier de traduction de
DocManager, mais après analyse, le problème provient de l’absence de "protection des quotes" dans l’écriture des requêtes SQL effectuées par
[tt]/manager/includes/log.class.inc.php[/tt]. Ma suggestion est donc de remplacer :
$sql = "INSERT INTO $dbase.".$table_prefix."manager_log(timestamp, internalKey, username, action, itemid, itemname, message) VALUES('".time()."', '".$this->internalKey."', '".$this->username."'";
$sql .= ", '".$this->action."', '".$this->itemId."', '".$this->itemName."', '".$this->msg."')";
par
$sql = "INSERT INTO $dbase.".$table_prefix."manager_log(timestamp, internalKey, username, action, itemid, itemname, message) VALUES('".time()."', '".$this->internalKey."', '".addslashes($this->username)."'";
$sql .= ", '".$this->action."', '".addslashes($this->itemId)."', '".addslashes($this->itemName)."', '".addslashes($this->msg)."')";