Skip to content
Extraits de code Groupes Projets
Valider a0fc1969 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

"les filtres images et couleur avances de SPIP sortent du core pour leur...

"les filtres images et couleur avances de SPIP sortent du core pour leur permettre d'evoluer et de s'enrichir plus vite
A cette occasion, on rationalise les nommages :
- les fonction nommees image_xxx prennent toutes en entree une image et rendent une image (dans un squelette, les filtres peuvent s'appliqer aussi sur du #TEXTE) 
Elles sont chainables.
- les fonctions nommees couleur_xxx prennent toutes en entree une couleur et rendent une couleur (hexa sur 6 caracteres)
Elles sont chainables.

Toutes les fonctions commencant par image_ ou couleur_ et ne correspondant pas a cette description sont prefixees par un _ et deplacees dans
inc/filtres_images_lib_mini.php
qui est la librairie mini de fonctions image et couleur non utilisables dans les squelettes

La compatibilite des anciens nommages pourra etre obtenue avec le plugin des filtres images du _core_
"
parent 5d400da6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -213,7 +213,7 @@ ecrire/inc/editer_auteurs.php -text
ecrire/inc/editer_mots.php -text
ecrire/inc/envoyer_mail.php -text
ecrire/inc/export.php -text
ecrire/inc/filtres_images.php -text
ecrire/inc/filtres_images_lib_mini.php -text
ecrire/inc/filtres_images_mini.php -text
ecrire/inc/filtres_mini.php -text
ecrire/inc/formater_article.php -text
......
......@@ -126,12 +126,12 @@ function action_tester_dist() {
// et maintenant envoyer la vignette de tests
if (in_array($arg,array("gd1","gd2","imagick","convert","netpbm"))) {
include_spip('inc/filtres');
include_spip('inc/filtres_images');
include_spip('inc/filtres_images_mini');
$taille_preview = 150;
$image = image_valeurs_trans(_DIR_IMG_PACK.'test_image.jpg',"reduire-$taille_preview-$taille_preview",'jpg');
$image = _image_valeurs_trans(_DIR_IMG_PACK.'test_image.jpg',"reduire-$taille_preview-$taille_preview",'jpg');
$image['fichier_dest']=_DIR_VAR."test_$arg";
if ($preview = image_creer_vignette($image, $taille_preview, $taille_preview, $arg, true)
if ($preview = _image_creer_vignette($image, $taille_preview, $taille_preview, $arg, true)
AND ($preview['width'] * $preview['height'] > 0))
redirige_par_entete($preview['fichier']);
}
......
......@@ -264,7 +264,7 @@ function etat_base_accueil()
$chercher_logo = charger_fonction('chercher_logo', 'inc');
if ($r = $chercher_logo(0, 'id_syndic', 'on')) {
list($fid, $dir, $nom, $format) = $r;
include_spip('inc/filtres_images');
include_spip('inc/filtres_images_mini');
$r = image_reduire("<img src='$fid' alt='' />", 170, 170);
if ($r)
$res ="<div style='text-align:center; margin-bottom: 5px;'>$r</div>";
......
......@@ -289,7 +289,7 @@ function afficher_objet_boucle($row, $own)
OR $chercher_logo = charger_fonction_logo_if())
if ($logo = $chercher_logo($id_objet, $primary, 'on')) {
list($fid, $dir, $nom, $format) = $logo;
include_spip('inc/filtres_images');
include_spip('inc/filtres_images_mini');
$logo = image_reduire("<img src='$fid' alt='' />", 26, 20);
if ($logo)
$flogo = "\n<span style='float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;'>$logo</span>";
......
......@@ -170,49 +170,17 @@ function version_svn_courante($dir) {
return 0;
}
//
// Fonctions graphiques
//
// La matrice est necessaire pour ne filtrer _que_ des fonctions definies dans filtres_images
// et laisser passer les fonctions personnelles baptisees image_...
$GLOBALS['spip_matrice']['image_valeurs_trans'] = true;
$GLOBALS['spip_matrice']['image_graver'] = true;
$GLOBALS['spip_matrice']['image_reduire'] = true;
$GLOBALS['spip_matrice']['image_reduire_par'] = true;
$GLOBALS['spip_matrice']['image_recadre'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_alpha'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_flip_vertical'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_flip_horizontal'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_masque'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_nb'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_flou'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_RotateBicubic'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_rotation'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_distance_pixel'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_decal_couleur'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_gamma'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_decal_couleur_127'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_sepia'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_aplatir'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_format'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_couleur_extraire'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_select'] = true;
$GLOBALS['spip_matrice']['image_renforcement'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_imagick'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_ramasse_miettes'] = true;
$GLOBALS['spip_matrice']['image_passe_partout'] = true;
$GLOBALS['spip_matrice']['couleur_dec_to_hex'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_hex_to_dec'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_extreme'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_inverser'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_eclaircir'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_foncer'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_foncer_si_claire'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_eclaircir_si_foncee'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_saturation'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_web'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['couleur_4096'] = 'inc/filtres_images.php';
$GLOBALS['spip_matrice']['image_graver'] = 'inc/filtres_images_mini.php';
$GLOBALS['spip_matrice']['image_select'] = 'inc/filtres_images_mini.php';
$GLOBALS['spip_matrice']['image_reduire'] = 'inc/filtres_images_mini.php';
$GLOBALS['spip_matrice']['image_reduire_par'] = 'inc/filtres_images_mini.php';
$GLOBALS['spip_matrice']['image_passe_partout'] = 'inc/filtres_images_mini.php';
$GLOBALS['spip_matrice']['couleur_html_to_hex'] = 'inc/filtres_images_mini.php';
$GLOBALS['spip_matrice']['couleur_foncer'] = 'inc/filtres_images_mini.php';
$GLOBALS['spip_matrice']['couleur_eclaircir'] = 'inc/filtres_images_mini.php';
// charge les fonctions graphiques et applique celle demandee
// http://doc.spip.org/@filtrer
......@@ -300,37 +268,16 @@ function image_filtrer($args){
}
// pour les feuilles de style
function image_bg ($img, $couleur, $pos="") {
if (!function_exists("imagecreatetruecolor"))
function filtre_background_image_dist ($img, $couleur, $pos="") {
if (!function_exists("imagecreatetruecolor")
OR !include_spip('filtres/images_transforme')
OR !function_exists('image_sepia')
OR !function_exists('image_aplatir')
)
return "background-color: #$couleur;";
include_spip('inc/filtres_images');
return "background: url(".url_absolue(extraire_attribut(image_aplatir(image_sepia($img, $couleur),"gif","cccccc", 64, true), "src")).") $pos;";
}
// Pour assurer la compatibilite avec les anciens nom des filtres image_xxx
// commencent par "image_"
// http://doc.spip.org/@reduire_image
function reduire_image($texte, $taille = -1, $taille_y = -1) {
return filtrer('image_graver',
filtrer('image_reduire',$texte, $taille, $taille_y)
);
}
// http://doc.spip.org/@valeurs_image_trans
function valeurs_image_trans($img, $effet, $forcer_format = false) {
include_spip('inc/filtres_images');
return image_valeurs_trans($img, $effet, $forcer_format = false);
}
// http://doc.spip.org/@couleur_extraire
function couleur_extraire($img, $x=10, $y=6) {
return filtrer('image_couleur_extraire',$img, $x, $y);
}
// http://doc.spip.org/@image_typo
function image_typo() {
include_spip('inc/filtres_images');
$tous = func_get_args();
return call_user_func_array('produire_image_typo', $tous);
}
//
// Retourner taille d'une image
// pour les filtres |largeur et |hauteur
......
Ce diff est replié.
Ce diff est replié.
Ce diff est replié.
......@@ -19,7 +19,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
//
// http://doc.spip.org/@image_math
function image_math($tex) {
function produire_image_math($tex) {
global $traiter_math;
switch ($traiter_math) {
// Attention: mathml desactiv'e pour l'instant
......@@ -96,7 +96,7 @@ function traiter_math($letexte, $source='') {
// Les doubles $$x^2$$ en mode 'div'
while((preg_match(",[$][$]([^$]+)[$][$],",$texte_milieu, $regs))) {
$echap = "\n<p class=\"spip\" style=\"text-align: center;\">".image_math($regs[1])."</p>\n";
$echap = "\n<p class=\"spip\" style=\"text-align: center;\">".produire_image_math($regs[1])."</p>\n";
$pos = strpos($texte_milieu, $regs[0]);
$texte_milieu = substr($texte_milieu,0,$pos)
. code_echappement($echap, $source)
......@@ -105,7 +105,7 @@ function traiter_math($letexte, $source='') {
// Les simples $x^2$ en mode 'span'
while((preg_match(",[$]([^$]+)[$],",$texte_milieu, $regs))) {
$echap = image_math($regs[1]);
$echap = produire_image_math($regs[1]);
$pos = strpos($texte_milieu, $regs[0]);
$texte_milieu = substr($texte_milieu,0,$pos)
. code_echappement($echap, $source)
......
......@@ -243,7 +243,7 @@ return $GLOBALS[\'browser_layer\'];}
// $logo est le nom complet du logo ($logo = "chemin/$nom.$format)
// $nom et $format ne servent plus du fait du passage par le filtre image_reduire
include_spip(\'inc/filtres_images\');
include_spip(\'inc/filtres_images_mini\');
$res = image_reduire("<img src=\'$logo\' $attributs />", $taille, $taille_y);
return $res;
}
......
......@@ -81,7 +81,7 @@ div.table_page { margin-top: 1em; }
display: inline;
}
#chemin li .bloc {
[(#EVAL{_DIR_IMG_PACK}|concat{chemin-fond-,#ENV{ltr},.gif}|image_bg{[(#ENV{couleur_foncee}|couleur_foncer)], center [(#GET{left})] no-repeat })]
[(#EVAL{_DIR_IMG_PACK}|concat{chemin-fond-,#ENV{ltr},.gif}|background_image{[(#ENV{couleur_foncee}|couleur_foncer)], center [(#GET{left})] no-repeat })]
padding: 2px;
padding-bottom: 4px;
padding-#GET{left}: 10px;
......@@ -91,12 +91,12 @@ div.table_page { margin-top: 1em; }
display: inline-block;
}
#chemin li .bloc:hover {
[(#EVAL{_DIR_IMG_PACK}|concat{chemin-fond-,#ENV{ltr},.gif}|image_bg{[(#ENV{couleur_foncee}|couleur_foncer|couleur_foncer)], center [(#GET{left})] no-repeat })]
[(#EVAL{_DIR_IMG_PACK}|concat{chemin-fond-,#ENV{ltr},.gif}|background_image{[(#ENV{couleur_foncee}|couleur_foncer|couleur_foncer)], center [(#GET{left})] no-repeat })]
}
#chemin li li .bloc {
margin-top: 2px;
[(#EVAL{_DIR_IMG_PACK}|concat{chemin-fond-,#ENV{ltr},.gif}|image_bg{[(#ENV{couleur_foncee})], center [(#GET{left})] no-repeat })]
[(#EVAL{_DIR_IMG_PACK}|concat{chemin-fond-,#ENV{ltr},.gif}|background_image{[(#ENV{couleur_foncee})], center [(#GET{left})] no-repeat })]
}
#chemin .aide {margin-top: 3px; margin-bottom: 15px;}
......
......@@ -184,7 +184,7 @@ c'est le par defaut des formulaires de Spip */
position:relative;
display:inline;
[(#EVAL{_DIR_IMG_PACK}|concat{label-fond-gauche-,#ENV{ltr},.gif}|image_bg{[(#ENV{couleur_claire,3874b0})], center [(#GET{right})] no-repeat })]
[(#EVAL{_DIR_IMG_PACK}|concat{label-fond-gauche-,#ENV{ltr},.gif}|background_image{[(#ENV{couleur_claire,3874b0})], center [(#GET{right})] no-repeat })]
color: #[(#GET{foncee}|couleur_foncer)];
line-height: 11px;
......@@ -203,7 +203,7 @@ c'est le par defaut des formulaires de Spip */
.formulaire_spip li.obligatoire label,
.formulaire_spip li.obligatoire.gauche label {
[(#EVAL{_DIR_IMG_PACK}|concat{label-fond-gauche-,#ENV{ltr},.gif}|image_bg{[(#ENV{couleur_foncee}|couleur_foncer)], center [(#GET{right})] no-repeat })]
[(#EVAL{_DIR_IMG_PACK}|concat{label-fond-gauche-,#ENV{ltr},.gif}|background_image{[(#ENV{couleur_foncee}|couleur_foncer)], center [(#GET{right})] no-repeat })]
color: white;
font-weight: bold;
}
......@@ -242,7 +242,7 @@ padding-top:10px;
font-weight: bold;
font-size: 95%;
line-height: 11px;
[(#EVAL{_DIR_IMG_PACK}|concat{label-fond-haut-,#ENV{ltr},.gif}|image_bg{[(#ENV{couleur_claire})], bottom [(#GET{left})] no-repeat })]
[(#EVAL{_DIR_IMG_PACK}|concat{label-fond-haut-,#ENV{ltr},.gif}|background_image{[(#ENV{couleur_claire})], bottom [(#GET{left})] no-repeat })]
}
.formulaire_spip li.editer_parent textarea,
......@@ -277,7 +277,7 @@ padding-top:10px;
.formulaire_spip li.editer_texte.obligatoire label,
.formulaire_spip li.editer_ps.obligatoire label,
.formulaire_spip li.obligatoire.haut label {
[(#EVAL{_DIR_IMG_PACK}|concat{label-fond-haut-,#ENV{ltr},.gif}|image_bg{[(#ENV{couleur_foncee})], bottom [(#GET{left})] no-repeat })]
[(#EVAL{_DIR_IMG_PACK}|concat{label-fond-haut-,#ENV{ltr},.gif}|background_image{[(#ENV{couleur_foncee})], bottom [(#GET{left})] no-repeat })]
color: white;
}*/
......@@ -308,7 +308,7 @@ padding-top:10px;
font-weight: bold;
font-size: 95%;
line-height: 11px;
[(#EVAL{_DIR_IMG_PACK}|concat{label-fond-haut-,#ENV{ltr},.gif}|image_bg{[(#ENV{couleur_foncee})], bottom [(#GET{left})] no-repeat })]
[(#EVAL{_DIR_IMG_PACK}|concat{label-fond-haut-,#ENV{ltr},.gif}|background_image{[(#ENV{couleur_foncee})], bottom [(#GET{left})] no-repeat })]
}
.formulaire_spip li.fieldset.editer_liens_sites {
......@@ -408,7 +408,7 @@ padding-top:10px;
.formulaire_spip li.editer_parent label,
.formulaire_spip li.editer_groupe_mot label {
[(#EVAL{_DIR_IMG_PACK}|concat{label-fond-haut-,#ENV{ltr},.gif}|image_bg{[(#ENV{couleur_foncee})], bottom [(#GET{left})] no-repeat })]
[(#EVAL{_DIR_IMG_PACK}|concat{label-fond-haut-,#ENV{ltr},.gif}|background_image{[(#ENV{couleur_foncee})], bottom [(#GET{left})] no-repeat })]
color: white;
}
......@@ -477,7 +477,7 @@ padding-top:10px;
/* Bouton de validation */
input[type="submit"] {
[(#EVAL{_DIR_IMG_PACK}|concat{fond-fondo.gif}|image_bg{[(#ENV{couleur_foncee}|couleur_foncer)], center center })]
[(#EVAL{_DIR_IMG_PACK}|concat{fond-fondo.gif}|background_image{[(#ENV{couleur_foncee}|couleur_foncer)], center center })]
border: 1px outset [(#GET{foncee})];
padding: 3px;
font-weight: bold;
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter