Wikini

DiscussionsActionImageCompliant

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes ec2-98-80-143-34.compute-1.amazonaws.com

ImageCompliant


Introduction


J'ai réalisé cette action car il manquait (à mon goût) un système valable d'intégration d'images dans les pages WikiNi. Les contributions comme InclureUneImage, ActionAttach... sont vraiment bien, mais présentent quelques faiblesses (c'est toujours subjectif). Des effets dérangeants comme l'impossibilité d'aligner correctement l'image, où le petit symbole à côté des images (pour ActionAttach), la non-validation XHTML... etc
J'ai choisis l'utilisation d'une action pour plusieurs raisons :
... bref : pour la facilité/simplicité
-- MickaelMenu (MickaelMenuASuivre)


Nouvelles



Utilisation


La balise de l'ActionImageCompliant? est : {{img}} avec ces paramètres (tous optionnels à part 'src`) :

Exemples


Voici des exemples d'utilisations :

Description (pour validité XHTML)



Mickaël Menu


Description (pour validité XHTML)


Description (pour validité XHTML)


Description (pour validité XHTML)


Description (pour validité XHTML)



Description (pour validité XHTML)



Description (pour validité XHTML)


Installation


L'installation est très simple puisqu'aucun fichier de WikiNi ne doit être modifié.


<?php

/**
 * ImageCompliant pour WikiNi - GNU General Public License
 * 
 * @author Mickaël Menu <mickael.menu@gmail.com> 
 * @copyright Copyright (c) 2005 Mickal Menu
 * @category actions
 * @version 0.0.1
 * @since 2005-03-21
 * @license http://www.gnu.org/licenses/gpl.html GNU General Public License
 * @link http://www.wikini.net/
 */

if (!defined("WIKINI_VERSION"))
{
  exit();
}

// Récupération des paramètres.
$img_src    $this->GetParameter("src");
$img_desc   $this->GetParameter("desc");
$img_align  $this->GetParameter("align");
$img_link   $this->GetParameter("link");
$img_target $this->GetParameter("target");
$img_hidden $this->GetParameter("hidden");
$img_border $this->GetParameter("border");

// Vérification du paramêtre 'src`.
if (empty($img_src)) 
{
  exit();
}

// Gestion du paramêtre 'hidden`.
if ($img_hidden)
{
  
$img_div_style "display: none";
}
else
{
  
$img_div_style "display: inline";
}

// Gestion du paramêtre 'border`.
if (!$img_border
{
  
$img_style "border: 0";
}

// Gestion du paramêtre 'align` et création de la "div" contenant l'image.
if (!empty($img_align) && ($img_align == 'left' || $img_align == 'center' || $img_align == 'right'))
{
  echo 
$this->Format('""<div align="'.$img_align.'">""');
}
else
{
  echo 
$this->Format('""<div style="'.$img_div_style.'">""');
}

// Gestion des paramètres 'link` et 'target`.
if (!empty($img_link))
{
  echo 
$this->Format('""<a href="'.$img_link.'"""');
  if (!empty(
$img_target) && ($img_target == '_blank' || $img_target == '_top')) {
    echo 
$this->Format('"" target="'.$img_target.'"""');
  }
  echo 
$this->Format('"">""');
}

// Affichage de l'image.
echo '<img class="image"';
if (!
$img_border)
{
  echo 
' style="'.$img_style.'"';
}
echo 
' src="'.$img_src.'" alt="'.$img_desc.'" title="'.$img_desc.'" />';

if (!empty(
$img_link))
{
  echo 
$this->Format('""</a>""');
}

echo 
$this->Format('""</div>""');

?>


Bogues


Apparemment cela ne valide pas CSS. Probablement à cause des paramètres 'style`. Je réglerais le problème dans une future révision.
-- MickaelMenu (le 28-03-2005)
Apparement cela ne gere le redimentionnement dynamique de l'image, en deux coups de cuillères a pot et c'est torché! ( je viens de le faire c'est pour ca...)
-- AckSop (le 10-10-2012)

Suggestions


Je suis ouvert à toute suggestion d'amélioration de cette action, et n'hésitez pas à publier sur cette page vos modifications. Je vous demanderais juste de respecter la charte du site lors de vos réponses. A savoir : organisez proprement votre texte et signez-le.
Pour me contacter directement : MickaelMenu

C'est une solution très proche du HTML ; je ne suis pas sûr qu'elle soit assez proche de la volontaire simplicité d'un wiki. Elle a cependant le mérite d'être très complète et fidèle au HTML pour ceux qui connaissent. Quelques remarques :
Je t'encourrage à poursuivre car c'est une piste intéressante.
-- CharlesNepote

Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]