Un blog sur les logiciels libres

Des articles basés essentiellement sur VirtueMart, Joomla, Talend...

Pro Joomla Templates Club

août 25 2009

Bug dans l’API VirtueMart

Tagged Under : ,

Attention, si vous développez sur VirtueMart, il est très important de ne jamais démarrer les requêtes SQLs passés à ps_DB par un espace.

Je viens de perdre un peu de temps à cause de cela.

Le coupable est la méthode query de la classe ps_DB dont voici un extrait :

    if (strtoupper(substr( $this->_sql , 0, 6 )) == "SELECT"
    || strtoupper(substr( $this->_sql , 0, 4 ))=='SHOW'
    || strtoupper(substr( $this->_sql , 0, 7 ))=='EXPLAIN'
    || strtoupper(substr( $this->_sql , 0, 8 ))=='DESCRIBE'
    ) {
        //(...)
      }

Si la requête commence par un blanc, VirtueMart ne détecte pas qu’un résultat est attendu, et un tableau d’une ligne est renvoyé.

Ce qui est navrant, c’est que j’avoue ne pas avoir compris l’intérêt d’avoir dupliqué l’API Joomla dans VirtueMart. Cela augmente les sources de bugs, et complexifie la maintenance de VirtueMart par la communauté.

Share and Enjoy:
  • del.icio.us
  • Facebook
  • BlogMemes Fr
  • Wikio FR
  • Technorati

Post a comment

Artisteer - Joomla Theme Generator