<?xml version="1.0"?>
<rss version="2.0"><channel><title>3.x Latest Topics</title><link>https://invisionita.it/forum/80-3x/</link><description>3.x Latest Topics</description><language>en</language><item><title>Cambiare redirect dopo il logout</title><link>https://invisionita.it/topic/6344-cambiare-redirect-dopo-il-logout/</link><description><![CDATA[<p>
	Qualcuno potrebbe voler gestire in modo diverso la disconnessione dell'utente, facendolo ridirezionare su una pagina diversa dalla home del forum
</p>

<p>
	aprire questo file
</p>

<p>
	/admin/applications/core/modules_public/global/login.php:
</p>

<pre class="ipsCode prettyprint lang-auto">
return array( 'redirect',  $this-&gt;lang-&gt;words['thanks_for_logout'],  $this-&gt;settings['base_url'] );</pre>

<p>
	cambiare questo valore '$this-&gt;settings['base_url']' con il link della pagina a cui volete venga ridirezionato
</p>

<p>
	esempio:
</p>

<pre class="ipsCode prettyprint lang-auto">
return  array( 'redirect', $this-&gt;lang-&gt;words['thanks_for_logout'],  'http://www.invisionita.it/forum/page/sitoweb' );</pre>

<br><p><a href="https://invisionita.it/guide.html/3x/cambiare-redirect-dopo-il-logout-r10/">Visualizza tutto record</a></p>]]></description><guid isPermaLink="false">6344</guid><pubDate>Sat, 27 Apr 2019 10:31:01 +0000</pubDate></item><item><title>Risolvere problemi di spam</title><link>https://invisionita.it/topic/6299-risolvere-problemi-di-spam/</link><description><![CDATA[<p>
	In seguito a una segnalazione di un cliente per la chiusura ripetuta del suo sito per spam ELEVATO ho voluto approfondire la questione, e sono riuscito a individuare l'origine dello spam.
</p>

<p>
	Ho iniziato a prendere di mira i file
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8233_11" style="">
<span class="pln">/admin/sources/handlers/han_email.php
/ips_kernel/classEmail.php</span></pre>

<p>
	responsabili della gestione e invio delle email del software.
</p>

<p>
	Modificandoli come segue il server smtp <u>non veniva inizializzato</u> e le email venivano semplicemente archiviate nella cartella "<strong>_mail</strong>", a questo punto è bastato vedere il trace generato per trovare il modulo utilizzato dai bot per inviare spam.
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8233_15" style="">
<span class="pln">#han_email.php linea 178-197 ATTIVO DEBUG, cambiare =&gt; ... in =&gt; '1'
   public function init()
    {
		$this-&gt;header   = $this-&gt;settings['email_header'] ? $this-&gt;settings['email_header'] : '';
		$this-&gt;footer   = $this-&gt;settings['email_footer'] ? $this-&gt;settings['email_footer'] : '';
		
		$classToLoad = IPSLib::loadLibrary( IPS_KERNEL_PATH . 'classEmail.php', 'classEmail' );

		$this-&gt;emailer = new $classToLoad( array( 'debug'			=&gt; '1',
										 		  'debug_path'		=&gt; DOC_IPS_ROOT_PATH . '_mail',
										 		  'smtp_host'		=&gt; $this-&gt;settings['smtp_host'] ? $this-&gt;settings['smtp_host'] : 'localhost',
										 		  'smtp_port'		=&gt; intval($this-&gt;settings['smtp_port']) ? intval($this-&gt;settings['smtp_port']) : 25,
										 		  'smtp_user'		=&gt; $this-&gt;settings['smtp_user'],
										 		  'smtp_pass'		=&gt; $this-&gt;settings['smtp_pass'],
										 		  'smtp_helo'		=&gt; $this-&gt;settings['smtp_helo'],
										 		  'method'			=&gt; $this-&gt;settings['mail_method'],
										 		  'wrap_brackets'	=&gt; $this-&gt;settings['mail_wrap_brackets'],
										 		  'extra_opts'		=&gt; $this-&gt;settings['php_mail_extra'],
										 		  'charset'			=&gt; IPS_DOC_CHAR_SET,
										 		  'html'			=&gt; $this-&gt;html_email ) );
    }</span></pre>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8233_17" style="">
<span class="pln">#classEmail line 665 sostituirla come segue, lo 0 serve per non includere l'oggetto ed avere un responso ridotto, se volete più informazioni rimuovetelo.
$debug	= $this-&gt;subject . "\n------------\n" . $this-&gt;rfc_headers . "\n\n" . $this-&gt;message ."\n------------\n" . print_r( debug_backtrace(0), TRUE );</span></pre>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8233_23" style="">
<span class="pln">#all'interno dei file generati nella cartella "_mail" veniva riportato questo trace in ogni file
Array
(
    [0] =&gt; Array
        (
            [file] =&gt; ...\admin\sources\handlers\han_email.php
            [line] =&gt; 292
            [function] =&gt; sendMail
            [class] =&gt; classEmail
            [type] =&gt; -&gt;
            [args] =&gt; Array
                (
                )

        )

    [1] =&gt; Array
        (
            [file] =&gt; ...\admin\applications\forums\modules_public\extras\forward.php
            [line] =&gt; 258
            [function] =&gt; sendMail
            [class] =&gt; hanEmail
            [type] =&gt; -&gt;
            [args] =&gt; Array
                (
                )

        )

    [2] =&gt; Array
        (
            [file] =&gt; ...\admin\applications\forums\modules_public\extras\forward.php
            [line] =&gt; 187
            [function] =&gt; _sendEmail
            [class] =&gt; public_forums_extras_forward
            [type] =&gt; -&gt;
            [args] =&gt; Array
                (
                )

        )

    [3] =&gt; Array
        (
            [file] =&gt; ...\admin\sources\base\ipsController.php
            [line] =&gt; 306
            [function] =&gt; doExecute
            [class] =&gt; public_forums_extras_forward
            [type] =&gt; -&gt;
            [args] =&gt; Array
                (
                    [0] =&gt; ipsRegistry Object
                        (
                            [templateStriping] =&gt; Array
                                (
                                )

                        )

                )

        )

    [4] =&gt; Array
        (
            [file] =&gt; ...\admin\sources\base\ipsController.php
            [line] =&gt; 120
            [function] =&gt; execute
            [class] =&gt; ipsCommand
            [type] =&gt; -&gt;
            [args] =&gt; Array
                (
                    [0] =&gt; ipsRegistry Object
                        (
                            [templateStriping] =&gt; Array
                                (
                                )

                        )

                )

        )

    [5] =&gt; Array
        (
            [file] =&gt; ...\admin\sources\base\ipsController.php
            [line] =&gt; 65
            [function] =&gt; handleRequest
            [class] =&gt; ipsController
            [type] =&gt; -&gt;
            [args] =&gt; Array
                (
                )

        )

    [6] =&gt; Array
        (
            [file] =&gt; ...\index.php
            [line] =&gt; 25
            [function] =&gt; run
            [class] =&gt; ipsController
            [type] =&gt; ::
            [args] =&gt; Array
                (
                )

        )

)</span></pre>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="1349" href="//cdn.gorillahouse.net/invisionita/monthly_2018_05/image.png.a7ad2fb32ea775b3c685b4b0a4a89418.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="1349" data-unique="z6wvsd4eu" src="//cdn.gorillahouse.net/invisionita/monthly_2018_05/image.thumb.png.99845f6d80e3ed63d704c1ffa95deba9.png" loading="lazy"></a>
</p>

<p>
	In precedenza avevo disattivato lo sharelink email che attivava il modulo forward, pertanto ho creato un file per visualizzare la variabile e ho scoperto il problema, nel mio caso la "cache" del software non è stata aggiornata come ci si aspettava.
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8233_29" style="">
<span class="pln">#file test.php in allegato
</span><span class="pun">&lt;?</span><span class="pln">php

require_once</span><span class="pun">(</span><span class="pln"> </span><span class="str">'initdata.php'</span><span class="pln"> </span><span class="pun">);</span><span class="pln">
require_once</span><span class="pun">(</span><span class="pln"> CP_DIRECTORY</span><span class="pun">.</span><span class="str">'/sources/base/ipsRegistry.php'</span><span class="pln"> </span><span class="pun">);</span><span class="pln">
$registry </span><span class="pun">=</span><span class="pln"> ipsRegistry</span><span class="pun">::</span><span class="pln">instance</span><span class="pun">();</span><span class="pln">
$registry</span><span class="pun">-&gt;</span><span class="pln">init</span><span class="pun">();</span><span class="pln">
$member </span><span class="pun">=</span><span class="pln"> $registry</span><span class="pun">-&gt;</span><span class="pln">member</span><span class="pun">()-&gt;</span><span class="pln">fetchMemberData</span><span class="pun">();</span><span class="pln">
echo</span><span class="str">'&lt;pre&gt;'</span><span class="pun">;</span><span class="pln">
print_r</span><span class="pun">(</span><span class="pln">$registry</span><span class="pun">-&gt;</span><span class="pln">cache</span><span class="pun">()-&gt;</span><span class="pln">getCache</span><span class="pun">(</span><span class="str">'sharelinks'</span><span class="pun">)[</span><span class="str">'email'</span><span class="pun">]);</span><span class="kwd">exit</span><span class="pun">;</span></pre>

<p>
	<a class="ipsAttachLink" data-fileid="1347" href="https://invisionita.it/applications/core/interface/file/attachment.php?id=1347" rel="">test.php</a>
</p>

<p>
	Perciò è bastato andare in AdminCP &gt; Cache Management &gt; cerca sharelink e cliccare sul tasto refresh a fine riga.
</p>

<p>
	Per conferma ho ricontrollato il file test.php per vedere se il valore era "0", e cosi non si sono registrate nuove mail spam.
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="1350" data-unique="epeytkxax" src="//cdn.gorillahouse.net/invisionita/monthly_2018_05/image.png.f9663dba323b3738d4ab4660537426f9.png" loading="lazy"></p>

<p>
	In futuro se volete abilitare lo sharelink email prestate attenzione che funzioni correttamente e che scegliate gruppi di utenti iscritti e affidabili, inoltre per controllare come viene utilizzato controllate in mysql la seguente query in AdminCP &gt; Support &gt; SQL Management &gt; SQL Toolbox
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8233_27" style="">
<span class="pln">SELECT *,FROM_UNIXTIME(log_date) FROM ibf_core_share_links_log WHERE log_share_key="email";</span></pre>

<p>
	se volete sapere se ci sono online bot che stanno tentando di accedere al modulo forward usate questa query
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_3327_5" style="">
<span class="pln">SELECT * FROM ibf_sessions where current_section="forward";</span></pre>

<p>
	cosi potete bannare gli ip e ridurre il carico sul sito.
</p>]]></description><guid isPermaLink="false">6299</guid><pubDate>Thu, 10 May 2018 16:44:35 +0000</pubDate></item><item><title>Installare una traduzione in italiano su IP.Board</title><link>https://invisionita.it/topic/3706-installare-una-traduzione-in-italiano-su-ipboard/</link><description><![CDATA[<p><span style="color:#282828;"><span style="font-size:24px;">Premessa</span><br>Esisteno 2 metodi principali per l'installazione della lingua italiana. Dall'aprile 2013 abbiano cambiato metodo che, anche se lievemente piu complesso, non crea problemi di sovrascrittura della lingua inglese n'è problemi di import legati all'hosting.</span></p><p>Potete trovare le nostre traduzioni nella sezione DOWNLOAD, ciascuna nella corrispondente sezione. Dalla 3.4 è stato introdotto il nuovo metodo di installazione, per le precedenti fare riferimento alla descrizione in fondo in grigio chiaro.</p><br><br><br><p><span style="font-size:24px;">Grazie a tutti quelli che hanno contribuito</span></p><p>La traduzione è stata effettuata grazie ad una collaborazione tra molti utenti della nostra community, chiediamo quindi a tutti di segnalare eventuali problemi, errori, o malfunzionamenti nella nostra sezione <a href="http://www.invisionita.it/forum/index.php?app=forums&amp;module=post&amp;section=post&amp;do=new_post&amp;f=76" rel="external">Tracker</a></p><p> </p><p> </p><p><span style="font-size:24px;">Avvertimenti</span></p><p>E' importante spare che importanto un nuovo pacchetto lingua verranno sovrascritte tutte le eventuali personalizzazioni eseguite in precedenza nei pacchetti che si stanno importando.</p><p>Teoricamente la lingua inglese originale è protetta, e non è sovrascrivibile, e le procedure consigliate in queste istruzioni non andranno ad agire su di essa, è comunque possibile che per alcuni motivi la lingua inglese venga modificata: per poterla ripristinare è necessario utilizzare questa procedura. E' importante avere sempre la lingua inglese originale in modo da poter permettere</p><p>Le istruzioni sono state redatte utilizzando una linguaggio inglese del lato Admin. Nonostante venga fornita nel pacchetto anche la traduzione del lato admin, consigliamo di lasciarlo in lingua originale, per poter continuare a seguire le istruzioni originali del supporto ufficiale IPS e per non avere eventuali errori di procedura.</p><p>Nell'ultima diapositiva <a rel="external">(FINE)</a> è disponibile un video che descrive la parte più complessa della procedura. Si consiglia di visionarlo solo dopo aver letto completamente le istruzioni. Sono presenti alcuni attimi di inattività a causa del tempo necessario nell'import dei files</p><p> </p><p> </p><p><span style="font-size:24px;">STEP1- Non hai ancora una lingua italiana installata?</span></p><p>Via in ACP - Look&amp;Feel - Manage languages. Se non hai ancora una lingua italiana creata devi crearne una. Per crearla devi duplicare la lingua inglese: nella linea dell'inglese, tutto a destra, cliccate sull'icona che fa comparire il menu a comparsa, Copy Language Pack.<br><br>E verrà creata una skin chiamata molto probabilmente English(USA)(Copy).<br><br>Nella nuova lingua che sarà stata creata, sempre sulla destra, fate Edit, e cambiate il nome della lingua in italiano, e mettete it_IT nel campo locale (oppure it_IT.UTF-8), ed impostatela come di default se lo desiderate.</p><p><b>Hai già una lingua italiana installata?</b> In questo caso sei pronto per passare allo step successivo</p><p> </p><p><span style="font-size:24px;">STEP2- Translate Externally</span></p><p>A destra della lingua italiana, aprite il menu, e cliccate su <i>Translate Externally</i>. Se non l'avete ancora fatto in precedenza, vi verrà chiesto con un messaggio di avvertimento di creare una cartella chiamata <i>translate</i> nella cartella root del vostro forum, in sostanza nella stessa posizione in cui sono contenuti i file initdata.ini, il file config_global.php</p><p> </p><p>La cartella deve avere permessi CHMOD 0777. Rifate allora <i>Translate Externally</i></p><p>Se la scrittura dei file andrà a buon fine comparirà un avviso verde in una pagina in cui vi verranno visualizzati anche tutti i file con due colonne: la colonna <i>Last Local Edit</i> con la data dell'ultima modifica del file fisico e la colonna <i>Last DB Update</i> con la data dell'ultima modifica del linguaggio nel database che sarà poi quello visto realmente nella board live. Inizialmente queste date saranno probabilmente identiche.</p><p> </p><p> </p><p> </p><p><span style="font-size:24px;">STEP3- Caricare via FTP i files forniti</span></p><p>Nei pacchetti che vi forniamo sono presenti alcuni dei file che avete appena visto, ma con le stringhe tradotte ed aggiornate. Dovete caricarli nello stesso percorso appena descritto, quindi dovete caricare via FTP il contenuto della cartella <i>upload_LATOPUBBLICO</i> oppure <i>upload_LATOADMIN</i> nella appena root del forum (la stessa in cui è contenuta la cartella <i>translate</i> appena creata. Dovrete fare sovrascrivere i file</p><p> </p><p> </p><p> </p><p><span style="font-size:24px;">STEP4- Verifica ed import dei file tradotti appena caricati</span></p><p>Aggiornando (F5) la pagina nell'admin in cui abbiamo visualizzato i file nello <a rel="external">STEP2- Translate Externally</a>, si potranno vedere i file appena caricati con una data <i>Last Local Edit</i> differente da quella precedente e soprattutto differente sia da quella dei file non caricati (per esempio quelli dell'admin se avete caricato il lato pubblico) sia da quella <i>Last DB Update</i></p><p> </p><p>Ora bisognerà importare nel database proprio questi file. Selezionateli manualmente (in teoria potrete anche selezionarli tutti), andando poi in fondo a destra e cliccando <i>Import selected files</i><br>Dovrebbe comparire una finestrella di conferma processo avvenuto.<br><br>Se per caso invece si verificasse un errore, tipo <i>"Fatal error: Allowed memory size of ..."</i>, provate a ripetere l'operazione selezionando un numero minore di files.</p><p>  <span style="font-size:24px;">STEP5- Eseguire il recache</span></p><p>Tornando nella pagina delle lingue (ACP - Look&amp;Feel - Manage languages), sulla linea dell'Italiano a destra, dovrete cliccare sul pulsante centrale con le due freccie verdi <i>Recache All</i></p><p>    <span style="font-size:24px;">STEP6- Controllo nella Board</span></p><p>Facendo un refresh ripetuto nella board live dovreste notare i cambiamenti della traduzione. Ovviamente se era già tradotta in italiano probabilmente non vedrete differenze importanti.</p><p> </p><p> </p><p> </p><p><span style="font-size:24px;">STEP7- Chiudere la sezione di traduzione esterna</span></p><p>Ora la procedura di installazione della traduzione è terminata, ma continuerete a visualizzare un messaggio di traduzione esterna attiva</p><p>Cliccate sul link <i>here to go there now.</i> e arrivati sulla solita pagina chiudere la sessione premendo il pulsante in alto a sinistra <i>Finish and Remove</i></p><p> </p><p> </p><p><span style="font-size:24px;">FINE</span></p><p>La procedura è finalmente conclusa. In caso di problemi potrete chiedere supporto nella <a href="http://www.invisionita.it/forum" rel="external">SEZIONE TRADUZIONI</a> del nostro sito, oppure nel topic di supporto del file che avete scaricato.</p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p>Da qui in poi è descritta la vecchia procedura con l'import dei file xml.</p><p> </p><p><br><em><span style="color:#808080;"><span style="font-size:24px;">Contenuto dei file</span><br>Per la stessa versione di una lingua, troverete in download alcuni file:<br>-il pacchetto xml.gz totale importabile dall'admin<br>-i pacchetto zip con tutti i file xml <strong>parziali</strong> importabili sempre dall'admin<br>-il pacchetto zip contenente i file php originali della lingua.<br><br><br><br><span style="font-size:24px;">Come importare un pacchetto di lingua (sia totale che parziale)</span><br>-collegarsi all'acp<br>-look&amp;feel<br>-manage language<br>- in fondo è presente un campo <strong>Upload language pack from your computer</strong>, selezionare il file dal proprio computer e cliccare su<strong> Import</strong><br><br><span><strong>!!!!! leggere di seguito prima di importare</strong></span><br><br><br><span style="font-size:24px;">Appunti importanti relativi ad errori di importazione del pacchetto globale</span><br><br>E' da segnalare che su alcuni hosting potrebbero verificarsi problemi di Gateway timeout durante l'importazione, o comunque altri tipi di errore.<br>E' possibile quindi importare i singoli pacchetti parziali che sono disponibili in questo stesso download, seguendo però <strong>prima</strong> questa procedura in modo da creare prima una nuova lingua su cui lavorare:<br>-collegarsi all'acp<br>-look&amp;feel<br>-manage language<br>-duplicare la lingua inglese usando il menù a tendina sulla destra sempre nella riga della lingua inglese<br>-cambiare nome alla nuova lingua (che ora si chiamerà English (COPY) )chiamandola come si preferisce (Italiano di solito), e cambiare la codifica in<strong>it_IT</strong> se si è su hosting linux e in <strong>italian</strong> se si è su hosting windows<br>-settarla come di default<br>A questo punto sempre tramite -look&amp;feel -manage language in fondo sarà possibile selezionare i 3 file parziali (core, forums, members)<br>ATTENZIONE che in alcune versioni IP.Board andranno a sovrascrivere tutte le lingue compresa l'inglese, nonostante che questa sia protetta. Purtroppo questo problema non succede sempre, quindi ci è impossibile prevederlo. Nella nostra sezione download è comunque disponibile il<a href="http://www.invisionita.it/forum/files/file/142-file-php-lingua-inglese-ipb-320/" rel="external"> pacchetto inglese originale</a>, da reinstallare nel caso venga sovrascritto. Per sapere se l'inglese è protetto o meno è sufficiente provare a vadere se nella tendina della lingua c'è l'opzione per cancellarlo, se non c'è vuol dire che la lingua è protetta e <strong>(teoricamente)</strong> non dovrebbe essere sovrascritta.<br><br><br>Altra possibilità è quella di utilizzare il pacchetto allegato chiamato files_php_italiano_x_x_x (nome che cambia a seconda della versione). Questi sono tutti i file php sorgenti della traduzione.<br>Per poterli usare è necessario:<br>-collegarsi all'acp<br>-look&amp;feel<br>-manage language<br>-duplicare la lingua inglese usando il menù a tendina sulla destra sempre nella riga della lingua inglese<br>-cambiare nome alla nuova lingua (che ora si chiamerà English (COPY) )chiamandola come si preferisce (Italiano di solito), e cambiare la codifica in<strong>it_IT</strong> se si è su hosting linux e in <strong>italian</strong> se si è su hosting windows<br>-passando il mouse sul nome della nuova lingua si può vedere in fondo il link che la indica, questo link termina con il numero di ID della lingua in questione.<br>nell'esempio qui sotto l'id è il numero 9</span></em></p><pre class="ipsCode prettyprint linenums:0"><a href="http://www.invisionita.it/forum/admin/index.php?adsess=jhjgjgh3e&amp;app=core&amp;module=languages&amp;section=manage_languages&amp;do=list_word_packs&amp;id=9">http://www.invisionita.it/forum/admin/index.php?adsess=jhjgjgh3e&amp;app=core&amp;module=languages&amp;section=manage_languages&amp;do=list_word_packs&amp;id=9</a></pre><p><span style="color:#808080;"><em>-collegarsi via ftp e caricare sovrascrivendo tutti questi file php nella cartella cache/lang_cache/9 (nove è quella del nostro esempio) presente nella root del vostro forum<br>Eseguire poi un racache delle skin.<br><br><br><br><br><span style="font-size:24px;">Segnalazione errori</span><br>E' possibile segnalare eventuali errori nel nostro tracker</em></span></p>]]></description><guid isPermaLink="false">3706</guid><pubDate>Fri, 21 Oct 2011 11:50:34 +0000</pubDate></item><item><title>Integrare imageshack all'editor</title><link>https://invisionita.it/topic/2513-integrare-imageshack-alleditor/</link><description><![CDATA[<p>A volte può essere utile integrare imageshack alll'editor completo, in modo che gli utenti possano caricare agevolmente le immagini e ottenere i codici tag da inserire nei post<br><br>Per inserirlo aprire acp - look&amp;feel - scegliere la skin specifica - editor - ips_editor<br>cercare</p><pre class="ipsCode prettyprint lang-auto">&lt;!-- Toolpanes --&gt;&lt;script type="text/javascript"&gt;//&lt;![CDATA[$('{$editor_id}_toolbar_1').show();$('{$editor_id}_toolbar_2').show();// Rikki: Had to remove &lt;form&gt;... &lt;/form&gt; because Opera would see &lt;/form&gt; and not pass the topic icons / hidden fields properly. Tried "&lt;/" + "form&gt;" but when it is parsed, it had the same affectipb.editor_values.get('templates')['link'] = new Template("&lt;label for='#{id}_url'&gt;{$this-&gt;lang-&gt;words['js_template_url']}&lt;/label&gt;&lt;i</pre><p>e quindi inserire PRIMA<br> </p><pre class="ipsCode prettyprint lang-auto">&lt;iframe src="http://imageshack.us/iframe.php?txtcolor=111111&amp;type=blank&amp;size=30" scrolling="no" allowtransparency="true" frameborder="0" width="280" height="70"&gt;Update your browser for ImageShack.us!&lt;/iframe&gt;</pre><p>appena sotto la finestra del messaggio apparirà un widget di imageshack<br></p><hr><br><a href="http://www.invisionita.it/forum/topic/2513-tutorialintegrare-imageshack-alleditor/#entry25182" rel="external"><strong>Versione 3.3 o 3.4</strong></a> o <a href="http://community.invisionpower.com/files/file/6262-imageshackus-post-upload-form/" rel="external">http://community.invisionpower.com/files/file/6262-imageshackus-post-upload-form/</a>]]></description><guid isPermaLink="false">2513</guid><pubDate>Sat, 01 Jan 2011 10:26:37 +0000</pubDate></item><item><title>Colorare i nomi degli utenti nei topic</title><link>https://invisionita.it/topic/2536-colorare-i-nomi-degli-utenti-nei-topic/</link><description><![CDATA[<p>È possibile colorare i nomi degli utenti in base al colore dei gruppi a cui appartengono (da un post di Mat (FDNZ))</p><p>
 </p><pre class="ipsCode prettyprint lang-auto">Admin CP &gt; Look and Feel &gt; [Your Skin Here] &gt; Edit Templates &amp; CSS &gt; Topic View &gt; topicViewTemplate</pre> <p>
e trovare</p><p>
 </p><p>
 </p><pre class="ipsCode prettyprint lang-auto">&lt;span class="author vcard"&gt;&lt;a class="url fn" href='{parse url="showuser={$post['author']['member_id']}" base="public" template="showuser" seotitle="{$post['author']['members_seo_name']}"}'&gt;{$post['author']['members_display_name']}&lt;/a&gt;{parse template="user_popup" group="global" params="$post['author']['member_id'], $post['author']['members_seo_name']"}&lt;/span&gt;</pre> <p>
E sostituire con:</p><p>
 </p><p>
 </p><pre class="ipsCode prettyprint lang-auto">&lt;span class="author vcard"&gt;&lt;a class="url fn" href='{parse url="showuser={$post['author']['member_id']}" base="public" template="showuser" seotitle="{$post['author']['members_seo_name']}"}'&gt;{IPSLib::makeNameFormatted($post['author']['members_display_name'],$post['author']['member_group_id'])}&lt;/a&gt;{parse template="user_popup" group="global" params="$post['author']['member_id'], $post['author']['members_seo_name']"}&lt;/span&gt;</pre>]]></description><guid isPermaLink="false">2536</guid><pubDate>Sat, 01 Jan 2011 11:25:14 +0000</pubDate></item><item><title>Modifica template per inserire icone forum personalizzate</title><link>https://invisionita.it/topic/5218-modifica-template-per-inserire-icone-forum-personalizzate/</link><description><![CDATA[<p>Per chi avesse una skin modificata, nella quale l'applicazione di DawPi per le icone dei forum personalizzate non funziona, metto questo codice, che nel boardindextemplate permette di visualizzare delle icone personalizzate per i forum</p><p> </p><pre class="ipsCode prettyprint">&lt;!--  MODIFICA CUSTOM ICONS LETTE E NON INIZIO --&gt;												&lt;tr class='&lt;if test="$this-&gt;settings['glareRemoveFade']=='0'"&gt;tableFade&lt;/if&gt; &lt;if test="hasUnreadClass:|:$forum_data['_has_unread']"&gt;unread&lt;/if&gt;'&gt;													&lt;td class='col_c_icon'&gt;														&lt;if test="hasUnread:|:$forum_data['_has_unread']"&gt;															&lt;a id='forum_img_{$forum_data['id']}' href="{parse url="app=forums&amp;module=forums&amp;section=markasread&amp;marktype=forum&amp;forumid={$forum_data['id']}&amp;returntoforumid={$this-&gt;request['f']}&amp;i=1" base="public"}" data-tooltip="{$this-&gt;lang-&gt;words['bi_markread']}" class='forum_marker'&gt;&lt;img src='{$this-&gt;settings['img_url']}/f_custom_{$forum_data['id']}.png' /&gt;&lt;/a&gt;														&lt;else /&gt;															&lt;a id='forum_img_{$forum_data['id']}' href="{parse url="app=forums&amp;module=forums&amp;section=markasread&amp;marktype=forum&amp;forumid={$forum_data['id']}&amp;returntoforumid={$this-&gt;request['f']}&amp;i=1" base="public"}" data-tooltip="{$this-&gt;lang-&gt;words['bi_markread']}" class='forum_marker'&gt;&lt;img src='{$this-&gt;settings['img_url']}/f_custom_{$forum_data['id']}_read.png' /&gt;&lt;/a&gt;														&lt;/if&gt;&lt;!--  MODIFICA CUSTOM ICONS LETTE E NON FINE --&gt;</pre><p> </p><p>bisogna ovviamente caricare nella cartella della skin due icone per ciascun forum, una per il forum non letto con nome f_custom_IDdelfroum.png e per il forum letto f_custom_IDdelfroum_read.png</p><p><a class="ipsAttachLink ipsAttachLink_image" href="//cdn.gorillahouse.net/invisionita/monthly_02_2013/post-1-0-87518300-1361690892.png" rel="external"><img src="//cdn.gorillahouse.net/invisionita/monthly_02_2013/post-1-0-87518300-1361690892.png" data-fileid="693" class="ipsImage ipsImage_thumbnailed" alt="post-1-0-87518300-1361690892.png" loading="lazy"></a></p><p><a class="ipsAttachLink ipsAttachLink_image" href="//cdn.gorillahouse.net/invisionita/monthly_02_2013/post-1-0-89882500-1361690916.png" rel="external"><img src="//cdn.gorillahouse.net/invisionita/monthly_02_2013/post-1-0-89882500-1361690916.png" data-fileid="694" class="ipsImage ipsImage_thumbnailed" alt="post-1-0-89882500-1361690916.png" loading="lazy"></a></p>]]></description><guid isPermaLink="false">5218</guid><pubDate>Sun, 24 Feb 2013 07:30:53 +0000</pubDate></item><item><title>Integrare pi&#xF9; di 2 custom field in uno solo</title><link>https://invisionita.it/topic/4975-integrare-pi%C3%B9-di-2-custom-field-in-uno-solo/</link><description><![CDATA[<p>come integrare più di 2 custom field in uno solo. Usare 2 o più campi personalizzati per un elemento nel Topic View (Visualizzazione Discussione).<br>ACP &gt; Look &amp; Feel &gt; Manage Skin Sets &amp; Templates &gt; Scegli la tua skin &gt; Global Templates &gt; <strong>userInfoPane</strong><br><strong>cercate</strong></p><pre class="ipsCode prettyprint lang-auto linenums:0">                        &lt;foreach loop="customFieldsOuter:$author['custom_fields'] as $group =&gt; $data"&gt;				&lt;foreach loop="customFields:$author['custom_fields'][ $group ] as $field"&gt;					&lt;if test="$field != ''"&gt;						&lt;li&gt;							{$field}						&lt;/li&gt;					&lt;/if&gt;				&lt;/foreach&gt;			&lt;/foreach&gt;</pre><p><strong>aggiungi dopo</strong></p><pre class="ipsCode prettyprint lang-auto linenums:0">                        &lt;if test="substr( $author['field_12'], 0, 4 ) == 'http'"&gt;				&lt;if test="substr( $author['field_3'], 0, 4 ) == 'http'"&gt;					&lt;a class='url' href="{$author['field_3']}"&gt;&lt;img src="{$author['field_12']}"&gt;&lt;/a&gt;				&lt;else /&gt;					&lt;if test="substr( $author['field_3'], 0, 3 ) == 'www'"&gt;						&lt;a class='url' href="<a href="http://%7B%24author%5B" field_3>http://{$author['field_3']}</a>"&gt;&lt;img src="{$author['field_12']}"&gt;&lt;/a&gt;					&lt;else /&gt;						&lt;img src="{$author['field_12']}"&gt;					&lt;/if&gt;				&lt;/if&gt;			&lt;/if&gt;</pre><p><strong>field_3</strong> corrisponde al Website URL<br><strong>field_12</strong> corrisponde al campo personalizzato dove far inserire l'url dell'immagine<br><br><a href="http://beta.cosasaifare.com/topic/2-proova/" rel="external"><strong>ANTEPRIMA</strong></a> (temporanea)<br>(mistero risolto... ringrazio <a href="http://community.invisionpower.com/topic/371523-permissions-based-on-pfields-content/?p=2341068" rel="external">Martin</a>)</p>]]></description><guid isPermaLink="false">4975</guid><pubDate>Fri, 21 Dec 2012 21:21:50 +0000</pubDate></item><item><title>Link con finestrella in popup</title><link>https://invisionita.it/topic/5190-link-con-finestrella-in-popup/</link><description><![CDATA[<p>Per inserire in un template un link con una finestrella popup è possibile utilizzare questo codice</p><p> </p><p>ci sono due diversi tipo di posizione della finestra</p><p> </p><p> </p><pre class="ipsCode prettyprint">&lt;a href='#' id='modal1'&gt;Tipo popop 1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='#' id='modal2'&gt;Tipo popop 2&lt;/a&gt;&lt;div id='mymodalcontent' style='display:none;'&gt;  &lt;h3&gt;Titolo&lt;/h3&gt;  &lt;div class='fixed_inner'&gt;    Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra - Contenuto Finestra -   &lt;/div&gt;&lt;/div&gt;&lt;script type='text/javascript'&gt;  $('modal1').observe( 'click', function(e) {    _var = new ipb.Popup( 'booboo', { type: 'pane',						   initial: $('mymodalcontent').innerHTML,						   hideAtStart: false,						   w: '600px',						   h: 250} );    Event.stop(e);    return false;  });  $('modal2').observe( 'click', function(e) {    _vvar = new ipb.Popup( 'beebee', { type: 'balloon',						    stem: true,						    initial: $('mymodalcontent').innerHTML,						    hideAtStart: false,						    w: '600px',						    attach: { target: $('modal2'), position: 'auto', 'event': 'click' },						    h: 250} );    Event.stop(e);    return false;  });&lt;/script&gt;</pre><p> </p><p><a class="ipsAttachLink ipsAttachLink_image" href="//cdn.gorillahouse.net/invisionita/monthly_02_2013/post-1-0-01186200-1361095081.png" rel="external"><img src="//cdn.gorillahouse.net/invisionita/monthly_02_2013/post-1-0-01186200-1361095081_thumb.png" data-fileid="686" class="ipsImage ipsImage_thumbnailed" alt="post-1-0-01186200-1361095081_thumb.png" loading="lazy"></a></p>]]></description><guid isPermaLink="false">5190</guid><pubDate>Sun, 17 Feb 2013 09:51:41 +0000</pubDate></item><item><title>profilo  in siderbar</title><link>https://invisionita.it/topic/5644-profilo-in-siderbar/</link><description><![CDATA[<p>in gestione  modelli su boardIndexTemplate cercate</p><pre class="ipsCode prettyprint">&lt;foreach loop="side_blocks:$side_blocks as $block"&gt;                {$block}            &lt;/foreach&gt;</pre><p>aggiungete sotto</p><pre class="ipsCode prettyprint">&lt;style type="text/css"&gt;.pohotoimge {    width: 170px;    height: 164px;}.pohotosttre {    border: 5px solid rgba(0, 192, 255, 1);    width: 170px;    height: 164px;}&lt;/style&gt;&lt;if test="memberbox:|:$this-&gt;memberData['member_id']"&gt;&lt;div class='ipsSideBlock clearfix'&gt;          &lt;h3&gt;Benvenuto, &lt;a href="{parse url="showuser={$this-&gt;memberData['member_id']}" seotitle="{$this-&gt;memberData['members_seo_name']}" template="showuser" base="public"}" title='{$this-&gt;lang-&gt;words['your_profile']}'&gt; {$this-&gt;memberData['members_display_name']}&lt;/a&gt;&lt;/h3&gt;&lt;div class='_sbcollapsable'&gt;&lt;center class='desc member_title'&gt;&lt;if test="$this-&gt;memberData['title'] != ''"&gt;{$this-&gt;memberData['title']}&lt;br /&gt;&lt;/if&gt;&lt;br /&gt;  &lt;div class='pohotosttre'&gt;&lt;a href="{parse url="showuser={$this-&gt;memberData['member_id']}" seotitle="{$this-&gt;memberData['members_seo_name']}" template="showuser" base="public"}" title='{$this-&gt;lang-&gt;words['your_profile']}'&gt;&lt;img class='pohotoimge' src='{$this-&gt;memberData['pp_main_photo']}'&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;center&gt;&lt;span style=' font-size: 14px;'&gt;{$this-&gt;memberData['prefix']}{$this-&gt;memberData['g_title']}{$this-&gt;memberData['suffix']}&lt;/span&gt;&lt;br /&gt;Posts: {$this-&gt;memberData['posts']}&lt;br /&gt;Visite al profilo: {$this-&gt;memberData['members_profile_views']}&lt;br /&gt;Iscritto il: {parse date="$this-&gt;memberData['joined']" format="joined"}&lt;br /&gt;Tuo IP: {$_SERVER['REMOTE_ADDR']}&lt;br /&gt;&lt;br /&gt;&lt;div style='background: none repeat scroll 0% 0% rgba(51, 156, 40, 1);padding: 7px; color: #fff; border-radius: 5px; font-weight: bold'&gt;{$this-&gt;memberData['pp_reputation_points']}&lt;/div&gt;&lt;/center&gt;&lt;/div&gt;&lt;/div&gt;&lt;/if&gt;</pre><p><span><span>Per</span> <span>cambiare il colore</span> <span>di sfondo di reputazione basta  modificare</span></span>:</p><pre class="ipsCode prettyprint">&lt;div style='background:#0f2437 ;padding: 7px; color: #fff; font-weight: bold'&gt;{$this-&gt;memberData['pp_reputation_points']}&lt;/div&gt;</pre><p><span><span>potete usare questa modifica sfruttandola anche su ip.content, creando un blocco.</span></span></p><p> </p><p> </p><p><a class="ipsAttachLink ipsAttachLink_image" href="//cdn.gorillahouse.net/invisionita/monthly_06_2014/post-942-0-87178300-1403340211.jpg" rel="external"><img src="//cdn.gorillahouse.net/invisionita/monthly_06_2014/post-942-0-87178300-1403340211_thumb.jpg" data-fileid="941" class="ipsImage ipsImage_thumbnailed" alt="post-942-0-87178300-1403340211_thumb.jpg" loading="lazy"></a></p>]]></description><guid isPermaLink="false">5644</guid><pubDate>Sat, 21 Jun 2014 08:43:53 +0000</pubDate></item><item><title>Aggiungi un Forum Jump</title><link>https://invisionita.it/topic/5645-aggiungi-un-forum-jump/</link><description><![CDATA[<p>Alcuni sono sicuro troveranno utile questa guida, praticamente sfrutteremo le risorse di invisionpower per costruire la nostra "lista rapida" dei forum.</p><p> </p><p>Quindi il necessario è:</p><pre class="ipsCode prettyprint">&lt;php&gt;//se non funziona provate a sostituire "class_forums" con "getClass('class_forums')"$this-&gt;forum_lista = $this-&gt;registry-&gt;class_forums-&gt;forumsForumJump( 1, 0, 1, $current, true );&lt;/php&gt;{$this-&gt;registry-&gt;output-&gt;getTemplate('global')-&gt;forum_jump($this-&gt;forum_lista)}</pre><p><u><em>forumsForumJump</em></u> costituisce una <em>funzione</em> che andrà ad inserire in <u>$this-&gt;forum_lista</u> una stringa di voci che corrispondono ai forum presenti, escludendo in questo caso quelli di tipo "redirect".</p><p> </p><p>in seguito, all'interno del template, possiamo utilizzare la stringa per costruire il nostro menù rapido utilizzando il <em><strong>forum_jump </strong></em>presente nel gruppo<em><strong> </strong><u>globale</u><strong>.</strong></em></p><p> </p><p><em><strong>il risultato: </strong></em><a class="ipsAttachLink ipsAttachLink_image" href="//cdn.gorillahouse.net/invisionita/monthly_06_2014/post-29-0-22373500-1403492765.png" rel="external"><img src="//cdn.gorillahouse.net/invisionita/monthly_06_2014/post-29-0-22373500-1403492765_thumb.png" data-fileid="942" class="ipsImage ipsImage_thumbnailed" alt="post-29-0-22373500-1403492765_thumb.png" loading="lazy"></a></p><p> </p><p><em>ATTENZIONE</em>: La classe richiesta "class_forums" deve essere inizializzata quindi se non funziona bisogna aggiungere un ulteriore passaggio in cima del codice &lt; php &gt;, ma come <a data-ipb="nomediaparse" href="https://www.invisionpower.com/support/guides/_/advanced-and-developers/api-methods/forum-library-r258" rel="external">detto qui</a> non occorre...</p><pre class="ipsCode prettyprint">if ( ! $this-&gt;registry-&gt;isClassLoaded('class_forums' ) ){	$classToLoad = IPSLib::loadLibrary( IPSLib::getAppDir( 'forums' ) . "/sources/classes/forums/class_forums.php", 'class_forums', 'forums' );	$this-&gt;registry-&gt;setClass( 'class_forums', new $classToLoad( $this-&gt;registry ) );	$this-&gt;registry-&gt;getClass('class_forums')-&gt;strip_invisible = 1;	$this-&gt;registry-&gt;getClass('class_forums')-&gt;forumsInit();}</pre>]]></description><guid isPermaLink="false">5645</guid><pubDate>Mon, 23 Jun 2014 03:13:11 +0000</pubDate></item><item><title>Profilo visibile solo agli amici</title><link>https://invisionita.it/topic/2575-profilo-visibile-solo-agli-amici/</link><description><![CDATA[<p>Se volete che le vostre informazioni del profilo siano visibili solo agli amici potete eseguire questa modifica:</p><p>Aprire questo file:</p><p></p><pre class="ipsCode prettyprint lang-auto">admin\applications\members\modules_public\profile\view.php</pre><p>e cercare</p><p></p><pre class="ipsCode prettyprint lang-auto">//-----------------------------------------		// Check input..		//-----------------------------------------		if ( ! $member_id )		{			$this-&gt;registry-&gt;output-&gt;silentRedirect(  $this-&gt;settings['base_url'] );		}</pre><p>Aggiungi sotto:</p><p></p><pre class="ipsCode prettyprint lang-auto">if ( !$this-&gt;memberData['g_is_supmod'] )		{			if ( $this-&gt;memberData['member_id'] != $member_id AND  !IPSMember::checkFriendStatus( $member_id ) )			{				$this-&gt;registry-&gt;output-&gt;showError('Non sei  nella lista dei miei amici, quindi non puoi visualizzare il mio  profilo.' );			}		}</pre>]]></description><guid isPermaLink="false">2575</guid><pubDate>Sun, 02 Jan 2011 08:07:58 +0000</pubDate></item><item><title>fissare l'header dopo che viene superato o raggiunto</title><link>https://invisionita.it/topic/5614-fissare-lheader-dopo-che-viene-superato-o-raggiunto/</link><description><![CDATA[<p>non ho una demo da farvi mostrare ma se avete 2 minuti basta:</p><p>aggiungere in "<strong>includeJS</strong>" questo script <u>in fondo</u>:</p><pre class="ipsCode prettyprint">&lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"&gt;&lt;/script&gt;</pre><p>e nel <strong>globalTemplate</strong> preferibilmente in fondo <u>prima di <strong>&lt;/body&gt;</strong></u></p><pre class="ipsCode prettyprint">&lt;script type='text/javascript'&gt;var jQ = jQuery.noConflict();var selettore        = '#header_bar';var selettore_origin    = jQ(selettore).offset().top;// + jQ('#header_bar')[0].offsetHeight;var min_width        = jQ(selettore).css('min-width');var altezza        = jQ(selettore)[0].offsetHeight;var prossimo_selettore    = (jQ(selettore).next()[0]) ? jQ(selettore).next() : jQ(selettore).parent().next();var margin_top_pross    = parseInt(prossimo_selettore.css('margin-top'));jQ(document).ready(function(){jQ(window).scroll(function(){    if(jQ(this).scrollTop() &gt; selettore_origin)    {        if (jQ(selettore).css('position') != 'fixed')        {            jQ(selettore).css({'position': 'fixed','z-index': '9999','top': '0','width': '90%','min-width': '500px','box-shadow': '0 2px 3px rgba(0, 0, 0, 0.18)'});            //jQ(selettore).slideUp( 100 );            //jQ(selettore).slideDown( 100 );            if (prossimo_selettore.css('margin-top') != (margin_top_pross + altezza)+'px')            {                prossimo_selettore.css('margin-top', margin_top_pross + altezza);            }        }    }    else    {        if (jQ(selettore).css('position') == 'fixed' &amp;&amp; prossimo_selettore.css('margin-top') == (margin_top_pross + altezza)+'px')        {            prossimo_selettore.css('margin-top', '-='+altezza);        }        jQ(selettore).css({'position': '','width': 'auto', 'min-width': min_width});    }});});&lt;/script&gt;</pre><p>potete poi configurarlo come volete, ma la base è questa <img src="//cdn.gorillahouse.net/invisionita/emoticons/default_wink.png" alt=";)" srcset="//cdn.gorillahouse.net/invisionita/emoticons/wink@2x.png 2x" width="20" height="20" loading="lazy"></p><p>appena posso vi mostro un esempio nella mia board test, funziona perchè l'ho scritto e verificato io stesso <img src="//cdn.gorillahouse.net/invisionita/emoticons/default_tongue.png" alt=":P" srcset="//cdn.gorillahouse.net/invisionita/emoticons/tongue@2x.png 2x" width="20" height="20" loading="lazy"></p><pre class="ipsCode prettyprint">jQ('#header_bar')[0].offsetHeight;</pre><p>questo identifica l'altezza dell'elemento "#header_bar", se aggiunta a header_bar_origin l'header sarà fissato quando sarete andati oltre dal suo campo visivo.</p><p>invece se <u>non lo sommate</u>, verrà fissato appena il bordo superiore raggiunge il punto più alto dell'elemento header (<u>consigliato</u> per "l'estetica").</p><p> </p><p><strong>opzioni</strong>:</p><p><strike><u>togliete</u> parent() se l'header non è l'ultimo elemento della del &lt;div class="ipbwrapper"&gt;</strike></p><p><strike><u>sostituire</u> <em>scrollHeight</em> con <em>clientHeight</em> per non avere nessun artefatto grafico, lo consiglio solo se avete interspazi ampi!</strike></p>]]></description><guid isPermaLink="false">5614</guid><pubDate>Sat, 19 Apr 2014 01:48:13 +0000</pubDate></item><item><title>Logica dei Template e Variabili</title><link>https://invisionita.it/topic/4994-logica-dei-template-e-variabili/</link><description><![CDATA[<p>Comincio a scrivere questa guida per avere un unico punto di riferimento (italiano) sulla metodologia di linguaggio da adoperare per sviluppare codici adatti al software IP.Board e company.<br><br>Prendendo spunto da varie guide (in fondo al messaggio ho lasciato le fonti) inizio a mostrarvi il significato:<br><br>A. Dichiarazioni:<br>1. <strong>&lt;if&gt;</strong> significa letteralmente "se", quindi si utilizza <u>nel caso si verifichi una certa condizione</u></p><pre class="ipsCode prettyprint">&lt;if test="questa condizione si verifica"&gt;codice da far apparire&lt;/if&gt;</pre><p>Per poter <u>definire una condizione</u> occorre sapere quale funzione deve essere verificata.<br>Le <u>tipologie di funzioni</u> sono numerose ma vi elenco quelle che vengono maggiormente usate:</p><ul class="bbc"><li>$this-&gt;settings:</li><li>$this-&gt;request:</li><li>$this-&gt;memberData:</li><li>$this-&gt;caches:</li><li>Variabili posizionate nel template del tema(skin),</li></ul><pre class="ipsCode prettyprint lang-auto linenums:0">&lt;if test="!$this-&gt;memberData['member_id']"&gt;</pre><pre class="ipsCode prettyprint lang-auto linenums:0">&lt;if test="$this-&gt;memberData['member_group_id'] == $this-&gt;settings['guest_group']"&gt;</pre><p>Ecco in questo ultimo caso, all'interno del test="..." troverete un <u><abbr title="member_group_id">attributo</abbr></u> che nel caso sia <u><abbr title="==">uguale</abbr></u> al <u><abbr title="guest_group">valore</abbr></u> allora il contenuto racchiuso tra gli if viene visualizzato.</p><p><br>Però oltre a questo "simbologismo" ne esistono altri di <strong>selettori</strong>:<br><strong>||</strong> o <strong>or </strong>-&gt; OPPURE<br><strong>&amp;&amp;</strong> o <strong>and</strong> -&gt; ANCHE<br><strong>!</strong> -&gt; ESCLUSO<br>= -&gt;<br>== -&gt;<br>&gt; -&gt; MAGGIORE<br>% -&gt;</p><p><br>2. &lt;foreach&gt;<br><br>B. Variabili {parse}<br><br>Per me è difficile affrontare questo argomento visto che non ho frequentato nessun tipo di corso sulla programmazione php... perciò siate buoni <img src="//cdn.gorillahouse.net/invisionita/emoticons/default_tongue.png" alt=":P" srcset="//cdn.gorillahouse.net/invisionita/emoticons/tongue@2x.png 2x" width="20" height="20" loading="lazy"><br><br>Questa sera metto giù quanto più possibile <img src="//cdn.gorillahouse.net/invisionita/emoticons/default_wink.png" alt=";)" srcset="//cdn.gorillahouse.net/invisionita/emoticons/wink@2x.png 2x" width="20" height="20" loading="lazy"> per ora vi lascio i link per documentarvi...<br><a href="http://invisionfocus.com/tutorials/article/25-template-conditionals/" rel="external">Template Conditionals</a> -&gt; InvisionFocus<br><a href="http://community.invisionpower.com/resources/documentation/index.html/_/tutorials/skinning/template-logic-and-variables-r155" rel="external">Template Logic &amp; Variables</a> -&gt; InvisionPower</p><p><a href="http://www.diodati.org/w3c/css3-wd/selettori.html#selectors" rel="external">Selettori</a> -&gt; DioDati</p><p><a href="http://code.google.com/p/phpquery/wiki/Selectors" rel="external">Selettori</a> -&gt; Google.com</p><p><a href="http://community.invisionpower.com/resources/articles.html/_/ipboard-3x/tips-and-tricks/if-application-statement-r614" rel="external">If Application Statement</a></p><p><a href="http://community.invisionpower.com/resources/articles.html/_/ipboard-3x/tips-and-tricks/if-topic-or-if-forum-statement-r617" rel="external">If Topic or If Forum Statement</a></p><p><a href="http://www.allwebfree.it/php_operatori.php" rel="external"><strong>Operatori</strong></a></p><p><a href="http://www.w3schools.com/php/php_operators.asp" rel="external">operators</a></p><p><a href="http://www.html.it/pag/16685/istruzioni-else-e-elseif/" rel="external">elseif</a></p><p><a href="http://guide.dev2web.org/php/foreach" rel="external">foreach</a></p>]]></description><guid isPermaLink="false">4994</guid><pubDate>Thu, 27 Dec 2012 15:25:13 +0000</pubDate></item><item><title>Bandierine o Pulsanti per cambiare la lingua</title><link>https://invisionita.it/topic/4985-bandierine-o-pulsanti-per-cambiare-la-lingua/</link><description><![CDATA[<p>Questo codice può essere usato per inserire delle bandiere affiancate ai nomi delle lingue disponibili nel <strong>footer</strong>.</p><p> </p><p><strong>cerca</strong> nel <u>globalTemplate </u></p><pre class="ipsCode prettyprint">{$lang['title']}</pre><p><strong>aggiungi prima</strong></p><pre class="ipsCode prettyprint lang-auto linenums:0">&lt;if test="$lang['id'] == 1"&gt;&lt;img alt="English" src="http://i48.tinypic.com/2822hcj.jpg"&gt;&lt;/if&gt;&lt;if test="$lang['id'] == 23"&gt;&lt;img alt="Italiano" src="http://i49.tinypic.com/rw0zyd.jpg"&gt;&lt;/if&gt;</pre><p>sostituisci 23 con l'id della lingua a cui far corrispondere l'immagine.</p><p><a class="ipsAttachLink ipsAttachLink_image" href="//cdn.gorillahouse.net/invisionita/monthly_12_2012/post-29-0-31450700-1356361116.png" rel="external"><img src="//cdn.gorillahouse.net/invisionita/monthly_12_2012/post-29-0-31450700-1356361116_thumb.png" data-fileid="639" class="ipsImage ipsImage_thumbnailed" alt="post-29-0-31450700-1356361116_thumb.png" loading="lazy"></a></p><p> </p><p>Per chi volesse riportare il codice in altre zone del template, quindi avere una <u>barra con i pulsanti che permettono di cambiare la lingua in uso</u>, allora prendete questo codice (<strong>header</strong>)</p><pre class="ipsCode prettyprint">                                &lt;style type="text/css"&gt;                                /* ICONE LINGUA STILE */                                span.lingua.selezionato img{                                      opacity: 1 !important;                                    }                                span.lingua img{                                      opacity: 0.5 !important;                                    }                                &lt;/style&gt;                                &lt;foreach loop="$footer_items['lang_chooser']['options'] as $lang"&gt;                                    &lt;span class='lingua&lt;if test="$lang['selected']"&gt; selezionato&lt;/if&gt;'&gt;                                        &lt;a href="{$this-&gt;lang-&gt;changeLanguageUrl( $lang['id'] )}"&gt;&lt;if test="$lang['id'] == 1"&gt;&lt;img alt="English" title="English" src="http://i48.tinypic.com/2822hcj.jpg"&gt;  &lt;/if&gt;&lt;if test="$lang['id'] == 23"&gt;&lt;img alt="Italiano" title="Italiano" src="http://i49.tinypic.com/rw0zyd.jpg"&gt;  &lt;/if&gt;&lt;/a&gt;                                    &lt;/span&gt;                                &lt;/foreach&gt;</pre><p><a class="ipsAttachLink ipsAttachLink_image" href="//cdn.gorillahouse.net/invisionita/monthly_12_2012/post-29-0-93764400-1356361110.png" rel="external"><img src="//cdn.gorillahouse.net/invisionita/monthly_12_2012/post-29-0-93764400-1356361110_thumb.png" data-fileid="638" class="ipsImage ipsImage_thumbnailed" alt="post-29-0-93764400-1356361110_thumb.png" loading="lazy"></a></p><p> </p><p><u>Se dovete usarlo in un template a parte</u> attenzione al params="..." altrimenti appariranno degli errori nell'header!</p><p>Ho preso l'idea da wininizio.it ... forse hanno usato un codice diverso ma mi sembra più efficace questo <img src="//cdn.gorillahouse.net/invisionita/emoticons/default_wink.png" alt=";)" srcset="//cdn.gorillahouse.net/invisionita/emoticons/wink@2x.png 2x" width="20" height="20" loading="lazy"></p>]]></description><guid isPermaLink="false">4985</guid><pubDate>Mon, 24 Dec 2012 14:32:43 +0000</pubDate></item><item><title>Script verifica aggiornamenti di hook</title><link>https://invisionita.it/topic/5553-script-verifica-aggiornamenti-di-hook/</link><description><![CDATA[<p>
	<img alt="7734fc853b1244b081ad863865b9717a.png" src="http://amgedosman.com/uploads/7734fc853b1244b081ad863865b9717a.png" loading="lazy"></p>

<p>
	Ogni sviluppatore di Invision Power Board per sfruttare il sistema di aggiornamento interno della piattaforma deve realizzare uno script per permettere ai clienti di controllare nuove versioni del plugin.
</p>

<p>
	 
</p>

<p>
	Per permettere allo sviluppatore ciò il team IPS ha predisposto, <a data-ipb="nomediaparse" href="http://community.invisionpower.com/blog/1174/entry-5868-ipboard-320-dev-update-hooks-improvements/" rel="external">dalla 3.1.x</a>, il metodo $_GET.
</p>

<p>
	 
</p>

<p>
	<span style="font-size:18px;"><strong>Il codice</strong></span>
</p>

<pre class="ipsCode prettyprint">
/* PATH (IPS_ROOT_PATH, DOC_IPS_ROOT_PATH) */define('MY_IPB_LOCATION', '/home/****/public_html/forum/');require_once( MY_IPB_LOCATION . '/initdata.php' );require_once( MY_IPB_LOCATION . CP_DIRECTORY  . '/sources/base/ipsRegistry.php' );$registry = ipsRegistry::instance();$registry-&gt;init();/******* INIZIO CLASSE *******//**  * Class versionCheck for IPB Hooks &amp; Apps * @version 1.0.0 * @author Amged Osman * @link <a href="http://amgedosman.com/" rel="external">http://amgedosman.com/</a> * @date 11:19 PM Friday, December 6, 2013 */ class versionCheck{   private $ipb30x = array ( '30001', '30003','30004', '30005', '30008', '30009', '30010', '30011', '30012');  private $ipb31x = array ( '31000','31003', '31004', '31005', '31006','31007');  private $ipb32x = array ( '32000', '32001', '32002', '32003', '32004', '32005', '32006', '32007');  private $ipb33x = array ( '33000','33007', '33009', '33010', '33012', '33013', '33014', '33015', '33016');  private $ipb34x = array ( '34000', '34005', '34007', '34008', '34009', '34010', '34011', '34012' );    public $TRUEorFALSE = array (true =&gt; 1, false =&gt; 0);  public $theReturn = true;  public $debug = 0;  public $TRUEorFALSE_debug = array (true =&gt; 'Update Available', false =&gt; "You're up-to-date");                  /**       * @access public       * autoRun for the class &amp; switch       */      public function autoRun(){          $this-&gt;boardVersion = isset($_GET['boardVersion']) ? $_GET['boardVersion'] : 00000;          $this-&gt;version = isset($_GET['version']) ? $_GET['version'] : 00000;          $this-&gt;fileId = isset($_GET['fileid']) ? $_GET['fileid'] : 000;                    switch ($this-&gt;fileId){              case '000':               default:               $this-&gt;showNone();               break;                              case '6766':               $this-&gt;pmod_all();	               break;          }        return $this-&gt;results;        $this-&gt;_returnResults();        exit();      }   /**    * @access protected    * later on this will return the public functions return to the index.php    */   protected function _returnResults(){      return $this-&gt;results;   }      /**    * @return (advanced) HTML &amp; the update status    * @access public    */   public function showNone(){               $this-&gt;theReturn = false;     $html =  "No Id Passed";     $this-&gt;results = array ('html' =&gt; $html, 'return' =&gt; $this-&gt;theReturn );    }       /**    * @return (advanced) HTML &amp; the update status    * @access public    */   public function pmod_all(){          $latestFileVersion = 20001;          if (in_array($this-&gt;boardVersion ,  $this-&gt;ipb30x) ){ $latestFileVersion = 10000; }          if (in_array($this-&gt;boardVersion ,  $this-&gt;ipb31x) ){ $latestFileVersion = 10000; }                    if ($latestFileVersion &lt;= $this-&gt;version ){               $this-&gt;theReturn = false;          }                    $html = $this-&gt;TRUEorFALSE[$this-&gt;theReturn];          if ($this-&gt;debug === 1){             $html =  "Latest File: {$latestFileVersion}&lt;br /&gt;Current Version: {$this-&gt;version}&lt;br /&gt;{$this-&gt;TRUEorFALSE_debug[$this-&gt;theReturn]}";          }         $this-&gt;results = array ('html' =&gt; $html, 'return' =&gt; $this-&gt;theReturn );  }    }/******* FINE CLASSE *******/$versionCheckClass = new versionCheck();$versionCheckClass-&gt;debug = 0;$results = $versionCheckClass-&gt;autoRun();echo $results['html'];return $results['return'];</pre>

<p>
	<span style="font-size:18px;">Funzionamento</span>
</p>

<p>
	La richiesta passa nello script chiamando la <strong>classe versionCheck</strong> e stampa a video 1 se c'è un aggiornamento e 0 se non presente.
</p>

<p>
	 
</p>

<p>
	<strong><span style="font-size:18px;">Configurazione</span></strong>
</p>

<p>
	Per inserire un nuovo elemento nel processo bisogna creare un "case" nella funzione autoRun esempio
</p>

<pre class="ipsCode prettyprint">
               case '6766':               $this-&gt;pmod_all();	               break;</pre>

<p>
	quindi bisogna creare un metodo/funzione esempio
</p>

<pre class="ipsCode prettyprint">
   public function pmod_all(){          $latestFileVersion = 20001;          if (in_array($this-&gt;boardVersion ,  $this-&gt;ipb30x) ){ $latestFileVersion = 10000; }          if (in_array($this-&gt;boardVersion ,  $this-&gt;ipb31x) ){ $latestFileVersion = 10000; }                    if ($latestFileVersion &lt;= $this-&gt;version ){               $this-&gt;theReturn = false;          }                    $html = $this-&gt;TRUEorFALSE[$this-&gt;theReturn];          if ($this-&gt;debug === 1){             $html =  "Latest File: {$latestFileVersion}&lt;br /&gt;Current Version: {$this-&gt;version}&lt;br /&gt;{$this-&gt;TRUEorFALSE_debug[$this-&gt;theReturn]}";          }         $this-&gt;results = array ('html' =&gt; $html, 'return' =&gt; $this-&gt;theReturn );  }</pre>

<p>
	È possibile effettuare un <strong>debug</strong> (controllo delle variabili passate dall'url) cambiando il valore a 1, abilitatelo per un analisi e reimpostate 0 quanto possibile...
</p>

<pre class="ipsCode prettyprint">
$versionCheckClass-&gt;debug = 1;</pre>

<p>
	 e ricordatevi di specificare i parametri di get boardVersion e version esempio
</p>

<pre class="ipsCode prettyprint">
<a href="http://vostrosito.it/check.php?&amp;boardVersion=34000&amp;version=20000&amp;fileid=6766" rel="external">http://vostrosito.it/check.php?&amp;boardVersion=34000&amp;version=20000&amp;fileid=6766</a></pre>

<p>
	<span style="font-size:18px;">Utilizzo</span>
</p>

<p>
	<u>Salvate il codice</u> in una pagina di ip.content o creando un file nell'ftp, nel mio caso check.php, in una directory a piacere...
</p>

<p>
	Recatevi presso le impostazioni della hook creata e aggiungete in "Update URL" la pagina web esempio
</p>

<pre class="ipsCode prettyprint">
<a href="http://www.invisionita.it/bomale/hook/check.php?&amp;fileid=6766" rel="">http://www.invisionita.it/bomale/hook/check.php?&amp;fileid=6766</a></pre>

<p>
	ricordandovi di specificare il "<strong>fileid</strong>" passato nello <u>switch</u> di <strong>autoRun</strong>()
</p>

<p>
	infine per controllare gli aggiornamenti delle hook seguite il link di seguito...
</p>

<pre class="ipsCode prettyprint">
<a href="http://vostrosito.it/admin/index.php?&amp;app=core&amp;module=applications&amp;section=hooks&amp;do=hooks_overview&amp;checkUpdates=1" rel="external">http://vostrosito.it/admin/index.php?&amp;app=core&amp;module=applications&amp;section=hooks&amp;do=hooks_overview&amp;checkUpdates=1</a></pre>

<p>
	Ringrazio <a data-ipb="nomediaparse" href="http://amgedosman.com/_/web-resources/create-ipb-hook-app-update-checker-script-r86" rel="external">amgedosman</a> per l'articolo originale in inglese, e per le istruzioni passo passo di <a data-ipb="nomediaparse" href="http://community.invisionpower.com/blog/3628/entry-6191-hook-creation-walkthrough/" rel="external">Michael</a> (2011)
</p>]]></description><guid isPermaLink="false">5553</guid><pubDate>Thu, 26 Dec 2013 07:15:37 +0000</pubDate></item><item><title>Impostare il Portal come pagina iniziale</title><link>https://invisionita.it/topic/5396-impostare-il-portal-come-pagina-iniziale/</link><description><![CDATA[<p>Per iImpostare il Portal come pagina iniziale , trovare il file  initdata.php nella root del forum, trovare<br> </p><pre class="ipsCode prettyprint">define( 'IPS_DEFAULT_PUBLIC_APP', 'forums' );</pre><p>e cambiarlo in</p><pre class="ipsCode prettyprint">define( 'IPS_DEFAULT_PUBLIC_APP', 'portal' );</pre><p>salvare e rricaricarlo via FTP sovrascrivendolo</p>]]></description><guid isPermaLink="false">5396</guid><pubDate>Sat, 29 Jun 2013 09:58:25 +0000</pubDate></item><item><title>Pubblicit&#xE0; a destra nel primo post di ogni topic o in alcuni</title><link>https://invisionita.it/topic/3723-pubblicit%C3%A0-a-destra-nel-primo-post-di-ogni-topic-o-in-alcuni/</link><description><![CDATA[<p>Per aggiungere un banner pubblicitario a destra, nel primo messaggio di ogni discussione<br>ACP - Look&amp;Feel - Template - Topicview - post template<br><br>trovare</p><pre class="ipsCode prettyprint lang-auto">{$post['post']['post']}</pre><p><br>e cambiare con</p><pre class="ipsCode prettyprint lang-auto">&lt;div&gt;	  &lt;if test="showAds:|:$post['post']['post_count'] % $this-&gt;settings['display_max_posts'] == 1"&gt;			&lt;div style="border:0px; float:right; width:130;"&gt;								    CODICE BANNER			&lt;/div&gt;	   &lt;/if&gt;	   {$post['post']['post']}&lt;/div&gt;</pre><p><br>cambiare il valore 130 con la dimensione del banner +10 pixel<br>ci sarà però un problema se un'immagine grossa viene postata all'inizio del topic<br><br><br><a href="http://www.invisionita.it/forum/topic/3035-posizionare-banner-pubblicitari-e-adsense-su-ipboard/#entry26019" rel="external">http://www.invisionita.it/forum/topic/3035-posizionare-banner-pubblicitari-e-adsense-su-ipboard/#entry26019</a></p>]]></description><guid isPermaLink="false">3723</guid><pubDate>Tue, 25 Oct 2011 12:29:12 +0000</pubDate></item><item><title>Importare una skin</title><link>https://invisionita.it/topic/3137-importare-una-skin/</link><description><![CDATA[<p>Una traduzione di questo tutorial realizzato molto pazientemente da AndyF (tutte le immagini sono sempre realizzate da AndyF)<br><br>1. solitamente scaricate un file della skin che è compresso .zip o .rar. Scompattatelo nel vostro PC locale :<br><br><span><img src="http://img.photobucket.com/albums/v294/yellow_spider/ipb_tutorials/skin_import_1.png" alt="skin_import_1.png" loading="lazy"></span><br><br><br>2. all'interno della cartella scompattata di solito ci sono almeno 2 file. -un file nomeskin.xml.gz che contiene i template e i dati della skin<br>-un file images-nomeskin.xml.gz che contiene tutte le immagini della skin<br>eventualmente potrebbe esserci:<br>- remplacements-nomeskin.xml.gz<br>- cartelle che contengono i file pds dei loghi icone ecc....<br>- file per istruzioni verie di installazione<br><br><span><img src="http://img.photobucket.com/albums/v294/yellow_spider/ipb_tutorials/skin_import_2.png" alt="skin_import_2.png" loading="lazy"></span><br><br><br><span><img src="http://img.photobucket.com/albums/v294/yellow_spider/ipb_tutorials/skin_import_3.png" alt="skin_import_3.png" loading="lazy"></span><br><br><br>4. Login nell' admin control panel. Look / Feel<br>Cliccare Import New Skin Set nella colonna sinistra:<br><br><span><img src="http://img.photobucket.com/albums/v294/yellow_spider/ipb_tutorials/skin_import_4.png" alt="skin_import_4.png" loading="lazy"></span><br><br><br>5. Ci sono 3 sezioni nella pagina che compare. Iniziare sempre dall'alto in 'Import Skin Set'. cliccare su <strong>browse</strong> e selezionare dal proprio PC locale il pacchetto della skin nomeskin.xml.gz<br>Il resto dei parametri deve essere vuoto , cliccare poi su 'Import Skin Set'<br><br><span><img src="http://img.photobucket.com/albums/v294/yellow_spider/ipb_tutorials/skin_import_5.png" alt="skin_import_5.png" loading="lazy"></span><br><br><br>6. Dovreste vedere qualcosa del genere:<br><br><span><img src="http://img.photobucket.com/albums/v294/yellow_spider/ipb_tutorials/skin_import_6.png" alt="skin_import_6.png" loading="lazy"></span><br><br><br>7. Stesso percorso del punto 4, ma scendere a metà pagina nella zona 'Import Image Set'. Browse e scegliere dal proprio PC locale images-nomeskin.xml.gz. selezionando anche nel campo 'Apply To Skin Set' la skin che è stata importata nei punti precedenti. In questo modo si importeranno le immagini e verranno assegnati a quella skin.<br><br>Cliccare su 'Import Image Set'<br><br><span><img src="http://img.photobucket.com/albums/v294/yellow_spider/ipb_tutorials/skin_import_7.png" alt="skin_import_7.png" loading="lazy"></span><br><br><br>8. Dovreste avere:<br><br><span><img src="http://img.photobucket.com/albums/v294/yellow_spider/ipb_tutorials/skin_import_8.png" alt="skin_import_8.png" loading="lazy"></span><br><br><br>9. Ora cliccare su Look / Feel, poi 'Manage Skin Sets &amp; Template'e avrete la lista di tutte le skin installate, tra cui quella appena importata, sulla destra della stessa riga si trova una piccola freccia che se cliccata fa comparire un menu, cliccare su 'Edit Settings':<br><br><span><img src="http://img.photobucket.com/albums/v294/yellow_spider/ipb_tutorials/skin_import_9.png" alt="skin_import_9.png" loading="lazy"></span><br><br><br>10. Tra i vari parametri della skin troverete i gruppi che possono visualizzarla 'Set Permissions'. Dovete assicurarvi che tutti i gruppi possano vedere la vostra skin ufficiale di base.<br><br><span><img src="http://img.photobucket.com/albums/v294/yellow_spider/ipb_tutorials/skin_import_10.png" alt="skin_import_10.png" loading="lazy"></span><br><br><br>11. Per renderla attiva come skin di base attivare 'Select All current and future groups' e 'Make this the default skin' ed impostare in 'Hide this skin from the dropdown list?' come NO.<br><br><span><img src="http://img.photobucket.com/albums/v294/yellow_spider/ipb_tutorials/skin_import_11.png" alt="skin_import_11.png" loading="lazy"></span><br><br><br>12. In fondo cliccate su salva:<br><br><span><img src="http://img.photobucket.com/albums/v294/yellow_spider/ipb_tutorials/skin_import_12.png" alt="skin_import_12.png" loading="lazy"></span><br><br><br>13. Potrete quindi vedere la vostra skin installata <img src="http://www.invisionita.it/forum/public/style_emoticons/default/smile.gif" alt="smile.gif" loading="lazy"> :<br><br><span><img src="http://img.photobucket.com/albums/v294/yellow_spider/ipb_tutorials/skin_import_13.png" alt="skin_import_13.png" loading="lazy"></span></p>]]></description><guid isPermaLink="false">3137</guid><pubDate>Sun, 27 Mar 2011 16:38:07 +0000</pubDate></item><item><title>Abilitare solo una firma a utente per ogni topic</title><link>https://invisionita.it/topic/2582-abilitare-solo-una-firma-a-utente-per-ogni-topic/</link><description><![CDATA[<p>La ripetizione di firme vi da fastidio? Molti utenti mettono delle firme troppo invasive ma non volete creare troppe limitazioni? Volete rendere più scorrevole la lettura dei vostri topic?</p><p>Potete fare questa piccola modifica ( vista postata da DawPi sul forum ufficiale)</p><p>Aprire: admin/applications/forums/modules_public/forums/topics.php</p><p>e cercare:</p><pre class="ipsCode prettyprint lang-auto"># Memory Debug</pre> <p>Aggiungere poco prima:</p><p> </p><p> </p><p> </p><pre class="ipsCode prettyprint lang-auto">/* (DP30) Display Signature Once Per Topic */			if ( ! $this-&gt;cached_members[ $row['author_id']  ]['added_signature'] )		{			$this-&gt;cached_members[ $row['author_id']  ]['added_signature'] = 1;			}		else		{			$poster['signature'] = '';					}</pre><p>Salvare e ricaricare il file sul server</p>]]></description><guid isPermaLink="false">2582</guid><pubDate>Sun, 02 Jan 2011 08:15:47 +0000</pubDate></item><item><title>Creare automaticamente topic dagli eventi nel calendario</title><link>https://invisionita.it/topic/2546-creare-automaticamente-topic-dagli-eventi-nel-calendario/</link><description><![CDATA[<p>Se qualcuno volesse creare dei topic sulla base degli eventi del calendario, può usare i feed per farlo:</p><p>
1 - ACP &gt; My Apps &gt; Calendar &gt; Edit Calendar &gt; "RSS Options" , "RSS: Enable" mettere YES.</p><p>
2- Impostare "RSS: Forthcoming Days" allo stesso valore settato per la visualizzazione nella board (Tools / Settings &gt; Calendar And Birthdays) "Show forthcoming events from today to [x] days ahead". E' importante che questi due valori corrispondano. Facciamo ad esempio 14 giorni</p><p>
3- Tornare ai settaggi del calendario "RSS: Update Frequency" e mettere 1440 (1 giorno)</p><p>
4- Settare i permessi "Permission: Show Events" e mettere in modo che i guest possano vedere gli eventi: in caso contrario non funziona</p><p>
5- Tornare al calendario principale e fare un rebuild</p><p>
6- Tornare nel forum e cliccare sull'icona RSS e salvare l'url del feed del calendario, una cosa tipo:</p><p>
</p><pre class="ipsCode prettyprint lang-auto"><a href="http://www.boardurl.com/forum/index.php?/rss/calendar/1-community-calendar/">http://www.boardurl.com/forum/index.php?/rss/calendar/1-community-calendar/</a></pre><p>
7- A uqesto punto tramite la funzione di import dei feed si andranno a creare dei topic. Ricordarsi di ripettare il set caratteri, e impostare "RSS Import Refresh" a 200. Magari impostare un prefisso in modo da indicare che il feed arriva dal calendario. Ci vorrà qualche giorno prima che la funzione sia attiva.</p><p>
[source]AndyF[/source]</p>]]></description><guid isPermaLink="false">2546</guid><pubDate>Sat, 01 Jan 2011 12:04:42 +0000</pubDate></item><item><title>Messaggi iniziali differenziati</title><link>https://invisionita.it/topic/2517-messaggi-iniziali-differenziati/</link><description><![CDATA[<p>Inserendo il seguente codice nel global template, è possibile visualizzare un messaggio di avviso a tutti gli utenti, oppure ai visitatori, oppure a chi ha meno di un post</p><p>I div del codice vanno personalizzati con le classi volute</p><pre class="ipsCode prettyprint lang-auto">&lt;if test="memberbox:|:$this-&gt;memberData['member_id']"&gt;&lt;if test="memberbox:|:$this-&gt;memberData['posts'] &lt; 1"&gt;	&lt;div&gt;		&lt;div&gt;			&lt;!-- Messaggio per chi ha meno di un post --&gt;			&lt;h2&gt;Grazie per esserti registrato, {$this-&gt;memberData['members_display_name']}&lt;/h2&gt;			&lt;p&gt;Ora sei un nostro utente. Cosa fare? Puoi iniziare creare discussioni, magari presentandoti, rispondere a quelle esistenti, dare punti di reputazione agli utenti, usare le conversazioni privater, e altro altro ancora. Interagisci e rendi piacevole la tua permanenza! Questo messaggio scomparirà appena avrai inviato il tuo primo messaggio.&lt;/p&gt;		&lt;/div&gt;	&lt;/div&gt;&lt;else /&gt;	&lt;!-- &lt;div&gt;		&lt;div&gt;			&lt;h2&gt;Benvenuto, {$this-&gt;memberData['members_display_name']}&lt;/h2&gt;			&lt;p&gt;Messaggio personalizzato per tutti gli utenti. Di default è disattivato. Rimuovere i codici di commento per attivarlo&lt;/p&gt;		&lt;/div&gt;	&lt;/div&gt; --&gt;&lt;/if&gt;&lt;else /&gt;	&lt;div&gt;		&lt;div&gt;			&lt;h2&gt;Benvenuto su {$this-&gt;settings['board_name']}&lt;/h2&gt;			&lt;p&gt;Registrati per avere accesso a tutte le funzionalità. Solo registrandoti e connettendoti, potrai creare discussioni, rispondere a quelle esistenti, dare punti di reputazione agli utenti, usare le conversazioni privater, e altro altro ancora. In più è completamente gratuito, quindi cosa stai aspettando?&lt;/p&gt;				&lt;/div&gt;&lt;/if&gt;</pre>]]></description><guid isPermaLink="false">2517</guid><pubDate>Sat, 01 Jan 2011 11:01:45 +0000</pubDate></item><item><title>Inserire un Tab personalizzato nel men&#xF9; principale</title><link>https://invisionita.it/topic/3969-inserire-un-tab-personalizzato-nel-men%C3%B9-principale/</link><description><![CDATA[<p>Per inserire un nuovo Tab nel menù principale esistono sostanzialmente 3 metodi (nessuno dei 3 è veramente comodo o conveniente)</p><p> </p><p><strong>METODO 1:</strong></p><p>Per chi ha <a href="http://www.invisionpower.com/apps/content/" rel="external">IP.Content,</a> esiste un settaggio specifico che permette di aggiungere tutti i tab personalizzati che si vogliono (a pagamento)</p><p> </p><p> </p><p><strong>METODO 2:</strong></p><p>utilizzare prodotti tipo <a href="http://community.invisionpower.com/files/file/6181-promenu-plus/" rel="external">PROMENU PLUS</a> (a pagamento)</p><p> </p><p> </p><p> </p><p><strong>METODO 3:</strong></p><p>si può fare gratuitamente tramite modifica manuale del template</p><p>è sufficiente connettersi a:<br><br>ACP &gt; Look &amp; Feel &gt; Manage Skin Sets &amp; Templates &gt; Scegli la tua skin &gt; Global Templates &gt; globalTemplate<br><br><br>trovare:<br> </p><pre class="ipsCode prettyprint lang-auto">	 &lt;/ul&gt;&lt;/div&gt;&lt;script type='text/javascript'&gt;	 if( $('primary_nav') ){ ipb.global.activateMainMenu(); }&lt;/script&gt;&lt;/div&gt;&lt;!-- ::: MAIN CONTENT AREA ::: --&gt;&lt;div id='content' class='clearfix'&gt;&lt;!-- ::: NAVIGATION BREADCRUMBS ::: --&gt;&lt;if test="count( $items['navigation'] )"&gt;</pre><p>e aggiungere PRIMA:</p><pre class="ipsCode prettyprint lang-auto">&lt;li id='nav_home' class='left'&gt;&lt;a href='METTI QUI IL TUO LINK COMPLETO' title='METTI QUI IL NOME DEL LINK COMPLETO' rel="home"&gt;NOME LINK&lt;/a&gt;&lt;/li&gt;</pre>]]></description><guid isPermaLink="false">3969</guid><pubDate>Fri, 09 Dec 2011 15:33:46 +0000</pubDate></item><item><title>Variare il numero di compleanni visibili nella hook</title><link>https://invisionita.it/topic/3722-variare-il-numero-di-compleanni-visibili-nella-hook/</link><description><![CDATA[<p>Per poter aumentare o diminuire il numero di compleanni visibili nella hook del calendario, è sufficiente aprire il file admin/applications_addon/ips/calendar/sources/hooks.php</p><p>
e cambiare questo valore</p><pre class="ipsCode prettyprint lang-auto">$fetch			= 5;</pre><p>
salvare e ricaricare</p>]]></description><guid isPermaLink="false">3722</guid><pubDate>Tue, 25 Oct 2011 10:24:34 +0000</pubDate></item><item><title>Cambiare il numero di discussioni Recenti IPB 3.4</title><link>https://invisionita.it/topic/5171-cambiare-il-numero-di-discussioni-recenti-ipb-34/</link><description><![CDATA[<p>Per Cambiare il numero di discussioni Recenti nella hook in sidebar di  IPB 3.4</p><p> </p><p> </p><p>/admin/applications/forums/sources/classes/forums/class_forums.php</p><br><p> </p><p> </p><p>cambiare il numero 5 alla linea 2782</p><pre class="ipsCode prettyprint">    public function hooks_recentTopics( $topicCount=5, $output=true ) </pre><p> </p><p> </p>]]></description><guid isPermaLink="false">5171</guid><pubDate>Sat, 09 Feb 2013 17:38:40 +0000</pubDate></item><item><title>Cosa si perde durante un upgrade o ricaricando tutti i files?</title><link>https://invisionita.it/topic/5294-cosa-si-perde-durante-un-upgrade-o-ricaricando-tutti-i-files/</link><description><![CDATA[<p>Quando si esegue un <strong>upgrade</strong> <a href="http://www.invisionita.it/forum/topic/3249-upgrade-ipboard/" rel="external">la procedura</a> prevede di caricare via FTP tutti i file del nuovo pacchetto che è stato rilasciato, ovviamente sovrascrivendo quelli vecchi.</p><p> </p><p>Molti utilizzatori hanno paura di questa operazione e di quello che potrebbero perdere.</p><p>In sostanza l'abbiamo spiegato <a href="http://www.invisionita.it/forum/topic/4586-quando-fare-e-quando-non-fare-un-upgrade/" rel="external">nelle guide relative all'upgrade</a>, che a seconda del tipo di upgrade le skin o i linguaggi o le hooks potrebbero non essere piu compatibili, ma questo non si può sapere a priori, dipende dall'upgrade.</p><p> </p><p>Ma di sicuro, ad oggi, ci sono 3 file che il vostro sito usa e che probabilmente avrete modificato, e che verrebbero sicuramente sovrascritti.</p><ul><li>la <strong>favicon.ico</strong> che si trova in root</li><li>la <strong>meta_image.png</strong> nella cartella public/style_images/master/</li><li>e il <strong>logo.png</strong> nella cartella public/style_images/master/</li></ul><p>ma verranno anche sovrascritti tutti i file presenti nella cartella public/style_images/master/</p><p> </p><p>vi consigliamo quindi di avere una copia almeno della favicon e della cartella master. se usate una skin custom che usa una cartella immagini a parte non correrete rischi di sovrascrittura delle immagini in quella cartella, quindi pensate solo alla favicon.</p><p> </p><p><strong>Per chi usa l'IP.Content,</strong> e ha modificato il file initdata.php viene sovrascritto anche quello, quindi ricordatevi di rimodificarlo (NON salvarlo per poi riupparlo perchè potrebbe essere stato modificato altro codice al suo interno nella nuova release)</p>]]></description><guid isPermaLink="false">5294</guid><pubDate>Sat, 06 Apr 2013 06:02:57 +0000</pubDate></item></channel></rss>
