Пример #1
0
function accesrestreint_appliquer_modifs_config() {
	include_spip('inc/meta');

	// modifs de secu (necessitent une authentification ftp)
	$liste_meta = array(
		'creer_htpasswd',
		'creer_htaccess'
	);
	foreach($liste_meta as $i) {
		if (_request($i) !== NULL
		AND _request($i) != $GLOBALS['meta'][$i]) {

			$admin = _T('info_modification_parametres_securite');
			include_spip('inc/admin');
			echo debut_admin(_request('exec'), $admin);
			foreach($liste_meta as $i) {
				if (_request($i) !== NULL) {
					ecrire_meta($i, _request($i));
				}
			}
			ecrire_metas();
			echo fin_admin($admin);
			break;
		}
	}

}
Пример #2
0
function player_affiche_config_form ($exec_page){

		global $spip_lang_right, $spip_lang_left;
		
	  if ($player = _request('player')) {
			ecrire_meta('player', $player);
			if(version_compare($GLOBALS['spip_version_code'],'1.9300','<')) { 
				include_spip("inc/meta");
				ecrire_metas();
			}
		}
		
		$player_ = $GLOBALS['meta']['player'];
		
		$out = ""
			. debut_cadre_trait_couleur(_DIR_PLUGIN_PLAYER_IMAGES."player-son-24.png", true, "", "Player Audio")
			. "<form action='".generer_url_ecrire($exec_page)."' method='post' class='verdana2'><div>"
			. bouton_radio("player", "neoplayer", "Neolao player", $player_ == "neoplayer")
			. "<br />"
			. bouton_radio("player", "dewplayer", "Dew player", $player_ == "dewplayer")
			. "<br />"
			. bouton_radio("player", "pixplayer", "One pixel out player", $player_ == "pixplayer")
			. "<br />"
			. bouton_radio("player", "eraplayer", "Erational player", $player_ == "eraplayer")
			. "<div style='text-align:$spip_lang_right'><input type='submit' name='Valider' value='"._T('bouton_valider')."' class='fondo' /></div>"
			. "</div></form>"
			. fin_cadre_trait_couleur(true)
			;

		return ($out);
}
Пример #3
0
function player_vider_tables () {
	spip_log("PLAYER: UNINSTALL");
	effacer_meta(_PLAYER_META_PREFERENCES);
	if(version_compare($GLOBALS['spip_version_code'],'1.9300','<')) { 
		include_spip("inc/meta");
		ecrire_metas();
	}
	return(true);
}
Пример #4
0
/**
 * Traite une demande de redirection
 * 
 * Si le fond du formulaire demande expressement une redirection
 * par <!-- rediriger=1 -->, on stocke le message dans une meta
 * et on redirige le client, de maniere a charger la page
 * avec la nouvelle config (ce qui permet par exemple a Autorite
 * de controler d'eventuels conflits generes par les nouvelles autorisations)
 * 
 * @param mixed $valeur # inutilisé
 * @param Object $cfg
 */
function cfg_post_traiter_param_rediriger($valeur, &$cfg){
	if ($cfg->messages) {
		include_spip('inc/meta');
		ecrire_meta('cfg_message_'.$GLOBALS['auteur_session']['id_auteur'], serialize($cfg->messages), 'non');
		if (defined('_COMPAT_CFG_192')) ecrire_metas();
		include_spip('inc/headers');
		redirige_par_entete(parametre_url(self(),null,null,'&'));
	}
}
Пример #5
0
 function effacer()
 {
     foreach ($this->champs as $name => $def) {
         if (!$this->val[$name]) {
             effacer_meta($name);
         }
     }
     if (defined('_COMPAT_CFG_192')) {
         ecrire_metas();
     }
     return array(true, $this->val);
 }
Пример #6
0
function action_description_outil_post($index) {
	global $metas_vars;
	if(defined('_SPIP19300')) $connect_id_auteur = $GLOBALS['auteur_session']['id_auteur'];
		else global $connect_id_auteur;
cs_log("Debut : action_description_outil_post($index) - On modifie la(les) variable(s) dans la base");

	// on recupere dans le POST le nom des variables a modifier et le nom de l'outil correspondant
	$variables = unserialize(urldecode(corriger_caracteres(_request('variables'))));
	$outil = corriger_caracteres(_request('outil'));
//cs_log($variables, '$variables = ');
cs_log($metas_vars, 'metas_vars :');
	// besoin des outils pour l'autorisation de modifier les variables
	include_spip('cout_utils');
	include_spip('config_outils');
	global $outils, $cs_variables;
	// on traite chaque variable
	foreach($variables as $var) if(autoriser('configurer', 'variable', 0, NULL, array('nom'=>$var, 'outil'=>$outils[$outil]))) {
		// on recupere dans le POST la nouvelle valeur de la variable
		$final = corriger_caracteres(_request($var));
		if (in_array($var, $metas_vars['_nombres'])) $final = intval($final);
		spip_log("Outil du Couteau Suisse ($outil). Demande de modification sur une variable par l'auteur id=$connect_id_auteur : %$var% = $final");
		// et on modifie les metas !
		if(!isset($cs_variables[$var]['externe'])) $metas_vars[$var] = $final;
		if(isset($cs_variables[$var]['action'])) {
			$action = str_replace('%s', $final, $cs_variables[$var]['action']);
			spip_log("Outil du Couteau Suisse ($outil). Demande d'action sur cette variable : ".$action);
			eval($action);
		}
			
	} else 
		spip_log("Outil du Couteau Suisse n°$index. Modification interdite de la variable %$var% par l'auteur id=$connect_id_auteur !!");
//cs_log($metas_vars, " -- metas_vars = ");
	ecrire_meta('tweaks_variables', serialize($metas_vars));
	ecrire_metas();

cs_log(" -- donc, reinitialisation forcee !");
	// on reinitialise tout, au cas ou ...
	include_spip('inc/invalideur');
	suivre_invalideur("1"); # tout effacer
	purger_repertoire(_DIR_SKELS);
	purger_repertoire(_DIR_CACHE);
	include_spip('cout_utils');
	cs_initialisation(true);
cs_log(" FIN : action_description_outil_post(Array($index)) - Reinitialisation forcee terminee.");
}
Пример #7
0
function exec_cs_version_dist() {
	cs_minipres();
	$version = _request('version');
	$force = _request('force')=='oui';

	// pour la version disponible, on regarde toutes les 2h00
	$maj = isset($GLOBALS['meta']['tweaks_maj'])?unserialize($GLOBALS['meta']['tweaks_maj']):array(0, '');
	if (!$force && $maj[1] && (time()-$maj[0] < 2*3600)) $distant = $maj[1];
	else {
		include_spip('inc/distant');
		$distant = recuperer_page(_URL_CS_PLUGIN_XML);
		if ($distant) $distant = $maj[1] = preg_match(',<version>([0-9.]+)</version>,', $distant, $regs)?$regs[1]:'';
		$maj[0] = time();
		if ($distant) ecrire_meta('tweaks_maj', serialize($maj));
		ecrire_metas();
	}
	include_spip('inc/texte');
	include_spip('cout_fonctions'); // fonctions pour les pipelines
	if (!$distant)
		return ajax_retour('<span style="color: red;">'._T('couteauprive:erreur:probleme', array('pb'=>cs_lien(_URL_CS_PLUGIN_XML,_T('couteauprive:erreur:distant')))).'</span>');
	ajax_retour(ptobr(propre($distant==$version?_T('couteauprive:version_a_jour'):(
		$distant?_T('couteauprive:version_nouvelle', array('version' => "[{$distant}->http://files.spip.org/spip-zone/couteau_suisse.zip]")):''
	))));
}
Пример #8
0
function galettonuts_vider_tables()
{
    $res = spip_query("SELECT `id_auteur` FROM `spip_galettonuts` WHERE 1;");
    while ($row = @mysql_fetch_array($res)) {
        spip_query("DELETE FROM `spip_auteurs` WHERE `spip_auteurs`.`id_auteur`={$row['id_auteur']};");
    }
    if (isset($GLOBALS['meta']['galettonuts_config'])) {
        $config = unserialize($GLOBALS['meta']['galettonuts_config']);
        if (isset($config['zones'])) {
            include dirname(__FILE__) . '/../inc/galettonuts_fonctions.php';
            galettonuts_dissocier_zones($config['zones']);
        }
        unset($config);
    }
    spip_query('DROP TABLE IF EXISTS spip_galettonuts');
    effacer_meta('galettonuts_version');
    effacer_meta('galettonuts_config');
    effacer_meta('galettonuts_synchro');
    ecrire_metas();
    if (file_exists(_DIR_TMP . 'galettonuts_cron.lock')) {
        unlink(_DIR_TMP . 'galettonuts_cron.lock');
    }
    if (file_exists(_DIR_TMP . 'galettonuts_cron.php')) {
        unlink(_DIR_TMP . 'galettonuts_cron.php');
    }
}
Пример #9
0
function exec_player_admin()
{
	global $connect_statut
		, $connect_toutes_rubriques
		, $spip_lang_right
		, $spip_lang_left
		;
	
	include_spip('inc/presentation');
	include_spip('inc/meta');
	include_spip('inc/config');

	include_spip('inc/player_affiche_config_form');
	include_spip('inc/player_flv_config');

	if (!(($connect_statut == '0minirezo') && $connect_toutes_rubriques)) {
		echo _T('avis_non_acces_page');
		echo fin_gauche(), fin_page();
		exit;
	}

	$message_gauche = "";

	$rubrique = "configuration";

	$player_flv_lecteurs = unserialize(_PLAYER_FLV_LECTEURS);

	// la grosse table commune a tous les profils
	$player_flv_config = player_flv_config();
	
	// lecture du meta
	$player_config = $GLOBALS['meta'][_PLAYER_META_PREFERENCES];
	$player_config = $player_config ? unserialize($player_config) : array();
	
	// est-ce bien un retour du formulaire ?
	$player_retour_formulaire = _request('btn_valider_video');
	
	// aplatir le tableau en ne recuperant que les valeurs
	$player_flv_lecteurs_values = array();
	foreach($player_flv_lecteurs as $key => $value) {
		$player_flv_lecteurs_values[$key] = $value['value'];
	}
	// verifier si le lecteur video indique est correct
	$player_video = $player_config['player_video'] = 
		(($ii = _request('player_video')) && (in_array($ii, $player_flv_lecteurs_values)))
		? $ii 
		: _PLAYER_FLV_LECTEUR_DEFAULT
		;
	$player_key = array_search($player_video, $player_flv_lecteurs_values);
	$player_config['player_key'] = $player_key;
	
	// premiere install pour le profil ou global
	if($player_premiere_installation = (!isset($player_config['player_video_prefs']))) {
		spip_log("PLAYER: premiere installation profil $player_key");
		$player_config['player_video_prefs'] = array();
	}
	
	// initialiser les variables, 
	foreach($player_flv_config as $key => $value) {
		if($player_retour_formulaire) {
			$$key = (($ii = _request($key)) ? $ii : '');
		} else if($player_premiere_installation) {
			$$key = $value['default'];
		} else {
			$$key = (isset($player_config['player_video_prefs'][$key]) ? $player_config['player_video_prefs'][$key] : '');
		}
		// retire les # (il n'en faut pas en flash)
		if($value['type'] == 'color') {
			$$key = ltrim($$key, '#');
		}
		// ne pas enregistrer les variables vides
		if(!empty($$key)) {
			$player_config['player_video_prefs'][$key] = $$key;
		}
		else if(isset($player_config['player_video_prefs'][$key])) {
			unset($player_config['player_video_prefs'][$key]);
		}
	}
	
	if($player_retour_formulaire) {
		//spip_log("PLAYER: enregistrement config profil $player_key". serialize($player_config));
		// enregistrer la config
		ecrire_meta(_PLAYER_META_PREFERENCES, serialize($player_config));
		if(version_compare($GLOBALS['spip_version_code'],'1.9300','<')) { 
			include_spip("inc/meta");
			ecrire_metas();
		}
	}
	
	$commencer_page = 
		(function_exists('debut_page'))
		? "debut_page"
		: charger_fonction('commencer_page', 'inc')
		;

////////////////////////////////////
// PAGE CONTENU
////////////////////////////////////
	
	$page_result = ""
		. $commencer_page(_T(_PLAYER_LANG."configuration_player"), _PLAYER_PREFIX)
		. "<div style='height:3em;'></div>\n"
		. gros_titre(_T(_PLAYER_LANG."configuration_player"), "", false)
		. barre_onglets($rubrique, _PLAYER_PREFIX)
		. debut_gauche($rubrique, true)
		. player_petite_boite_info()
		. $message_gauche
		. creer_colonne_droite($rubrique, true)
		. debut_droite($rubrique, true)
		;
			
	////////////////////////////////////
	// configuration audio
	$page_result .= ""
		. player_affiche_config_form('player_admin')
		;

	////////////////////////////////////
	// configuration video
	$page_result .= ""
		. debut_cadre_trait_couleur(_DIR_PLUGIN_PLAYER_IMAGES."player-video-24.png", true, '', _T(_PLAYER_LANG."player_video"))
		. player_form_debut_form('player_video_config')
		. "<ul class='player_flv_player verdana2'>\n"
		;
	foreach($player_flv_lecteurs as $key => $value) {
		$checked = ($player_video == $value['value']) ? "checked='checked' " : "";
		$class = ($checked ? " onglet_off" : "");
		$page_result .= ""
			. "<li class='flv_onglet".$class."'>"
			. "<label><input type='radio' name='player_video' value='".$value['value']."' id='$key' $checked/> ".$value['label']."</label></li>\n"
			;
	}
	$page_result .= ""
		. "</ul>\n"
		. "<ul id='player_flv_options'>\n"
		;
	foreach($player_flv_config as $key => $value) {
		$player_flv_options = "";
		switch($value['type']) {
			case 'boolean':
				$player_flv_options = "<label title='$key'><input name='$key' type='checkbox' value='1' "
					. ($$key == "1" ? "checked='checked'" : "")." />".$value['label']."</label>\n";
				break;
			case 'url':
			case 'int':
			case 'text':
				$player_flv_options = "<label title='$key'>".$value['label']."<input type='text' name='$key' value='".$$key."' class='forml' /></label>\n";
				break;
			case 'list':
				$player_flv_options = "<label title='$key'>".$value['label']."<select name='$key' class='fondl'>\n";
				foreach($value['values'] as $k1 => $v1) {
					// si la cle n'est pas une chaine, prendre $v1 pour valeur de option
					$ii = (is_string($v1) ? _T(_PLAYER_LANG.$v1) : $v1);
					$player_flv_options .= "<option value='$k1'".(($$key == $k1) ? " selected='selected'" : "").">$ii</option>\n";
				}
				$player_flv_options .= "</select></label>\n";
				break;
			case 'color':
				$player_flv_options = "<label class='incolor' title='$key'>".$value['label']
					. "<input type='text' name='$key' value='#".$$key."' style='background-color:#".$$key."' id='$key' size='7' />\n"
					. "<span class='colorpicker' style='display:none;'></span>"
					. "</label>\n";
				break;
		}
		
		$style = in_array($player_key, explode(' ', $value['class'])) ? "" : " style='display:none;'";
		$page_result .= "<li class='verdana2 ".$value['class']."'".$style.">".$player_flv_options."</li>\n";
	}
	$page_result .= ""
		. "</ul>\n"
		;
	
	////////////////////////////////////
	// fin du formulaire
	$page_result .= ""
		. "<div style='text-align:$spip_lang_right'><input type='submit' name='btn_valider_video' value='"._T('bouton_valider')."' class='fondo' /></div>"
		. player_form_fin_form()
		. fin_cadre_trait_couleur(true)
		;

	echo($page_result);
	echo fin_gauche(), fin_page();
	return(true);
}
Пример #10
0
// si de nouvelles erreurs apparaissent suite a une modif elles ne seront
// affichees qu'au hit suivant
include_spip('inc/autoriser');
global $autorite_erreurs;
if (!isset($autorite_erreurs)) {
	if (isset($GLOBALS['meta']['autorite_erreurs'])) {
		include_spip('inc/meta');
		effacer_meta('autorite_erreurs');
		ecrire_metas();
		spip_log('Autorite : OK');
	}
}
else if (serialize($autorite_erreurs) != $GLOBALS['meta']['autorite_erreurs']) {
	include_spip('inc/meta');
	ecrire_meta('autorite_erreurs', serialize($autorite_erreurs));
	ecrire_metas();
	spip_log('Erreur autorite : '.join(', ', $autorite_erreurs));
}

// Qui sont les webmestres ?
// pour le squelette cfg_autorite
function liste_webmestres($void)
{
	$webmestres = array();
	include_spip('inc/texte');
	include_spip('inc/plugin');

	// Version SPIP < 2.1 ou alors >= 2.1 mais utilisant toujours le define pour etablir la liste
	if (!function_exists('spip_version_compare') OR 
	spip_version_compare($GLOBALS['spip_version_branche'],"2.1.0-rc","<") OR
	defined('_ID_WEBMESTRES')) {
Пример #11
0
function cs_installe_outils() {
	global $metas_outils;
	$datas = array();
	foreach($metas_outils as $nom=>$o) if(isset($o['actif']) && $o['actif']) {
		include_spip('outils/'.$nom);
		if(function_exists($f = $nom.'_installe')) {
			if(($tmp=$f())!==NULL) foreach($tmp as $i=>$v)
				$datas[$i] = "function cs_data_$i() { return " . var_export($v, true) . ";\n}";
if(defined('_LOG_CS')) cs_log(" -- $f() : OK !");
		}
	}
	$datas = array('code_outils' => $datas);
	ecrire_fichier_en_tmp($datas, 'outils');
	ecrire_metas();
}
Пример #12
0
 function effacer()
 {
     // si pas de champs : on supprime directement (effacer_meta(metapack::nom))...
     if (!$this->champs) {
         effacer_meta($this->param->nom);
         if (defined('_COMPAT_CFG_192')) {
             ecrire_metas();
         }
         return array(true, array());
     }
     if (!$this->charger()) {
         return array(false, $this->val);
     }
     $ici =& $this->_ici;
     // supprimer les champs
     foreach ($this->champs as $name => $def) {
         if (isset($def['id'])) {
             continue;
         }
         unset($ici[$name]);
     }
     // supprimer les dossiers vides
     for ($i = count($this->_arbre); $i--;) {
         if ($this->_arbre[$i][0][$this->_arbre[$i][1]]) {
             break;
         }
         unset($this->_arbre[$i][0][$this->_arbre[$i][1]]);
     }
     if (!$this->_base) {
         effacer_meta($this->param->nom);
     } else {
         ecrire_meta($this->param->nom, serialize($this->_base));
     }
     if (defined('_COMPAT_CFG_192')) {
         ecrire_metas();
     }
     return array(true, array());
 }
Пример #13
0
 /**
  * Ecrire la configuration dans la base meta de Spip.
  * 
  * @return boolean
  * @access private
  **/
 function _ecrire()
 {
     $serialize = serialize($this->_config);
     ecrire_meta($this->_nom, $serialize);
     ecrire_metas();
     return $serialize === $GLOBALS['meta'][$this->_nom] ? true : false;
 }
Пример #14
0
function cs_compile_header(&$flux, $type_, $suffixe='', $rem=true) {
//if(defined('_LOG_CS')) cs_log(" -- recherche de compilations necessaires du header.");
	global $cs_metas_pipelines;
	if(isset($cs_metas_pipelines[$type = 'header_'.$type_.$suffixe])) {
		$header = &$cs_metas_pipelines[$type];
		if(strpos($header, '<cs_html>')!==false) {
			$header = preg_replace_callback(',<cs_html>(.*)</cs_html>,Ums', 'cs_compile_header_callback', $header);
			// sauvegarde en metas
			ecrire_meta('tweaks_pipelines', serialize($cs_metas_pipelines));
			ecrire_metas();
			ecrire_fichier(_DIR_CS_TMP.$type.'.html', "<!-- Fichier de controle $type_ pour le plugin 'Couteau Suisse' -->\n\n$header");
		}
		$flux .= $header;
	}
	if($rem)
		$flux = strlen(trim($flux))?"\n<!-- Debut CS -->\n$flux\n<!-- Fin CS -->\n\n":"\n<!-- CS vide -->\n\n";
}
Пример #15
0
/**
 * ecrire dans la table 'spip_meta' le champ...
 * en general pour les preferences
 * @return true
 */
function spiplistes_ecrire_metas() {
	if(spiplistes_spip_est_inferieur_193()) { 
		include_spip('inc/meta');
		ecrire_metas();
	}
	return (true);
}
Пример #16
0
function cs_initialisation($forcer=false, $init_includes=true) {
	global $cs_metas_pipelines, $metas_outils;
	static $deja_passe_ici = 0;
	if($log=defined('_LOG_CS'))	{
		$rand = sprintf('[#%04x] ', rand());
		if(!$deja_passe_ici) {
			$mysql = function_exists('mysql_get_client_info')?' - MYSQL v'.mysql_get_client_info():'';
			cs_log("#### 1er PASSAGE $rand################################# - \$forcer = ".intval($forcer)
			. "\n{$rand}PHP v".phpversion()."$mysql - base SPIP v$GLOBALS[spip_version_base] - code SPIP v$GLOBALS[spip_version_code]");
		}
	}
	$deja_passe_ici++;
if($log) cs_log("{$rand}cs_initialisation($forcer) : Passage #$deja_passe_ici");
	// si les metas ne sont pas lus, on les lit
	if (isset($GLOBALS['meta']['tweaks_pipelines'])) {
		$cs_metas_pipelines = unserialize($GLOBALS['meta']['tweaks_pipelines']);
if($log) cs_log("$rand -- cs_metas_pipelines = ".(is_array($cs_metas_pipelines)?join(', ',array_keys($cs_metas_pipelines)):''));

		// liste des actifs & definition des constantes attestant qu'un outil est bien actif : define('_CS_monoutil', 'oui');
		$liste = array();
		foreach($metas_outils as $nom=>$o) if(isset($o['actif']) && $o['actif']) { $liste[]=$nom; @define('_CS_'.$nom, 'oui'); }
		$liste2 = join(', ', $liste);
if($log) cs_log("$rand -- ".count($liste).' outil(s) actif(s)'.(strlen($liste2)?" = ".$liste2:''));
		// Vanter notre art de la compilation...
		// La globale $spip_header_silencieux permet de rendre le header absent pour raisons de securite
		if (!headers_sent() && (!isset($GLOBALS['spip_header_silencieux']) OR !$GLOBALS['spip_header_silencieux']))
				@header('X-Outils-CS: '.$liste2);
if($log) cs_log($rand.($forcer?"\$forcer = true":"cs_initialisation($forcer) : Sortie car les metas sont presents"));
		// Les pipelines sont en meta, tout va bien on peut partir d'ici.
		if (!$forcer) return;
	}
	// ici on commence l'initialisation de tous les outils
	$GLOBALS['cs_init'] = 1;
	global $outils, $metas_vars, $metas_outils;
	include_spip('inc/meta');
	include_spip('cout_utils');
	// remplir $outils (et aussi $cs_variables qu'on n'utilise pas ici);
	include_spip('config_outils');
	// verifier que tous les outils actives sont bien presents
 	foreach($metas_outils as $nom=>$o) 
		if(isset($o['actif']) && $o['actif'] && !isset($outils[$nom])) 
			unset($metas_outils[$nom]);
	ecrire_meta('tweaks_actifs', serialize($metas_outils));
	ecrire_metas();
	// stocker les types de variables declarees
	global $cs_variables;
	$metas_vars['_chaines'] = $cs_variables['_chaines'];
	$metas_vars['_nombres'] = $cs_variables['_nombres'];
	// au cas ou un outil manipule des variables
	$description_outil = charger_fonction('description_outil', 'inc');
	// completer les variables manquantes et incorporer l'activite lue dans les metas
if($log) cs_log("$rand -- foreach(\$outils) : cs_initialisation_d_un_outil()");

	// initialiser chaque outil et construire la liste des contribs
	$contribs = array();
	include_spip('inc/cs_outils');
	foreach($outils as $outil) {
		cs_initialisation_d_un_outil($id = $outil['id'], $description_outil, false);
		if(isset($outil['contrib']) && isset($metas_outils[$id]['actif']) && $metas_outils[$id]['actif'])
			$contribs[] = '<br/> &bull; [@@couteauprive:'.$outil['id'].':nom@@->http://www.spip-contrib.net/?article'.$outil['contrib'].']';
	}
	// installer $cs_metas_pipelines
	$cs_metas_pipelines = array();
if($log) cs_log("$rand -- cs_initialise_includes()... cout_fonctions.php sera peut-etre inclus.");
	// creer les includes (config/mes_options, mes_options et mes_fonctions) et le fichier de controle pipelines.php
	if($init_includes) cs_initialise_includes(count($metas_outils));
	// verifier le fichier d'options _FILE_OPTIONS (ecrire/mes_options.php ou config/mes_options.php)
	// De'sactive' par de'faut. Activer l'outil "Comportements du Couteau Suisse" pour ge'rer cette option.
	cs_verif_FILE_OPTIONS($metas_outils['cs_comportement']['actif'] && $metas_vars['spip_options_on'], true);
	// sauver la configuration
	cs_sauve_configuration();
	// en metas : outils actifs
if($log) cs_log("$rand -- ecriture metas");
	ecrire_meta('tweaks_actifs', serialize($metas_outils));
	// en metas : variables d'outils
	ecrire_meta('tweaks_variables', serialize($metas_vars));
	// en metas : code inline pour les pipelines, mes_options et mes_fonctions;
	ecrire_meta('tweaks_pipelines', serialize($cs_metas_pipelines));
	// en metas : les liens sur spip-contrib
	ecrire_meta('tweaks_contribs', serialize($contribs));
	ecrire_metas();
	$GLOBALS['cs_init'] = 0;
if($log) cs_log("{$rand}cs_initialisation($forcer) : Sortie");
}
Пример #17
0
function cout_exec_redirige($arg='', $recompiler=true) {
	if($recompiler) {
		ecrire_metas();
		cs_initialisation(true);
		include_spip('inc/invalideur');
		suivre_invalideur("1"); # tout effacer
		purger_repertoire(_DIR_SKELS);
		purger_repertoire(_DIR_CACHE);
	}
	if($arg!==false) {
		include_spip('inc/headers');
		redirige_par_entete(generer_url_ecrire(_request('exec'), $arg, true));
	}
}
Пример #18
0
function maj_auto_maj_auto_forcer_action() {
	// forcer la lecture de la derniere version de SPIP
	if(function_exists('compat_maj_spip')) compat_maj_spip(true); // pour SPIP < 2.1
	elseif($cron = charger_fonction('mise_a_jour', 'genie')) $cron(0);
	// forcer la lecture des revisions distantes de plugins
	ecrire_meta('tweaks_maj_auto', serialize(array()));
	ecrire_metas();
}