Exemplo n.º 1
0
function autoriser_outil_configurer_dist($faire, $type, $id, $qui, $opt) {
	if(!is_array($opt)) return autoriser('configurer', 'cs', $id, $qui, $opt);
	// test sur la version de SPIP
	$test = !cs_version_erreur($opt)
		// autorisation d'un outil en particulier
		&& autoriser('configurer', 'outil_'.$opt['id'], $id, $qui, $opt)
		// autorisation de la categorie de l'outil
		&& autoriser('configurer', 'categorie_'.$opt['categorie'], $id, $qui, $opt);
	if($test && isset($opt['autoriser']))
		eval('$test &= '.$opt['autoriser'].';');
	return $test;
}
Exemplo n.º 2
0
function detail_outil($outil_id) {
	global $outils;
	$outil = &$outils[$outil_id];
	$div = '<div class="cs_details_outil">';
	if(cs_version_erreur($outil)) return $div . _T('couteauprive:erreur:version') . '</div>';
	$details = $a = array();
	foreach(array('spip_options', 'options', 'fonctions', 'js', 'jq', 'css') as $in)
		if(isset($outil['code:'.$in])) $a[] = _T('couteauprive:code_'.$in);
	if(count($a)) $details[] = _T('couteauprive:detail_inline') . ' ' . join(', ', $a);
	$a = array();
	foreach(array('.php', '_options.php', '_fonctions.php', '.js', '.js.html', '.css', '.css.html') as $ext)
		if(find_in_path('outils/'.($temp=$outil_id.$ext))) $a[] = $temp;
	if(count($a)) $details[] = _T('couteauprive:detail_fichiers') . ' ' . join(', ', $a);
	if($b=cs_balises_traitees($outil_id)) $details[] = _T('couteauprive:detail_traitements') . $b;
	$serkeys = serialize(array_keys($outil));
	if(preg_match_all(',(pipeline|pipelinecode):([a-z_]+),', $serkeys, $regs, PREG_PATTERN_ORDER))
		$details[] = _T('couteauprive:detail_pipelines') . ' ' . join(', ', array_unique($regs[2]));
	if($outil['nb_disabled']) $details[] = _T('couteauprive:detail_disabled') . ' ' . $outil['nb_disabled'];
	if($outil['surcharge']) $details[] = _T('couteauprive:detail_surcharge') . ' ' . _T('item_oui');
	if(isset($outil['fichiers_distants'])) {
		$a = array();
		foreach($outil['fichiers_distants'] as $i) $a[] = basename($outil[$i]);
		$details[] = _T('couteauprive:detail_fichiers_distant') . ' ' . join(', ', $a);
	}
	if(count($details)) return $div . join('<br />', $details) . '</div>';
	return '';
}
Exemplo n.º 3
0
function cs_aide_pipelines($outils_affiches_actifs) {
	global $cs_metas_pipelines, $outils, $metas_outils;
	$aide = array();
	$keys = array_keys($cs_metas_pipelines); sort($keys);
	foreach ($keys as $pipe) {
		// stockage de la liste des pipelines et du nombre d'outils actifs concernes
		$nb=0; foreach($outils as $outil) if($outil['actif'] && (isset($outil['pipeline:'.$pipe]) || isset($outil['pipelinecode:'.$pipe]))) $nb++;
		if(($len=strlen($pipe))>25) $pipe = substr($pipe, 0, 8).'...'.substr($pipe, $len - 14);
		if($nb) $aide[] = _T('couteauprive:outil_nb'.($nb>1?'s':''), array('pipe'=>$pipe, 'nb'=>$nb));
	}
	// nombre d'outils actifs / interdits par les autorisations (hors versionnage SPIP)
	$nb = $ca2 = 0; 
	foreach($metas_outils as $o) if(isset($o['actif']) && $o['actif']) $nb++;
	foreach($outils as $o) if(isset($o['interdit']) && $o['interdit'] && !cs_version_erreur($o)) $ca2++;
	// nombre d'outils caches de la configuration par l'utilisateur
	$ca1 = isset($GLOBALS['meta']['tweaks_caches'])?count(unserialize($GLOBALS['meta']['tweaks_caches'])):0;
	return '<p><b>' . _T('couteauprive:outils_actifs') . "</b> $nb"
		. '<br /><b>' . _T('couteauprive:outils_caches') . "</b> $ca1"
		. (!$ca2?'':('<br /><b>' . _T('couteauprive:outils_non_parametrables') . "</b> $ca2"))
		.'<br /><b>' . _T('couteauprive:pipelines') . '</b> '.count($aide)
		. '</p><p style="font-size:80%; margin-left:0.4em;">' . join("<br />", $aide) . '</p>';
}