85 lines
2.6 KiB
PHP
85 lines
2.6 KiB
PHP
<?php
|
|
/**
|
|
* Fichier gérant l'installation et désinstallation du plugin GamuMail
|
|
*
|
|
* @plugin GamuMail
|
|
* @copyright 2020
|
|
* @author tofulm
|
|
* @licence GNU/GPL
|
|
* @package SPIP\Gamumail\Installation
|
|
*/
|
|
|
|
if (!defined('_ECRIRE_INC_VERSION')) {
|
|
return;
|
|
}
|
|
|
|
|
|
/**
|
|
* Fonction d'installation et de mise à jour du plugin GamuMail.
|
|
*
|
|
* @param string $nom_meta_base_version
|
|
* Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
|
|
* @param string $version_cible
|
|
* Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
|
|
* @return void
|
|
**/
|
|
function gamumail_upgrade($nom_meta_base_version, $version_cible) {
|
|
$maj = array();
|
|
|
|
$maj['create'] = array(
|
|
array('maj_tables', array('spip_gamumails')),
|
|
array('creer_compte_curl')
|
|
);
|
|
$maj['1.0.2'] = array(array('maj_tables', array('spip_gamumails')));
|
|
$maj['1.0.5'] = array(array('creer_compte_curl'));
|
|
$maj['1.0.6'] = array(array('maj_tables', array('spip_gamumails')));
|
|
$maj['1.0.11'] = array( array('maj_tables', array('spip_gamumails')));
|
|
$maj['1.0.12'] = array(array('creer_compte_curl'));
|
|
$maj['1.0.14'] = array(array('maj_tables', array('spip_gamumails')));
|
|
|
|
include_spip('base/upgrade');
|
|
maj_plugin($nom_meta_base_version, $version_cible, $maj);
|
|
}
|
|
|
|
function creer_compte_curl(){
|
|
if (sql_countsel('nom', 'spip_auteurs', 'nom="curl_login"')){
|
|
return;
|
|
}
|
|
$mdp = uniqid(uniqid(),1);
|
|
$set = [
|
|
'nom' => 'curl_login',
|
|
'login' => hash('md5', 'curl_login'.time()),
|
|
'pass' => hash('sha256', $mdp),
|
|
'statut' => '1comite'
|
|
];
|
|
|
|
$id_auteur = sql_insertq('spip_auteurs', $set);
|
|
if ($id_auteur) {
|
|
include_spip('inc/config');
|
|
ecrire_config('curl_login', $set['login']);
|
|
ecrire_config('curl_mdp', $mdp);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Fonction de désinstallation du plugin GamuMail.
|
|
*
|
|
* @param string $nom_meta_base_version
|
|
* Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
|
|
* @return void
|
|
**/
|
|
function gamumail_vider_tables($nom_meta_base_version) {
|
|
|
|
sql_drop_table('spip_gamumails');
|
|
|
|
# Nettoyer les liens courants (le génie optimiser_base_disparus se chargera de nettoyer toutes les tables de liens)
|
|
sql_delete('spip_documents_liens', sql_in('objet', array('gamumail')));
|
|
sql_delete('spip_mots_liens', sql_in('objet', array('gamumail')));
|
|
sql_delete('spip_auteurs_liens', sql_in('objet', array('gamumail')));
|
|
# Nettoyer les versionnages et forums
|
|
sql_delete('spip_versions', sql_in('objet', array('gamumail')));
|
|
sql_delete('spip_versions_fragments', sql_in('objet', array('gamumail')));
|
|
sql_delete('spip_forum', sql_in('objet', array('gamumail')));
|
|
|
|
effacer_meta($nom_meta_base_version);
|
|
}
|