You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
1.8 KiB
PHP
79 lines
1.8 KiB
PHP
<?php
|
|
|
|
if (!defined('_ECRIRE_INC_VERSION')) {
|
|
return;
|
|
}
|
|
|
|
include_spip('inc/meta');
|
|
|
|
// Installation et mise à jour
|
|
function contact_upgrade($nom_meta_version_base, $version_cible) {
|
|
|
|
$maj = array();
|
|
$maj['create'] = array(
|
|
array('maj_tables',array('spip_messages')),
|
|
);
|
|
|
|
//pour maj_liens
|
|
if (_SPIP_VERSION_ID < 40000) {
|
|
// Avant SPIP 4.0
|
|
include_spip('maj/svn10000');
|
|
} else {
|
|
include_spip('maj/legacy/svn10000');
|
|
}
|
|
$maj['0.2.0'] = array(
|
|
array('maj_tables',array('spip_messages')),
|
|
);
|
|
|
|
include_spip('base/upgrade');
|
|
maj_plugin($nom_meta_version_base, $version_cible, $maj);
|
|
|
|
}
|
|
|
|
// Désinstallation
|
|
function contact_vider_tables($nom_meta_version_base) {
|
|
|
|
include_spip('base/abstract_sql');
|
|
|
|
// On recupere tous les messages de contact
|
|
$messages = sql_allfetsel(
|
|
'id_message',
|
|
'spip_messages',
|
|
'type = '.sql_quote('contac')
|
|
);
|
|
$messages = array_map('reset', $messages);
|
|
$in = sql_in(
|
|
'id_messages',
|
|
$messages
|
|
);
|
|
|
|
// Pour les liens, id_message est id_objet/objet
|
|
$in_messages = sql_in(
|
|
'id_objet',
|
|
$messages
|
|
);
|
|
|
|
// On supprime les documents qui ne sont rattaches qu'aux messages
|
|
// ainsi que leur liens en passant par supprimer_lien_document
|
|
include_spip('action/dissocier_document');
|
|
$s = sql_select(
|
|
array('id_document','id_objet'),
|
|
'spip_documents_liens',
|
|
$in_messages." AND objet='message'"
|
|
);
|
|
while ($t = sql_fetch($s)) {
|
|
supprimer_lien_document($t['id_document'], 'message', $t['id_objet'], true);
|
|
}
|
|
// On supprimer les liens avec les auteurs
|
|
sql_delete('spip_auteurs_liens', $in_messages." AND objet='message'");
|
|
|
|
// On supprime les messages, mais pas la table qui peut etre utilise par organiseur
|
|
sql_delete(
|
|
'spip_messages',
|
|
'type = '.sql_quote('contac')
|
|
);
|
|
// On efface la version entregistrée
|
|
effacer_meta($nom_meta_version_base);
|
|
|
|
}
|