<?xml version="1.0" encoding="UTF-8" ?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
  <title>KIOLO - XOOPS - (J°J°D)</title>
  <link rel="alternate" type="text/html" href="http://xoops.kiolo.com/" />
  <modified>2012-05-21T02:11:26+02:00</modified>
    <id>tag:xoops.kiolo.com,2012://1</id>
      <generator url="http://linux.ohwada.jp/">XOOPS WebLinks 0.9</generator>
      <copyright>Copyright (c) 2012, J°J°D</copyright>
      <author>
    <name>J°J°D</name>
        <url>http://xoops.kiolo.com/</url>
            <email>jjd@kiolo.com</email>
      </author>
      <entry>
    <title>Fespub.net se dote d&amp;#039;un nouveau Design xoops !</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1893" />
    <modified>2012-04-07T07:56:47+02:00</modified>
    <issued>2012-04-07T07:56:47+02:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.1</id>
            <summary type="text/plain">Bonjour les Xoopsistes,Après une longue absence, je reviens avec une bonne nouvelle !Je viens de créer un nouveau thème Xoops pour le siteFesPub.netet j&apos;aimerai avoir vos avis.Le design es basé sur de ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      <p>Bonjour les Xoopsistes,</p><p>Après une longue absence, je reviens avec une bonne nouvelle !</p><p>Je viens de créer un nouveau thème Xoops pour le site<a href="http://www.fespub.net"rel="external"title="Visiter fespub.net">FesPub.net</a>et j'aimerai avoir vos avis.</p><p class="txtcenter"><a href="http://www.fespub.net"rel="external"title="Visiter fespub.net"><img src="http://www.frxoops.org/uploads/news/designfespub.png"alt="designfespub"class=""/></a></p><p>Le design es basé sur des Divs.</p><p>A bientôt avec un nouveau design :)</p>
      ]]>
    </content>
      </entry>
    <entry>
    <title>Le site des membres KIFF passe sous Xoops 2.5.4</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1892" />
    <modified>2012-04-07T07:45:33+02:00</modified>
    <issued>2012-04-07T07:45:33+02:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.2</id>
            <summary type="text/plain">Aprés plus de 6 ans sous xoops 2.0.18, le site Kiff Members vient d&apos;être mis à jour à la version 2.5.4, les principaux modules utilisés ont également été actualisés.Core : 2.5.4Newbb : 4.0.6MpManager  ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      <p>Aprés plus de 6 ans sous xoops 2.0.18, le site Kiff Members vient d'être mis à jour à la version 2.5.4, les principaux modules utilisés ont également été actualisés.</p><ul><li>Core : 2.5.4</li><li>Newbb : 4.0.6</li><li>MpManager 2.75</li><li>Catads 1.53</li><li>User Profile 1.62</li><li>Thème : Xdyoga adapté par mes soins</li></ul><p class="txtcenter"><a href="www.kiffmembers.org"title="Visitez kiffmembers.org"class=""rel="external"><strong>KiffMembers.org</strong></a>.<br /><a href="www.kiffmembers.org"title="Visitez kiffmembers.org"class=""rel="external"><img src="http://www.frxoops.org/uploads/news/kiff_website.png"alt="kiffmembers.org"class=""/></a></p><p class="small italic bold">Laurent</p>
      ]]>
    </content>
      </entry>
    <entry>
    <title>Monoroom.info devient un magazine en ligne !</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1891" />
    <modified>2012-04-07T07:32:55+02:00</modified>
    <issued>2012-04-07T07:32:55+02:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.3</id>
            <summary type="text/plain">Que peut faire Xoops ?Vous pouvez visiterle siteet comprendre qu&apos;il a fait l&apos;objet d&apos;un grand lifting !Non seulement la politique du site a changé, pour devenir un magazine en ligne, mais également un ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      <h3>Que peut faire Xoops ?</h3><p>Vous pouvez visiter<a href="http://www.monoroom.info/"title="Visitez Monoroom.info"class=""rel="external">le site</a>et comprendre qu'il a fait l'objet d'un grand lifting !<br />Non seulement la politique du site a changé, pour devenir un magazine en ligne, mais également une mise en page totalement différente de la précédente version.</p><p>Depuis septembre 2006, le site touernait sous Xoops avec un titre :"Le portail". En début d'année 2012, la décision de prendre un nouvel élan a été prise par son fondateur : devenir un site professionnel, entretenu par des professionnels, dont l'objectif est de rester le plus proche des informations autour de la France et du Cambodge.<br />Pour cibler le maximum de visiteurs, il est aujourd'hui bilingue : Français et Khmer (Cambodgien). Voici donc :</p><p class="txtcenter"><a href="http://www.monoroom.info/"title="Visitez Monoroom.info"class=""rel="external"><strong>Le magazine Franco-khmer</strong></a>.<br /><a href="http://www.facebook.com/MONOROOM.info"title=""class=""rel="external"><img src="http://www.frxoops.org/uploads/news/monoroom.jpg"alt="monoroom"class=""/></a></p><p>Même si le site rencontre actuellement quelques dysfonctionnements au niveau de la reconnaissance de l'Unicode Khmer (c'est la jeunesse du module Mywords), l'importance est qu'il soit disponible et accessible le plus tôt possible à tous ses membres et visiteurs (également vous ! les xoopsiens<img class="imgsmile"src="http://www.frxoops.org/uploads/smil3dbd4d6422f04.gif"alt=""/>).</p><p>Si vous avez des remarques, merci de nous les adresser sur<a href="http://www.monoroom.info/modules/xforms/?form_id=1"title=""class="Contacter Monoroom.info"rel="external">cette page</a><br />L'équipe du site reste coopérative au développement pour les modules utilisés, et remercie énormément toute l'équipe de xoops que se soit sur Frxoops.org ou Xoops.org.</p>
      ]]>
    </content>
      </entry>
    <entry>
    <title>Amenosyla subit un relooking</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1890" />
    <modified>2012-02-23T05:30:57+01:00</modified>
    <issued>2012-02-23T05:30:57+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.4</id>
            <summary type="text/plain">Sur la base du thème&quot;Suico&quot;en natif sur la dernière version de XOOPS, je me suis lancé dans un relooking complet du site de la Chatterie d&apos;Amenosyla.Pour l&apos;essentiel:modification du backgroundinsertio ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      Sur la base du thème"Suico"en natif sur la dernière version de XOOPS, je me suis lancé dans un relooking complet du site de la Chatterie d'Amenosyla.</p><p>Pour l'essentiel:</p><ul><li>modification du background</li><li>insertion d'un menu dynamique en jquery</li></ul><p>Le résultat est visible en production à cette url:<a href="http://www.amenosyla.fr"title="La chatterie Amenosyla"class=""rel="external"><a href="http://www.amenosyla.fr"title="http://www.amenosyla.fr"rel="external">http://www.amenosyla.fr</a></a>
      ]]>
    </content>
      </entry>
    <entry>
    <title>Les Freenautes sur Xoops</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1888" />
    <modified>2012-02-21T19:17:38+01:00</modified>
    <issued>2012-02-21T19:17:38+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.5</id>
            <summary type="text/plain">Planète Freeest un nouveau site d&apos;informations, de guides, d&apos;entraide etc autour de tous les produits Free.Et en plus il repose sur Xoops 2.5.4 avec :News 1.67Newbb 4.1 (4.2 pas encore testé)SmartSect ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      <a href="http://www.planetefree.fr"rel="external"title="">Planète Free</a>est un nouveau site d'informations, de guides, d'entraide etc autour de tous les produits Free.</p><p>Et en plus il repose sur Xoops 2.5.4 avec :</p><ul><li>News 1.67</li><li>Newbb 4.1 (4.2 pas encore testé)</li><li>SmartSection 2.15</li><li>WF-Links 1.07</li><li>TDMDownloads 1.62</li><li>Profile 1.75</li><li>Spiders 2.76</li><li>Xortify 3.04.</li></ul><p>Merci d'avance d'y faire un tour, de participer, de vos remarques, suggestions...<br />Il faut s'inscrire pour y poster des messages.
      ]]>
    </content>
      </entry>
    <entry>
    <title>TinyMCE 3.4.8 pour Xoops</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1889" />
    <modified>2012-02-21T19:12:01+01:00</modified>
    <issued>2012-02-21T19:12:01+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.6</id>
            <summary type="text/plain">Nous avons procédé à la mise à jour de l&apos;éditeur javascript&quot;WYSIWYG&quot;TinyMCE pour Xoops à la version 3.4.8Changelog (en anglais) de la version 3.4.8Fixed bug in IE where selected text ending with space ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      Nous avons procédé à la mise à jour de l'éditeur javascript<em>"WYSIWYG"</em>TinyMCE pour Xoops à la version 3.4.8</p><div class="txtcenter"><img src="http://www.frxoops.org/uploads/news/tinymce.gif"alt="TinyMCE"/></div><h6>Changelog (en anglais) de la version 3.4.8</h6><ul id=""><li class="">Fixed bug in IE where selected text ending with space cannot be formatted then formatted again to get original text.</li><li class="">Fixed bug in IE where images larger than editor area were being deselected when toolbar buttons are clicked.</li><li class="">Fixed bug where wrong text align buttons are active when multiple block elements are selected.</li><li class="">Fixed bug where selected link not showing in target field of link dialog in some selection cases.</li><li class="">Use settings for remove_trailing_br so this can be turned off instead of hard coding the value.</li><li class="">Fixed bug in IE where the media plugin displayed null text when some values aren't filled in.</li><li class="">Added API method'onSetAttrib'that fires when the attribute value on a node changes.</li><li class="">Fix font size dropdown value not being updated when text already has a font size in the advanced template.</li><li class="">Fixed bug in IE where IE doesn't use ARIA attributes properly on options - causing labels to be read out 2 times.</li><li class="">Fixed bug where caret cannot be placed after table if table is at end of document in IE.</li><li class="">Fixed bug where adding range isn't always successful so we need to check range count otherwise an exception can occur.</li><li class="">Added spacebar onclick handler to toolbar buttons to ensure that the accessibility behaviour works correctly.</li><li class="">Fixed bug where a stranded bullet point would get created in WebKit.</li><li class="">Fixed bug where selecting text in a blockquote and pressing backspace toggles the style.</li><li class="">Fixed bug where pressing enter from a heading in IE, the resulting P tag below it shares the style property.</li><li class="">Fix white space in between spans from being deleted.</li><li class="">Fixed bug where scrollbars where visible in the character map dialog on Gecko.</li><li class="">Fixed issue with missing translation for one of the emoticons.</li><li class="">Fixed bug where dots in id:s where causing problems. Patch provided by Abhishek Dev.</li><li class="">Fixed bug where urls with an at sign in the path wouldn't be parsed correctly. Patch contributed by Jason Grout.</li><li class="">Fixed bug where Opera would remove the first character of a inline formatted word if you pressed backspace.</li><li class="">Fixed bugs with the autoresize plugin on various browsers and removed the need for the throbber.</li><li class="">Fixed performance issue where the contextmenu plugin would try to remove the menu even if it was removed. Patch contributed by mhu.</li></ul><h6>Téléchargement :</h6><ul><li><a href="http://sourceforge.net/projects/xfr/files/Editeurs/Utf-8/xoopseditor_tinymce_3.4.8_utf8.zip/download"title="Télécharger TinyMCE 3.4.8 pour Xoops au format utf8"rel="external">TinyMCE 3.4.8 pour Xoops (version utf8)</a></li><li><a href="http://sourceforge.net/projects/xfr/files/Editeurs/Iso/xoopseditor_tinymce_3.4.8_iso.zip/download"title="Télécharger TinyMCE 3.4.8 pour Xoops au format iso"rel="external">TinyMCE 3.4.8 pour Xoops (version iso)</a></li><br /></ul><h6>Installation :</h6><p>Dézippez l'archive puis transférez le dossier"class"à la racine de votre site sous Xoops
      ]]>
    </content>
      </entry>
    <entry>
    <title>WOW HTML T3mplate</title>
    <link rel="alternate" type="text/html" href="http://www.aphexthemes.com/wow-html-t3mplate.html" />
    <modified>2012-02-15T14:55:48+01:00</modified>
    <issued>2012-02-15T14:55:48+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.7</id>
            <summary type="text/plain">This is another HTML Template based on ever popular World of Warcraft.Template it&amp;#8217;s a fixed width design and has 3 columns, it includes 3 demo pages of the home, article list and single article. ...</summary>
        <author>
      <name>aphex</name>
                </author>
        <dc:subject>aphex themes - v. 6</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.aphexthemes.com">
      <![CDATA[
      <p><img src="http://www.aphexthemes.com/wp-content/uploads/2012/02/wow3-nwr-620x200-150x150.jpg" alt="" title="wow3-nwr-620x200" width="150" height="150" class="alignleft size-thumbnail wp-image-525" />This is another HTML Template based on ever popular World of Warcraft.</p><p>Template it&#8217;s a fixed width design and has 3 columns, it includes 3 demo pages of the home, article list and single article.</p><p>Package includes the font used in the site title and the PSD of it.</p><p>Enjoy!  </p><p>PS. Please consider sharing by using one or all the buttons below!</p><p><div class="downbtn"><a href="http://www.aphexthemes.com/?file_id=23" id="downtem" ><img src="http://www.aphexthemes.com/wp-content/plugins/downloads-manager/img/icons/default.gif" alt="Download: WOW HTML T3mplate" title="Download: WOW HTML T3mplate"></a><ul class="dinfo"><li><span>added:</span> 15/02/2012</li><li><span>clicks:</span> 3</li></ul></div></p><div class="prevs"><a target="_blank" href="http://www.aphexthemes.com/demo/html/wow3/"></a></div><!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ --><div class="mr_social_sharing_wrapper"><span class="mr_social_sharing_top"><iframe src="https://www.facebook.com/plugins/like.php?locale=en_US&amp;href=http%3A%2F%2Fwww.aphexthemes.com%2Fwow-html-t3mplate.html&amp;layout=box_count&amp;show_faces=false&amp;width=55px&amp;height=61px" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:55px; height:61px;" allowTransparency="true"></iframe></span><span class="mr_social_sharing_top"><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.aphexthemes.com/wow-html-t3mplate.html" data-count="vertical" data-via="aphexthemes" data-text="WOW HTML T3mplate">Tweet</a></span><span class="mr_social_sharing_top"><g:plusone size="tall" href="http://www.aphexthemes.com/wow-html-t3mplate.html"></g:plusone></span></div>
      ]]>
    </content>
      </entry>
    <entry>
    <title>Publication du module NewsSlider 1.2b</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1887" />
    <modified>2012-02-06T23:07:31+01:00</modified>
    <issued>2012-02-06T23:07:31+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.8</id>
            <summary type="text/plain">Yerres de XOOPS Allemagne a créé un nouveau module appelé&quot;NewsSlider&quot;, supportant le module News.Ce module permet d&apos;afficher cinq blocs de type&quot;slider&quot;reprenant les titres d&apos;articles du module News, e ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      Yerres de XOOPS Allemagne a créé un nouveau module appelé"NewsSlider", supportant le module News.</p><p>Ce module permet d'afficher cinq blocs de type"slider"reprenant les titres d'articles du module News, et de les présenter divers effets visuels<br />Vous pouvez également y ajouter des images particulières, un exemple est visible dans l'image ci-dessous.</p><br /><div class="txtcenter"><img src="http://www.frxoops.org/uploads/news/newsslider.jpg"alt="NewsSlider"/></div><br /><p>Vous pouvez télécharger ce module à<a href="http://sourceforge.net/projects/ymodules/files/Newsslider/1.2/newsslider-1.2b.zip/download"title="Télécharger le module NewsSlider pour Xoops"rel="external">partir de cette adresse</a>.
      ]]>
    </content>
      </entry>
    <entry>
    <title>Deux extensions&amp;quot;Xoops&amp;quot; pour Google Chrome et Chromium</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1886" />
    <modified>2012-01-19T17:56:16+01:00</modified>
    <issued>2012-01-19T17:56:16+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.9</id>
            <summary type="text/plain">Vous faites peut-être parti des millions d&apos;utilisateurs qui ont abandonné Firefox pour Google Chrome, et vous souhaitez retrouver vos extensions favorites dans celui-ci.LeLaboratoire XooFoo.org, dans  ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      Vous faites peut-être parti des millions d'utilisateurs qui ont abandonné Firefox pour Google Chrome, et vous souhaitez retrouver vos extensions favorites dans celui-ci.</p><p>Le<a rel="external"href="http://labs.xoofoo.org"title="Le Laboratoire XooFoo">Laboratoire XooFoo.org</a>, dans le cadre de ses actions de promotion du système de gestion de contenu Web"XOOPS", vient de créer deux extensions pour Google Chrome, l'une est similaire à la<a rel="external"href="http://labs.xoofoo.org/modules/news/article.php?storyid=388"title="Lire le dernier article sur l'extension XooFooBar pour Firefox">XooFooBar</a>conçu pour Firefox, avec des liens vers les principaux sites de supports pour Xoops, les pages et groupes sur<a rel="external"href="http://www.facebook.com/pages/Xoops-France/109178774820"title="Fan's Page Facebook FrXoops - Web Social">Facebook</a>, sur<a rel="external"href="http://twitter.com/frxoops"title="FrXoops - suivez nous sur Twitter">Twitter</a>,  de partenaires, ainsi que les liens pertinents vers des sites d'Outils ou d'Astuces, .... ; la seconde vous permettra d'effectuer facilement des recherches sur les principaux sites de support Xoops, et principalement :<a rel="external"href="http://www.frxoops.org"title="Site Xoops de la communauté francophone">FrXoops.org</a>,<a rel="external"href="http://labs.xoofoo.org"title="Home Site XooFoo.org">Labs.XooFoo.org</a>,<a rel="external"href="http://tv.xoofoo.org"title="Les tutoriels vidéo pour Xoops, Html, Css, Php, Javascript et Zend Framework">TV.XooFoo.org</a>,<a rel="external"href="http://www.xoops.org"title="Site Officiel du projet XOOPS">Xoops Project</a>et<a rel="external"href="http://www.xuups.com"title="Home Site Xuups.com">Xuups.com</a>.
      ]]>
    </content>
      </entry>
    <entry>
    <title>Héritage de la class xoopsForm</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1885" />
    <modified>2012-01-18T22:30:00+01:00</modified>
    <issued>2012-01-18T22:30:00+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.10</id>
            <summary type="text/plain">Héritage de la class xoopsFormQu&apos;est ce que l&apos;héritage ?L&apos;héritage  est un principe propre à la programmation orientée objet (POO), permettant de créer une nouvelle classe à partir d&apos;une classe exista ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      <h1>Héritage de la class xoopsForm</h1><h2>Qu'est ce que l'héritage ?</h2><p>L'héritage  est un principe propre à la programmation orientée objet (POO), permettant de créer une nouvelle classe à partir d'une classe existante. La nouvelle classe"hérite"des propriétés et méthodes de la classe dont elle hérite, appelée classe"mère". La classe qui hérite est appelée classe"fille".</p><p>Cette définition est très succincte vous pouvez compléter vos connaissances en programmation orienté objet sur le web, un petit lien concernant l'héritage :<a href="http://wind.developpez.com/tutoriels/windev/windev-poo-heritage/"title="http://wind.developpez.com/tutoriels/windev/windev-poo-heritage/"rel="external">http://wind.developpez.com/tutoriels/windev/windev-poo-heritage/</a></p><h2>Xoops et l'héritage</h2><p>Comme tout bon projet informatique, xoops utilise la POO. En effet ses développeurs (que je remercie au passage) ont écrit un ensemble de classes qui régissent ce projet.<br />Donc nous pouvons utiliser l'héritage pour ajouter, modifier le comportement de  XOOPS.</p><h3>Tout ça, c'est très bien, mais pourquoi faire ?</h3><ul id=""><li class="">on peut modifier n'importe quelles classes directement dans le projet.</li></ul><p>Ces modifications sont appelées des"<span class="bold italic">HACKs</span>".</p><p>C'est  a ce moment précis, que vous introduisez dans votre code le grain de sable qui risque de vous miner la vie, pour l'évolution et la maintenance de votre site.<br />- Que vas t'il se passer à la prochaine mise à jour ? Dans 1 an.......<br />Plus rien ne vas fonctionner correctement, il va falloir recommencer toutes les modifica-tions une par une; Comme vous êtes un développeur compétent vous avez pris soin de consigner dans un fichier ou sur un"<span class="italic">petit  cahier</span>"toutes les modifications à faire.</p><p>Dans le cas contraire : je vous souhaite bon courage !</p><h3>L'autre solution c'est  d'utiliser  l'héritage, allons y !</h3><p>Prenons un exemple avec un formulaire dans XOOPS.<br />Les formulaires dans XOOPS, bien que souvent suffisants, ne peuvent pas répondent à l'ensemble de vos besoins spécifiques.</p><p>Nous allons ici, voir 2 applications de l'héritage avec XOOPS et plus précisément avec les  éléments xoopsThemeForm et xoopsElement , ce n'est que des exemples et absolument pas restrictif.</p><ul class=""><li class="">changer l'url de action du formulaire à la volé</li><li class="">ajouter un nouvel élément, pas disponible dans le projet initial</li></ul><p>Nous partons du principe, que nous avons un module appelé myModule et que ce module tout à fait standard contient un répertoire class dans lequel nous allons pouvoir placer nos nouvelles classes.</p><h4>La première chose, c'est comprendre comment sont hiérarchisées les classes qui génèrent le formulaire.</h4><p>La classe XoopsForm est la classe de base du formulaire, c'est une classe abstraite, ce qui signifie que cette classe ne doit pas être utilisée directement mais qu'elle doit être étendue, généralisée. C'est en faite une sorte de gabarit, des propriétés et des méthodes.<br />Je vous laisse vous plonger dans la POO pour plus de détail.</p><p>La classe XoopsThemeForm est la classe qui généralise XoopSForm et qui vas afficher le formulaire sous forme de table, c'est cette classe dont nous hériterons, pour modifier le comportement général du formulaire.</p><div class="txtcenter"><img src="http://www.frxoops.org/uploads/news/xoopsform_01.gif"alt="xoopsform"/></div><p><span class="bold red">Note :</span>si nous voulons que notre formulaire ne s?affiche plus sous forme de tableau, alors il nous suffirait de partir directement de XoopsForm et refaire le travail à notre sauce; Pour ça, s'en se prendre la tête, il suffit de partir de xoopsThemeForm et de modifié la méthode render() qui est responsable de l'affichage.</p><p>Comme vous l'aurez remarqué, dans XoopsForm (voir API) la méthode render() est vide, et oui ! C'est ça une classe abstraite; Elle nous dit juste que cette méthode doit être redé-finie dans la classe qui l'étend.</p><p>Donc dans XoopsThemeForm la méthode est redéfinie pour affiché un formulaire sous forme de table :</p><div class="xoopsCode"><code><span style="color: #000000"><span style="color: #0000BB"></span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">render</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ele_name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getName</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'&lt;form&nbsp;name="'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$ele_name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'"&nbsp;id="'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$ele_name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'"&nbsp;action="'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getAction</span><span style="color: #007700">()&nbsp;.&nbsp;</span><span style="color: #DD0000">'"&nbsp;method="'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getMethod</span><span style="color: #007700">()&nbsp;.&nbsp;</span><span style="color: #DD0000">'"&nbsp;onsubmit="return&nbsp;xoopsFormValidate_'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$ele_name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'();"'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getExtra</span><span style="color: #007700">()&nbsp;.&nbsp;</span><span style="color: #DD0000">'&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;table&nbsp;width="100%"&nbsp;class="outer"&nbsp;cellspacing="1"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;&lt;th&nbsp;colspan="2"&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getTitle</span><span style="color: #007700">()&nbsp;.&nbsp;</span><span style="color: #DD0000">'&lt;/th&gt;&lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$hidden&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$class&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'even'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getElements</span><span style="color: #007700">()&nbsp;as&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">is_object</span><span style="color: #007700">(</span><span style="color: #0000BB">$ele</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(!</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">isHidden</span><span style="color: #007700">())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getNocolspan</span><span style="color: #007700">())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;tr&nbsp;valign="top"&nbsp;align="left"&gt;&lt;td&nbsp;class="head"&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((</span><span style="color: #0000BB">$caption&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getCaption</span><span style="color: #007700">())&nbsp;!=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;div&nbsp;class="xoops-form-element-caption'&nbsp;</span><span style="color: #007700">.&nbsp;(</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">isRequired</span><span style="color: #007700">()&nbsp;?&nbsp;</span><span style="color: #DD0000">'-required'&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;.&nbsp;</span><span style="color: #DD0000">'"&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;span&nbsp;class="caption-text"&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$caption&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'&lt;/span&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;span&nbsp;class="caption-marker"&gt;*&lt;/span&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;/div&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((</span><span style="color: #0000BB">$desc&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getDescription</span><span style="color: #007700">())&nbsp;!=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;div&nbsp;class="xoops-form-element-help"&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$desc&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'&lt;/div&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;/td&gt;&lt;td&nbsp;class="'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$class&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'"&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render</span><span style="color: #007700">()&nbsp;.&nbsp;</span><span style="color: #DD0000">'&lt;/td&gt;&lt;/tr&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">NWLINE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;tr&nbsp;valign="top"&nbsp;align="left"&gt;&lt;td&nbsp;class="head"&nbsp;colspan="2"&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((</span><span style="color: #0000BB">$caption&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getCaption</span><span style="color: #007700">())&nbsp;!=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;div&nbsp;class="xoops-form-element-caption'&nbsp;</span><span style="color: #007700">.&nbsp;(</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">isRequired</span><span style="color: #007700">()&nbsp;?&nbsp;</span><span style="color: #DD0000">'-required'&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;.&nbsp;</span><span style="color: #DD0000">'"&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;span&nbsp;class="caption-text"&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$caption&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'&lt;/span&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;span&nbsp;class="caption-marker"&gt;*&lt;/span&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;/div&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;/td&gt;&lt;/tr&gt;&lt;tr&nbsp;valign="top"&nbsp;align="left"&gt;&lt;td&nbsp;class="'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$class&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'"&nbsp;cols-pan="2"&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render</span><span style="color: #007700">()&nbsp;.&nbsp;</span><span style="color: #DD0000">'&lt;/td&gt;&lt;/tr&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$hidden&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;/table&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">NWLINE&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$hidden&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'&lt;/form&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">NWLINE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">renderValidationJS</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #0000BB"></span></span></code></div><h4>Mise en pratique</h4><p>Dans notre premier exemple nous souhaitons envoyer notre formulaire à un traitement différent en fonction d'une action utilisateur.</p><p>Notre formulaire est le suivant :</p><div class="xoopsCode"><code><span style="color: #000000"><span style="color: #0000BB"></span><span style="color: #FF8000">//&nbsp;Création&nbsp;de&nbsp;l'objet&nbsp;formulaire<br /></span><span style="color: #0000BB">$my_form&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">ThemeForm</span><span style="color: #007700">(</span><span style="color: #DD0000">"mon&nbsp;formulaire"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'Form_bien'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"han-dle_bien.php?action=save"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Création&nbsp;des&nbsp;éléments&nbsp;de&nbsp;formulaire<br /></span><span style="color: #0000BB">$reference&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XoopsFormText</span><span style="color: #007700">(</span><span style="color: #DD0000">"Référence"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"reference"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">50</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$prix</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XoopsFormText</span><span style="color: #007700">(</span><span style="color: #DD0000">"Prix"</span><span style="color: #007700">,</span><span style="color: #DD0000">"prix"</span><span style="color: #007700">,</span><span style="color: #0000BB">50</span><span style="color: #007700">,</span><span style="color: #0000BB">100</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Ajout&nbsp;des&nbsp;éléments&nbsp;au&nbsp;formulaire<br /></span><span style="color: #0000BB">$my_form</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addElement</span><span style="color: #007700">(</span><span style="color: #0000BB">$reference</span><span style="color: #007700">,</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$my_form</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addElement</span><span style="color: #007700">(</span><span style="color: #0000BB">$prix</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Idem&nbsp;pour&nbsp;un&nbsp;bouton<br /></span><span style="color: #0000BB">$button&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">XoopsFormButton</span><span style="color: #007700">(</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'post'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">_SEND</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'submit'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$my_form</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addElement</span><span style="color: #007700">(</span><span style="color: #0000BB">$button</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">//&nbsp;Affichage&nbsp;du&nbsp;formulaire<br /></span><span style="color: #0000BB">$my_form</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">display</span><span style="color: #007700">();</span><span style="color: #0000BB"></span></span></code></div><p>Jusqu'ici rien de bien sorcier ! Nous allons donc modifier le comportement de XoopsThemeForm pour cela,nous créons un fichier php dans le répertoire class, que nous nommons de manière très original : my_form.php</p><p>Nous obtenons maintenant la séquence d?héritage suivante :</p><div class="txtcenter"><img src="http://www.frxoops.org/uploads/news/xoopsform_02.gif"alt="xoopsform"/></div><p>Pour que cette classe hérite de XoopsThemeForm, on dit aussi pour qu'elle étend, ou en-core qu'elle généralise, on écrit en php :</p><div class="xoopsCode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">MyForm&nbsp;</span><span style="color: #007700">extends&nbsp;</span><span style="color: #0000BB">XoopsThemeForm</span><span style="color: #007700">{<br /><br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div><p>Bien sûr pour que cela fonctionne, il faut que la classe"fille"trouve sa classe"mère", donc il faut inclure la classe XoopsThemeForm ce qui donne :</p><div class="xoopsCode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">include_once(./../</span><span style="color: #0000BB">XoopsThemeForm</span><span style="color: #007700">.</span><span style="color: #0000BB">php</span><span style="color: #007700">)<br /><br />class&nbsp;</span><span style="color: #0000BB">MyForm&nbsp;</span><span style="color: #007700">extends&nbsp;</span><span style="color: #0000BB">XoopsThemeForm</span><span style="color: #007700">{<br /><br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div><p>Vous pouvez aussi utiliser xoops_load de la manière suivante :</p><div class="xoopsCode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />defined</span><span style="color: #007700">(</span><span style="color: #DD0000">'XOOPS_ROOT_PATH'</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #DD0000">'Restricted&nbsp;access'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">xoops_load</span><span style="color: #007700">(</span><span style="color: #DD0000">'XoopsThemeForm'</span><span style="color: #007700">);<br /><br />class&nbsp;</span><span style="color: #0000BB">MyForm&nbsp;</span><span style="color: #007700">extends&nbsp;</span><span style="color: #0000BB">XoopsThemeForm&nbsp;</span><span style="color: #007700">{}</span><span style="color: #0000BB"></span></span></code></div><p>Ensuite on peut soit ajouter de nouvelles propriétés ou de nouvelles méthodes ou bien redéfinir des méthodes existantes, on dit dans ce cas"<span class="bold italic">Que l'on surcharge (override) la méthode</span>".</p><p>Nous allons ajouter à notre formulaire  une nouvelle méthode, actuellement la classe XoopsThemeForm ne permet pas de changer le paramètre action du formulaire après avoir déclaré le constructeur, ce paramètre est passé au constructeur une fois pour toute; Mais  on veut le modifier en fonction des actions utilisateurs et diriger le formulaire vers des traitement différents.</p><p>Nous allons donc ajouter une méthode :</p><div class="xoopsCode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />xoops_load</span><span style="color: #007700">(</span><span style="color: #DD0000">'XoopsThemeForm'</span><span style="color: #007700">);<br /><br />class&nbsp;</span><span style="color: #0000BB">MyForm&nbsp;</span><span style="color: #007700">extends&nbsp;</span><span style="color: #0000BB">XoopsThemeForm&nbsp;</span><span style="color: #007700">{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;</span><span style="color: #0000BB">$newAction</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">setNewAction</span><span style="color: #007700">(</span><span style="color: #0000BB">$url</span><span style="color: #007700">=</span><span style="color: #0000BB">null</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$url</span><span style="color: #007700">===</span><span style="color: #0000BB">null</span><span style="color: #007700">?</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">newAction</span><span style="color: #007700">=</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getAction</span><span style="color: #007700">():&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">newAction</span><span style="color: #007700">=</span><span style="color: #0000BB">$action</span><span style="color: #007700">;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div><p>Cette nouvelle méthode (appelé aussi"setter") affecte l'url a la nouvelle propriété $newAc-tion si le paramètre de la fonction est passé.</p><p><span class="bold red">Note importante :</span><br />La classe xoopsForm, n'a pas était optimisée pour être généralisée de manière a donner a ux  développeurs la possibilité de faire ce qu'ils veulent, à mon grand regret. Pour cela il aurait fallu que les propriétés de la classe xoopsForm soit"<span class="italic">protected</span>"et non"<span class="italic">private</span>"(je vous renvois à la POO) ou alors que : chaque propriété soit associée à un"<span class="italic">setter</span>"et à un"<span class="italic">getter</span>". j'ignore les raisons de cette absence.<br />Ceci vas nous obliger a redéfinir la fonction render(). Ceux qui n'aurait pas été obligatoire si nous avions eu des"setter"ou que les propriétés eût étées"protected"</p><p>La classe avec la fonction render() redéfinie, on remplace $this->getAction par notre nouvelle propriété $newAction, ce qui donne :</p><div class="xoopsCode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />xoops_load</span><span style="color: #007700">(</span><span style="color: #DD0000">'XoopsThemeForm'</span><span style="color: #007700">);<br /><br />class&nbsp;</span><span style="color: #0000BB">MyForm&nbsp;</span><span style="color: #007700">extends&nbsp;</span><span style="color: #0000BB">XoopsThemeForm&nbsp;</span><span style="color: #007700">{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;</span><span style="color: #0000BB">$newAction</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">setNewAction</span><span style="color: #007700">(</span><span style="color: #0000BB">$url</span><span style="color: #007700">=</span><span style="color: #0000BB">null</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$url</span><span style="color: #007700">===</span><span style="color: #0000BB">null</span><span style="color: #007700">?</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">newAction</span><span style="color: #007700">=</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getAction</span><span style="color: #007700">():&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">newAction</span><span style="color: #007700">=</span><span style="color: #0000BB">$action</span><span style="color: #007700">;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">render</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ele_name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getName</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'&lt;form&nbsp;name="'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$ele_name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'"&nbsp;id="'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$ele_name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'"&nbsp;action="'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">newAction</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'"&nbsp;method="'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getMethod</span><span style="color: #007700">()&nbsp;.&nbsp;</span><span style="color: #DD0000">'"&nbsp;onsubmit="return&nbsp;xoopsFormValidate_'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$ele_name&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'();"'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getExtra</span><span style="color: #007700">()&nbsp;.&nbsp;</span><span style="color: #DD0000">'&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;table&nbsp;width="100%"&nbsp;class="outer"&nbsp;cellspacing="1"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;&lt;th&nbsp;colspan="2"&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getTitle</span><span style="color: #007700">()&nbsp;.&nbsp;</span><span style="color: #DD0000">'&lt;/th&gt;&lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$hidden&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$class&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'even'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getElements</span><span style="color: #007700">()&nbsp;as&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">is_object</span><span style="color: #007700">(</span><span style="color: #0000BB">$ele</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(!</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">isHidden</span><span style="color: #007700">())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getNocolspan</span><span style="color: #007700">())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;tr&nbsp;valign="top"&nbsp;align="left"&gt;&lt;td&nbsp;class="head"&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((</span><span style="color: #0000BB">$caption&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getCaption</span><span style="color: #007700">())&nbsp;!=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;div&nbsp;class="xoops-form-element-caption'&nbsp;</span><span style="color: #007700">.&nbsp;(</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">isRequired</span><span style="color: #007700">()&nbsp;?&nbsp;</span><span style="color: #DD0000">'-required'&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;.&nbsp;</span><span style="color: #DD0000">'"&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;span&nbsp;class="caption-text"&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$caption&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'&lt;/span&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;span&nbsp;class="caption-marker"&gt;*&lt;/span&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;/div&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((</span><span style="color: #0000BB">$desc&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getDescription</span><span style="color: #007700">())&nbsp;!=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;div&nbsp;class="xoops-form-element-help"&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$desc&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'&lt;/div&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;/td&gt;&lt;td&nbsp;class="'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$class&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'"&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render</span><span style="color: #007700">()&nbsp;.&nbsp;</span><span style="color: #DD0000">'&lt;/td&gt;&lt;/tr&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">NWLINE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;tr&nbsp;valign="top"&nbsp;align="left"&gt;&lt;td&nbsp;class="head"&nbsp;colspan="2"&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((</span><span style="color: #0000BB">$caption&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getCaption</span><span style="color: #007700">())&nbsp;!=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;div&nbsp;class="xoops-form-element-caption'&nbsp;</span><span style="color: #007700">.&nbsp;(</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">isRequired</span><span style="color: #007700">()&nbsp;?&nbsp;</span><span style="color: #DD0000">'-required'&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)&nbsp;.&nbsp;</span><span style="color: #DD0000">'"&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;span&nbsp;class="caption-text"&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$caption&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'&lt;/span&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;span&nbsp;class="caption-marker"&gt;*&lt;/span&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;/div&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;/td&gt;&lt;/tr&gt;&lt;tr&nbsp;valign="top"&nbsp;align="left"&gt;&lt;td&nbsp;class="'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$class&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'"&nbsp;cols-pan="2"&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render</span><span style="color: #007700">()&nbsp;.&nbsp;</span><span style="color: #DD0000">'&lt;/td&gt;&lt;/tr&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$hidden&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000BB">$ele</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'&lt;/table&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">NWLINE&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$hidden&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'&lt;/form&gt;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">NWLINE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$ret&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">renderValidationJS</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$ret</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div><p>Maintenant nous pouvons l'utiliser de la manière suivante :</p><div class="xoopsCode"><code><span style="color: #000000"><span style="color: #0000BB">$my_form</span><span style="color: #007700">=new&nbsp;</span><span style="color: #0000BB">MyForm</span><span style="color: #007700">(</span><span style="color: #0000BB">paramètres</span><span style="color: #007700">);<br /><br />If(</span><span style="color: #0000BB">condition</span><span style="color: #007700">){<br /></span><span style="color: #FF8000">//&nbsp;maintenant&nbsp;on&nbsp;change&nbsp;l'url&nbsp;du&nbsp;formulaire<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$MyForm</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setNewAction</span><span style="color: #007700">(</span><span style="color: #DD0000">'test.php'</span><span style="color: #007700">)<br />}</span><span style="color: #0000BB"></span></span></code></div><br /><p>Vous pouvez faire une mise à jour s'en risque......</p><p>Deuxième exemple on souhaite ajouter un élément qui n'existe pas dans les classes de XOOPS, par exemple on veut que notre formulaire affiche des images précédemment téléchargées sur le serveur, pour informer l'utilisateur.</p><p>Il n'y a pas d'élément, affiche image, dans les formulaires de XOOPS. Nous allons donc le créer en étendant la classe XoopsFormElement, qui est la classe chargée de créer un élément de formulaire, comme formcolorpicker etc....</p><br /><p>ce qui donne comme héritage :</p><div class="txtcenter"><img src="http://www.frxoops.org/uploads/news/xoopsform_03.gif"alt="xoopsform"/></div><p>classe :</p><br /><div class="xoopsCode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />defined</span><span style="color: #007700">(</span><span style="color: #DD0000">'XOOPS_ROOT_PATH'</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #DD0000">'Restricted&nbsp;access'</span><span style="color: #007700">);<br /><br />class&nbsp;</span><span style="color: #0000BB">MyElement&nbsp;</span><span style="color: #007700">extends&nbsp;</span><span style="color: #0000BB">XoopsFormElement<br /></span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;</span><span style="color: #0000BB">$_content</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">__construct</span><span style="color: #007700">(</span><span style="color: #0000BB">$caption&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$value&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setCaption</span><span style="color: #007700">(</span><span style="color: #0000BB">$caption</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setName</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_value&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">setContent</span><span style="color: #007700">(</span><span style="color: #0000BB">$content</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_content</span><span style="color: #007700">=</span><span style="color: #0000BB">$content</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">getContent</span><span style="color: #007700">(</span><span style="color: #0000BB">$encode</span><span style="color: #007700">=</span><span style="color: #0000BB">false</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$encode&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">htmlspecialchars</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_content</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ENT_QUOTES</span><span style="color: #007700">)&nbsp;:&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">_content</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">render</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getContent</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div><p>La méthode fonction setContent($content) vas nous permettre d?insérer du contenu.</p><ul id=""><li class="">Utilisation :</li></ul><div class="xoopsCode"><code><span style="color: #000000"><span style="color: #0000BB">$planchePhoto</span><span style="color: #007700">=new&nbsp;</span><span style="color: #0000BB">myElement</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$planchePhoto</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setContent</span><span style="color: #007700">(</span><span style="color: #DD0000">'&lt;div&nbsp;class="photos"&gt;vos&nbsp;photos&lt;/div&gt;'</span><span style="color: #007700">);</span><span style="color: #0000BB"></span></span></code></div><p>Maintenant que nous avons créer un nouvel élément de formulaire , ajoutons le à notre formulaire</p><div class="xoopsCode"><code><span style="color: #000000"><span style="color: #0000BB">$my_form</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addElement</span><span style="color: #007700">(</span><span style="color: #0000BB">$planchePhoto</span><span style="color: #007700">);</span><span style="color: #0000BB"></span></span></code></div><p>Voilà nous avons ajouté un élément à notre formulaire</p>
      ]]>
    </content>
      </entry>
    <entry>
    <title>TDMmoney 1.1</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1884" />
    <modified>2012-01-12T19:42:28+01:00</modified>
    <issued>2012-01-12T19:42:28+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.11</id>
            <summary type="text/plain">L&apos;équipe de FreeXoopServices est heureuse de vous annoncer la sortie de TDMmoney 1.1.Liste des bugs corrigés :Bug avec les redirections (Mage)Il était impossible de modifier une opération dans l&apos;admin ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      L'équipe de FreeXoopServices est heureuse de vous annoncer la sortie de TDMmoney 1.1.</p><h2>Liste des bugs corrigés :</h2><ul><li>Bug avec les redirections (Mage)</li><li>Il était impossible de modifier une opération dans l'administration (Mage)</li><li>Les caractères UTF-8 ne s'affichaient pas correctement dans le PDF (Mage).</li></ul><h2>Liste des améliorations:</h2><ul><li>La partie administration à été recodée (compatible à 100% avec xoops 2.5) (Mage)</li></ul><h2>Informations</h2><ul><li>Voir le fichier"lang_diff.txt"pour les changements de langues..</li></ul><h2>Installation:</h2><ol><li>Vous devez effacer le dossier"TDMMoney qui se trouve dans"modules".</li><li>Uploader le dossier"TDMMoney"sur votre serveur dans le dossier"modules"</li><li>Faire une mise à jour du module.</li></ol><h2>Important</h2><p>Le module nécessite l'utilisation du Frameworks"ModuleClasses"pour fonctionner.<br />Le module travail uniquement sur xoops 2.5x</p><h2>Téléchargement</h2><p><a href="https://sourceforge.net/projects/freexoopservice/files/TDMMoney/Version/1.1/TDMMoney_1.1.zip/download"title=""class=""rel="external">TDMmoney 1.1</a>et sa traduction<a href="https://sourceforge.net/projects/freexoopservice/files/TDMMoney/Translation/1.1/Translation_french_TDMMoney_1.1.zip/download"title="Télécharger le module TDMmoney"class=""rel="external">française</a>
      ]]>
    </content>
      </entry>
    <entry>
    <title>APCal mis à jour à la version 2.0.3</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1883" />
    <modified>2012-01-12T19:36:00+01:00</modified>
    <issued>2012-01-12T19:36:00+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.12</id>
            <summary type="text/plain">APCal version 2.0.3 est maintenant disponible surhttp://xoops.antiquepromotion.comLa traduction espagnol est maintenant complète.Nous avons également amélioré la boîte descriptive dans la vue mensuell ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      APCal version 2.0.3 est maintenant disponible sur<a href="http://xoops.antiquepromotion.com/modules/TDMDownloads/singlefile.php?cid=1&lid=1"title="Télécharger APCal"><a href="http://xoops.antiquepromotion.com"title="http://xoops.antiquepromotion.com"rel="external">http://xoops.antiquepromotion.com</a></a></p><p>La traduction espagnol est maintenant complète.</p><p>Nous avons également amélioré la boîte descriptive dans la vue mensuelle afin qu'elle ne dépasse pas les limites de la fenêtre du navigateur.<br />De plus, nous avons corrigé a petit bug lors de l'insertion d'un évènement.
      ]]>
    </content>
      </entry>
    <entry>
    <title>Joyeuse Année 2012 !</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1882" />
    <modified>2011-12-31T12:06:21+01:00</modified>
    <issued>2011-12-31T12:06:21+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.13</id>
            <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      <div class="txtcenter"><img src="http://www.frxoops.org/uploads/2012.gif"alt="2012 - FrXoops"/></div>
      ]]>
    </content>
      </entry>
    <entry>
    <title>Trois nouveaux thèmes gratuit pour Xoops</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1881" />
    <modified>2011-12-30T10:19:18+01:00</modified>
    <issued>2011-12-30T10:19:18+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.14</id>
            <summary type="text/plain">Xoops Demovous présente 3 nouveaux thèmes GRATUIT et adapté pour Xoops : XDGrey, XDClassified et XDBlack_wall.Ces thèmes se composent  de 3 colonnes et sont compatibles avec Internet explorer, Firefox ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      <a href="http://xoops-demo.com/"title="">Xoops Demo</a>vous présente 3 nouveaux thèmes GRATUIT et adapté pour Xoops : XDGrey, XDClassified et XDBlack_wall.<br />Ces thèmes se composent  de 3 colonnes et sont compatibles avec Internet explorer, Firefox, Safari, Chrome et Opera.</p><p><strong>XDGrey</strong>est basé sur le thème défaut et du template<a href="http://www.templatemo.com/preview/templatemo_162_gray_company"title="">templatemo_162_gray_company</a>.</p><div class="txtcenter"><img src="http://xoops-demo.com/uploads/templates/XDGrey.png"alt=""/></div><p><span class="bold">Téléchargement :</span><a href="http://sourceforge.net/projects/xdthemes/files/XDGrey.zip/download"title="">à cette adresse</a>et en action :<a href="http://xoops-demo.com/index.php?xoops_theme_select=XDGrey"title="">sur ce site</a>.</p><p><strong>XDClassified</strong>est basé sur le thème défaut et du template<a href="http://www.websitetemplatesonline.com/free-template/Classified.html"title="">Classified</a></p><div class="txtcenter"><img src="http://xoops-demo.com/uploads/templates/XDClassified.png"alt=""/></div><p><span class="bold">Téléchargement :</span><a href="http://sourceforge.net/projects/xdthemes/files/XDClassified.zip/download"title="">à cette adresse</a>et en action :<a href="http://xoops-demo.com/index.php?xoops_theme_select=XDClassified"title="">sur ce site</a></p><p><strong>XDBlack_wall</strong>est basé sur le thème défaut et du template<a href="http://www.templatemo.com/preview/templatemo_335_black_wall"title="">templatemo_335_black_wall</a>.</p><div class="txtcenter"><img src="http://xoops-demo.com/uploads/templates/XDBlack_wall.png"alt=""/></div><p><span class="bold">Téléchargement :</span><a href="http://sourceforge.net/projects/xdthemes/files/XDBlack_wall.zip/download"title="">à cette adresse</a>, et en action :<a href="http://xoops-demo.com/index.php?xoops_theme_select=XDBlack_wall"title="">sur ce site</a>.
      ]]>
    </content>
      </entry>
    <entry>
    <title>XDTazer : Template GRATUIT pour Xoops</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1880" />
    <modified>2011-12-09T00:14:04+01:00</modified>
    <issued>2011-12-09T00:14:04+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.15</id>
            <summary type="text/plain">Xoops demovous présente l&apos;adaptation d&apos;un nouveau thème pour Xoops nommé XDTazerVoici un nouveau template Réalisé avec le gabarit default et le PSD demyjilson.Il dispose de 2 colonnes (une à gauche ou ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      <p><a href="http://xoops-demo.com/"rel="external">Xoops demo</a>vous présente l'adaptation d'un nouveau thème pour Xoops nommé XDTazer</p><p>Voici un nouveau template Réalisé avec le gabarit default et le PSD de<a href="http://www.freebiepixels.com/author/myjilson/"rel="external">myjilson</a>.Il dispose de 2 colonnes (une à gauche ou a droite ).</p><div class="txtcenter"><img src="http://xoops-demo.com/uploads/templates/XDTazer.png"/></div><p>Vous pouvez utiliser ce thème avec xoops 2.4.5 et 2.5.x</p><p>Visible<a href="http://xoops-demo.com/index.php?xoops_theme_select=XDTazer"rel="external">ici</a></p><p>Téléchargeable<a href="http://xoops-demo.com/modules/TDMDownloads/singlefile.php?cid=1&lid=24"rel="external">ici</a></p>
      ]]>
    </content>
      </entry>
    <entry>
    <title>APCal v2.0.2 Final - Calendrier avec carte pour XOOPS 2.4 / 2.5</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1879" />
    <modified>2011-12-09T00:10:49+01:00</modified>
    <issued>2011-12-09T00:10:49+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.16</id>
            <summary type="text/plain">APCal est un module vous permettant d&apos;afficher un calendrier d&apos;événements avec une carte sur votre site web. Plusieurs autres caractéristiques ont été ajoutés, optionnelles pour la plupart. Ce module  ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      <p>APCal est un module vous permettant d'afficher un calendrier d'événements avec une carte sur votre site web. Plusieurs autres caractéristiques ont été ajoutés, optionnelles pour la plupart. Ce module est basé sur PiCal.</p><p>Ce module va copier vos données de PiCal pour une transition simple.</p><p>Cette version est un grand pas en avant depuis la version 1.</p><p>Visiter<a rel="external"href="http://xoops.antiquepromotion.com/modules/TDMDownloads/singlefile.php?cid=1&lid=1"title="http://xoops.antiquepromotion.com"><a href="http://xoops.antiquepromotion.com"title="http://xoops.antiquepromotion.com"rel="external">http://xoops.antiquepromotion.com</a></a>pour le télécharger !</p><h4>NOUVELLES CARACTÉRISTIQUES :</h4><ul id=""><li class="">Événements sur une ligne (au lieu de le répéter chaque jour) dans la vue mensuelle.</li><li class="">Images miniatures et visualisateur dans la vue événementielle.</li><li class="">Nouveaux champs pour le courriel et le site web.</li><li class="">Chaque catégorie possède une couleur.</li><li class="">Légende des catégories avec couleurs associées.</li><li class="">Couleurs par défaut plus neutre pour une meilleure intégration.</li><li class="">Réorganisation de l'interface administrateur.</li><li class="">Bouton"parlez-en à un ami".</li><li class="">Boutons de partage sur les principaux réseaux sociaux (Facebook, Twiter, Google+, LinkedIn, Delicious).</li><li class="">Option : Ajouter des photos à un événement avec une image principale.</li><li class="">Option : Choisir une catégorie principale pour chaque événement.</li><li class="">Option : Choisir des heures différentes pour chaque jour d'un événement (s'il est sur plusieurs jours).</li></ul><p>Veuillez reporter tout problèmes rapidement sur xoops.antiquepromotion.com ou ici.<br />Nous allons essayer d'avoir une version RC d'ici une semaine.</p><h4>Caractéristiques originales :</h4><ul id=""><li class="">Marqueurs contenant la date de l'événement sur la carte.</li><li class="">Optimisé pour Google (titre et description).</li><li class="">Possibilité d'ajouter une description en HTML pour chaque catégorie.</li><li class="">Amélioration de la personnalisation du thème.</li><li class="">Option : Carte affichant tous les événements.</li><li class="">Option : Carte affichant l'emplacement de l'événement spécifié.</li><li class="">Option : Afficher le titre de la catégorie en H1.</li><li class="">Option : API qui permet à vos utilisateurs d'afficher votre calendrier sur leur site (Avec un lien vers votre site).</li><li class="">Option : Menu de navigation permettant de naviguer à travers les événements.</li><li class="">Option : Colonnes plus larges pour les jours spécifiés.</li><li class="">Option : Calendrier perpétuel des fêtes nationales (Uniquement pour les États-Unis (EN), le Canada (EN), le Québec (FR) et la France (FR).</li><li class="">Option : Réécriture d'URL (si le serveur le permet).</li><li class="">4 vues différentes (Journalière, hebdomadaire, mensuelle et annuelle).</li><li class="">Les utilisateurs peuvent ajouter des événements si les permissions le permettent.</li><li class="">Exportation et importation au format ICS.</li></ul>
      ]]>
    </content>
      </entry>
    <entry>
    <title>Un site de petites annonces pour les disques vinyles !</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1878" />
    <modified>2011-11-30T22:03:26+01:00</modified>
    <issued>2011-11-30T22:03:26+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.17</id>
            <summary type="text/plain">Bonjour,Je vous présente ma toute dernière création réalisé sous Xoops.Un site de petites annonces de Disques Vinyles.</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      <p>Bonjour,</p><p>Je vous présente ma toute dernière création réalisé sous Xoops.<img class="imgsmile"src="http://www.frxoops.org/uploads/smil4bb645df78dd6.gif"alt=""/></p><p>Un site de petites annonces de Disques Vinyles.</p><div class="txtcenter"><a href="http://www.disques-vinyles.fr"title="Visitez Disques-Vinyles.fr"><img height="400"src="http://www.disques-vinyles.fr/disques-vinyles.jpg"alt="Disques vinyles"/></a></div>
      ]]>
    </content>
      </entry>
    <entry>
    <title>Xoops 2.5.4 est publié en version finale</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1877" />
    <modified>2011-11-20T23:34:36+01:00</modified>
    <issued>2011-11-20T23:34:36+01:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.18</id>
            <summary type="text/plain">XOOPS 2.5.4 FinalArticle original par Mamba du 20/11/2011 surXoops.orget librement adapté par l&apos;équipe FrXoopsNouveautésL&apos;équipe de développement XOOPS est heureuse d&apos;annoncer la sortie de XOOPS 2.5.4 ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      <link rel="stylesheet"href="http://www.frxoops.org/themes/frxoops/WOX/wox.css"/><br /><div id="xoops-release"><h1>XOOPS 2.5.4 Final</h1><p class="right italic x-small">Article original par Mamba du 20/11/2011 sur<a href="http://xoops.org/modules/news/article.php?storyid=6136"title="Publication originale sur Xoops.org"rel="external">Xoops.org</a>et librement adapté par l'équipe FrXoops</p><div class="chapter"><h2 class="editorial">Nouveautés</h2><p>L'équipe de développement XOOPS est heureuse d'annoncer la sortie de XOOPS 2.5.4 Final.</p><ul><li>Mise à jour de nos bibliothèques :<ul><li>phpMailer 5.1</li><li>TinyMCE 3.4.6<span class="italic">(nota: TinyMCE 3.4.7 dans la version française)</span></li><li>jQuery 1.7.0</li><li>jQueryUI 1.8.16</li></ul></li><li>Mise à jour des modules livrés avec le noyau Xoops, qui recourent désormais au<a href="http://xoops.org/modules/news/article.php?storyid=6037"title="Framework Module Admin"rel="external">Framework Module Admin</a>et disposent donc d'une interface d'administration standardisée :<ul><li>Private Message</li><li>Profile</li><li>Protector</li></ul></li><li>Bugs principaux corrigés (pour plus de détails, lisez le changelog) :<blockquote>- quoteConv causait des problèmes avec un nombre important de quotes (Roby73/trabis)<br />- Cache bug. La clé n'était générée correctement (andrey3761/trabis)<br />- ID: 3425970 Inconnu : Function split() (cesag/trabis)<br />- ID: 3424295 Index non défini : tplset (cesag/trabis)<br />- Préférences n'utilisait correctement le champ de description, tooltip n'affichait pas le titre et la description sans espace (trabis)<br />- Extra height in admin page when warnings are not displayed (timgno/trabis)<br />- Files loaded with browse.php (*.js, *.css, etc) are not cached by the browser (trabis)<br />- ID: 3421180 CBB 4.05 et Xoops 2.5.4 - erreur avec le with Framework (cesag/trabis)<br />- Retrait de l'appel à une feuille de style inexistante dans le menu d'administration<br />- ID: 3419812 glisser déposer et Xoops 2.5.3 (CESAG / Trabis)<br />- Élément de formulaire Calendrier ne fonctionne pas correctement (Trabis)<br />- Vérification /xoops_data accessible en écriture lors de l'installation (Trabis)<br />- ID: 3419332 Déconnexion bug (Cesag / Trabis)</blockquote></li></ul></div></div>
      ]]>
    </content>
      </entry>
    <entry>
    <title>APCal v1.0.6 Beta - Calendrier avec carte pour XOOPS 2.4 / 2.5</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1875" />
    <modified>2011-09-30T22:00:03+02:00</modified>
    <issued>2011-09-30T22:00:03+02:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.19</id>
            <summary type="text/plain">APCal est un module vous permettant d&apos;afficher un calendrier d&apos;événements avec une carte sur votre site web. Plusieurs autres caractéristiques ont été ajoutés, optionnelles pour la plupart. Ce module  ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      <p>APCal est un module vous permettant d'afficher un calendrier d'événements avec une carte sur votre site web. Plusieurs autres caractéristiques ont été ajoutés, optionnelles pour la plupart. Ce module est basé sur PiCal.</p><p>Ce module va copier vos données de PiCal pour une transition simple.</p><p>Allez sur<a href="http://xoops.antiquepromotion.com"title="Antiques Promotion"rel="external"><a href="http://xoops.antiquepromotion.com"title="http://xoops.antiquepromotion.com"rel="external">http://xoops.antiquepromotion.com</a></a>pour le télécharger !</p><h3>Nouvelles caractéristiques :</h3><ul><li>Option : Carte affichant tous les événements.</li><li>Marqueurs contenant la date de l'événement sur la carte.</li><li>Option : Carte affichant l'emplacement de l'événement spécifié.</li><li>Optimisé pour Google (titre et description).</li><li>Option : Afficher le titre de la catégorie en H1.</li><li>Possibilité d'ajouter une description en HTML pour chaque catégorie.</li><li>Option : API qui permet à vos utilisateurs d'afficher votre calendrier sur leur site (Avec un lien vers votre site).</li><li>Amélioration de la personnalisation du thème.</li><li>Option : Menu de navigation permettant de naviguer à travers les événements.</li><li>Option : Colonnes plus larges pour les jours spécifiés.</li><li>Option : Calendrier perpétuel des fêtes nationales (Uniquement pour les États-Unis (EN), le Canada (EN), le Québec (FR) et la France (FR).</li><li>Option : Réécriture d'URL (si le serveur le permet).</li></ul><h3>Caractéristiques originales :</h3><ul><li>4 vues différentes (Journalière, hebdomadaire, mensuelle et annuelle).</li><li>Les utilisateurs peuvent ajouter des événements si les permissions le permettent.</li><li>Exportation et importation au format ICS.</li></ul>
      ]]>
    </content>
      </entry>
    <entry>
    <title>Solution Global Rss pour Xoops</title>
    <link rel="alternate" type="text/html" href="http://www.frxoops.org/modules/news/article.php?storyid=1874" />
    <modified>2011-09-25T11:15:50+02:00</modified>
    <issued>2011-09-25T11:15:50+02:00</issued>
    <id>tag:xoops.kiolo.com,2012://1.20</id>
            <summary type="text/plain">Article originalpublié par Kerkyra sur Xoops.orgCeci est une version modifiée du fichier backend.php du noyau, qui permet de recueillir des fils RSS de tous les modules que vous souhaitez et de les af ...</summary>
        <author>
      <name>J°J°D</name>
                </author>
        <dc:subject>Communauté Francophone des Utilisateurs de Xoops</dc:subject>
            <content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.frxoops.org/">
      <![CDATA[
      <p class="smallsmall italic txtright"><a rel="external"title="Lire l'article original sur Xoops.org"href="http://xoops.org/modules/news/article.php?storyid=6080"title="">Article original</a>publié par Kerkyra sur Xoops.org</p><p>Ceci est une version modifiée du fichier backend.php du noyau, qui permet de recueillir des fils RSS de tous les modules que vous souhaitez et de les afficher.</p><div class=txtcenter pad5"><img src="http://www.frxoops.org/uploads/news/globalrsshack.jpg"alt="Screen GlobalRss Hack"/></div><p>Tout ce que vous avez à faire est de remplacer le fichier RDF par celui contenu dans l'archive à télécharger.<br />Ajouter un fichier dans le dossier modules/incude/rss.inc.php<br />Le nom de fonction doit être nomdumoldule_rss ()</p><p>Dans l'archive, vous trouverez un exemple ainsi que ceux pour les modules de"calendar"et"SmartSection".</p><p>Ce hack fonctionne comme la de recherche de xoops, mais vous n'avez pas à changer ou à déclarer quoi que ce soit dans le fichier xoops_version.php de chaque module.<br />Il a été réaliser car<a class="bold italic"rel="external"title="Profil  de Kerkyra sur Xoops.org"href="http://xoops.org/userinfo.php?uid=31132"title="">Kerkyra</a>désirait changer les fichiers de base d'un module pour qu'il fonctionne.<br />Bien que non nécessaire au fonctionnement du hack, vous trouverez tout de même une version modifiée du template system_rss.html.</p><p>Si vous réalisez des fichiers rss.inc.php pour d'autres modules, s'il vous plaît, partagez les avec la communauté et envoyez les à l'auteur du hack afin qu'il actualise son package.</p><p>Vous pouvez télécharger ce hack<a class="bold"rel="external"title="Télécharger le hack Global Rss pour Xoops"href="http://www.guidemap.gr/uploads/modules/XOOPS2.5_global_RSS_hack.rar"title="">à partir de ce lien</a>.</p>
      ]]>
    </content>
      </entry>
  </feed>
