コード例 #1
0
ファイル: spiplistes_init.php プロジェクト: rhertzog/lcs
/**
 * 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);
}
コード例 #2
0
	$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'));