Skip to content
Extraits de code Groupes Projets
Valider 62324c2a rédigé par ARNO*'s avatar ARNO*
Parcourir les fichiers

Ajout d'un dossier de "plug-ins", en complement a mes_fonctions

parent ded7afd2
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -2,13 +2,17 @@
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_AGENDA")) return;
define("_ECRIRE_INC_AGENDA", "1");
if (defined("_ECRIRE_INC_CONFIG")) return;
define("_ECRIRE_INC_CONFIG", "1");
include_ecrire ("inc_meta.php3");
include_ecrire ("inc_admin.php3");
include_ecrire ("inc_mail.php3");
// Peut-etre a deplacer par la suite
include_ecrire ("inc_config_plug.php3");
installer_plugins();
//
// Appliquer les valeurs par defaut pour les options non initialisees
......
<?php
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_CONFIG_PLUG")) return;
define("_ECRIRE_INC_CONFIG_PLUG", "1");
function fichiers_plugins($dir) {
$fichiers = array();
$d = opendir($dir);
while ($f = readdir($d)) {
if (is_file("$dir/$f") AND $f != 'remove.txt') {
if (ereg("^plug", $f)) {
$fichiers[] = "$dir/$f";
}
} else if (is_dir("$dir/$f") AND $f != '.' AND $f != '..') {
$fichiers_dir = fichiers_plugins("$dir/$f");
while (list(,$f2) = each ($fichiers_dir))
$fichiers[] = $f2;
}
}
closedir($d);
sort($fichiers);
return $fichiers;
}
function installer_plugins () {
$fichiers = array();
$fichiers = fichiers_plugins("plugins");
$plugs = "<"."?php\n\n";
$plugs .= "if(defined('_ECRIRE_INC_PLUGINS')) return;\n";
$plugs .= "define('_ECRIRE_INC_PLUGINS', '1');\n\n";
while (list(, $nom_fichier) = each($fichiers)) {
$plugs .= "include_plug('$nom_fichier');\n";
}
$plugs .= "\n?".">";
if ($f = @fopen('inc_plugins.php3', 'w')) {
@fwrite($f, $plugs);
@fclose($f);
}
}
?>
\ No newline at end of file
......@@ -69,14 +69,16 @@ function nettoyer_chapo($chapo){
function spip_avant_propre ($letexte) {
$letexte = extraire_multi($letexte);
if (@function_exists('avant_propre'))
return avant_propre ($letexte);
$letexte = appliquer_fonction ("avant_propre", $letexte);
// if (@function_exists('avant_propre'))
// return avant_propre ($letexte);
return $letexte;
}
function spip_apres_propre ($letexte) {
if (@function_exists('apres_propre'))
return apres_propre ($letexte);
$letexte = appliquer_fonction ("avant_propre", $letexte);
// if (@function_exists('apres_propre'))
// return apres_propre ($letexte);
return $letexte;
}
......@@ -84,8 +86,9 @@ function spip_apres_propre ($letexte) {
function spip_avant_typo ($letexte) {
$letexte = extraire_multi($letexte);
if (@function_exists('avant_typo'))
return avant_typo ($letexte);
$letexte = appliquer_fonction ("avant_typo", $letexte);
// if (@function_exists('avant_typo'))
// return avant_typo ($letexte);
return $letexte;
}
......@@ -100,8 +103,9 @@ function spip_apres_typo ($letexte) {
if ($GLOBALS['flag_ecrire'] AND $GLOBALS['revision_nbsp'])
$letexte = ereg_replace('&nbsp;', '<span class="spip-nbsp">&nbsp;</span>', $letexte);
if (@function_exists('apres_typo'))
return apres_typo ($letexte);
$letexte = appliquer_fonction ("apres_typo", $letexte);
// if (@function_exists('apres_typo'))
// return apres_typo ($letexte);
return $letexte;
}
......
......@@ -222,6 +222,11 @@ if (@file_exists(_DIR_RESTREINT . 'mes_options.php3')) {
include(_DIR_RESTREINT . 'mes_options.php3');
}
if (@file_exists(_DIR_RESTREINT . 'inc_plugins.php3')) {
include(_DIR_RESTREINT . 'inc_plugins.php3');
}
define_once('_DIR_IMG_PACK', (_DIR_RESTREINT . 'img_pack'));
// les repertoires des logos, des pieces rapportees, du CACHE et des sessions
......@@ -453,6 +458,13 @@ function include_ecrire($file) {
$GLOBALS['included_files'][$file] = 1;
}
function include_plug($file) {
$file = _DIR_RESTREINT . $file;
if ($GLOBALS['included_files'][$file]) return;
if (file_exists($file)) include($file);
$GLOBALS['included_files'][$file] = 1;
}
function spip_query($query) {
if (_FILE_CONNECT) {
include_ecrire("inc_connect.php3");
......@@ -470,6 +482,25 @@ function spip_query($query) {
return spip_query_db($query);
}
function appliquer_fonction($lafonction, $entree) {
global $arr_functions;
$sortie = $entree;
if (@function_exists($lafonction)) $sortie = $lafonction($sortie);
if (!$arr_functions) $arr_functions = get_defined_functions();
asort($arr_functions[user]);
// tester la presence de fonctions "_hello_"
foreach($arr_functions['user'] as $key => $value) {
if (ereg("^".$lafonction."_",$value)) $sortie = $value($sortie);
}
if (function_exists($lafonction)) $sortie = $lafonction($sortie);
return $sortie;
}
//
// Infos de config PHP
......
<?php
// Ce plug-in ajoute des couleurs a l'interface
global $couleurs_spip;
$couleurs_spip[10] = array (
"couleur_foncee" => "#508A72",
"couleur_claire" => "#A5DFC7",
"couleur_lien" => "#657701",
"couleur_lien_off" => "#A6C113"
);
$couleurs_spip[11] = array (
"couleur_foncee" => "#949064",
"couleur_claire" => "#DFDBA5",
"couleur_lien" => "#657701",
"couleur_lien_off" => "#A6C113"
);
$couleurs_spip[12] = array (
"couleur_foncee" => "#6770AC",
"couleur_claire" => "#F8D768",
"couleur_lien" => "#363F7A",
"couleur_lien_off" => "#747DB4"
);
?>
\ No newline at end of file
<?php
// Ce plug-in ajoute le raccourci typographique <sc></sc>
function avant_typo_smallcaps($texte) {
$texte = ereg_replace("<sc>", "<span style=\"font-variant: small-caps\">", $texte);
$texte = ereg_replace("</sc>", "</span>", $texte);
return $texte;
}
?>
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter