<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hotfirenet &#187; PHP</title>
	<atom:link href="http://www.hotfirenet.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hotfirenet.com</link>
	<description>L&#039;espace web d&#039;un passionné</description>
	<lastBuildDate>Wed, 16 May 2012 11:19:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>PHP &#8211; Tester l’existence d’un fichier distant</title>
		<link>http://www.hotfirenet.com/php-tester-lexistence-dun-fichier-distant</link>
		<comments>http://www.hotfirenet.com/php-tester-lexistence-dun-fichier-distant#comments</comments>
		<pubDate>Fri, 16 Mar 2012 07:00:13 +0000</pubDate>
		<dc:creator>Djo</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Snippet]]></category>

		<guid isPermaLink="false">http://www.hotfirenet.com/?p=660</guid>
		<description><![CDATA[Comment savoir si un fichier distant est toujours présent ? voici 3 fonctions qui permettent de le faire.]]></description>
			<content:encoded><![CDATA[<p>Voici 3 fonctions qui finalement permettent de tester l&#8217;existence d&#8217;un fichier distant.</p>
<p>Nécessite <strong>CURL</strong></p>
<pre class="brush: php; title: ; notranslate">
function getInfos($url){
	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLINFO_HEADER_OUT, true);
	curl_setopt($ch, CURLOPT_TIMEOUT, 30);
	curl_exec($ch);
	return curl_getinfo($ch);
}

$infos = getInfos('http://www.hotfirenet.com');
if($infos['http_code'] == 200){
// OK
}else{
// pas ok
}
</pre>
<p>Apparemment consommatrice car elle télécharge une partie du fichier.</p>
<pre class="brush: php; title: ; notranslate">
function remote_file_exists ( $url ) {
	ini_set('allow_url_fopen', '1');
	if (@fclose(@fopen($url, 'r'))) { return true; }
	else { return false; }
}
</pre>
<p><strong>UNIQUEMENT</strong> possible depuis <strong>PHP5</strong></p>
<pre class="brush: php; title: ; notranslate">
function sys_file_exists($f = NULL)
{
  $h = array();
  $ret = FALSE;
  if(!is_null($f)):
    if(preg_match('/^http|https|ftp/',$f)): //test protocol EXTERN
      $h = @get_headers($f);
      if(array_key_exists(0,$h)) :
        $ret = (bool) preg_match('/200|301/',$h[0]); /* HTTP/1.1 301 DAP (directory) */
      endif;
    else: //else FS
      $ret = (file_exists($f) &amp;&amp; is_readable($f));
    endif;
  endif;

  return (($ret === TRUE) ? TRUE : FALSE);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hotfirenet.com/php-tester-lexistence-dun-fichier-distant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress &#8211; Shortcode trouve mon age</title>
		<link>http://www.hotfirenet.com/wordpress-shortcode-trouve-mon-age</link>
		<comments>http://www.hotfirenet.com/wordpress-shortcode-trouve-mon-age#comments</comments>
		<pubDate>Thu, 15 Mar 2012 07:00:13 +0000</pubDate>
		<dc:creator>Djo</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Shortcode]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.hotfirenet.com/?p=555</guid>
		<description><![CDATA[Il parait que l’on change d’âge tous les ans ?
Parce que je n’ai pas envie de faire update tous les ans de ma page de présentation et que l’informatique ça sert à être faignant :), version Worpdress ...]]></description>
			<content:encoded><![CDATA[<p>Il parait que l’on change d’âge tous les ans ?<br />
Parce que je n’ai pas envie de faire update tous les ans de ma page de présentation et que l’informatique ça sert à être faignant <img src='http://www.hotfirenet.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  voici un shortcode pour WordPress qui te permettra d’afficher l’âge par rapport à la date de naissance passée en paramètre.  </p>
<p>Le code:</p>
<pre class="brush: php; title: ; notranslate">
//Permet de retrouver l'age par rapport a la date de naissance
//la fonction accepte le format francais et anglais
//utlisation [trouveMonAge date=&quot;1984-06-12&quot;] ou [trouveMonAge date=&quot;12-06-1984&quot;]
function trouveMonAgeFCT($atts){
	extract(shortcode_atts(array('date' =&gt; ''), $atts));
	$age = date('Y') - date('Y', strtotime($date));
	if (date('md') &lt; date('md', strtotime($date))) {
		return $age - 1;
	}
	return $age;
}
add_shortcode('trouveMonAge', 'trouveMonAgeFCT');
</pre>
<p>Utilisation:<br />
<div id="attachment_563" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.hotfirenet.com/wp-content/uploads/2012/02/wordpressTrouveMonAge.png"><img src="http://www.hotfirenet.com/wp-content/uploads/2012/02/wordpressTrouveMonAge.png" alt="" title="wordpressTrouveMonAge" width="600" height="250" class="size-full wp-image-563" /></a><p class="wp-caption-text">Utilisation du  shortcode trouveMonAge</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotfirenet.com/wordpress-shortcode-trouve-mon-age/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NPDS &#8211; Méta-mot trouve mon age</title>
		<link>http://www.hotfirenet.com/npds-meta-mot-trouve-mon-age</link>
		<comments>http://www.hotfirenet.com/npds-meta-mot-trouve-mon-age#comments</comments>
		<pubDate>Wed, 14 Mar 2012 07:00:33 +0000</pubDate>
		<dc:creator>Djo</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Méta mot]]></category>
		<category><![CDATA[Npds]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.hotfirenet.com/?p=558</guid>
		<description><![CDATA[Il parait que l’on change d’âge tous les ans ?
Parce que je n’ai pas envie de faire update tous les ans de ma page de présentation et que l’informatique ça sert à être faignant :), version NPDS]]></description>
			<content:encoded><![CDATA[<p>Il parait que l’on change d’âge tous les ans ?<br />
Parce que je n’ai pas envie de faire update tous les ans de ma page de présentation et que l’informatique ça sert à être faignant <img src='http://www.hotfirenet.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  voici un méta-mot pour NPDS qui te permettra d’afficher l’âge par rapport à la date de naissance passée en paramètre.  </p>
<p>Le code :</p>
<pre class="brush: php; title: ; notranslate">
function MM_trouveMonAge($date){
	$date = arg_filter($date);
	$age = date('Y') - date('Y', strtotime($date));
	if (date('md') &lt; date('md', strtotime($date))) {
		return $age - 1;
	}
	return $age;
}
</pre>
<p>Utilisation :<br />
<div id="attachment_559" class="wp-caption aligncenter" style="width: 661px"><a href="http://www.hotfirenet.com/wp-content/uploads/2012/02/npdsTrouveMonAge.png"><img src="http://www.hotfirenet.com/wp-content/uploads/2012/02/npdsTrouveMonAge-651x1024.png" alt="" title="npdsTrouveMonAge" width="651" height="1024" class="size-large wp-image-559" /></a><p class="wp-caption-text">Utilisation du  Méta mot trouveMonAge</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotfirenet.com/npds-meta-mot-trouve-mon-age/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress &#8211; Customiser la galerie native de wordpress</title>
		<link>http://www.hotfirenet.com/wordpress-customiser-la-galerie-native-de-wordpress</link>
		<comments>http://www.hotfirenet.com/wordpress-customiser-la-galerie-native-de-wordpress#comments</comments>
		<pubDate>Thu, 01 Mar 2012 23:51:50 +0000</pubDate>
		<dc:creator>Djo</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.hotfirenet.com/?p=544</guid>
		<description><![CDATA[Vous aller voir comment optimiser votre galerie Wordpress en utilisant le shortcode, ajouter une lightbox]]></description>
			<content:encoded><![CDATA[<p><h5 class="underlined_title"><span> Utilisation du shortcode </span></h5><br />
<a href="http://hfn.me/22" title="Gallery Shortcode « WordPress Codex " target="_blank">Quoi tu m&#8217;as pris pour le codex ou quoi ?</a></p>
<p><div class="break_line"></div><br />
<h5 class="underlined_title"><span> Refonte de la css </span></h5><br />
A partir de la version WordPress 3.1 il est possible de faire un reset de la  css. Dans le fichier &laquo;&nbsp;<strong><em>functions.php</em></strong>&nbsp;&raquo; de ton thème il faut rajouter en fin de fichier :</p>
<pre class="brush: php; title: ; notranslate"> add_filter( 'use_default_gallery_style', '__return_false' ); </pre>

<a href='http://www.hotfirenet.com/wordpress-customiser-la-galerie-native-de-wordpress/codehtmlgallerybase/' title='codeHtmlGalleryBase'><img width="150" height="150" src="http://www.hotfirenet.com/wp-content/uploads/2012/02/codeHtmlGalleryBase-150x150.png" class="attachment-thumbnail" alt="codeHtmlGalleryBase" title="codeHtmlGalleryBase" /></a>
<a href='http://www.hotfirenet.com/wordpress-customiser-la-galerie-native-de-wordpress/codehtmlgallerybasedisparut/' title='codeHtmlGalleryBaseDisparut'><img width="150" height="150" src="http://www.hotfirenet.com/wp-content/uploads/2012/02/codeHtmlGalleryBaseDisparut-150x150.png" class="attachment-thumbnail" alt="codeHtmlGalleryBaseDisparut" title="codeHtmlGalleryBaseDisparut" /></a>

<p>Puis copie/colle la css soit dans le fichier &laquo;&nbsp;<strong><em>style.css</em></strong>&laquo;&nbsp;, je me doute bien que tu vas pas tout retaper <img src='http://www.hotfirenet.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre class="brush: css; title: ; notranslate">
/* The Gallery container (div) */
.gallery { }

/* A Gallery item container,
 for 3, 2 and 4 column galleries */
.gallery .gallery-item { }
.gallery-columns-2 .gallery-item { }
.gallery-columns-4 .gallery-item { }

/* The actual image inside a container
for 3, 2 and 4 column galleries */
.gallery img { }
.gallery-columns-2 .attachment-medium { }
.gallery-columns-4 .attachment-thumbnail { }

/* A gallery image caption */
.gallery .gallery-caption { }

/* Definition lists elements */
.gallery dl, .gallery dt { }

/* Pick the second line break if two
line breaks are adjacent */
.gallery br+br { }
</pre>
<p>Sinon,</p>
<pre class="brush: php; title: ; notranslate">
add_filter( 'gallery_style', 'hfnCssGallery' );

function hfnCssGallery() {
	$css = &amp;quot;&amp;lt;style type=\'text/css\'&amp;gt;
				.gallery { margin: 0 auto 18px; }
				.gallery .gallery-item {
					float: left;
					margin-top: 0;
					text-align: center;
					width: 33%;
				}
				.gallery-columns-2 .gallery-item { width: 50%; }
				.gallery-columns-4 .gallery-item { width: 25%; }
				.gallery img {
					box-shadow: 0px 0px 4px #999;
					border: 1px solid white;
					padding: 8px;
					background: #f2f2f2;
				}
				.gallery img:hover {
					background: white;
				}
				.gallery-columns-2 .attachment-medium {
					max-width: 92%;
					height: auto;
				}
				.gallery-columns-4 .attachment-thumbnail {
					max-width: 84%;
					height: auto;
				}
				.gallery .gallery-caption {
					color: #888;
					font-size: 12px;
					margin: 0 0 12px;
				}
				.gallery dl, .gallery dt { margin: 0; }
				.gallery br+br { display: none; }
			&amp;lt;/style&amp;gt;
			&amp;lt;div id='$selector' class='gallery galleryid-{$id} gallery-columns-{$columns} gallery-size-{$size_class}'&amp;gt;&amp;quot;;
	return $css;
}
</pre>
<p><div class="break_line"></div><br />
<h5 class="underlined_title"><span> Mise en place d&#8217;une lightbox </span></h5><br />
En mode faignant l&#8217;utilisation de plugin genre :</p>
<ul class="list_arrow">
<li><a href="http://hfn.me/1y" title="Cleaner Gallery" target="_blank">Cleaner Gallery</a></li>
<li><a href="http://hfn.me/1z" title="jQuery Lightbox For Native Galleries" target="_blank">jQuery Lightbox For Native Galleries</a></li>
</ul>
<p><strong>Mais les plugins c&#8217;est mal on ne nous dit pas tout !!</strong></p>
<p>Tu es developpeur, bidouilleur ou encore tu n&#8217;y connais rien mais tu es curieux et tu n&#8217;as même pas peur ?<br />
Voici d&#8217;autre méthodes un peu mieux, un bon vieux <strong>hack</strong>. </p>
<p>A la mode barbare, dans le fichier &laquo;&nbsp;<strong><em>wp-includes/post-template.php</em></strong>&nbsp;&raquo; de remplacer :</p>
<pre class="brush: php; title: ; notranslate">return apply_filters( 'wp_get_attachment_link', &amp;quot;&amp;lt;a href='$url' title='$post_title'&amp;gt;$link_text&amp;quot;, $id, $size, $permalink, $icon );</pre>
<p>par</p>
<pre class="brush: php; title: ; notranslate">return apply_filters( 'wp_get_attachment_link', &amp;quot;&amp;lt;a href='$url' title='$post_title'&amp;gt;$link_text&amp;quot;, $id, $size, $permalink, $icon );</pre>
<p>Le problème de cette méthode c&#8217;est lors de la prochaine mis à jour le fichier sera écraser et il l&#8217;opération sera a renouveller.</p>
<p><strong>Donc cette solution est mal !!</strong></p>
<p>Deux autres méthodes a rajouter dans le fichier fonction de ton thème :</p>
<pre class="brush: php; title: ; notranslate">
add_filter( 'wp_get_attachment_link' , 'add_lighbox_rel' );
function add_lighbox_rel( $attachment_link ) {
	if( strpos( $attachment_link , 'a href') != false &amp;amp;amp;&amp;amp;amp; strpos( $attachment_link , 'img src') != false )
		$attachment_link = str_replace( 'a href' , 'a rel=&amp;amp;quot;prettyPhoto[]&amp;amp;quot; href' , $attachment_link );
	return $attachment_link;
}
</pre>
<p>ou encore<br />
perso j&#8217;aime bien celle-ci car elle va permettre de rajouter a tout mes liens contenant une image l’attribut ici &laquo;&nbsp;<strong><em>rel=&nbsp;&raquo;prettyPhoto&nbsp;&raquo;</em></strong>&laquo;&nbsp;.</p>
<pre class="brush: php; title: ; notranslate">
// Adapted and Modified from http://wordpress.org/extend/plugins/add-lightbox/
// Adds a rel=&amp;quot;prettyPhoto&amp;quot; tag to all linked image files

add_filter('the_content', 'addlightboxrel_replace', 12);
add_filter('get_comment_text', 'addlightboxrel_replace');
function addlightboxrel_replace ($content)
{   global $post;
    $pattern = &amp;quot;/&amp;lt;a(.*?)href=('|\&amp;quot;)([^&amp;gt;]*).(bmp|gif|jpeg|jpg|png)('|\&amp;quot;)(.*?)&amp;gt;(.*?)&amp;lt;\/a&amp;gt;/i&amp;quot;;
    $replacement = '&amp;lt;a$1href=$2$3.$4$5 rel=&amp;quot;prettyPhoto['.$post-&amp;gt;ID.']&amp;quot;$6&amp;gt;$7&amp;lt;/a&amp;gt;';
    $content = preg_replace($pattern, $replacement, $content);
    return $content;
}
</pre>
<p>Il y&#8217;a la possibilité également de le faire en javascript et sinon si tu es un grand malade et tu ne sais pas quoi faire ?<br />
Tu te dis pourquoi ne pas reprendre le shortcode et faire le miens ?<br />
Et pourquoi pas &#8230;</p>
<p>Direction &laquo;&nbsp;<strong><em>wp-include/media.php</em></strong>&nbsp;&raquo; et trouve :</p>
<pre class="brush: php; title: ; notranslate">add_shortcode('gallery', 'gallery_shortcode');

/**
 * The Gallery shortcode.
 *
 * This implements the functionality of the Gallery Shortcode for displaying
 * WordPress images on a post.
 *
 * @since 2.5.0
 *
 * @param array $attr Attributes of the shortcode.
 * @return string HTML content to display gallery.
 */
function gallery_shortcode($attr) {
</pre>
<p>Mes sources ?</p>
<blockquote>
<ul class="list_arrow">
<li><a href="http://hfn.me/20" title="WordPress › Support » How-To and Troubleshooting[resolved] Add rel="xyz" to Gallery Link" target="_blank">WordPress › Support » How-To and Troubleshooting[resolved] Add rel=&nbsp;&raquo;xyz&nbsp;&raquo; to Gallery Link</a></li>
<li><a href="http://hfn.me/21" title="Web2Fenua, creation de site web a Tahiti" target="_blank">Web2Fenua, creation de site web a Tahiti</a></li>
<li><a href="http://hfn.me/22" title="Gallery Shortcode « WordPress Codex " target="_blank">Le codex bien sur !!</a></li>
</ul>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.hotfirenet.com/wordpress-customiser-la-galerie-native-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ReTex &#8211; RssLounge gestionnaire de flux RSS</title>
		<link>http://www.hotfirenet.com/rsslounge-gestionnaire-de-flux-rss</link>
		<comments>http://www.hotfirenet.com/rsslounge-gestionnaire-de-flux-rss#comments</comments>
		<pubDate>Thu, 23 Feb 2012 23:10:53 +0000</pubDate>
		<dc:creator>Djo</dc:creator>
				<category><![CDATA[Open-Source]]></category>
		<category><![CDATA[Retour d’expérience]]></category>
		<category><![CDATA[Auto-Hebergement]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[RetEx]]></category>
		<category><![CDATA[Rss]]></category>

		<guid isPermaLink="false">http://www.hotfirenet.com/?p=232</guid>
		<description><![CDATA[Etre toujours au courant de toutes les news bien geek, du nouveau matos qui vient de sortir de la dernière actu sur free… 
Utilisant beaucoup les flux rss je vais vous présenter RssLounge.]]></description>
			<content:encoded><![CDATA[<p>Etre toujours au courant de toutes les news bien geek, du nouveau matos qui vient de sortir de la dernière actu sur free …</p>
<p>Je suis fan de ça, il y a pleins de possibilités pour savoir tout ce qui se passe dans ce monde de Geek, perso j’utilise beaucoup les flux rss et twitter.<br />
J&#8217;ai toujours utilisé Google Reader comme agrégateur RSS, le problème c&#8217;est que depuis quelques temps le proxy du boulot bloque les services Google.<br />
J&#8217;ai donc décidé pour rester dans le coup de trouver un remplaçant à Google Reader.</p>
<p>Après avoir lu plusieurs de ces articles :</p>
<ul>
<li><a title="rssLounge, un excellent gestionnaire de flux RSS ! - Génération Linux" href="http://hfn.me/u" target="_blank">rssLounge, un excellent gestionnaire de flux RSS ! &#8211; Génération Linux</a></li>
<li><a title="Agrégateur de flux RSS : rssLounge | One More Blog" href="http://hfn.me/v" target="_blank">Agrégateur de flux RSS : rssLounge | One More Blog</a></li>
<li><a title="Rémitaines : RssLounge, une alternative à Tiny Tiny Rss et Fever." href="http://hfn.me/w" target="_blank">Rémitaines : RssLounge, une alternative à Tiny Tiny Rss et Fever.</a></li>
<li><a title="Vos flux RSS avec Rsslounge et Debian Squeeze! « OpenWebTech.fr" href="http://hfn.me/x" target="_blank">Vos flux RSS avec Rsslounge et Debian Squeeze! « OpenWebTech.fr</a></li>
</ul>
<p>j&#8217;ai finalement choisi d&#8217;installer rssLounge, en suivant les explications sur <a title="rssLounge, un excellent gestionnaire de flux RSS ! - Génération Linux" href="http://hfn.me/u" target="_blank">rssLounge, un excellent gestionnaire de flux RSS ! &#8211; Génération Linux</a> l&#8217;installation a été très rapide !</p>
<p>Pressé de tester mon nouveau joujou je me connecte sur l&#8217;interface utilisateur, je vais pour importer mon fichier OPML, mais la rien ne se passe !</p>
<p>Le javascript ne fonctionne pas, les boules &#8230; pas vraiment d&#8217;aide sur le site à ce sujet, en cherchant un peu sur GOOGLE je tombe sur un bug apparemment connu http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=474913, pas franchement convaincu je continue mes recherches et la sur ce site <a title="Vos flux RSS avec Rsslounge et Debian Squeeze! « OpenWebTech.fr" href="http://hfn.me/x" target="_blank">Vos flux RSS avec Rsslounge et Debian Squeeze! « OpenWebTech.fr</a> je trouve l&#8217;explication du problème de JS.</p>
<p>Par défaut apache2 utilise les directives de /etc/javascript-common/javascript-common.conf avec un Alias pour le javascript :</p>
<pre class="brush: plain; title: ; notranslate">
	Alias /javascript /usr/share/javascript/
	Options FollowSymLinks MultiViews
</pre>
<p>La solution :</p>
<pre class="brush: plain; title: ; notranslate">
	ln -s /var/www/rsslounge/public/javascript/all.js /usr/share/javascript/all.js
	ln -s /var/www/rsslounge/public/javascript/jquery-1.5.min.js /usr/share/javascript/jquery-1.5.min.js
</pre>
<p>Après quelques mois d’utilisation j’en suis vraiment content, voici un petit retour d’expérience :</p>
<p>Installé le 22 août 2011, d&#8217;ailleurs c&#8217;est bête de ne pas avoir une date de création, enfin bon c&#8217;est rien ça.<br />
je totalise aujourd&#8217;hui le 23/02/2012<br />
<a href="http://www.hotfirenet.com/wp-content/uploads/2012/02/totalRssLounge.png" class="thumby link_img" rel="prettyPhoto[]"><img src="http://www.hotfirenet.com/wp-content/uploads/2012/02/totalRssLounge.png" alt="" title="totalRssLounge" width="172" height="76" class="aligncenter size-full wp-image-471 fadeover" /></a></p>
<p>Pour une taille total de la base de :<br />
<a href="http://www.hotfirenet.com/wp-content/uploads/2012/02/tailleTableRSSLounge.png" class="thumby link_img" rel="prettyPhoto[]"><img src="http://www.hotfirenet.com/wp-content/uploads/2012/02/tailleTableRSSLounge-600x200.png" alt="" title="tailleTableRSSLounge" width="600" height="200 class="aligncenter size-medium wp-image-445 fadeover" /></a></p>
<p>Pour vous faciliter la navigation vous pouvez retrouver la liste des raccourcis clavier  <a href="http://hfn.me/1s" target="_blank">ici</a><br />
<!-- two on two -->
			<div class="two_two"></p>
<h4>Les plus</h4>
<ul>
<li>Auto-Hébergé je ne crains pas que mes données soient exploitées</li>
<li>Je ne suis plus bloqué par le boulot</li>
<li>Pseudo proxy</li>
</ul>
<p></div>
			<!-- /two on two --><br />
<!-- two on two -->
			<div class="two_two"></p>
<h4>Les moins</h4>
<ul>
<li>Niveau mobilité ce n’est pas top</li>
<li>Pas d’appli iPhone – iPad (depuis peu sur <a href=" http://hfn.me/1r" target="_blank">Android</span></a>)</li>
<li>Pas de super possibilités pour classer les flux (en plus des catégories un système de tag, ou catégories récursives)</li>
<li>Pas de possibilités d’avoir un fil public</li>
<li>Pas de possibilités de partager</li>
<li>Pas de possibilités de multi-user</li>
<li>Pas de possibilités de thème (optionnel ce n’est pas un vrai moins)</li>
</ul>
<p></div>
			<!-- /two on two --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotfirenet.com/rsslounge-gestionnaire-de-flux-rss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NPDS &#8211; Meta Mot X Derniers commentaires</title>
		<link>http://www.hotfirenet.com/npds-meta-mot-x-derniers-commentaires</link>
		<comments>http://www.hotfirenet.com/npds-meta-mot-x-derniers-commentaires#comments</comments>
		<pubDate>Wed, 25 Jan 2012 09:04:13 +0000</pubDate>
		<dc:creator>Djo</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Méta mot]]></category>
		<category><![CDATA[MySql]]></category>
		<category><![CDATA[Npds]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.hotfirenet.com/?p=85</guid>
		<description><![CDATA[ketzol a demandé il y a quelques jours sur le forum de NPDS, si il existait une fonction, ou autre permettant d’afficher les X Derniers Commentaires, jusqu’à présent ce n’était pas possible, mais aujourd’hui c’est chose faite.

]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.npds.org/powerpack.php?op=instant_message&#038;to_userid=ketzol" title="ketzol" target="blank">ketzol</a> a demandé il y a quelques jours sur le forum de NPDS, si il existait une fonction permettant d’afficher les X Derniers Commentaires, jusqu’à présent ce n’était pas possible mais aujourd’hui c’est chose faite.</p>
<p>Pour installer ce méta-mot vous avez deux possibilités :</p>
<p>L’installer manuellement en suivant cette méthode, Installation et Gestion des Méta-Mot,<br />
avec le fichier d’installation automatique qui se trouve par ici X derniers commentaires</p>
<pre class="brush: php; title: ; notranslate">
function MM_dernierCommentaires($nbCommentaire = 10, $maLimite = 80) {
	global $NPDS_Prefix;

	$nbCommentaire = arg_filter($nbCommentaire);
	$maLimite = arg_filter($maLimite);

	$sqlSelect = 'SELECT '.$NPDS_Prefix.'posts.topic_id, '.$NPDS_Prefix.'posts.poster_id, '.$NPDS_Prefix.'posts.post_text, '.$NPDS_Prefix.'users.name, '.$NPDS_Prefix.'stories.title
					FROM '.$NPDS_Prefix.'posts
						INNER JOIN '.$NPDS_Prefix.'users ON '.$NPDS_Prefix.'posts.poster_id = '.$NPDS_Prefix.'users.uid
						INNER JOIN '.$NPDS_Prefix.'stories ON '.$NPDS_Prefix.'posts.topic_id = '.$NPDS_Prefix.'stories.sid
						WHERE forum_id = -1
							ORDER BY post_id DESC
							LIMIT '.$nbCommentaire;
	$execSqlSelect = sql_query($sqlSelect);
	$content .= '&lt;ul id=&quot;dernierCommentaire&quot;&gt;';

	while($dernierCommentaires = sql_fetch_row($execSqlSelect)) {
		$dernierComment = strip_tags($dernierCommentaires[2]);
		if(strlen($dernierComment) &amp;amp;gt;= $maLimite) {
			while($dernierComment[$maLimite - 1] != &quot; &quot;) {
				$maLimite++;
			}
			$dernierComment = substr($dernierComment, 0, $maLimite);
			$dernierComment .= ' ...';
		}
		$remplaceNPDS = str_replace('NPDS', 'npds', $dernierCommentaires[4]);
		$content .= $dernierCommentaires[1] == 1 ? '&lt;li&gt;Anonyme : &lt;a title=&quot;'.$remplaceNPDS.'&quot; href=&quot;article.php?sid='.$dernierCommentaires[0].'&quot;&gt;'.$dernierComment.'&lt;/a&gt;&lt;/li&gt;'  :  '&lt;li&gt;&lt;a href=&quot;user.php?op=userinfo&amp;amp;amp;uname='.$dernierCommentaires[3].'&quot;&gt;'.$dernierCommentaires[3].'&lt;/a&gt; : &lt;a title=&quot;'.$remplaceNPDS.'&quot; href=&quot;article.php?sid='.$dernierCommentaires[0].'&quot;&gt;'.$dernierComment.'&lt;/a&gt;&lt;/li&gt;';
	}
	$content .= '&lt;/ul&gt;';
	return($content);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hotfirenet.com/npds-meta-mot-x-derniers-commentaires/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NPDS &#8211; Connaitre le nombre de MI par membre</title>
		<link>http://www.hotfirenet.com/npds-connaitre-le-nombre-de-mi-par-membre</link>
		<comments>http://www.hotfirenet.com/npds-connaitre-le-nombre-de-mi-par-membre#comments</comments>
		<pubDate>Sun, 26 Oct 2008 20:30:47 +0000</pubDate>
		<dc:creator>Djo</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Npds]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.hotfirenet.com/?p=88</guid>
		<description><![CDATA[Cette messagerie est relativement consommatrice en terme de stockage de ces messages interne, surtout lorsque l’on approche les 6000 membres.

Le but de ce script est de savoir donc le nombre de message archivés par le membre, et le nombre de message qu’il a reçu, puis de faire un des messages et de les classer par ordre décroissant.]]></description>
			<content:encoded><![CDATA[<p>Voici la problématique, <a title="Modnpds - Mes modules pour NPDS" href="http://modnpds.tuxfamily.org" target="blank">Oim</a> m’a demandé un peu d’aide pour un module de gestion de la messagerie interne qu’il réalise pour <a title="NPDS - Générateur de portail Php / Mysql en Open Source" href="http://www.npds.org" target="blank">NPDS</a>.</p>
<p>Cette messagerie est relativement consommatrice en terme de stockage de ces messages interne, surtout lorsque l’on approche les 6000 membres.</p>
<p>Le but de ce script est de savoir donc le nombre de message archivés par le membre, et le nombre de message qu’il a reçu, puis de faire un des messages et de les classer par ordre décroissant.</p>
<p>Ce script utilise des fonctions PHP, tel que: array, arsort, reset, key, next …</p>
<p>Voici le résultat :</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
/************************************************************************/
/* Script rélisé par Johan VIVIEN (Hotfirenet)
/* Fini le 24 octobre 2008
/* hotfirenet@gmail.com
/* =======================================================================
/*
/* Ce script permet de connaitre le nombre de message archivé et reçu par membre
/* Sur une idee de Oim ...
/*
/* This program is free software. You can redistribute it and/or modify
/* it under the terms of the GNU General Public License as published by
/* the Free Software Foundation; either version 2 of the License.
/************************************************************************/
$connect = mysql_connect('localhost', 'root', '');
$selectDB = mysql_select_db('lansou', $connect);

$nbreq = 0;

function sql_query($sql) {
	global $nbreq;

	$execQuery = mysql_query($sql);
	$nbreq++;

	return ($execQuery);
}

?&gt;
&lt;html&gt;
    &lt;head&gt;
	&lt;style&gt;
	.rouge {
		color: #ff0000;
	}
	&lt;/style&gt;
    &lt;/head&gt;
    &lt;body&gt;
&lt;?php
//On execute la requete, puis on rempli un tableau assossiatif en utilisant comme index l'id
$selectNbMsgFrom = 'SELECT to_userid, COUNT(*)
					FROM priv_msgs
					WHERE  type_msg = 0
					GROUP BY (to_userid)';
$execNbMsgFrom = sql_query($selectNbMsgFrom);
$tabNbMsgFrom = array();
while($resultNbMsgFrom = mysql_fetch_row($execNbMsgFrom)) {
	$tabNbMsgFrom[$resultNbMsgFrom[0]] = $resultNbMsgFrom[1];
}

//Pareil que plus au mais pour connaitre le nombre de message envoy&amp;amp;eacute;
$selectNbMsgTo = 'SELECT from_userid, COUNT(*)
				  FROM priv_msgs
				  WHERE  type_msg = 1
				  GROUP BY (from_userid)';
$execNbMsgTo = sql_query($selectNbMsgTo);
$tabNbMsgTo = array();
while($resultNbMsgTo = mysql_fetch_row($execNbMsgTo)) {
	$tabNbMsgTo[$resultNbMsgTo[0]] = $resultNbMsgTo[1];
}
//Je liste les membres j'associe l'ui en index et le name en valeur
$selectMembre = sql_query('SELECT uid, uname FROM users');
$tabListeMembre = array();
while($listeMembre = mysql_fetch_row($selectMembre)) {
	$tabListeMembre[$listeMembre[0]] = $listeMembre[1];
}

echo &quot;&amp;lt;br/&amp;gt;nous faisons pour ce resultat $nbreq requetes&lt;br /&gt;&lt;br /&gt;&quot;;

//Je defini mon tableau et ma variable $i a 0
$tabFinal = array();
$i = 0;
// je commence ma boucle, et je creer un tableau avec mes valeurs
foreach($tabListeMembre as $idMembres =&gt; $nomMembres) {
	$total = $tabNbMsgTo[$idMembres] + $tabNbMsgFrom[$idMembres];
	//Si le membre n'a aucun message je passe son tour
	if($total == 0)
		continue;

		//je rempli mon tableau
		$i++;
		$tabFinal['uname'][$i] = $nomMembres;
		$tabFinal['msgFrom'][$i] = $tabNbMsgFrom[$idMembres];
		$tabFinal['msgTo'][$i] = $tabNbMsgTo[$idMembres];
		$tabFinal['total'][$i] = $total;
}

//faisont un tri sur letableau
arsort($tabFinal['total']);

//Maintenant que j'ai realiser tous mes traitements, j'affiche mon tableau en tenant compte de la colonne total en utilisant comme clé cette colonne ...
for(reset($tabFinal['total']); $j = key($tabFinal['total']); next($tabFinal['total'])) {
	$class = $tabFinal['total'][$j] &gt;= 20 ? ' class=&quot;rouge&quot;' : '';

	echo '&lt;p '.$class.'&gt;'.$tabFinal['uname'][$j].' : &amp;amp;agrave; ' . $tabFinal['msgTo'][$j] . ' message(s) re&amp;amp;ccedil;u et &amp;amp;agrave; '. $tabFinal['msgFrom'][$j] . ' archiv&amp;amp;eacute;(s)&amp;lt;br /&amp;gt;';
	echo 'Total de message pour '.$tabFinal['uname'][$j].' : &lt;b&gt;' . $tabFinal['total'][$j] . '&lt;/b&gt;&lt;/p&gt;&lt;hr /&gt;';
}

?&gt;
&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Merci Oim pour ce petit exercice, bien sympa <img src='http://www.hotfirenet.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ….</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotfirenet.com/npds-connaitre-le-nombre-de-mi-par-membre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL &#8211; Injection SQL ok mais comment l’éviter avec MS SQL avec PHP?</title>
		<link>http://www.hotfirenet.com/sql-injection-sql-ok-mais-comment-l%e2%80%99eviter-avec-ms-sql-avec-php</link>
		<comments>http://www.hotfirenet.com/sql-injection-sql-ok-mais-comment-l%e2%80%99eviter-avec-ms-sql-avec-php#comments</comments>
		<pubDate>Wed, 03 Sep 2008 12:54:31 +0000</pubDate>
		<dc:creator>Djo</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[MsSQL]]></category>
		<category><![CDATA[MySql]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.hotfirenet.com/?p=107</guid>
		<description><![CDATA[Sous MySQL il existe la fonction mysql_escape_string ou encore mysql_real_escape_string, mais sous MS SQL avec PHP ces fonctions n’existent pas. Voici une fonction équivalente a mysql_escape_string , mais l’une comme l’autre elles ne protègent pas les caractères % et _.]]></description>
			<content:encoded><![CDATA[<p>Sous MySQL il existe la fonction mysql_escape_string ou encore mysql_real_escape_string, mais sous MS SQL avec PHP ces fonctions n’existent pas.</p>
<p>Voici une fonction équivalente a mysql_escape_string , mais l’une comme l’autre elles ne protègent pas les caractères % et _.</p>
<pre class="brush: php; title: ; notranslate">
function mssql_escape_string($str) {
    $str = str_replace(&quot;'&quot;,&quot;''&quot;,$str);
    $str = htmlspecialchars($str, ENT_QUOTES);
    return $str;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hotfirenet.com/sql-injection-sql-ok-mais-comment-l%e2%80%99eviter-avec-ms-sql-avec-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo &#8211; Apache, PHP et Microsoft SQL Server</title>
		<link>http://www.hotfirenet.com/howto-apache-php-et-microsoft-sql-server</link>
		<comments>http://www.hotfirenet.com/howto-apache-php-et-microsoft-sql-server#comments</comments>
		<pubDate>Tue, 05 Aug 2008 23:00:00 +0000</pubDate>
		<dc:creator>Djo</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[MsSQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[T-SQL]]></category>

		<guid isPermaLink="false">http://www.hotfirenet.com/?p=99</guid>
		<description><![CDATA[Voici quelques jours déjà que je bute sur un problème, au travail où je suis nous utilisons le SGBD Microsoft SQL Server, et nous avons des sites intranet en PHP qui tourne sous IIS ..]]></description>
			<content:encoded><![CDATA[<p>Voici quelques jours déjà que je bute sur un problème, au travail où je suis nous utilisons le SGBD Microsoft SQL Server, et nous avons des sites intranet en PHP qui tourne sous IIS, mais sur ma machine pour développer je ne me suis pas amusé à installer IIS avec PHP, mais j’utilise tout simplement WAMP (Windows Apache PHP MySQL ) .</p>
<p>Pour me connecter à mon SGBD par PHP, ça ne change pas c’est pareil qu’avec MySQL :</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
define('DB_NAME', 'mabase');
define('DB_HOST', 'monServeur');
define('DB_USER', 'monUser');
define('DB_PASSWORD', 'monPass');

$dblink = @mssql_connect(DB_HOST, DB_USER, DB_PASSWORD);

if($dblink) {
	$selectdatabase = @mssql_select_db(DB_NAME, $dblink);
	if(!$selectdatabase) {
		echo 'erreur lors de la selection de la bdd';
		exit;
	}
} else {
	echo 'erreur de connexion a la bdd';
	exit;
}
?&gt;
</pre>
<p>Par contre, lorsque j’ai voulu me connecter à mon SQLEXPRESS qui se trouve sur ma machine, je n’ai jamais pu me connecter à celui-ci !!</p>
<p>Pourtant, mon script de connexion fonctionne bien et j’arrive à me connecter sur un serveur distant qui possède SQL Server, peut être une option n’est pas activée sur mon SQLEXPRESS ?</p>
<p>Après de longues recherches sur Google, j’ai finalement trouvé qu’il y a un problème avec PHP pour se connecter à un SGBD qui possède des instances …</p>
<p>Et oui pour accéder à mon SQLEXPRESS le chemin est bien nommachine\SQLEXPRESS, SQLEXPRESS est donc une instance de du SGBD.</p>
<p>Du coup pour que PHP puisse se connecter il faut donc remplacer ntwdblib.DLL qui se trouve pour WAMP dans les répertoires :</p>
<ul>
<li>C:\wamp\bin\apache\apache2.2.8</li>
<li>C:\wamp\bin\php\php5.2.6</li>
<li>C:\Windows\System32</li>
</ul>
<p>Également pour vous connecter, il faut dans faire ceci :</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
define('DB_NAME', 'mabase');
define('DB_HOST', 'maMachine\\monInstance');
define('DB_USER_UTIL', 'monUser');
define('DB_PASSWORD_UTIL', 'monPass');

$dblink = @mssql_connect(DB_HOST, DB_USER, DB_PASSWORD);

if($dblink) {
	$selectdatabase = @mssql_select_db(DB_NAME, $dblink);
	if(!$selectdatabase) {
		echo 'erreur lors de la selection de la bdd';
		exit;
	}
} else {
	echo 'erreur de connexion a la bdd';
	exit;
}

?&gt;
</pre>
<p>Pour télécharger la DLL <a href="http://hfn.me/j" title="Google est ton ami" target="_blank">Google est ton ami</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotfirenet.com/howto-apache-php-et-microsoft-sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress &#8211; Utiliser l’éditeur wysiwyg de wordpress dans ses thèmes et plugins</title>
		<link>http://www.hotfirenet.com/wordpress-utiliser-editeur-wysiwyg-de-wordpress-dans-ses-themes-et-plugins</link>
		<comments>http://www.hotfirenet.com/wordpress-utiliser-editeur-wysiwyg-de-wordpress-dans-ses-themes-et-plugins#comments</comments>
		<pubDate>Mon, 04 Aug 2008 22:00:02 +0000</pubDate>
		<dc:creator>Djo</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.hotfirenet.com/?p=78</guid>
		<description><![CDATA[J’ai eu besoin pour la création d’un thème wordpress de mettre en place l’éditeur avancé tiny_mce.
Après quelques recherches sur le net je suis tombé sur le site de Leeroy qui explique très bien comment le mettre en place.
Mais voici quand même un petit rappel de la procédure de mise en œuvre ...]]></description>
			<content:encoded><![CDATA[<p>J’ai eu besoin pour la création d’un thème wordpress de mettre en place l’éditeur avancé tiny_mce.</p>
<p>Après quelques recherches sur le net je suis tombé sur le site de Leeroy qui explique très bien comment le mettre en place.</p>
<p>Mais voici quand même un petit rappel de la procédure de mise en œuvre :</p>
<p>Création d’une fonction d’appel à l’éditeur :</p>
<pre class="brush: php; title: ; notranslate">
	function init_wysiwyg() {
		wp_enqueue_script('editor');
		add_thickbox();
		wp_enqueue_script('media-upload');
		add_action('admin_print_footer_scripts', 'wp_tiny_mce', 25);
		wp_enqueue_script('quicktags');
	}
</pre>
<p>Maintenant nous allons faire appel à cette fonction directement à l’initialisation de l’administration de wordpress :</p>
<pre class="brush: php; title: ; notranslate">
add_action('admin_menu', 'init_wysiwyg');
</pre>
<p>L’appel de l’editeur se fera de cette façon :</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
/* Syntaxe de la fonction the_editor()
* the_editor($content, $id = 'content', $prev_id = 'title', $media_buttons = true, $tab_index = 2)
*/
echo the_editor(null);
?&gt;</pre>
<p>Voici à quoi correspond les différents paramètres que peut contenir cette fonction</p>
<p><strong>$content </strong>:Contient votre contenu.<br />
<strong>$id</strong> :Le nom (et ID) du champ de l’éditeur de texte.<br />
<strong>$prev_id</strong> <img src='http://www.hotfirenet.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ermet de revenir à l’ID précédent des éléments du formulaire.<br />
<strong>$media_buttons</strong> <img src='http://www.hotfirenet.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ermet d’activer ou désactiver l’affichage des boutons (images, sons, vidéos, etc). Accepte une valeur booléenne (true || false).<br />
<strong>$tab_index</strong> :Index de tabulation du champ de formulaire.<br />
Maintenant la partie css :</p>
<pre class="brush: css; title: ; notranslate">#poststuff textarea
{
	-moz-box-sizing:border-box;
	border:0 none;
	line-height:150%;
	outline-color:-moz-use-text-color;
	outline-style:none;
	outline-width:medium;
	padding:6px;
	margin:0;
	width:100%;
}</pre>
<p>Maintenant quand on regarde de plus prés on s’aperçoit que cette méthode fait que l’éditeur est actif sur toutes les pages de l’administration et personnellement je ne trouve pas cette solution très propre.</p>
<p>En me penchant sur le problème j’ai trouvé la solution qui consiste tout simplement à activer l’appel de l’éditeur uniquement sur les pages du plugin ou du thème.<br />
Mais comment faire ??</p>
<p>La réponse : nous allons utiliser la fonction admin_print_scripts-(page_hook) ou admin_print_scripts-(plugin_page)</p>
<p>Voici comment je l’ai utilisé :</p>
<pre class="brush: php; title: ; notranslate">
function hfn_init() {
/* Syntaxe de la fonction add_menu_page()
* add_menu_page(page_title, menu_title, capability, handle, [function], [icon_url]);
*/
$options_page = add_menu_page( 'Admin HFN', 'Admin HFN', 7, 'hfnOptions', 'hfnAdmin', get_template_directory_uri() . '/images/icon.png');
/* Syntaxe de la fonction add_submenu_page()
* add_submenu_page(parent, page_title, menu_title, capability required, file/handle, [function]);
*/
$options_subPage = add_submenu_page( 'hfnOptions', 'Admin HFN', 'Gestion de mon module', 7, 'hfnOptions', 'hfnAdmin' );
add_submenu_page( 'hfnOptions', 'Admin HFN', 'Gestion des menus', 7, 'hfnGesMenu', 'hfnGesMenu' );
add_submenu_page( 'hfnOptions', 'Admin HFN', 'Aide en ligne', 7, 'guide', 'hfnGuide' );&lt;/code&gt;

add_action( &quot;admin_print_scripts-$options_subPage&quot;, 'init_wysiwyg' );
}

add_action('admin_menu', 'hfn_init');
</pre>
<p>Dans le cas ci-dessus je voulais que l’éditeur soit appelé uniquement sur la page, gestion de mon module il me suffit juste de mettre le contenu de la fonction add_submenu_page() dans ma variable $options_subPage, puis tout simplement compléter la fonction admin_print_scripts-$maVariable() en utilisant add_action().</p>
<p>En espérant que cet article pourra servir à d’autres personnes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotfirenet.com/wordpress-utiliser-editeur-wysiwyg-de-wordpress-dans-ses-themes-et-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

