本文整理汇总了PHP中find_all_in_path函数的典型用法代码示例。如果您正苦于以下问题:PHP find_all_in_path函数的具体用法?PHP find_all_in_path怎么用?PHP find_all_in_path使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了find_all_in_path函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: configuration_type_urls_dist
function configuration_type_urls_dist()
{
if ($GLOBALS['type_urls'] != 'page') // fixe par mes_options
return '';
$dispo = array();
foreach (find_all_in_path('urls/', '\w+\.php$', array()) as $f) {
$r = basename($f, '.php');
if ($r == 'index' OR strncmp('generer_',$r,8)==0) continue;
include_once $f;
$exemple = 'URLS_' . strtoupper($r) . '_EXEMPLE';
$exemple = defined($exemple) ? constant($exemple) : '?';
$dispo[$r] = "<em>$r</em> — <tt>" . $exemple . '</tt>';
}
$res = "<p class='verdana2'>"
. _T('texte_type_urls')
. "</p>"
. "<div class='verdana2'>"
. afficher_choix('type_urls', $GLOBALS['meta']['type_urls'], $dispo)
. "</div>"
. "<p><em>"
. _T('texte_type_urls_attention', array('htaccess' => '<tt>.htaccess</tt>'))
. "</em></p>";
$res = '<br />'.debut_cadre_trait_couleur("", true, "", _T('titre_type_urls').aide("confurl"))
. ajax_action_post('configurer', 'type_urls', 'config_fonctions', '', $res)
. fin_cadre_trait_couleur(true);
return ajax_action_greffe("configurer-type_urls", '', $res);
}
示例2: verifier_lister_disponibles
/**
* Liste toutes les vérifications possibles
*
* @param string $repertoire
* Dans quel repertoire chercher les yaml.
*
* @return Retourne un tableau listant les vérifications et leurs options
*/
function verifier_lister_disponibles($repertoire='verifier'){
static $verifications = array();
if (!isset($verifications[$repertoire])) {
$verifications[$repertoire] = array();
$liste = find_all_in_path("$repertoire/", '.+[.]yaml$');
if (count($liste)){
foreach ($liste as $fichier=>$chemin){
$type = preg_replace(',[.]yaml$,i', '', $fichier);
$dossier = str_replace($fichier, '', $chemin);
// On ne garde que les vérifications qui ont bien la fonction !
if (charger_fonction($type, $repertoire, true)
and (
is_array($verif = verifier_charger_infos($type, $repertoire))
)
) {
$verifications[$repertoire][$type] = $verif;
}
}
}
}
return $verifications[$repertoire];
}
示例3: selecteur_lister_objets
function selecteur_lister_objets($whitelist = array(), $blacklist = array())
{
$liste = find_all_in_path('formulaires/selecteur/', 'hierarchie-[\\w]+[.]html$');
$objets_selectionner = array();
foreach ($liste as $fichier => $chemin) {
$objets_selectionner[] = preg_replace('/^hierarchie-([\\w]+)[.]html$/', '$1', $fichier);
}
// S'il y a une whitelist on ne garde que ce qui est dedans
if (!empty($whitelist)) {
$whitelist = array_map('table_objet', $whitelist);
$objets_selectionner = array_intersect($objets_selectionner, $whitelist);
}
// On supprime ce qui est dans la blacklist
$blacklist = array_map('table_objet', $blacklist);
// On enlève toujours la racine
$blacklist[] = 'racine';
$objets_selectionner = array_diff($objets_selectionner, $blacklist);
// Ensuite on cherche ce qu'on doit afficher : au moins ceux qu'on peut sélectionner
$objets_afficher = $objets_selectionner;
// Il faut alors chercher d'éventuels parents obligatoires :
// lister-trucs-bidules.html => on doit afficher des "trucs" pour trouver des "bidules"
$liste = find_all_in_path('formulaires/selecteur/', 'lister-[\\w]+-[\\w]+[.]html$');
foreach ($liste as $fichier => $chemin) {
preg_match('/^lister-([\\w]+)-([\\w]+)[.]html$/', $fichier, $captures);
$parent = $captures[1];
$type = $captures[2];
// Si le type fait partie de ce qu'on veut sélectionner alors on ajoute le parent à l'affichage
if (in_array($type, $objets_selectionner)) {
$objets_afficher[] = $parent;
}
}
$objets = array('selectionner' => array_unique($objets_selectionner), 'afficher' => array_unique($objets_afficher));
return $objets;
}
示例4: cextras_types_formulaires
function cextras_types_formulaires(){
$types = array();
// saisies de ce plugin
$saisies = find_all_in_path('extra-saisies/','.*\.html$');
$noms = array();
foreach($saisies as $saisie) {
$type = basename($saisie,'.html');
$noms['interne/'.$type] = _T('cextras:type', array('type' => $type));
}
$types[_T('iextras:saisies_champs_extras')] = $noms;
if (_CHAMPS_EXTRAS_SAISIES_EXTERNES) {
// plugin saisies (attention au chemin "/saisies/saisies/_base.html")
$saisies = find_all_in_path('saisies/','/([^_/]{1}[^/]*)\.html$');
$noms = array();
foreach($saisies as $saisie) {
$type = basename($saisie,'.html');
$noms['externe/'.$type] = _T('cextras:type', array('type' => $type));
}
$types[_T('iextras:saisies_saisies')] = $noms;
}
return $types;
}
示例5: snippets_liste_imports
function snippets_liste_imports($table){
$pattern = $table;
if (substr($table,0,5)=="spip_") $table = substr($table,5);
$pattern = ".*[.]xml$";
$snippets = find_all_in_path("snippets/$table/",$pattern);
return $snippets;
}
示例6: type_urls_lister
function type_urls_lister()
{
$dispo = array();
foreach (find_all_in_path('urls/', '\\w+\\.php$', array()) as $f) {
$r = basename($f, '.php');
if ($r == 'index' or strncmp('generer_', $r, 8) == 0 or $r == "standard") {
continue;
}
include_once $f;
$exemple = 'URLS_' . strtoupper($r) . '_EXEMPLE';
$exemple = defined($exemple) ? constant($exemple) : '?';
$dispo[_T("urls:titre_type_{$r}")] = array($r, _T("urls:titre_type_{$r}"), $exemple);
}
ksort($dispo);
return $dispo;
}
示例7: init_langues
/**
* Initialisation des listes de langues
*
* Initialise les métas :
* - langues_proposees : liste des traductions disponibles
* - langue_site : langue par défaut du site
*
* Lorsque ces métas n'existent pas encore (c'est à dire à l'installation),
* elles sont calculées en obtenant la liste des langues
* dans les fichiers de lang
*
* @return void
**/
function init_langues()
{
// liste des langues dans les meta, sauf a l'install
$all_langs = @$GLOBALS['meta']['langues_proposees'];
$tout = array();
if (!$all_langs) {
// trouver tous les modules lang/spip_xx.php
$modules = find_all_in_path("lang/", "/spip_([a-z_]+)\\.php[3]?\$");
foreach ($modules as $name => $path) {
if (preg_match(',^spip_([a-z_]+)\\.php[3]?$,', $name, $regs)) {
$tout[] = $regs[1];
}
}
sort($tout);
$tout = join(',', $tout);
// Si les langues n'ont pas change, ne rien faire
if ($tout != $all_langs) {
$GLOBALS['meta']['langues_proposees'] = $tout;
include_spip('inc/meta');
ecrire_meta('langues_proposees', $tout);
}
}
if (!isset($GLOBALS['meta']['langue_site'])) {
// Initialisation : le francais si dispo, sinon la premiere langue trouvee
$GLOBALS['meta']['langue_site'] = $tout = (!$all_langs or strpos(',' . _LANGUE_PAR_DEFAUT . ',', ",{$all_langs},") !== false) ? _LANGUE_PAR_DEFAUT : substr($all_langs, 0, strpos($all_langs, ','));
ecrire_meta('langue_site', $tout);
}
}
示例8: barre_outils_liste
/**
* Retourne la liste des barres d'outils connues
*
* @return array/false : tableau des noms de barres trouvees
*/
function barre_outils_liste(){
static $sets = -1;
if ($sets !== -1)
return $sets;
// on recupere l'ensemble des barres d'outils connues
if (!$sets = find_all_in_path('barre_outils/','.*[.]php')
or !is_array($sets)) {
spip_log("[Scandale] Porte Plume ne trouve pas de barre d'outils !");
$sets = false;
return $sets;
}
foreach($sets as $fichier=>$adresse) {
$sets[$fichier] = substr($fichier,0,-4); // juste le nom
}
return $sets;
}
示例9: info_progression_etape
function info_progression_etape($en_cours, $phase, $dir, $erreur = false)
{
//$en_cours = _request('etape')?_request('etape'):"";
$liste = find_all_in_path($dir, $phase . '(([0-9])+|fin)[.]php$');
$debut = 1;
$etat = "ok";
$last = count($liste);
// $texte_etat = array('ok'=>'OK','encours'=>_T('en_cours'),'todo'=>_T('todo'));
$intitule_etat["etape_"][1] = typo(_T('info_connexion_base_donnee'));
$intitule_etat["etape_"][2] = typo(_T('menu_aide_installation_choix_base'));
$intitule_etat["etape_"][3] = typo(_T('info_informations_personnelles'));
$intitule_etat["etape_"][4] = typo(_T('info_derniere_etape'));
$intitule_etat["etape_ldap"][1] = typo(_T('titre_connexion_ldap'));
$intitule_etat["etape_ldap"][2] = typo(_T('titre_connexion_ldap'));
$intitule_etat["etape_ldap"][3] = typo(_T('info_chemin_acces_1'));
$intitule_etat["etape_ldap"][4] = typo(_T('info_reglage_ldap'));
$intitule_etat["etape_ldap"][5] = typo(_T('info_ldap_ok'));
// $aff_etapes = "<span id='etapes'>";
$aff_etapes = "<ul id='infos_etapes' class='infos_{$phase}{$en_cours}'>";
foreach ($liste as $etape => $fichier) {
if ($debut < $last) {
if ($debut == $en_cours && $erreur) {
$class = "on erreur";
} else {
if ($debut == $en_cours) {
$class = "on";
} else {
if ($debut > $en_cours) {
$class = "prochains";
} else {
$class = "valides";
}
}
}
$aff_etapes .= "<li class='{$class}'><div class='fond'>";
$aff_etapes .= $debut == $en_cours ? "<strong>" : '';
$aff_etapes .= "<em>" . _T('etape') . " </em><span class='numero_etape'>{$debut}</span><em> : </em>";
$aff_etapes .= $intitule_etat["{$phase}"][$debut];
$aff_etapes .= $debut == $en_cours ? "</strong>" : '';
$aff_etapes .= "</div></li>";
}
$debut++;
}
$aff_etapes .= "</ul>";
$aff_etapes .= "<br class='nettoyeur' />\n";
return $aff_etapes;
}
示例10: lister_configurer
function lister_configurer($exclure = array())
{
return array();
// lister les pages de config deja dans les menus
$deja = array();
foreach ($exclure as $id => $b) {
$url = $b['url'] ? $b['url'] : $id;
if (!$b['url'] or !isset($exclure[$url])) {
if (strncmp($url, 'configurer_', 11) == 0) {
$deja[$url] = $b;
} elseif ($b['url'] == 'configurer' and preg_match(',cfg=([a-z0-9_]+),i', $b['args'], $match)) {
$deja["configurer_" . $match[1]] = $b;
}
}
}
$exclure = $exclure + $deja;
$icone_defaut = "images/configuration-16.png";
$liste = array();
$skels = array();
$forms = array();
// trouver toutes les pages configurer_xxx de l'espace prive
// et construire un tableau des entrees qui ne sont pas dans $deja
$pages = find_all_in_path("prive/squelettes/contenu/", "configurer_.*[.]" . _EXTENSION_SQUELETTES . '$');
foreach ($pages as $page) {
$configurer = basename($page, "." . _EXTENSION_SQUELETTES);
if (!isset($exclure[$configurer])) {
$liste[$configurer] = array('parent' => 'bando_configuration', 'url' => $configurer, 'titre' => _T("configurer:{$configurer}_titre"), 'icone' => find_in_theme($i = "images/{$configurer}-16.png") ? $i : $icone_defaut);
}
$skels[$configurer] = $page;
}
// analyser la liste des $skels pour voir les #FORMULAIRE_CONFIGURER_ inclus
foreach ($skels as $file) {
$forms = array_merge($forms, lister_formulaires_configurer($file));
}
$forms = array_flip($forms);
// trouver tous les formulaires/configurer_
// et construire un tableau des entrees
$pages = find_all_in_path("formulaires/", "configurer_.*[.]" . _EXTENSION_SQUELETTES . '$');
foreach ($pages as $page) {
$configurer = basename($page, "." . _EXTENSION_SQUELETTES);
if (!isset($forms[$configurer]) and !isset($liste[$configurer]) and !isset($exclure[$configurer])) {
$liste[$configurer] = array('parent' => 'bando_configuration', 'url' => 'configurer', 'args' => 'cfg=' . substr($configurer, 11), 'titre' => _T("configurer:{$configurer}_titre"), 'icone' => find_in_theme($i = "images/{$configurer}-16.png") ? $i : $icone_defaut);
}
}
return $liste;
}
示例11: tous_les_fonds
function tous_les_fonds($dir,$pattern){
$liste = find_all_in_path($dir,$pattern);
foreach($liste as $k=>$v)
$liste[$k] = $dir . basename($v,'.html');
return $liste;
}
示例12: saisies_groupes_lister_disponibles
/**
* Liste tous les groupes de saisies configurables (ayant une description).
*
* @return array Un tableau listant des saisies et leurs options
*/
function saisies_groupes_lister_disponibles($saisies_repertoire = "saisies") {
static $saisies = null;
if (is_null($saisies)) {
$saisies = array();
$liste = find_all_in_path("$saisies_repertoire/", '.+[.]yaml$');
if (count($liste)) {
foreach ($liste as $fichier => $chemin) {
$type_saisie = preg_replace(',[.]yaml$,i', '', $fichier);
$dossier = str_replace($fichier, '', $chemin);
// On ne garde que les saisies qui ont bien le HTML avec !
if (is_array($saisie = saisies_charger_infos($type_saisie,$saisies_repertoire))) {
$saisies[$type_saisie] = $saisie;
}
}
}
}
return $saisies;
}
示例13: saisies_lister_disponibles
/**
* Liste toutes les saisies configurables (ayant une description)
*
* @return array Un tableau listant des saisies et leurs options
*/
function saisies_lister_disponibles()
{
static $saisies = null;
if (is_null($saisies)) {
$saisies = array();
$liste = find_all_in_path('saisies/', '.+[.]yaml$');
if (count($liste)) {
foreach ($liste as $fichier => $chemin) {
$type_saisie = preg_replace(',[.]yaml$,i', '', $fichier);
$dossier = str_replace($fichier, '', $chemin);
// On ne garde que les saisies qui ont bien le HTML avec !
if (file_exists("{$dossier}{$type_saisie}.html") and is_array($saisie = saisies_charger_infos($type_saisie))) {
$saisies[$type_saisie] = $saisie;
}
}
}
}
return $saisies;
}
示例14: compositions_lister_disponibles
/**
* Lister les compositions disponibles : toutes ou pour un type donne
* Si informer est a false, on ne charge pas les infos du xml
*
* @param string $type
* @param bool $informer
* @return array
*/
function compositions_lister_disponibles($type, $informer=true){
include_spip('inc/compositions');
$type_match = "";
if (strlen($type)){
$type = objet_type($type); // securite
$type_match = $type;
}
else {
// _ pour le cas des groupe_mots
$type_match = "[a-z0-9_]+";
}
// rechercher les skel du type article-truc.html
// truc ne doit pas commencer par un chiffre pour eviter de confondre avec article-12.html
$match = "($type_match)("._COMPOSITIONS_MATCH.")?[.]html$";
// lister les compositions disponibles
$liste = find_all_in_path(compositions_chemin(),$match);
$res = array();
if (count($liste)){
foreach($liste as $s) {
$base = preg_replace(',[.]html$,i','',$s);
if (preg_match(",$match,ims",basename($s),$regs)
AND ($composition = !$informer
OR $composition = compositions_charger_infos($base)))
{
$regs = array_pad($regs, 4, null);
$res[$regs[1]][$regs[3]] = $composition;
// retenir les skels qui ont un xml associe
}
}
}
// Pipeline compositions_lister_disponibles
$res = pipeline('compositions_lister_disponibles',array(
'args'=>array('type' => $type,'informer' => $informer),
'data'=> $res
)
);
return $res;
}
示例15: tinymce_listerfondsconfig
/**
* Recupere la liste des config de barres TinyMCE disponibles
* => liste des squelettes 'fonds/tinymce_XXX.html'
*/
function tinymce_listerfondsconfig()
{
$liste_squelettes = find_all_in_path('', 'fonds/tinymce/(.*)', true);
$liste_fonds = array();
foreach ($liste_squelettes as $name => $path) {
$liste_fonds[] = str_replace('.html', '', $name);
}
return $liste_fonds;
}