'spip_articles',
'auteur' => 'spip_auteurs',
'breve' => 'spip_breves',
'document' => 'spip_documents',
'forum' => 'spip_forum',
'groupe_mots' => 'spip_groupes_mots',
'message' => 'spip_messages',
'mot' => 'spip_mots',
'petition' => 'spip_petitions',
'rubrique' => 'spip_rubriques',
'signature' => 'spip_signatures',
'syndic' => 'spip_syndic',
'syndic_article' => 'spip_syndic_articles',
'type_document' => 'spip_types_documents'
);
}
$import_ok = false;
$b = false;
// Lire le type d'objet
if (!($type = xml_fetch_tag($f, $b, $gz))) return false;
if ($type == '/SPIP') return !($import_ok = true);
$id = "id_$type";
$id_objet = 0;
$table = isset($tables[$type]) ? $tables[$type] : $type;
if (in_array($table, $a_importer) AND !isset($field_desc[$table])) {
// recuperer la description de la table pour connaitre ses champs valides
$desc = description_table($table);
if (isset($desc['field']))
$field_desc[$table] = $desc['field'];
else
$field_desc[$table] = NULL;
}
$fields = $field_desc[$table];
$char = $GLOBALS['meta']['charset_insertion'];
if ($char == $GLOBALS['meta']['charset_restauration']) $char = '';
$values = array();
// Lire les champs de l'objet
for (;;) {
$b = false;
if (!($col = xml_fetch_tag($f, $b, $gz))) return false;
if ($col == '/'.$type) break;
$value = true;
if (!xml_fetch_tag($f, $value, $gz)) return false;
if (substr($col, 0, 5) == 'lien:') {
$type_lien = substr($col, 5);
$liens[$type_lien][] = '('.$id_objet.','.$value.')';
}
else if ($col != 'maj') {
// tentative de restauration d'une base sauvegardee avec le champ 'images' ; d'experience, ca arrive...
// mieux vaut accepter que canner silencieusement...
if (($type == 'article') && ($col == 'images'))
{
if ($value) { // ne pas afficher de message si on a un champ suppl mais vide
echo "-->
"._T('avis_erreur_sauvegarde', array('type' => $type, 'id_objet' => $id_objet))."\n"._T('avis_colonne_inexistante', array('col' => $col));
if ($col == 'images') echo _T('info_verifier_image');
echo "\n
"._T('avis_erreur_mysql')."\n".sql_error()."\n