[spip-dev] sql_ et $serveur

Hop là,

Il semblerait qu'il y a un ti gros souci avec la variable $serveur...

Lfi signalait que :

  sql_insertq('cdt_prof', array(
    'nom_prof' => $nom_prof,
    'passe' => $passe,
    'identite' => $identite,
    'email' => $email,
    'droits' => $droits),'','cahier_de_textes');

renvoie une erreur "cdt_prof insertion sans description" alors que sa table existe dans la base déclarée dans 'cahier_de_textes'.

Effectivement, lorsque $desc n'est pas donné, SPIP ne le calcule pas automatiquement en fonction de $serveur, mais simplement en fonction de $table :

if (!$desc) $desc = description_table($table);
if (!$desc) die("$table insertion sans description");

Or, dans ce cas précis, on demande explicitement $serveur='cachier_de_textes' et le $desc devient faux...

Donc, la solution rapide pour lui, c'est d'envoyer $desc en plus de $serveur... mais pour nous, je pense qu'il faut qu'on corrige ça.

Qu'en pensez-vous ?

Il est bien dit dans la doc que les bases distantes ne sont accessibles qu'en lecture.
C'est sans doute dommage, mais lever cette restriction dans tous les cas concernés (pas seulement insert) est un gros chantier.
Pour ma part, il y a des choses plus urgentes dans SPIP dont je souhaite m'occuper.

Committo,Ergo:Sum