<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.llaumgui.com/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Le blog de llaumgui - Balise - cache</title>
  <link>http://www.llaumgui.com/</link>
  <atom:link href="http://www.llaumgui.com/feed/tag/cache/rss2" rel="self" type="application/rss+xml"/>
  <description>Linux en général, Fedora en particulier...</description>
  <language>fr</language>
  <pubDate>Sun, 07 Sep 2008 18:16:15 +0200</pubDate>
  <copyright>http://creativecommons.org/licenses/by-nc-nd/2.5/</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>IPBSDK et la (mauvaise) gestion des attachements</title>
    <link>http://www.llaumgui.com/post/ipbsdk-et-la-mauvaise-gestion-des-attachements</link>
    <guid isPermaLink="false">urn:md5:279b18d9cb54f26ad58f1a5ce6cb198d</guid>
    <pubDate>Fri, 23 Sep 2005 15:51:00 +0000</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>cache</category><category>IPB</category><category>IPBSDK</category><category>optimisation</category><category>php</category>    
    <description>&lt;p&gt;Plus j'avance dans le débugage du &lt;a href=&quot;http://ipbsdk.sourceforge.net&quot; hreflang=&quot;en&quot;&gt;IPBSDK&lt;/a&gt; et le développement de mon portail, plus je me rends compte qu'il n'y a pas de cohésion entre les différentes fonctions qui compose ce SKD.
En effet, prenons l'exemple de la gestion des attachements qui fait 1 requête par attachement alors qu'il est si simple d'utiliser une fonction récupérant tout les attachements d'un message... Le pire est que cette fonction existe ! Mais les 2 ne sont pas reliées. Rassurez vous, je vous livre mon code à rajouter dans la classe &lt;a href=&quot;http://www.llaumgui.com/post/heritage-du-ipbsdk-1-theorie&quot; hreflang=&quot;fr&quot;&gt;MySDK&lt;/a&gt;.&lt;/p&gt;    &lt;code class=&quot;php&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/**&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* Get a post's attachments&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* Gestion d'une mise en cache.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* @author Guillaume Kulakowski &amp;lt;guillaume_AT_llaumgui_DOT_com&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* @author Pita &amp;lt;peter@randomnity.com&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* @since 1.11&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* @param integer $postid The post id to check&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* @param boolean $override Whether to override permissions or not.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* @return array Post's attachments&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; get_post_attachments&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$postid&lt;/span&gt;,&lt;span style=&quot;color: #0000ff;&quot;&gt;$override&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;FALSE&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$query&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$override&lt;/span&gt; == &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;FALSE&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$query&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot; AND attach_approved=1&amp;quot;&lt;/span&gt;; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;DB&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;query&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot; &amp;nbsp; &amp;nbsp;SELECT *&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FROM ibf_attachments&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WHERE attach_pid='&amp;quot;&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$postid&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;'&amp;quot;&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$query&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;DB&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;get_num_rows&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; == &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;FALSE&lt;/span&gt;; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$row&lt;/span&gt; = &lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;DB&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;fetch_row&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$return&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; = &lt;span style=&quot;color: #0000ff;&quot;&gt;$row&lt;/span&gt;; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;_cache&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'post_attachments'&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$postid&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; = &lt;span style=&quot;color: #0000ff;&quot;&gt;$return&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/**&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* Get HTML code for outputting an attachment image.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* Utilisation d'un cache.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* @author Guillaume Kulakowski &amp;lt;guillaume_AT_llaumgui_DOT_com&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* @since 1.11&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* @param integer $postid The post id to check&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* @param integer $id The attachment id to be parsed.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* @param boolean $override Whether to override permissions or not.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* @return string HTML code&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* @see attachment_info(), attachment_thumb()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; attachment_image&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$pid&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$id&lt;/span&gt;,&lt;span style=&quot;color: #0000ff;&quot;&gt;$override&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;FALSE&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/*&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* On récupère tous les attachements du poste :&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;a href=&quot;http://www.php.net/empty&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;_cache&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'post_attachments'&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$pid&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;get_post_attachments&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$pid&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Ancien sysèmeme, au cas où :&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;a href=&quot;http://www.php.net/empty&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;_cache&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'post_attachments'&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$pid&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$att&lt;/span&gt; = &lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;attachment_info&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$id&lt;/span&gt;,&lt;span style=&quot;color: #0000ff;&quot;&gt;$override&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$att&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'attach_is_image'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; == &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;FALSE&lt;/span&gt;; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;foreach&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;_cache&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'post_attachments'&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$pid&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;as&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$key&lt;/span&gt; =&amp;gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$value&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$value&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'attach_id'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; == &lt;span style=&quot;color: #0000ff;&quot;&gt;$id&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$att&lt;/span&gt; = &lt;span style=&quot;color: #0000ff;&quot;&gt;$value&lt;/span&gt;; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/*&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Gestion des miniatures :&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;a href=&quot;http://www.php.net/empty&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$att&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'attach_thumb_location'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$out&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;'&amp;lt;img src=&amp;quot;'&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;board_url&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;'/uploads/'&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$att&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'attach_location'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;'&amp;quot; alt=&amp;quot;'&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$att&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'attach_file'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;'&amp;quot; /&amp;gt;'&lt;/span&gt;; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$out&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;'&amp;lt;a href=&amp;quot;'&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;board_url&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;'/index.php?act=Attach&amp;amp;type=post&amp;amp;amp;id='&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$att&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'attach_id'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;'&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;'&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;board_url&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;'/uploads/'&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$att&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'attach_thumb_location'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;'&amp;quot; class=&amp;quot;attach&amp;quot; alt=&amp;quot;'&lt;/span&gt;.&lt;span style=&quot;color: #0000ff;&quot;&gt;$att&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'attach_file'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;.&lt;span style=&quot;color: #ff0000;&quot;&gt;'&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;'&lt;/span&gt;; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$out&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/code&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/ipbsdk-et-la-mauvaise-gestion-des-attachements#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/ipbsdk-et-la-mauvaise-gestion-des-attachements#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/49</wfw:commentRss>
      </item>
    
  <item>
    <title>Les nouveauté d'IPB 2.1</title>
    <link>http://www.llaumgui.com/post/les-nouveaute-d-ipb-21</link>
    <guid isPermaLink="false">urn:md5:c3340d21c492bcf1fb72a9c29f5925b9</guid>
    <pubDate>Sat, 17 Sep 2005 01:28:00 +0000</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>AJAX</category><category>cache</category><category>IPB</category><category>IPB 2.1</category><category>IPS</category>    
    <description>&lt;p&gt;Il y a quelques jours, &lt;a href=&quot;http://www.invisionpower.com/&quot; hreflang=&quot;en&quot;&gt;IPS&lt;/a&gt; a publié la nouvelle version de son produit phare :
&lt;strong&gt;I&lt;/strong&gt;nvision &lt;strong&gt;P&lt;/strong&gt;ower &lt;strong&gt;B&lt;/strong&gt;oard
2.1.&lt;br /&gt;
Cette nouvelle version a bien sûr été installée sur les 4 forums que je gère,
mais la mise à jours n'a pas été si simple...&lt;/p&gt;
&lt;p&gt;En effet, &lt;a href=&quot;http://www.mattmecham.com/&quot; hreflang=&quot;en&quot;&gt;Matt&lt;/a&gt;, le
développeur, a modifié profondément la structure des répertoires d'IPB et a
renommé un grand nombre de variables principales telles que &lt;em&gt;$ibforums&lt;/em&gt;.
J'en ai donc profité pour relire, reformater et recommenter convenablement mon
code plutôt que de faire de bêtes &lt;em&gt;&amp;quot;rechercher/remplacer&lt;/em&gt;&amp;quot;.&lt;/p&gt;    &lt;p&gt;Une fois mon portail migré (IPB 2.1 + &lt;a href=&quot;http://www.ipbsdk.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;ipbSDK&lt;/a&gt; 1.6), je me suis
livré à une petite étude des nouveautés.&lt;/p&gt;
&lt;h2&gt;L'éditeur de texte enrichi :&lt;/h2&gt;
&lt;p&gt;La 2.1 offre le choix entre un éditeur classique relooké et un éditeur
enrichi en mode &lt;a href=&quot;http://fr.wikipedia.org/wiki/WYSIWYG&quot; hreflang=&quot;fr&quot;&gt;WYSIWYG&lt;/a&gt;. Même si pour le moment je teste cette fonction, qui est
quelque peu bugée, selon moi, force est de constater qu'un geek tape le
&lt;a href=&quot;http://fr.wikipedia.org/wiki/Bbcode&quot; hreflang=&quot;fr&quot;&gt;bbcode&lt;/a&gt; plus
rapidement à la main qu'avec un éditeur.&lt;/p&gt;
&lt;h2&gt;L'AJAX :&lt;/h2&gt;
&lt;p&gt;L'&lt;a href=&quot;http://fr.wikipedia.org/wiki/AJAX&quot; hreflang=&quot;fr&quot;&gt;AJAX&lt;/a&gt; est
très en vogue actuellement et pourrait être vulgarisé comme étant du php côté
serveur mais avec un dynamisme côté client.&lt;br /&gt;
Cependant Matt en a usé et abusé (&lt;a href=&quot;http://blog.mattmecham.com/archives/2005/05/my_assistant.html&quot; hreflang=&quot;en&quot;&gt;Mon assistant&lt;/a&gt; par exemple). Mais je retiens 2 fonctions très pratiques
: In-line Topic Editing et &lt;a href=&quot;http://blog.mattmecham.com/archives/2005/05/ajax_inline_pos.html&quot; hreflang=&quot;en&quot;&gt;In-line Post Editing&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Du RSS à foison :&lt;/h2&gt;
&lt;p&gt;Comme indiqué lors de &lt;a href=&quot;http://www.llaumgui.com/index.php/2005/09/17/49-my-rss-ipb-news-et-ipb-21&quot; hreflang=&quot;fr&quot;&gt;mon précédent billet&lt;/a&gt;, la 2.1 apporte la gestion du RSS pour
les forums et les calendriers. Cerise sur le gâteau, cette gestion passe par un
cache.&lt;/p&gt;
&lt;p&gt;Mais après avoir décortiqué ce cache, je me pose des questions sur son
utilité. Si dans mon esprit, un cache est fait pour faire un appel fichier en
lieu et place d'un requête MySQL, ici ce n'est pas le cas puisque les
informations sont stockée dans la base de donné.&lt;br /&gt;
En stockant les flux RSS dans un fichier sur le serveur, Matt aurait pu
économiser 1 connexion serveur ainsi qu'1 requête MySQL. Mais le cache n'est là
que pour avoir une requête simple à la place d'un requête musclée faisant appel
à plusieurs &lt;em&gt;LEFT JOIN&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;Les questionnaires :&lt;/h2&gt;
&lt;p&gt;Matt a remplacé les &lt;em&gt;simple&lt;/em&gt; sondages par des questionnaires avec
plusieurs questions. Mais toujours 1 seule réponse par question ! Pourquoi
recoder un truc et ne pas tenir compte des demandes ?&lt;/p&gt;
&lt;h2&gt;L'anti-bump (&lt;em&gt;Merge member's concurrent posts&lt;/em&gt;) :&lt;/h2&gt;
&lt;p&gt;Petite fonction sympa qui fusionne les messages si on se répond à soit
même.&lt;/p&gt;
&lt;h2&gt;Les calendriers&lt;/h2&gt;
&lt;p&gt;Et oui, je dis &lt;ins&gt;les&lt;/ins&gt; car la version 2.1 permet la gestion de
plusieurs calendriers et leur modération. Cependant, on ne peut afficher qu'un
calendrier à la fois, il n'y a malheureusement pas de vue permettant d'afficher
tous les calendriers.&lt;/p&gt;
&lt;p&gt;Une autre faiblesse est la modération qui consiste à masquer l'évènement et
à ne le faire apparaître que pour les modérateurs et d'une autre couleur.
Encore faut-il que les modérateurs remarquent ces évènemlents en attente. En
effet, aucun message privé ni email pour les prévenir.&lt;/p&gt;
&lt;p&gt;Pour ceux qui veulent plus d'informations sur les nouveautés qu'apporte IPB
2.1, vous pouvez consulter le &lt;a href=&quot;http://forums.invisionpower.com/index.php?showtopic=189315&amp;st=0&amp;p=1274747&amp;#entry1274747&quot; hreflang=&quot;en&quot;&gt;changelog complet&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/les-nouveaute-d-ipb-21#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/les-nouveaute-d-ipb-21#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/44</wfw:commentRss>
      </item>
    
  <item>
    <title>IPB-SDK, les guests et le cache</title>
    <link>http://www.llaumgui.com/post/ipb-sdk-les-guests-et-le-cache</link>
    <guid isPermaLink="false">urn:md5:f64765ff10c4e0f42c26dc25ab0fde02</guid>
    <pubDate>Tue, 31 May 2005 19:44:00 +0000</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>cache</category><category>IPB</category><category>IPBSDK</category><category>optimisation</category><category>php</category><category>XPerience-Fr</category>    
    <description>&lt;p&gt;Ayant recodé le système de débug pour mon site, j'ai analysé les requêtes MySQL. J'ai effectué l'analyse logué en membre et délogué comme simple invité. La logique voudrait qu'un membre demande plus de requête du fait qu'il interroge sa boite de message privé, récupère ses infos, etc. Hors sous IPB-SDK c'est l'inverse.&lt;/p&gt;    &lt;p&gt;Le listing des requêtes faite ressortir une requête identique qui se répète plusieurs fois (5 fois dans mon cas) :&lt;/p&gt;

&lt;code class=&quot;sql&quot;&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; m.*, me.signature, me.avatar_size, me.avatar_location, me.avatar_type, me.vdirs,&lt;br /&gt;
me.location, me.msnname, me.interests, me.yahoo, me.website, me.aim_name, me.icq_number,&lt;br /&gt;
g.*, cf.*&lt;br /&gt;
&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; ibf_members m&lt;br /&gt;
&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;LEFT&lt;/span&gt; &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;JOIN&lt;/span&gt; ibf_groups g &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;ON&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;m.mgroup=g.g_id&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;LEFT&lt;/span&gt; &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;JOIN&lt;/span&gt; ibf_pfields_content cf &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;ON&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;cf.member_id=m.id&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;LEFT&lt;/span&gt; &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;JOIN&lt;/span&gt; ibf_member_extra me &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;ON&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;me.id=m.id&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; m.id=&lt;span style=&quot;color: #ff0000;&quot;&gt;'0'&lt;/span&gt;&lt;/code&gt;


&lt;p&gt;Le constat est rapide. Il n'y a pas de membre à l'id = 0. La requête retourne rien donc alimente le cache avec rien. De ce fait une interrogation du cache ne retourne rien et ré-effectue la requête.
La fonction concernée par ce problème et la fonction &lt;strong&gt;get_advinfo()&lt;/strong&gt; que j'ai redéfinie pour qu'elle tienne compte des invités.&lt;/p&gt;

&lt;code class=&quot;php&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/**&lt;br /&gt;
* Grabs detailed information on a member.&lt;br /&gt;
* Modification : Gestion des guest.&lt;br /&gt;
* @author Guillaume Kulakowski &amp;lt;guillaume_AT_llaumgui_DOT_com&amp;gt;&lt;br /&gt;
* @author Pita (conversion to 2.0) &amp;lt;peter@randomnity.com&amp;gt;&lt;br /&gt;
* @author Cow &amp;lt;khlo@global-centre.com&amp;gt;&lt;br /&gt;
* @param integer $memberid&lt;br /&gt;
* @return array Member Information, or FALSE on failure&lt;br /&gt;
* @see get_info(),get_avatar(),get_raw_sig(),get_photo(),get_member_pips(),get_member_icon(),get_num_new_posts(),get_skin_id()&lt;br /&gt;
*/&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; get_advinfo&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$memberid&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;''&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;!&lt;span style=&quot;color: #0000ff;&quot;&gt;$memberid&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$memberid&lt;/span&gt; = &lt;span style=&quot;color: #0000ff;&quot;&gt;$GLOBALS&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'ibforums'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;member&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'id'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// Gestion des guests non présentes de base ! :&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;a href=&quot;http://www.php.net/empty&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$memberid&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; || &lt;span style=&quot;color: #0000ff;&quot;&gt;$memberid&lt;/span&gt; == &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;false&lt;/span&gt;; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$cache&lt;/span&gt; = &lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;get_cache&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'get_advinfo'&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$memberid&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$cache&lt;/span&gt;; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;DB&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;query&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;SELECT m.*, me.signature, me.avatar_size, me.avatar_location, me.avatar_type, me.vdirs,&lt;br /&gt;
me.location, me.msnname, me.interests, me.yahoo,&lt;br /&gt;
me.website, me.aim_name, me.icq_number,&lt;br /&gt;
g.*, cf.*&lt;br /&gt;
FROM ibf_members m&lt;br /&gt;
LEFT JOIN ibf_groups g ON (m.mgroup=g.g_id)&lt;br /&gt;
LEFT JOIN ibf_pfields_content cf ON (cf.member_id=m.id)&lt;br /&gt;
LEFT JOIN ibf_member_extra me ON (me.id=m.id)&lt;br /&gt;
WHERE m.id='&amp;quot;&lt;/span&gt; . &lt;a href=&quot;http://www.php.net/intval&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;intval&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$memberid&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; . &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;'&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;DB&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;get_num_rows&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #0000ff;&quot;&gt;$info&lt;/span&gt; = &lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;DB&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;fetch_row&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;save_cache&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'get_advinfo'&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$memberid&lt;/span&gt;, &lt;span style=&quot;color: #0000ff;&quot;&gt;$info&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$info&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #b1b100;&quot;&gt;else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;FALSE&lt;/span&gt;; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;


&lt;p&gt;Dans le cas d'&lt;a href=&quot;http://www.xperience-fr.net&quot; hreflang=&quot;fr&quot;&gt;XPerience-Fr&lt;/a&gt;, cette fonction étant utilisée plusieurs fois, j'économise ainsi 5 requêtes MySQL sur la page d'accueil. Vous pouvez en gagner plus ou moins selon votre code.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Cache ipbSDK vs cache IPB</title>
    <link>http://www.llaumgui.com/post/cache-ipbsdk-vs-cache-ipb</link>
    <guid isPermaLink="false">urn:md5:c43e1e49d40397e0622564560966b59a</guid>
    <pubDate>Sat, 28 May 2005 11:19:00 +0000</pubDate>
    <dc:creator>llaumgui</dc:creator>
        <category>Développement web</category>
        <category>cache</category><category>IPB</category><category>IPBSDK</category><category>optimisation</category><category>php</category>    
    <description>&lt;p&gt;Afin d'afficher 2 blocs d'informations supplémentaires sur ma page d'accueil, je me suis mis à étudier les requêtes MySQL engendrées par le ipbSDK afin d'en réduire leur nombre et de pouvoir en mettre 2 de plus pour mes 2 blocs :).
Et la surprise :&lt;/p&gt;    &lt;code class=&quot;sql&quot;&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; * &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; ibf_cache_store &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; cs_key &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;IN&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'banfilters'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'settings'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'group_cache'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'systemvars'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'skin_id_cache'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'forum_cache'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'moderators'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'stats'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'languages'&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/code&gt;

&lt;code class=&quot;sql&quot;&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; cs_value &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; ibf_cache_store &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; cs_key = &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;stats&amp;quot;&lt;/span&gt;&lt;/code&gt;


&lt;p&gt;A quoi sert de charger les informations issue du cache IPB (1ère requête), si la fonction get_board_stats() ne les utilise pas ???!!!
La réponse est malheureusement simple, le cache ipbSDK (&lt;strong&gt;$this-&amp;gt;_CACHE&lt;/strong&gt;) et celui d'IPB (&lt;strong&gt;$GLOBALS&lt;a href=&quot;http://www.llaumgui.com/post/'ibforums'&quot; title=&quot;'ibforums'&quot;&gt;'ibforums'&lt;/a&gt;-&amp;gt;cache&lt;/strong&gt;) sont différents... J'ai d'abord pensé charger le cache IPB dans celui du SDK:&lt;/p&gt;

&lt;code class=&quot;php&quot;&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;_cache = &lt;span style=&quot;color: #0000ff;&quot;&gt;$GLOBALS&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'ibforums'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;cache&lt;/span&gt;&lt;/code&gt;


&lt;p&gt;Mais quel intêret de 2 cache identique ?
Et de plus je trouvais que leur vocations étaient différentes car le cache du SDK pouvais contenir des informations sur le membres et non pas uniquement sur le forum... J'ai donc modifié la fonction get_board_stats() pour qu'elle interroge non pas le cache ipbSDK mais celui d'IPB. Bilan, 1 requêtes de gagnée !!!&lt;/p&gt;

&lt;code class=&quot;php&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/**&lt;br /&gt;
* Obtenir les statistiques de mon forums.&lt;br /&gt;
* Modification : Liaison avec le cache IPB au lieu de celui du SDK.&lt;br /&gt;
* @author Guillaume Kulakowski &amp;lt;guillaume_AT_llaumgui_DOT_com&amp;gt;&lt;br /&gt;
* @author Pita (conversion to 2.0) &amp;lt;peter_AT_randomnity.com&amp;gt;&lt;br /&gt;
* @author Cow &amp;lt;khlo_AT_global-centre.com&amp;gt;&lt;br /&gt;
* @return array Board Statistics&lt;br /&gt;
*/&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; get_board_stats&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// 1 : Je cherche dans le cache IPB :&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; !&lt;a href=&quot;http://www.php.net/empty&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$GLOBALS&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'ibforums'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;cache&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'stats'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &amp;amp;&amp;amp; &lt;a href=&quot;http://www.php.net/is_array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;is_array&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$GLOBALS&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'ibforums'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;cache&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'stats'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$GLOBALS&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'ibforums'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;cache&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'stats'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;DB&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;query&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'SELECT cs_value FROM ibf_cache_store WHERE cs_key = &amp;quot;stats&amp;quot;'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$row&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = &lt;span style=&quot;color: #0000ff;&quot;&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;DB&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;fetch_row&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$stats&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &lt;a href=&quot;http://www.php.net/unserialize&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;unserialize&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.php.net/stripslashes&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;stripslashes&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$row&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'cs_value'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0000ff;&quot;&gt;$GLOBALS&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'ibforums'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color: #006600;&quot;&gt;cache&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'stats'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; &amp;nbsp; &amp;nbsp; = &amp;nbsp;&lt;span style=&quot;color: #0000ff;&quot;&gt;$stats&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$stats&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;


&lt;p&gt;A noter que la modification utilise ma &lt;a href=&quot;http://www.llaumgui.com/post/heritage-du-ipbsdk-1-theorie&quot; hreflang=&quot;fr&quot;&gt;classe MySQL&lt;/a&gt; et que je n'ai pas modifié la fonction du SDK mais que je l'ai redéfinie.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.llaumgui.com/post/cache-ipbsdk-vs-cache-ipb#comment-form</comments>
      <wfw:comment>http://www.llaumgui.com/post/cache-ipbsdk-vs-cache-ipb#comment-form</wfw:comment>
      <wfw:commentRss>http://www.llaumgui.com/feed/rss2/comments/28</wfw:commentRss>
      </item>
    
</channel>
</rss>