DesSmileys

All contributions published for previous SPIP versions

SystemeDePlugin

Adapation du filtre: Smileys à mettre dans un fichier ecrire/plugins/plug_smileys.php par exemple

Ce filtre utilisant un chemin relatif pour trouver les images, ce chemin sera different si il est appliqué dans l’espace public ou dans l’espace privé.
On commence donc par choisir le bon chemin en regardant la variable $flag_ecrire qui nous dit si oui ou non on est dans l’espace privé.

<?php

// Filtre SMILEYS - 23 janvier 2003
//
// pour toute suggestion, remarque, proposition d'ajout d'un 
// smileys, etc ; reprotez vous au forum de l'article :
// http://www.uzine.net/spip_contrib/article.php3?id_article=38

function smileys($chaine) {
  global $flag_ecrire;

  if($flag_ecrire) 
	$chemin = "<img alt=\"smiley\" src=\"../smileys/";
  else
	$chemin = "<img alt=\"smiley\" src=\"smileys/";

// On peut mettre les smileys-images où l'on veut. Mais il faut 
// penser à modifier la variable $chemin de la fonction en conséquence.

         $chaine = str_replace(":->", $chemin . "diable.png\" />", $chaine);

         $chaine = str_replace(":-((", $chemin . "en_colere.png\" />", $chaine);
		 
         $chaine = str_replace(":-))", $chemin . "mort_de_rire.png\" />", $chaine);
         $chaine = str_replace(":-D", $chemin . "mort_de_rire.png\"  />", $chaine);

         $chaine = str_replace(":-)", $chemin . "sourire.png\" />", $chaine);
		 
         $chaine = str_replace(":'-))", $chemin . "pleure_de_rire.png\"  />", $chaine);
         $chaine = str_replace(":'-D", $chemin . "pleure_de_rire.png\" />", $chaine);

         $chaine = str_replace(":o)", $chemin . "rigolo.png\" />", $chaine);
		 
         $chaine = str_replace("B-)", $chemin . "lunettes.png\" />", $chaine);

         $chaine = str_replace(";-)", $chemin . "clin_d-oeil.png\" />", $chaine);

         $chaine = str_replace(":-p", $chemin . "tire_la_langue.png\" />", $chaine);

         $chaine = str_replace(":-|", $chemin . "bof.png\" />", $chaine);
		 
         $chaine = str_replace(":-/", $chemin . "mouai.png\" />", $chaine);

         $chaine = str_replace(":-o", $chemin . "surprit.png\" />", $chaine);
         $chaine = str_replace(":-O", $chemin . "surprit.png\" />", $chaine);
		 
         $chaine = str_replace(":-(", $chemin . "pas_content.png\" />", $chaine);

         $chaine = str_replace(":'-(", $chemin . "triste.png\" />", $chaine);

        return $chaine;
}

completer_fonction('propre','smileys','');

?>

_

Note

Le code ne s’affiche pas correctement ci-dessus. Si vous voulez l’avoir proprement pour le copier et le coller ailleurs, il faut éditer cette page (voir plus bas).

J’ai corrigé les tags img pour qu’ils soient compatibles XHTML.

Pour ceux qui le souhaite, j’ai mis en place un fichier plus complet (et plus fonctionnel pour ce que j’ai à faire) sur « Un plugin pour les Smileys » avec les images de smileys jointes.


Discution

Ça à l’air intéressant mais peux-tu préciser le bu de l’opération ? utiliser le filtre smileys dans l’interface admin de SPIP ? faut-il ajouter quelque chose autre part ? si je mets ce filtre dans ecrire/plugins/plug_smileys.php (sans rien faire d’autre) sera-t-il appliqué coté public et dans l’intreface ? ... —TiTeuf

Il faut voir la description du SystemeDePlugin. Avec la version 1.8cvs, on peut mettre des plugins indépendants dans le repertoire ecrire/plugins. Le système actuel permet de completer la fonction de typo de spip sans toucher au noyeau ou à mes_options et sans utiliser un filtre dans les squelettes.
Ainsi, SPIP va appliquer à tous les champs de texte usuelle la nouvelle fonction, que ce soit dans l’espace privé ou dans l’espace public. Une nouvelle contrib smileys est en gestation à partir de cela. — mortimer

updated on 4 March 2007

Discussion

Aucune discussion

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom