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; }
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 ''; }
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>'; }