$v) { if (array_search($k, $key) == "PRIMARY KEY") $debut = "

$k pour la table $nom

"; else { ereg("^ *([A-Za-z]+) *(\(([^)]+)\))?(.*DEFAULT *('.*'))?", $v, $m); $type = $m[1]; $s = ($m[5] ? " value=$m[5] " : ''); $t = $m[3]; if ($m[2]) { if (is_numeric($t)) { if ($t <= 32) $s .= " sizemax='$t' size='" . ($t * 2) . "'"; else $type = 'BLOB'; } else {ereg("^ *'?(.*[^'])'? *$", $t, $m2); $t = $m2[1];} } switch (strtoupper($type)) { case INT: case INTEGER: case BIGINT: case CHAR: case VARCHAR: case TINYTEXT: case TINYBLOB: $s = "\n"; break; case ENUM: $s = "\n"; break; case DATETIME: $s = ''; $hiddens .= "\n"; break; case TIMESTAMP: $s = ''; break; case LONGBLOB: $s = "\n"; break; default: $t = floor($t / 64)+1; $s = "\n"; break; } if ($s) $total .= "$k\n$s\n"; } } return "
\n" . $debut . $total . "
$hiddens
"; } function table_extra_post($nom) { global $HTTP_POST_VARS; foreach ($HTTP_POST_VARS as $k => $v) { if ($v && ($v != 'NOW()')) $v = "'" . addslashes($v) . "'"; if ($v) { $n[] = $k; $i[] = $v;} } $r = "INSERT INTO " . $GLOBALS['table_prefix'] . '_' . $nom . '(' . join(', ', $n) . ") VALUES (" . join(', ', $i) . ")"; // echo $r; if (! spip_query($r)) return "Echec de l'insertion $r"; else return "Insertion sous le numero: " . mysql_insert_id(); } if (!($table = $GLOBALS['HTTP_GET_VARS']['table'])) { $table = $_GET['table']; } if (!($file = $GLOBALS['HTTP_GET_VARS']['file'])) { $file = $_GET['file']; } if (!($mode = $GLOBALS['HTTP_GET_VARS']['mode'])) { $mode = $_GET['mode']; } if (!$file) $file = $table; if ($file && file_exists($file . '.php')) include($file . '.php'); else if (file_exists($file . '.php3')) include($file . '.php3'); $description = $GLOBALS['tables_principales'][$table]; $field = $description['field']; $key = $description['key']; if ($mode) echo ""; else { debut_page('tablextra'); debut_grand_cadre(); fin_grand_cadre(); debut_gauche(); debut_droite(); debut_cadre_formulaire(); } if (!($field && $key)) {echo "Le paramètre table (valeur: '" . $table . "') n'indique pas une table SQL " . (!$file ? '' : " décrite dans le fichier $file"); } else { if ($_SERVER['REQUEST_METHOD'] == 'POST') echo table_extra_post($table); else { echo table_extra_get($table, $field, $key, $file); } } if ($mode) { fin_cadre_formulaire(); fin_page(); } else ""; ?>