🖮 URL SourceForge ou Github: https://github.com/slhuilli1/demandeajoutdoc

Le besoin spécifique

Aujourd'hui, nous allons regardeer de plus pès un petit plugin qui, comme à mon habitude, correspond à un besoin professionnel. En effet, dans le cadre de mon intranet (donc aucune possibilité de vol de mon adresse mail dans ce que je vous présente aujourd'hui), j'ai besoin de rajouter dans le composant de Regular labs "Tabs", un lien hypertexte avec un mailto pour que mes utilisateurs puissent m'avertir d'erreurs dans le contenu de l'onglet.

Comme je suis un gros fainéant mais surtout un certain bon gadien de l'intégrité de mes données, j'ai opté pour un plugin. Ainsi, le jour ou d'adresse foctionnelle change (onn'est jamais à l'abris d'un changement de domaine), je n'ai qu'à procéder au changement une seule fois !

Fonctionnement

Une fois le plugin installé, l'adresse mail configuré dans sa partie administration, il n'y a plus rien à faire.
Notons toutefois que je m'appuie dans du commentaire HTML que je stipule systématiquement dans mon code, sur chacun de mes onglet, je comment en HTML le début et la fin de l'onglet. Ca me permet en un clin d'oeil de me répérer dans le code lorsque je rédige un article (je n'utilise pas, dans ce cas précis, d'editeur WYSIWYG, beaucoup trop compliqué à manipuler, du code suffit !)
Le début de chacun de mes onglets débute par <!-- START onglet_**** -->, où **** est une chaine de caractères qui nomme (dans les commentaire HTML toujours), l'onglet dans lequel on se trouve !

Ainsi, un onglet (dans le code) ressemble à

<p>{tab title="This tab is only for visitors" access="Guest"}</p>
<!--  START onglet_XXX -->
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
<!--  STOP onglet_XXX -->

Je peux donc m'appuyer sur mes commentaires HTML pour la suite de ce plugin

Le code métier de ce plugin va alors rechercher au moyen de regex, la chaine de caracères <!-- START onglet_xxx -->  afin de pouvoir la remplacer. Ce rempalcement INTEGRE de méme code de remplacement afin de retrouver ce commentaire dans le code HTML généré !

La chaine de remplacement

Au moyen de régex et de la commande preg_replace, je recherche et remplace le commentaire que j'ai mis dans chacun des tab (prévoyant notre Seb...)

Ainsi le code de départ suivant :

<!--  START onglet_GTU -->
<ul>
<li>{tip title="[[[tiptitreapropos]]]" content="<span class="fic-auteur">[[[auteur]]].....</li>
</ul>

 va conceptuellement devenir

<!--  START onglet_GTU -->
<div class="message-demande-ajout-fichier"><a href="mailto:Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.?subject=Demander l'ajout d un fichier à l article onglet GTU  de l article 50">Message a afficher </a></div>
<ul>
<li>{tip title="[[[tiptitreapropos]]]" content="<span class="fic-auteur">[[[auteur]]].....</li>
</ul>

Dans les faits, le code va changer sûrement ailleurs à cause du code lui même utilisé par Régular Lab, mais là, ce n'est plus ma partie :)

Mon Github

slhuilli1's GitHub repositories

  • definition
    récupérer des definitions déclarées sur des articles Joomla 3
  • calculMET
    calcul du MET moyen a partir d'une distance parcourue en metres
  • ongletvide
    Rajoute une icone sir le content de l'onglet contien la constante [[[onglet_vide]]], constante déclarée dans RL content templater
  • cssmodale
    Create un modal window full CSS
  • nl2br
    ce plugin tranforme automatiquement vos retours à la ligne de vos articles en BR grâce à la fonction PHP dédiée nl2br(). - this plugin automatically transforms your newlines of your articles into BR thanks to the dedicated PHP function nl2br().
  • hidenatifs
    Hide from a links data-natifs="..."
  • targetpdf
    Add "_blank" automatically when href ils a pdf file !
  • zippage
    Zipper tous les PDF internes d'une page Joomla Content
  • legendeimg
    No description
  • antispam
    Plugin qui génère une chaine mais avec le symbole @ dans le css, évitant de se faire aspirer son mail !
  • modallightbox
    No description
  • titrearticle
    Remplace affiche le titre de l'article.
  • provisoire
    Lister des documents marqués comme "provisioires"
  • cssmodal
    Plugin Joomla pour lancer une fenetre modale
  • modalpdf
    No description
  • demandeajoutdoc
    This pligin add a mailto: link info Regular Labs Tabs (for intranet whithout spam)
  • natif
    Ce plugin prend en compte ou pas l'affichage des fichiers natifs (word/excel) en sus de liens vers des PDF
  • nouveau
    Un plugin joomla qui affiche une mention "nouveau" sur un lien hypertext avannt une date butoire - A Joomla plugin that displays a “new” mention on a hyperlink before a deadline
  • lastdocsupdates
    Plugin d'affichage des derniers fichiers modifiés dans un répertoire donné
  • noteitv2
    No description
  • NoCache
    No description
  • addIdToHn
    Ce plugin ajoute automatiquement un id calculé (compté) aux balises Hn
  • ReadFirefoxBookmarks
    reading Firefox bookmak with PHP using SQLite library
  • externalcssandlib
    Add external CSS and javascript libraries in your projets
  • qr
    Ce plugins affiche une liste de questions reponses - This plugin for Joomla show a list of questions, when clicked, the answer is showed
  • dataarchives
  • attachments
    No description
  • mod_vacances
    Ce module Joomla affiche les congés français. Basé sur des OpenDatas du minitère de l'éducation nationale
  • noteit
    Ce plugin permet l'ajout de Post it (format graphique) dans un article
  • nbonlineusers
    No description