Esempio n. 1
0
File: cfg.php Progetto: rhertzog/lcs
/**
 * la fonction appelee par le core, une simple "factory" de la classe cfg
 *
 * @param mixed $class # inutilisé
 */
function exec_cfg_dist($class = null)
{
	include_spip('inc/filtres');
	include_spip('inc/cfg');
	$config = new cfg(
		($nom = sinon(_request('cfg'), '')),
		($cfg_id = sinon(_request('cfg_id'),''))
		);
	
	// traitements du formulaire poste
	// seulement s'il provient d'un formulaire CFG
	// et non d'un formulaire CVT dans un fond CFG
	if (_request('arg'))
		$config->traiter();
	
	//
	// affichages
	//
	include_spip("inc/presentation");

	if (!$config->autoriser()) {
		echo $config->acces_refuse();
		exit;
	}

	pipeline('exec_init',array('args'=>array('exec'=>'cfg'),'data'=>''));

	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page($config->get_boite(), 'cfg', $config->get_nom());
	echo "<br /><br /><br />\n";

	echo gros_titre(sinon($config->get_titre(), _T('cfg:configuration_modules')), '', false);	
	echo $config->barre_onglets();
	
	// colonne gauche
	echo debut_gauche('', true);

	// si un formulaire cfg est demande
	if ($s = $config->descriptif()) echo debut_boite_info(true) . $s . fin_boite_info(true);
	
	// affiche éventuellement une colonne supplémentaire à gauche
	if ($s = $config->gauche()) echo debut_boite_info(true) . $s . fin_boite_info(true);
	
	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'cfg'),'data'=>''));
	echo creer_colonne_droite('', true);
	echo pipeline('affiche_droite',array('args'=>array('exec'=>'cfg'),'data'=>''));
		
	// affichage des messages envoyes par cfg
	if ($s = $config->messages()) echo debut_boite_info(true) . $s . fin_boite_info(true);

	// affichage des liens
	if ($s = $config->liens()) echo debut_boite_info(true) . $s . fin_boite_info(true);
	if ($s = $config->liens_multi()) echo debut_boite_info(true) . $s . fin_boite_info(true);
	
	echo debut_droite("", true);
	
	// centre de la page	
	if ($config->get_presentation() == 'auto') {
		echo debut_cadre_trait_couleur('', true, '', $config->get_boite());
		echo $config->formulaire();
		echo fin_cadre_trait_couleur(true);
	} else {
		echo $config->formulaire();
	}

	// pied
	echo fin_gauche() . fin_page();
}
Esempio n. 2
0
File: cfg.php Progetto: rhertzog/lcs
/**
 * retourne un tableau contenant une liste de fonds cfg et leurs parametres
 * d'onglet (oui/non/titre_parent), plus quelques autres parametres (url, titre, icone),
 * pour un repertoire donne (sinon tout le path)
 * 
 * @param string $dir
 * @return string
 */
function lister_onglets_cfg($dir='', $script='cfg'){
	$onglets = array();
	
	// scruter les onglets affichables
	if ($l = liste_cfg($dir)) {
		foreach($l as $fonds => $cfg) {

			if (!isset($onglets[$fonds])) 
				$onglets[$fonds] = array();
			$args = array();
			$args['afficher'] = false;
			
			// On va chercher la config cible
			// et on regarde ses donnees pour faire l'onglet
			// seulement si l'onglet doit etre affiche
			include_spip('inc/cfg');
			$tmp = new cfg($fonds);

			if ($tmp->autoriser()){
				$args['onglet'] = $tmp->form->param['onglet'];
				$args['url'] = generer_url_ecrire($script, 'cfg='.$fonds);
				// titre
				if (!$args['titre'] = $tmp->form->param['titre'])
					$args['titre'] = $fonds;
				// icone	
				$path = dirname(dirname($cfg));	
				$args['icone'] = '';
				if ($tmp->form->param['icone'])
					$args['icone'] = $path.'/'.$tmp->form->param['icone'];
				else if (file_exists($path.'/plugin.xml'))
					$args['icone'] = 'plugin-24.gif';
				else
					$args['icone'] = _DIR_PLUGIN_CFG.'cfg-doc-22.png';	
				
				// l'afficher ?
				if ($tmp->form->param['onglet'] == 'oui')
					$args['afficher'] = true;
			}
			
			$onglets[$fonds] = array_merge($args, $onglets[$fonds]); // conserver les donnees deja presentes ('enfant_actif')
		}
	}
	return $onglets;	
}