<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="ARTICLE @ XOOPS powered by FeedCreator" -->
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://www.xoopsitalia.org//modules/article/xml.php">
        <title>Xoops Italia :: Articolo</title>
        <description>Articolo XML</description>
        <link>http://www.xoopsitalia.org/modules/article/view.article.php/16/c4</link>
        <image rdf:resource="http://www.xoopsitalia.org/modules/article/images/logo.png" />
       <dc:date>2008-07-06T07:10:09+02:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.xoopsitalia.org/modules/article/view.article.php/16/c4"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://www.xoopsitalia.org/modules/article/images/logo.png">
        <title>Xoops Italia :: Articolo</title>
        <link>http://www.xoopsitalia.org/modules/article/</link>
        <url>http://www.xoopsitalia.org/modules/article/images/logo.png</url>
    </image>
    <item rdf:about="http://www.xoopsitalia.org/modules/article/view.article.php/16/c4">
        <dc:format>text/html</dc:format>
        <dc:date>2006-03-15T12:15:19+02:00</dc:date>
        <dc:source>http://www.xoopsitalia.org/modules/article/</dc:source>
        <dc:creator>Defkon1</dc:creator>
        <title>Rendere invisibile un forum ai non addetti</title>
        <link>http://www.xoopsitalia.org/modules/article/view.article.php/16/c4</link>
        <description>Categoria: Tutorial Xoops 2.0.x&lt;br /&gt;Sommario: Vediamo come oscurare completamente l'accesso ad un particolare ai non autorizzati.&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;Poichè ultimamente sono molto preso dal lavoro, ho trascurato dolorosamente l'appunntamento con i miei tutorial, che si sono fermati a soapbox. Ho pensato allora di aggiornare il &quot;magazzino&quot; degli stessi, scrivendo articoli che parlano direttamente dell'esperienza che sto vivendo attualmente a contatto con le esigenze dei clienti, che possono essere tra le più svariate. Attualmente mi è stato chiesto di rendere invisibile il link del forum privato nella index del modulo. Come fare?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SOLUZIONE&lt;/strong&gt;&lt;br /&gt;Ho cercato ovviamente tra le opzioni del modulo. Nulla di nulla. Non esiste una opzione che mi permette di rendere il forum privato invisibile a chi non vi deve accedere. Chi non puo' accedere VEDE il link, ma se clicca, gli viene restituito nella redirect: &quot;Non puoi accedere al forum privato&quot;. Credo che nella versione 2.0 è possibile nasconderlo, ma non mi fido a mettere in produzione un modulo alla versione beta4. Quindi non c'è altra strada: studiarsi il codice e capire come funziona, e poi trovare l'escamotage che permette di fare cio che il cliente si aspetta. &lt;br /&gt;&lt;br /&gt;Non mi piace andare a toccare il codice dei forum. Ho sempre cercato di evitarlo...non mi piacciono. Li trovo incasinatissimi da programmare, e ancora peggio da capire. newpost, reply, reply alla reply le query le date ...un casino. ma tant'è...il cliente paga....&lt;img alt=&quot; &quot; src=&quot;http://www.xoopsitalia.org/uploads/smil3dbd4d4e4c4f2.gif&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Inizialmente ho cercato di agire sul file php...ci ho ragionato parecchio ma non ne venivo a capo...oppure trovavo il modo ma mi sembrava troppo macchinoso. Volevo qualcosa di più semplice e immediato. Un modifica di non più di qualche riga che oscurasse quel link (che cominciavo a odiare eheheh)...poi...improvvisa..la luce: SMARTY!!!!&lt;br /&gt;&lt;br /&gt;Invece di agire col file php, perchè non usare smarty? Il motore di template permette di agire sull'HTML del template usando i suoi tag in maniera dinamica come il php (prelevandone i dati alla fonte). Allora mi sono detto...ehm..ehm...la index ha un suo template che è newbb_index.html: APRIAMOLO!! &lt;img alt=&quot; &quot; src=&quot;http://www.xoopsitalia.org/uploads/smil3dbd4d6422f04.gif&quot; /&gt;&lt;br /&gt;&lt;br /&gt;nella index del template c'è questo codice&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;div class=&quot;xoopsCode&quot; style=&quot;border: 1px solid ;&quot;&gt; &lt;strong&gt;//LOOP SULLE CATEGORIE&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;&amp;lt;{section name=category loop=$categories}&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;//LOOP SUI FORUM&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;&amp;lt;{section name=forum loop=$categories[category].forums.forum_id}&gt;&lt;br /&gt;&lt;strong&gt;&amp;lt;{if $categories[category].forums.forum_id[forum] == 4}&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;{else}&gt;&lt;br /&gt;visulaizza tutti gli altri forum&lt;br /&gt;&amp;lt;{/if}&gt;&lt;/em&gt; &lt;/div&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0cm;&quot;&gt;&lt;br /&gt;Ho scoperto che la variabile smarty $categories[category].forums.forum_id[forum] restituisce l'id del forum. Wow! E allora perchè non usare questa variabile per beccare al volo, durante il loop, l'id del forum privato e con un if digli: caro xoops, quando incontri questo forum...non stampare nulla. GRAZIE  &lt;img width=&quot;15&quot; height=&quot;15&quot; border=&quot;0&quot; align=&quot;bottom&quot; name=&quot;graphics3&quot; src=&quot;../../../uploads/icon_biggrin.gif&quot; /&gt;. In questo modo non apparirà il link in home del modulo. Lo so...è un modo molto spartano e molti programmatori storceranno il naso: chissenefrega.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&quot;Quello che conta è il risultato&quot;...&lt;/strong&gt;è una frase che mi dice spesso il direttore di una società per il quale sono consulente. Ci vuole velocità ed efficienza. L'unico difetto di questo approccio pratico è che devi conoscere a priori il numero id del forum e poi impostarlo nell'espressione if. In questo caso il forum id è 4. Si poteva anche usare la variabile forum_type che riconosce il forum da pubblico (forum_type = 0) a privato (forum_type = 1) &lt;br /&gt;&lt;br /&gt;...ma non avevo tempo di star li a vedere....e poi loro voleva un SOLO forum privato mica mille  &lt;img width=&quot;15&quot; height=&quot;15&quot; border=&quot;0&quot; align=&quot;bottom&quot; name=&quot;graphics4&quot; src=&quot;../../../uploads/icon_biggrin.gif&quot; /&gt; Altro difettuccio è che se loro creano anche un solo forum privato in più devo aggiungere una porzione di codice all'if per comprendere anche il nuovo id. Ma non è finita qui....pensavate eh?  &lt;img width=&quot;15&quot; height=&quot;15&quot; border=&quot;0&quot; align=&quot;bottom&quot; name=&quot;graphics5&quot; src=&quot;../../../uploads/icon_smile.gif&quot; /&gt;)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Tutto ok...ma come si accede al forum privato? &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Ho creato un nuovo blocco, un nuovo gruppo di utenti, e ho reso visibile il blocco SOLO a quel gruppo di utenti (che poi sono i collaboratori del sito). Quando accedono a xoops, solo loro vedono un blocco dal titolo...chesso...&quot;area riservata&quot;... e all'interno del blocco un semplice link che rimanda alla pagina del forum privato:&lt;br /&gt;&lt;br /&gt;In questo modo si possono aggiungere altre aree riservate...addirittura clonando dei moduli e rendendoli disponibili per l'accesso a documenti riservati (penso ad esempio al modulo download)....oppure per caricare foto ose' e farle vedere solo agli intimi ehehehe (modulo myalbum).&lt;br /&gt;&lt;br /&gt;Spero di esservi stato utile.&lt;br /&gt;&lt;br /&gt;Dantom  &lt;/p&gt;&lt;br /&gt;</description>
    </item>
</rdf:RDF>
