/** * Installation du plugin * * A chaque appel de exec/admin_plugin, si le plugin est active, * spip detecte spiplistes_install() et l'appelle 3 fois : * 1/ $action = 'test' * 2/ $action = 'install' * 3/ $action = 'test' * @global string $GLOBALS['meta']['spiplistes_version'] * @return boolean */ function spiplistes_install ($action) { include_spip('inc/spipliste_api_globales'); spiplistes_debug_log('spiplistes_install()'); switch($action) { case 'test': // si renvoie true, c'est que la base est a jour, inutile de re-installer // la valise plugin "effacer tout" apparait. // si renvoie false, SPIP revient avec $action = 'install' (une seule fois) $spiplistes_version = $GLOBALS['meta']['spiplistes_version']; $result = ( $spiplistes_version && ($spiplistes_version >= spiplistes_real_version_get(_SPIPLISTES_PREFIX)) && sql_showtable("spip_listes",true) ); //spiplistes_debug_log("TEST: ".($result ? "OK" : "NO")); return($result); break; case 'install': if(!$GLOBALS['meta']['spiplistes_version']) { $result = spiplistes_base_creer(); $str_log = "create"; } else { // logiquement, ne devrait pas passer par la (upgrade assure par mes_options) include_spip('base/spiplistes_upgrade'); $result = spiplistes_upgrade(); $str_log = "upgrade"; } $result = ( $result && spiplistes_initialise_spip_metas_spiplistes() && spiplistes_activer_inscription_visiteurs() ); $str_log = "INSTALL: $str_log " . spiplistes_str_ok_error($result); if(!$result) { // nota: SPIP ne filtre pas le resultat. Si retour en erreur, // la case a cocher du plugin sera quand meme cochee $str_log .= ": PLEASE REINSTALL PLUGIN"; } else { echo(_T('spiplistes:_aide_install' , array('url_config' => generer_url_ecrire(_SPIPLISTES_EXEC_CONFIGURE)) )); } spiplistes_log($str_log); return($result); break; case 'uninstall': // est appelle lorsque "Effacer tout" dans exec=admin_plugin $result = spiplistes_vider_tables(); spiplistes_log("UNINSTALL: " . spiplistes_str_ok_error($result)); return($result); break; default: break; } return (FALSE); }
$spiplistes_items[_SPIPLISTES_LIST_PUB_DAILY] = $spiplistes_items[_SPIPLISTES_LIST_PUBLIC]; $spiplistes_items[_SPIPLISTES_LIST_PUB_HEBDO] = $spiplistes_items[_SPIPLISTES_LIST_PUB_WEEKLY]; $spiplistes_items[_SPIPLISTES_LIST_PUB_MENSUEL] = $spiplistes_items[_SPIPLISTES_LIST_PUB_MONTHLY]; $spiplistes_items[_SPIPLISTES_LIST_PUB_MONTHLY]['nav_t'] = _T('spiplistes:Listes_1_du_mois'); $spiplistes_items[_SPIPLISTES_LIST_PUB_MONTHLY]['tab_t'] = _T('spiplistes:Liste_diffusee_le_premier_de_chaque_mois'); $spiplistes_version = isset($meta['spiplistes_version'])?$meta['spiplistes_version']:""; $spiplistes_real_version = spiplistes_real_version_get(_SPIPLISTES_PREFIX); $spiplistes_base_version = isset($meta['spiplistes_base_version'])?$meta['spiplistes_base_version']:""; $spiplistes_real_base_version = spiplistes_real_version_base_get(_SPIPLISTES_PREFIX); if( ($spiplistes_version && ($spiplistes_real_version > $spiplistes_version)) || ($spiplistes_base_version && ($spiplistes_real_base_version > $spiplistes_base_version)) ) { // faire upgrade auto include_spip('base/spiplistes_upgrade'); spiplistes_upgrade(); } /* spiplistes_debug_log('version: '.$spiplistes_version . ' ' . 'real_version: '.$spiplistes_real_version . ' ' . 'base_version: '.$spiplistes_base_version . ' ' . 'real_base_version: '.$spiplistes_real_base_version); */ //$opt_console_debug = (spiplistes_pref_lire ('opt_console_debug' == 'oui') ? true : false); //($opt_console_debug && spiplistes_log('-- starting spiplistes plugin'));