示例#1
0
/**
 * Pour mise à jour de PSIP-Listes
 *
 * @return string
 */
function spiplistes_upgrade () {

	$spiplistes_name = _SPIPLISTES_PREFIX;
	$spiplistes_current_version =  spiplistes_current_version_get(_SPIPLISTES_PREFIX);
	$spiplistes_real_version = spiplistes_real_version_get(_SPIPLISTES_PREFIX);
	$spiplistes_current_version_base = spiplistes_current_version_base_get(_SPIPLISTES_PREFIX);
	$spiplistes_real_version_base = spiplistes_real_version_base_get(_SPIPLISTES_PREFIX);

	spiplistes_log("VERSIONS MOD DETECTED [$spiplistes_current_version::$spiplistes_real_version][$spiplistes_current_version_base::$spiplistes_real_version_base]");

	if(!$spiplistes_current_version) {
	// SPIP-Listes n'a jamais ete installe ? 
		include_spip('base/spiplistes_init');
		$spiplistes_current_version_base = spiplistes_base_creer();
	}

	if($spiplistes_current_version_base < $spiplistes_real_version_base) {
	// upgrade de la base ?
		$spiplistes_current_version_base = spiplistes_upgrade_base(
			$spiplistes_name
			, $spiplistes_current_version
			, $spiplistes_current_version_base
			, $spiplistes_real_version_base
			);
	}
	
	if($spiplistes_current_version < $spiplistes_real_version) {

		spiplistes_log("UPGRADING $spiplistes_name $spiplistes_current_version TO $spiplistes_real_version");

		if($spiplistes_current_version < 1.9982) {
			// Ne modifie pas le schema. Ajoute juste une legende sur les tables
			sql_alter("TABLE spip_listes COMMENT ".sql_quote("Listes de diffusion"));
			sql_alter("TABLE spip_courriers COMMENT ".sql_quote("Panier des courriers (casiers)"));
			sql_alter("TABLE spip_auteurs_courriers COMMENT ".sql_quote("Queue des envois de courriers"));
			sql_alter("TABLE spip_auteurs_listes COMMENT ".sql_quote("Listes de abonnements aux listes"));
			sql_alter("TABLE spip_auteurs_mod_listes COMMENT ".sql_quote("Moderateurs des listes de diffusion"));
			sql_alter("TABLE spip_auteurs_elargis COMMENT ".sql_quote("Preferences des auteurs/abonnes (formats recept.)"));
			$spiplistes_current_version = 1.9923;
		}

/* ... */


	// Ajouter au dessus de cette ligne les patches si besoin pour nouvelle version de SPIP-Listes
	// qui ne concerne pas la base (changement de nom de script, de patron, etc.)

	// fin des ajouts de patches
		ecrire_meta('spiplistes_version', $spiplistes_real_version);
		spiplistes_ecrire_metas();
	}
	
	return($spiplistes_current_version);
}
function spiplistes_insert_head ($flux) {
	
	$sig =
		(isset($GLOBALS['spip_header_silencieux']) && $GLOBALS['spip_header_silencieux'])
		? ""
		: "\n\n<!-- SPIP-Listes v.: ".spiplistes_real_version_get(_SPIPLISTES_PREFIX)." -->\n"
		;

	// pour le formulaire en général
	$flux .= ""
		. $sig
		// deja charge' dans le squelette
		//. "<link rel='stylesheet' href='".find_in_path('spiplistes_formulaire.css')."' type='text/css' media='all' />\n"
		;

	// pour la page abonnement.html
	if(in_array(_request('page'), array(
		'abonnement'	// qui contient aussi le formulaire 
		)
		)
	) {
	
		$flux .= ""
			. "<link rel='stylesheet' href='".find_in_path('spiplistes_style.css')."' type='text/css' media='all' />\n"
			;
		if(
			(($s = spiplistes_pref_lire('opt_plier_deplier_formabo')) && ($s == 'oui'))
			&& ($f = find_in_path("javascript/spiplistes_abonnement.js")))
		{
			//$flux .= "<script type='text/javascript' src='" . compacte($f) . "'></script>\n";
			$flux .= "<script type='text/javascript' src='" . $f . "'></script>\n";
		}
	}

	if(!empty($sig))
	{
		$flux .= "<!-- SPIP-Listes / -->\n";
	}
	
	return($flux);
}
示例#3
0
/**
 * @global string $GLOBALS['meta'][_SPIPLISTES_META_PREFERENCES]
 * @return boolean
 */
function spiplistes_initialise_spip_metas_spiplistes ($reinstall = false) {

	if(!isset($GLOBALS['meta'][_SPIPLISTES_META_PREFERENCES])) {
		$GLOBALS['meta'][_SPIPLISTES_META_PREFERENCES] = "";
	}

	// par default, simuler les envois a l'installation
	spiplistes_ecrire_key_in_serialized_meta ('opt_simuler_envoi', "oui", _SPIPLISTES_META_PREFERENCES);
	
	// les autres preferences serialisees ('_SPIPLISTES_META_PREFERENCES') sont installees par exec/spiplistes_config

	// autres valeurs par defaut a l'installation
	$spiplistes_spip_metas = array(
		'spiplistes_lots' => _SPIPLISTES_LOT_TAILLE
		, 'spiplistes_charset_envoi' => _SPIPLISTES_CHARSET_ENVOI
		, 'mailer_smtp' => 'non'
		, 'abonnement_config' => 'simple'
		, 'spiplistes_version' => spiplistes_real_version_get(_SPIPLISTES_PREFIX)
	);
	foreach($spiplistes_spip_metas as $key => $value) {
		if($reinstall 
			|| !isset($GLOBALS['meta'][$key])
			|| ($GLOBALS['meta'][$key] != $value)
		) {
			ecrire_meta($key, $value);
		}
	}
	
	spiplistes_ecrire_metas();
	
	return(true);
}
示例#4
0
		, 'icon_color' => '9cc'
		, 'alt' => _T('spiplistes:Inconnu')
		, 'nav_t' => _T('spiplistes:Inconnu')
		, 'tab_t' => _T('spiplistes:Inconnu')
		, 'desc' => null
		)
	);
	
	$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 . ' '
function spiplistes_header_prive ($flux) {

	$exec = _request('exec');

	$flux .= ""
		. "\n\n<!-- SPIPLISTES GADGETS v.: ".spiplistes_real_version_get(_SPIPLISTES_PREFIX)." -->\n"
		. "<script src='".url_absolue(find_in_path('javascript/spiplistes_gadgets.js'))."' type='text/javascript'></script>\n"
		;

	if(in_array($exec, array(
		_SPIPLISTES_EXEC_ABONNES_LISTE
		, _SPIPLISTES_EXEC_COURRIER_GERER
		, _SPIPLISTES_EXEC_COURRIER_EDIT
		, _SPIPLISTES_EXEC_COURRIERS_LISTE
		, _SPIPLISTES_EXEC_LISTES_LISTE
		, _SPIPLISTES_EXEC_LISTE_GERER
		, _SPIPLISTES_EXEC_LISTE_EDIT
		, _SPIPLISTES_EXEC_MAINTENANCE
		, _SPIPLISTES_EXEC_CONFIGURE
		, 'auteur_infos' // liste-listes
		, _SPIPLISTES_EXEC_IMPORT_EXPORT
		)
		)
	) {
		$js_dir = _DIR_PLUGIN_SPIPLISTES . "javascript/";
		
		$flux .= "\n\n<!-- SPIP-Listes -->\n" 
			. "<link rel='stylesheet' href='"._DIR_PLUGIN_SPIPLISTES."spiplistes_style_prive.css' type='text/css' media='all' />\n"
			;

		switch($exec) {
			case _SPIPLISTES_EXEC_COURRIER_EDIT:
			case _SPIPLISTES_EXEC_COURRIER_GERER:
				$flux .= ""
					. "<script type=\"text/javascript\" src=\"" . $js_dir . "spiplistes_courrier_edit.js\"></script>\n"
/*
 le datepicker ne sert plus dans cette version.					
					. "<link rel='stylesheet' href='".url_absolue(find_in_path('img_pack/date_picker.css'))."' type='text/css' media='all' />\n"
					. "<script src='".url_absolue(find_in_path('javascript/datepicker.js'))."' type='text/javascript'></script>\n"
 A priori, ce bout de code ne sert plus
					. "<script src='".url_absolue(find_in_path('javascript/jquery-dom.js'))."' type='text/javascript'></script>\n"
*/					
					. "<meta http-equiv='expires' content='0' />\n"
					. "<meta http-equiv='pragma' content='no-cache' />\n"
					. "<meta http-equiv='cache-control' content='no-cache' />\n"
					;
				break;
			case _SPIPLISTES_EXEC_COURRIERS_LISTE:
				break;
			case _SPIPLISTES_EXEC_CONFIGURE:
				$flux .= "<script type=\"text/javascript\" src=\"" . $js_dir . "spiplistes_config.js\"></script>\n";
				break;
			case _SPIPLISTES_EXEC_LISTE_GERER:
				$js_alert = spiplistes_texte_html_2_iso(_T('spiplistes:Attention_action_retire_invites'), $GLOBALS['meta']['charset'], true);
				$flux .= ""
					. "<meta id='x-spiplistes-alert' content='" . $js_alert . "' />\n"
					. "<meta id='x-spiplistes-pri' name='" . _SPIPLISTES_LIST_PRIVATE . "' content='" . spiplistes_items_get_item("puce", _SPIPLISTES_LIST_PRIVATE) . "' />\n"
					. "<meta id='x-spiplistes-pub' name='" . _SPIPLISTES_LIST_PUBLIC . "' content='" . spiplistes_items_get_item("puce", _SPIPLISTES_LIST_PUBLIC) . "' />\n"
					. "<meta id='x-spiplistes-tra' name='" . _SPIPLISTES_TRASH_LIST . "' content='" . spiplistes_items_get_item("puce", _SPIPLISTES_TRASH_LIST) . "' />\n"
					. "<script type=\"text/javascript\" src=\"" . $js_dir . "spiplistes_liste_gerer.js\"></script>\n"
					. "<style type='text/css'>
.spiplistes .supprimer_cet_abo {background-image:url(".find_in_path("images/croix-rouge.gif").")}
</style>"
					;
				break;
			case _SPIPLISTES_EXEC_ABONNES_LISTE:
				$flux .= "<script type=\"text/javascript\" src=\"" . $js_dir . "spiplistes_abonnes_tous.js\"></script>\n
<style type='text/css'>
.spiplistes .supprimer_cet_abo {background-image:url(".find_in_path("images/croix-rouge.gif").")}
</style>
";			
				break;
			case _SPIPLISTES_EXEC_MAINTENANCE:
				$flux .= "<script type=\"text/javascript\" src=\"" . $js_dir . "spiplistes_maintenance.js\"></script>\n";
				break;
		}
		$flux .= "<!-- SPIP-Listes /-->\n\n";
	}

	return ($flux);
}