<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>MPWEBSTUDIO.COM</title>
	<link>http://www.mpwebstudio.com/wordpress</link>
	<description>Un blog che parla di web-technology, php, mysql, ajax e moltro altro...</description>
	<pubDate>Wed, 24 Oct 2007 12:56:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2</generator>
	<language>en</language>
			<item>
		<title>AAO Tracker Profile Field su PHPBB</title>
		<link>http://www.mpwebstudio.com/wordpress/?p=16</link>
		<comments>http://www.mpwebstudio.com/wordpress/?p=16#comments</comments>
		<pubDate>Fri, 14 Sep 2007 20:47:24 +0000</pubDate>
		<dc:creator>MP</dc:creator>
		
		<category><![CDATA[Mod Invision PB]]></category>

		<category><![CDATA[PHP Guide]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.mpwebstudio.com/wordpress/?p=16</guid>
		<description><![CDATA[Oggi si è compiuto un enorme passo avanti sul fronte IPB AAO Tracker Profile Field Mod ed è stato fatto da un ragazzo,  BaXaras < baxaras AT hotmail.com >, che ha eseguito il porting della mod da Invision Power Board a PhpBB.
Per maggiori notizie sulla compatibilità e per la guida su come buttar su [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi si è compiuto un <strong>enorme passo avanti </strong>sul fronte <a href="http://www.mpwebstudio.com/wordpress/?p=10">IPB AAO Tracker Profile Field Mod</a> ed è stato fatto da un ragazzo,  BaXaras < baxaras AT hotmail.com >, che ha eseguito il porting della mod da<strong> Invision Power Board a PhpBB</strong>.</p>
<p>Per maggiori notizie sulla <strong>compatibilità </strong>e per la <strong>guida su come buttar su la mod sul vostro PhpBB</strong> vi rimando ovviamente al suo sito internet:</p>
<p><a href="http://baxaras.altervista.org">http://baxaras.altervista.org</a></p>
<p>Complimenti ancora per lo sbattimento e per il porting!</p>
<p>MP</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mpwebstudio.com/wordpress/?feed=rss2&amp;p=16</wfw:commentRss>
		</item>
		<item>
		<title>Aggiornata la mod Ipb Tracker Profile Field</title>
		<link>http://www.mpwebstudio.com/wordpress/?p=15</link>
		<comments>http://www.mpwebstudio.com/wordpress/?p=15#comments</comments>
		<pubDate>Mon, 10 Sep 2007 10:20:03 +0000</pubDate>
		<dc:creator>MP</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.mpwebstudio.com/wordpress/?p=15</guid>
		<description><![CDATA[http://www.mpwebstudio.com/wordpress/?p=10
A seguito di modifiche del tracker ho provveduto ad aggiornare la mod aggiungendo anche il campo {guid} ora non sembra funzionare ma si spera che presto il tracker mostrerà questo valore correlato al nick di gioco (basta che date un occhiata all&#8217;HTML del tracker per scoprire che la guid è estrapolabile ma al momento &#8220;nascosta&#8221;).
A [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mpwebstudio.com/wordpress/?p=10">http://www.mpwebstudio.com/wordpress/?p=10</a></p>
<p>A seguito di modifiche del tracker ho provveduto ad aggiornare la mod aggiungendo anche il campo {guid} ora non sembra funzionare ma si spera che presto il tracker mostrerà questo valore correlato al nick di gioco (basta che date un occhiata all&#8217;HTML del tracker per scoprire che la guid è estrapolabile ma al momento &#8220;nascosta&#8221;).</p>
<p>A presto.</p>
<p>MP</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mpwebstudio.com/wordpress/?feed=rss2&amp;p=15</wfw:commentRss>
		</item>
		<item>
		<title>Rieccomi! Non sono morto!</title>
		<link>http://www.mpwebstudio.com/wordpress/?p=13</link>
		<comments>http://www.mpwebstudio.com/wordpress/?p=13#comments</comments>
		<pubDate>Mon, 02 Apr 2007 09:35:18 +0000</pubDate>
		<dc:creator>MP</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.mpwebstudio.com/wordpress/?p=13</guid>
		<description><![CDATA[Eheheeheh son passati più di 10 giorni dall&#8217;ultimo post ma causa forze maggiori ero impossibilitato a scrivere: andiamo con ordine..
1- Passaggio da Windows a Linux, già ho dovuto cambiare macchina per via delle incompatibilità con la mia Tesi che richiede Apache Tomcat e PostgreSQL che nella versione Windows del contratto che ho sottoscritto non coesistevano: [...]]]></description>
			<content:encoded><![CDATA[<p>Eheheeheh son passati più di 10 giorni dall&#8217;ultimo post ma causa forze maggiori ero impossibilitato a scrivere: andiamo con ordine..</p>
<p>1- Passaggio da Windows a Linux, già ho dovuto cambiare macchina per via delle incompatibilità con la mia Tesi che richiede Apache Tomcat e PostgreSQL che nella versione Windows del contratto che ho sottoscritto non coesistevano: ego, passaggio a Linux obbligato.</p>
<p>2- Il passaggio a Linux ha seuguito a ruota un aggiornamento di tutto (Script e Tesi) ma non ha sortito l&#8217;effetto che avrei sperato: la tesi continua a non voler funzionare qui, ma fortunatamente Fabrizio è riuscito a metter su una macchina per me in wwwstud.dsi.unive.it così posso lavorare in remoto (finalmente!)</p>
<p>3- Maxisupermega raduno a Venezia dei RoA, una cosa da paura: Sabato e Domenica 31 Marzo/1 Aprile ubriacata a Jesolo da me e strafogata di carne a Murano a casa di Andre, non so quando riuscirò a riprendermi ma il mal di testa persiste!*</p>
<p>4- Acquisto del pacchetto Silver di TOL con numerosissimi sottodomini! (Urrah!) Tralaltro metterò su foto.mpwebstudio.com, blog.mpwebstudio.com e non può mancare tesi.mpwebstudio.com e beautifier.mpwebstudio.com! Insomma mpwebstudio rulez!</p>
<hr size=1 noshade>
<p>* le foto del raduno possono essere visualizzate su Coppermine <a href="http://foto.mpwebstudio.com/Coppermine/">http://foto.mpwebstudio.com/Coppermine/</a> mentre i video sono su YouTube a questo indirizzo: <a href="http://www.youtube.com/view_play_list?p=CFFF7B75C3257C15 ">http://www.youtube.com/view_play_list?p=CFFF7B75C3257C15 </a>buona visione!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mpwebstudio.com/wordpress/?feed=rss2&amp;p=13</wfw:commentRss>
		</item>
		<item>
		<title>Ufff&#8230; !</title>
		<link>http://www.mpwebstudio.com/wordpress/?p=11</link>
		<comments>http://www.mpwebstudio.com/wordpress/?p=11#comments</comments>
		<pubDate>Wed, 21 Mar 2007 19:13:10 +0000</pubDate>
		<dc:creator>MP</dc:creator>
		
		<category><![CDATA[Myself!]]></category>

		<guid isPermaLink="false">http://www.mpwebstudio.com/wordpress/?p=11</guid>
		<description><![CDATA[Scrivo solo ora perchè in questi giorni ho avuto un po' di impedimenti: primo fra tutti un quasi-uragano che si è abbattuto nel pomeriggio di ieri sul mio paese che ha seminato un paio di strati di grandine grande quanto caramelle. Dopo la grandine? Le cavallette!??! NO PEGGIO!!! POSTGRECAZZO! 
Ve lo dico in confidenza, io [...]]]></description>
			<content:encoded><![CDATA[<p>Scrivo solo ora perchè in questi giorni ho avuto un po' di impedimenti: primo fra tutti un quasi-uragano che si è abbattuto nel pomeriggio di ieri sul mio paese che ha seminato un paio di strati di grandine grande quanto caramelle. Dopo la grandine? Le cavallette!??! NO PEGGIO!!! POSTGRECAZZO! </p>
<p>Ve lo dico in confidenza, io ODIO posgreSQL, odio quell'elefante del cazzo, odio la sua installazione!!!!!!!!!! Il mio è stato odio a prima vista: necessito di lavorare con post(grrrrrrrr)e per via della tesi, sembra che sia uno dei DBMS che permettono di effettuare delle query geometriche o pseudotali... ma è terribilmente UNA ROTTURA DI MARONI!</p>
<p>Non ho ricordi di un programma che ho faticato cosi tanto ad installare, in confronto Beryl 2 su XGL ed ati è stata na cazzata!</p>
<p>I problemi iniziarono subito, tentai di installarlo in un pc con FAT.....ma lui voleva NTFS! Misi NTFS ma lui voleva un utente (postgres) dedicato a lui (un po' come l'ASP.NET machine...altra in-utilità) e glielo feci. Nonostante ciò lui, lui...lui non si volle installare!</p>
<p>Cambiai pc, finalmente riuscii ad installarlo e sembrava funzionare ma per configurarlo mi ci è voluta mezza giornata per colpa del file di configurazione degli accessi (tipo l'.htaccess di apache) che non mi voleva far accedere il portatile in remoto al pc fisso...</p>
<p>Terminati questi problemi sembrava che il nostro idillio d'amore fosse destinato a continuare senza intoppi ma qualcosa non partiva: avevo bisogno di un server remoto di postgreSQL qualcuno che me lo tenesse su tutto il giorno, tutti i giorni [nel senso di postgre!]</p>
<p>Fortunatamente c'è TOL! IL MIO FANTASTICO PROVIDER! Tol ha tutto: MySQL, Apache, PHP, IIS, JDK 1.5, MSSql, la macchinetta del caffè e TOMCAT! Infatti aveva anche PostgreSql...MA.... su Linux (e con JDK 1.4)... </p>
<p>Il mio contratto (Plesk Win) è su windows per cui dovrei passare a Linux (circa un 30 beuri) ma la cosa che mi seccava di più era perdere il database MySQL (che apprezzo molto più di posgtre)! Già perchè il mio contratto mi consente di avere un solo database di tipo MySQL o Postgre [da ora in poi posgre]. Quindi o bacia questo Cristo o salta questo fosso. E io me ne frego sia del Cristo e sia del fosso!</p>
<p>Fortunatamente ho un altro dominio, di tipo linux su TOL: sposto il db mysql di questo dominio nel mio sito, metto su un db postgreSQL e sembra fatta! Configuro tutto, carico il db della tesi con i punti da stampare sulla mappa, provo a connettermi dal mio dominio mpwebstudio ma....  </p>
<div class="syntax_hilite"><span class="langName">JAVA:</span>
<div id="java-2">
<div class="java">org.<span style="color: #006600;">postgresql</span>.<span style="color: #006600;">util</span>.<span style="color: #006600;">PSQLException</span>: FATAL: no pg_hba.<span style="color: #006600;">conf</span> entry <span style="color: #b1b100;">for</span> host <span style="color: #ff0000;">"217.73.236.40"</span>, user <span style="color: #ff0000;">"test"</span>, database <span style="color: #ff0000;">"tesi"</span>, SSL off</div>
</div>
</div>
<p></p>
<p>quindi il Cristo (che non è scemo da lasciare l'hba.conf scoperto) me l'ha fatta! E a sto punto mi affido alle mani di TOL sperando che se passo a Linux e acquisto il pacchetto gold (per la modica cifra di 0.80 € al mese) riesco ad avere sia il db MySQL e sia il db PosgreSQL per portare avanti sta tesi.</p>
<p>Altrimenti mi tocca andare ad elemosinare al CED un buco su wwwstud.dsi.unive.it dove buttar su sta tesi..</p>
<p>Mi sento un po' come se dovessi sbarazzarmi di un cadavere....</p>
<p>Ricordate diffidate sempre dagli elefanti azzurri!!!!!!!</p>
<p>Mp</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mpwebstudio.com/wordpress/?feed=rss2&amp;p=11</wfw:commentRss>
		</item>
		<item>
		<title>IPB Mod #1: Tracker e info</title>
		<link>http://www.mpwebstudio.com/wordpress/?p=10</link>
		<comments>http://www.mpwebstudio.com/wordpress/?p=10#comments</comments>
		<pubDate>Sun, 18 Mar 2007 10:44:17 +0000</pubDate>
		<dc:creator>MP</dc:creator>
		
		<category><![CDATA[Mod Invision PB]]></category>

		<category><![CDATA[PHP Examples]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.mpwebstudio.com/wordpress/?p=10</guid>
		<description><![CDATA[Risultato:

Link attivo:
http://www.roaclan.net/index.php?showtopic=980
Questa mod funziona su:

Invision Power Board 2.1.x
Invision Power Board 2.2.x
Invision Power Board 2.3.x

Se hai PhpBB continua qui.
Questa mod NON funziona su:

Invision Power Board 1.3.x

Questa mod NON è installabile su:

Forumfree
Forumcommunity

Requisiti per l'installazione:

Accesso ftp allo spazio web in cui contenete gli script di invision
Possibilità di creare directory nel vostro spazio web
Possibilità di scrivere all'interno di una [...]]]></description>
			<content:encoded><![CDATA[<p>Risultato:</p>
<p><a href="http://img204.imageshack.us/my.php?image=tracker1ps6.jpg" target="_blank"><img src="http://img204.imageshack.us/img204/9189/tracker1ps6.th.jpg" border="0" /></a></p>
<p>Link attivo:</p>
<p><a href="http://www.roaclan.net/index.php?showtopic=980">http://www.roaclan.net/index.php?showtopic=980</a></p>
<p>Questa mod <span style="color:green"><strong>funziona</strong></span> su:</p>
<ul>
<li>Invision Power Board 2.1.x</li>
<li>Invision Power Board 2.2.x</li>
<li>Invision Power Board 2.3.x</li>
</ul>
<p>Se hai <strong><span style="color:blue">PhpBB</span></strong> <a href="http://www.mpwebstudio.com/wordpress/?p=16">continua qui</a>.</p>
<p>Questa mod <span style="color:red"><strong>NON funziona</strong></span> su:</p>
<ul>
<li>Invision Power Board 1.3.x</li>
</ul>
<p>Questa mod <span style="color:red"><strong>NON è installabile</strong></span> su:</p>
<ul>
<li>Forumfree</li>
<li>Forumcommunity</li>
</ul>
<p>Requisiti per l'installazione:</p>
<ul>
<li>Accesso ftp allo spazio web in cui contenete gli script di invision</li>
<li>Possibilità di creare directory nel vostro spazio web</li>
<li>Possibilità di scrivere all'interno di una directory del vostro server [fopen() con wb]</li>
<li>Possibilità di usare fopen() per aprire destinazioni remote</li>
</ul>
<p><strong>Passo 1: Creazione del campo Tracker Id</strong></p>
<p>Per prima cosa bisogna creare un <em>Custom Profile Field</em> dal vostro pannello di controllo di Invision e nominarlo Tracker Id quindi dalla sezione <strong>Management</strong> vi spostate utilizzando il menu situato a sinistra in <strong>Custom Profile Fields</strong>. </p>
<p>Compilate i campi in questo modo:</p>
<ul>
<li><strong>Field Title </strong> Tracker Id</li>
<li><strong>Description</strong> Inserisci qui il tuo ID Del tracker</li>
<li><strong>Field Type</strong> Text Input</li>
<li><strong>Maximun Input</strong> 7</li>
<li><strong>Display Order</strong> 0</li>
<li><strong>Expected input format <em>[Scegliete voi se metterlo o no, perchè può dare problemi]</em></strong> nnnnnnnnn</li>
<li><strong>Option Content (for drop downs)</strong> Lasciate il campo vuoto</li>
<li><strong>Include on registration Page</strong> Yes</li>
<li><strong>Field MUST be completed and not left empty?</strong> No</li>
<li><strong>Field can be edited by the member?</strong> Yes</li>
<li><strong>Make this a private profile field?</strong> No</li>
<li><strong>Make Admin and Super Moderator Editable/Viewable Only?</strong> No</li>
</ul>
<p><strong>NOTA: il campo Field Title deve essere compilato esattamente con Tracker Id  altrimenti non vi funzionerà la mod!</strong><br />
Per ciò che riguarda l'ultimo campo (<strong>Topic View Format?</strong>) inserite questo codice html che comparirà al di sotto della scheda/avatar utente. Questo HTML è ottimizzato per una skin <strong>scura</strong> quindi se siete in possesso di una skin chiara cambiate i colori ovviamente agendo nell'html. Tralaltro se vi interessa togliere delle informazioni che non ritenete necessarie potete rimuovere una o più righe:</p>
<div class="syntax_hilite"><span class="langName">HTML:</span>
<div id="html-7">
<div class="html">And i'm so skilled »<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span></p>
<p><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;strong&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"http://www.aaotracker.com/usertracker.php?userid={content}"</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">"color:#039fe2"</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>{nick}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/a&gt;</span></span> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/strong&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">"color:#9b9b9b"</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>{rank}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;img</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"http://aaotracker.com/Images/stars/{stars}.gif"</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span><br />
Honor: <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;strong&gt;</span></span>{honor}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/strong&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span><br />
Fragrate: <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">"color:#99FFFF"</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;strong&gt;</span></span>{fragrate}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/strong&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span><br />
Activity: <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">'color:#FF3366'</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;strong&gt;</span></span>{activity} %<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/strong&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span></p>
<p>Popularity: <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">'color:#00FF33'</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;strong&gt;</span></span>{popularity} %<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/strong&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span></p>
<p>Experience: <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">'color:#33CCFF'</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;strong&gt;</span></span>{experience} %<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/strong&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span></p>
<p>Next Honor: <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">'color:#FFCC99'</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;strong&gt;</span></span>{nexthonor} %<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/strong&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span><br />
I pwnd&nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">'color:#99CC66'</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;strong&gt;</span></span>{kills}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/strong&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span&gt;</span></span> n00bz <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
I rosik <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">'color:#FF99CC'</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;strong&gt;</span></span>{kia}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/strong&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span&gt;</span></span> times<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
ROE: A lot...<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span><br />
Actually i'm <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"http://www.aaotracker.com/usertracker.php?userid={content}"</span><span style="color: #000000; font-weight: bold;">&gt;</span></span> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;img</span> <span style="color: #000066;">border</span>=<span style="color: #ff0000;">"0"</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"http://www.aaotracker.com/trackericon.php?userid={content}&amp;style=6"</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/a&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/strong&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">"color:#9b9b9b"</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Last update {updated}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span>{status}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;br&gt;</span></span></div>
</div>
</div>
<p></p>
<p>Le variabili utilizzate (quelle comprese tra graffe) verranno sostituite con le informazioni prelevate dal tracker e sono:</p>
<ul>
<li><strong>{title}</strong> verrà sostituito con "Tracker Id"</li>
<li><strong>{content}</strong> verrà sostituito con l'id tracker dell'utente</li>
<li><strong>{rank}</strong> verrà sostituito con il rank dell'utente (Seargent/Major/General/Recruit...)</li>
<li><strong>{stars}</strong> verrà sostituito con il nome dell'immagine che rappresenta le stelline dell'utente [senza il suffisso .gif]</li>
<li><strong>{nick}</strong> verrà sostituito con il nick di gioco dell'utente</li>
<li><strong>{guid}</strong> verrà sostituito con la guid dell'account</li>
<li><strong>{kills}</strong> verrà sostituito con il numero delle kills dell'utente</li>
<li><strong>{kia}</strong> verrà sostituito con il numero delle kia dell'utente</li>
<li><strong>{honor}</strong> verrà sostituito con l'honor dell'utente</li>
<li><strong>{nexthonor}</strong> verrà sostituito con la percentuale senza '%' del completamento dell'honor successivo dell'utente</li>
<li><strong>{fragrate}</strong> verrà sostituito con il fragrate dell'utente</li>
<li><strong>{activity}</strong> verrà sostituito con la percentuale senza '%' dell'activity dell'utente</li>
<li><strong>{popularity}</strong> verrà sostituito con la percentuale senza '%' del popularity dell'utente</li>
<li><strong>{experience}</strong> verrà sostituito con la percentuale senza '%' dell'experience dell'utente</li>
<li><strong>{longestsession}</strong> verrà sostituito con il numero di ore che formano la sessione più lunga dell'utente</li>
<li><strong>{bestmap}</strong> verrà sostituito con la mappa preferita dell'utente</li>
<li><strong>{updated}</strong> verrà sostituito con l'ora e la data dell'ultimo aggiornamento delle informazioni del tracker</li>
<li><strong>{status}</strong> verrà sostituito con "Stat cache Created!" quando si creerà per la prima volta il profilo utente o "Stat cache Updated!" quando si aggiorneranno le statistiche</li>
</ul>
<p>Al termine delle modifiche dovreste trovarvi davanti ad una situazione come questa:</p>
<p><a href="http://img179.imageshack.us/my.php?image=tracker2jn9.jpg" target="_blank"><img src="http://img179.imageshack.us/img179/2127/tracker2jn9.th.jpg" border="0" /></a></p>
<p>Se provate a registrar un utente di prova vedrete che comparirà il campo "Tracker Id".</p>
<p><strong>Passo 2: Creazione delle directory per la cache del tracker</strong></p>
<p>Come potete ben immaginare se attingessimo al sito del tracker in continuazione il sito diventerebbe impraticabile vista la lentezza con cui fopen accede al tracker: dobbiamo quindi creare una cache locale in cui salvare una volta al giorno tutte le pagine dei profili degli utenti iscritti.</p>
<p><strong>NOTA: L'ggiornamento viene fatto automaticamente una volta al giorno e se il tracker non fosse disponibile in quel momento o se l'utente avesse il profilo privato apparirà una scritta con "<em>Informazioni del tracker non disponibili! L'utente potrebbe avere il profilo privato o il tracker non è momentaneamente disponibile!</em>" e bisognerà aspettare 24 ore perchè si aggiorni nuovamente il profilo del tracker.<br />
</strong></p>
<p>Tornando alla creazione delle directory, attraverso il vostro client ftp andate sulla root in cui avete installato invision e spostatevi nella cartella <strong>cache</strong>. A questo punto create una cartella di nome <strong>profiles</strong> e successivamente se siete in un server <strong>linux</strong> utilizzate il comando <strong>CHMOD</strong> e con permessi <strong>777</strong> per assegnare i diritti allo script di scrivere all'interno. Se possedete un server Windows allora saltate quest'ultimo passo in quanto il comando CHMOD non è riconosciuto.</p>
<p>A questo punto avete completato la parte relativa alla creazione delle directory, passiamo a quella più difficile: la modifica dei files di invision.</p>
<p><strong>Passo 3: Modifica dei files php di invision</strong></p>
<p>Il nostro file da modificare è <strong>class_custom_fields.php</strong> situato in questo percorso</p>
<p><strong>root di invision /sources/classes/class_custom_fields.php</strong></p>
<p>Apritelo con il vostro editor preferito (io uso Dreamweaver ma non perchè sono sborone ma perchè mi piace vedere il codice bello colorato) e recatevi più o meno alla linea 490. Dovreste essere nei pressi della funzione <strong>method_format_field_for_topic_view( $i )</strong> giusto? Se non siete lì pazienza, cercatela e recatevi al più presto non ho mica tempo da perdere io qui!!!! <img src='http://www.mpwebstudio.com/wordpress/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Ora questo è quello che dovete avere sotto agli occhi per continuare</p>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-8">
<div class="php"><span style="color:#008000;">/*-------------------------------------------------------------------------*/</span><br />
&nbsp; &nbsp; <span style="color:#FF9933; font-style:italic;">// Method: format_field_for_topic_view</span><br />
&nbsp; &nbsp; <span style="color:#008000;">/*-------------------------------------------------------------------------*/</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color:#000000; font-weight:bold;">function</span> method_format_field_for_topic_view<span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#0000FF;">$i</span> <span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$out</span> = <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">out_fields</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#0000FF;">$i</span><span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$tmp</span> = <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">cache_data</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#0000FF;">$i</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#FF0000;">'pf_topic_format'</span><span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{title}'</span>&nbsp; , <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">field_names</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#0000FF;">$i</span><span style="color:#006600; font-weight:bold;">&#93;</span>, <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{key}'</span>&nbsp; &nbsp; , <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">out_chosen</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#0000FF;">$i</span><span style="color:#006600; font-weight:bold;">&#93;</span> , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{content}'</span>, <span style="color:#0000FF;">$out</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$tmp</span>;<br />
&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</div>
</div>
<p></p>
<p>Ora <strong>sostituite questa funzione </strong> (SOLO QUESTA!) con questa:</p>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-9">
<div class="php"><span style="color:#008000;">/*-------------------------------------------------------------------------*/</span><br />
&nbsp; &nbsp; <span style="color:#FF9933; font-style:italic;">// Method: format_field_for_topic_view</span><br />
&nbsp; &nbsp; <span style="color:#008000;">/*-------------------------------------------------------------------------*/</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color:#000000; font-weight:bold;">function</span> method_format_field_for_topic_view<span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#0000FF;">$i</span> <span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$out</span> = <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">out_fields</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#0000FF;">$i</span><span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$tmp</span> = <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">cache_data</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#0000FF;">$i</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#FF0000;">'pf_topic_format'</span><span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{title}'</span>&nbsp; , <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">field_names</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#0000FF;">$i</span><span style="color:#006600; font-weight:bold;">&#93;</span>, <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{key}'</span>&nbsp; &nbsp; , <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">out_chosen</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#0000FF;">$i</span><span style="color:#006600; font-weight:bold;">&#93;</span> , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{content}'</span>, <span style="color:#0000FF;">$out</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">if</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">field_names</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#0000FF;">$i</span><span style="color:#006600; font-weight:bold;">&#93;</span> == <span style="color:#FF0000;">"Tracker Id"</span><span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span style="color:#0000FF;">$tmp</span> = <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">get_external</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$tmp</span>,<span style="color:#0000FF;">$out</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$tmp</span>;<br />
&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</div>
</div>
<p></p>
<p>In pratica ho aggiunto solamente due righe per riconoscere il campo "tracker id" in modo tale da applicare lo script di riconoscimento tracker solo a quel campo lì e non agli altri.</p>
<p>Aggiungete successivamente al termine di questo script [esattamente tra la funzione <em>method_format_field_for_topic_view( $i )</em> che avete appena modificato e <em>method_format_content_for_save( $c )</em> che è la successiva] questa funzione:</p>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-10">
<div class="php"><span style="color:#000000; font-weight:bold;">function</span> get_external<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$tmp</span>,<span style="color:#0000FF;">$trackerid</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color:#FF9933; font-style:italic;">// set a variable</span><br />
&nbsp; &nbsp;<span style="color:#0000FF;">$contents</span> = <span style="color:#FF0000;">""</span>;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$filename</span> = <span style="color:#FF0000;">"./cache/profiles/profile_"</span>.<span style="color:#0000FF;">$trackerid</span>.<span style="color:#FF0000;">".bk"</span>;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$status</span> = <span style="color:#FF0000;">""</span>;<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color:#FF9933; font-style:italic;">//Cache per evitare l'accesso al tracker in continuazione</span><br />
&nbsp; &nbsp;<span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#000066;">file_exists</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$filename</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp;<span style="color:#616100;">if</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#000066;">date</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"Y-m-d"</span>, <span style="color:#000066;">filemtime</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$filename</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> != <span style="color:#000066;">date</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"Y-m-d"</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#FF9933; font-style:italic;">//Aggiorno</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#FF9933; font-style:italic;">// echo &quot;Update!&quot;;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#0000FF;">$status</span> = <span style="color:#FF0000;">"Stat cache Updated!"</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#0000FF;">$handle</span> = <span style="color:#000066;">fopen</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"http://aaotracker.com/usertracker.php?userid="</span>.<span style="color:#0000FF;">$trackerid</span>, <span style="color:#FF0000;">"rb"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#0000FF;">$handle2</span> = <span style="color:#000066;">fopen</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$filename</span>,<span style="color:#FF0000;">"wb"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#FF9933; font-style:italic;">// Get the info into array.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#616100;">while</span> <span style="color:#006600; font-weight:bold;">&#40;</span>!<span style="color:#000066;">feof</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$handle</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#0000FF;">$sout</span> = <span style="color:#000066;">fread</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$handle</span>, <span style="color:#000066;">round</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC66CC;">8</span>*<span style="color:#CC66CC;">1024</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#0000FF;">$contents</span>.=<span style="color:#0000FF;">$sout</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#000066;">fwrite</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$handle2</span>, <span style="color:#0000FF;">$sout</span>, <span style="color:#000066;">round</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC66CC;">8</span>*<span style="color:#CC66CC;">1024</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#000066;">fclose</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$handle</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#000066;">fclose</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$handle2</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span> <span style="color:#616100;">else</span> <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#FF9933; font-style:italic;">// echo &quot;Non serviva update!&quot;;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$handle</span> = <span style="color:#000066;">fopen</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$filename</span>,<span style="color:#FF0000;">"rb"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">while</span> <span style="color:#006600; font-weight:bold;">&#40;</span>!<span style="color:#000066;">feof</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$handle</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#0000FF;">$contents</span>.= <span style="color:#000066;">fread</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$handle</span>, <span style="color:#000066;">round</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC66CC;">8</span>*<span style="color:#CC66CC;">1024</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000066;">fclose</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$handle</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span><br />
&nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#125;</span> <span style="color:#616100;">else</span> <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#FF9933; font-style:italic;">// echo &quot;Creo il file!&quot;;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$status</span> = <span style="color:#FF0000;">"Stat cache Created!"</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$handle</span> = <span style="color:#000066;">fopen</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"http://aaotracker.com/usertracker.php?userid="</span>.<span style="color:#0000FF;">$trackerid</span>, <span style="color:#FF0000;">"rb"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$handle2</span> = <span style="color:#000066;">fopen</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$filename</span>,<span style="color:#FF0000;">"w+b"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">while</span> <span style="color:#006600; font-weight:bold;">&#40;</span>!<span style="color:#000066;">feof</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$handle</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#0000FF;">$sout</span> = <span style="color:#000066;">fread</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$handle</span>, <span style="color:#000066;">round</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC66CC;">8</span>*<span style="color:#CC66CC;">1024</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#0000FF;">$contents</span>.= <span style="color:#0000FF;">$sout</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#000066;">fwrite</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$handle2</span>, <span style="color:#0000FF;">$sout</span>, <span style="color:#000066;">round</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC66CC;">8</span>*<span style="color:#CC66CC;">1024</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color:#000066;">fclose</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$handle</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; <span style="color:#000066;">fclose</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$handle2</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span><br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{status}'</span>,&nbsp; <span style="color:#0000FF;">$status</span>&nbsp; &nbsp; &nbsp; , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'{updated}'</span>, <span style="color:#000066;">date</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"d/m g:i a"</span>, <span style="color:#000066;">filemtime</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$filename</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>, <span style="color:#0000FF;">$tmp</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color:#000066;">preg_match_all</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"|size=<span style="color:#000099; font-weight:bold;">\"</span>2<span style="color:#000099; font-weight:bold;">\"</span>&gt;&lt;a title=<span style="color:#000099; font-weight:bold;">\"</span>PBGUID:(.*)&lt;/a&gt;|U"</span>, <span style="color:#0000FF;">$contents</span>, <span style="color:#0000FF;">$out_nick</span>, PREG_PATTERN_ORDER<span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<span style="color:#000066;">preg_match_all</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"|size=<span style="color:#000099; font-weight:bold;">\"</span>2<span style="color:#000099; font-weight:bold;">\"</span>&gt;(.*)&lt;/font&gt;&lt;/td&gt;|U"</span>, <span style="color:#0000FF;">$contents</span>, <span style="color:#0000FF;">$out</span>, PREG_PATTERN_ORDER<span style="color:#006600; font-weight:bold;">&#41;</span>;</p>
<p>&nbsp; &nbsp;<span style="color:#000066;">list</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$guid</span>,<span style="color:#0000FF;">$nick</span><span style="color:#006600; font-weight:bold;">&#41;</span> = <span style="color:#000066;">split</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"<span style="color:#000099; font-weight:bold;">\"</span>&gt;"</span>,<span style="color:#0000FF;">$out_nick</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; <br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color:#616100;">if</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$nick</span> == <span style="color:#FF0000;">""</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#FF0000;">"&lt;br&gt;&lt;br&gt;Informazioni del tracker non disponibili!&lt;br&gt;L'utente potrebbe avere il profilo privato o il tracker non è momentaneamente disponibile!"</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$tmp</span>;<br />
&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span><br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{nick}'</span>, <span style="color:#0000FF;">$nick</span>&nbsp; &nbsp;, <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{guid}'</span>, <span style="color:#0000FF;">$guid</span>&nbsp; &nbsp;, <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{rank}'</span>, <span style="color:#0000FF;">$out</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">3</span><span style="color:#006600; font-weight:bold;">&#93;</span>&nbsp; &nbsp;, <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{fragrate}'</span>,&nbsp; <span style="color:#0000FF;">$out</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">17</span><span style="color:#006600; font-weight:bold;">&#93;</span>&nbsp; &nbsp; &nbsp; , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{longestsession}'</span>,&nbsp; <span style="color:#0000FF;">$out</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">11</span><span style="color:#006600; font-weight:bold;">&#93;</span>&nbsp; &nbsp; &nbsp; , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{kills}'</span>,&nbsp; <span style="color:#0000FF;">$out</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">13</span><span style="color:#006600; font-weight:bold;">&#93;</span>&nbsp; &nbsp; &nbsp; , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{kia}'</span>,&nbsp; <span style="color:#0000FF;">$out</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">15</span><span style="color:#006600; font-weight:bold;">&#93;</span>&nbsp; &nbsp; &nbsp; , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{honor}'</span>,&nbsp; <span style="color:#0000FF;">$out</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">5</span><span style="color:#006600; font-weight:bold;">&#93;</span>&nbsp; &nbsp; &nbsp; , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; <span style="color:#000066;">preg_match_all</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"|size=<span style="color:#000099; font-weight:bold;">\"</span>2<span style="color:#000099; font-weight:bold;">\"</span>&gt;&lt;b&gt;(.*)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;|U"</span>, <span style="color:#0000FF;">$contents</span>, <span style="color:#0000FF;">$out</span>, PREG_PATTERN_ORDER<span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color:#0000FF;">$map</span> = <span style="color:#0000FF;">$out</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span>;<br />
&nbsp; &nbsp; <span style="color:#0000FF;">$bestmap</span> = <span style="color:#CC66CC;">5</span>;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color:#616100;">for</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$i</span> = <span style="color:#CC66CC;">5</span>; <span style="color:#0000FF;">$i</span> &lt;sizeof<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$map</span><span style="color:#006600; font-weight:bold;">&#41;</span>; <span style="color:#0000FF;">$i</span>=<span style="color:#0000FF;">$i</span>+<span style="color:#CC66CC;">2</span><span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#616100;">if</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">" Hours"</span>,<span style="color:#FF0000;">""</span>,<span style="color:#0000FF;">$map</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#0000FF;">$bestmap</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span> &lt;str_replace<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">" Hours"</span>,<span style="color:#FF0000;">""</span>,<span style="color:#0000FF;">$map</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#0000FF;">$i</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#0000FF;">$bestmap</span> = <span style="color:#0000FF;">$i</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; <span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{bestmap}'</span>,&nbsp; <span style="color:#0000FF;">$map</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#0000FF;">$bestmap</span>-<span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span>, <span style="color:#0000FF;">$tmp</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color:#000066;">preg_match_all</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"|: (.+)%|U"</span>, <span style="color:#0000FF;">$contents</span>, <span style="color:#0000FF;">$out</span>, PREG_PATTERN_ORDER<span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{activity}'</span>,&nbsp; <span style="color:#0000FF;">$out</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span>&nbsp; &nbsp; &nbsp; , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{popularity}'</span>,&nbsp; <span style="color:#0000FF;">$out</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span>&nbsp; &nbsp; &nbsp; , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{experience}'</span>,&nbsp; <span style="color:#0000FF;">$out</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">2</span><span style="color:#006600; font-weight:bold;">&#93;</span>&nbsp; &nbsp; &nbsp; , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{nexthonor}'</span>,&nbsp; <span style="color:#0000FF;">$out</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">3</span><span style="color:#006600; font-weight:bold;">&#93;</span>&nbsp; &nbsp; &nbsp; , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color:#000066;">preg_match_all</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"|Images/stars/(.*)<span style="color:#000099; font-weight:bold;">\.</span>gif|U"</span>, <span style="color:#0000FF;">$contents</span>, <span style="color:#0000FF;">$out</span>, PREG_PATTERN_ORDER<span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color:#0000FF;">$tmp</span> = <span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span> <span style="color:#FF0000;">'{stars}'</span>,&nbsp; <span style="color:#0000FF;">$out</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span>&nbsp; &nbsp; &nbsp; , <span style="color:#0000FF;">$tmp</span> <span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$tmp</span>;<br />
&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</div>
</div>
<p></p>
<p>Una volta aggiunta questa funzione salvate il file class_custom_fields.php <strong>create un backup el precedente</strong> e uppatelo nella directory classes.</p>
<p>Se in qualche modo dovesse capitare qualche problema o avete pasticciato con il file php avete due opzioni: caricare il file class_custom_fields.php di backup o tentare di caricare il <strong>mio</strong> file class_custom_fields.php che trovate <a href="http://www.mpwebstudio.com/class_custom_fields.rar">qui</a>.</p>
<p>La guida è terminata qui, segue ora un passo per chi dovesse riscontrare problemi:</p>
<p><strong>Passo 4: Aiuto! Ho un problema!</strong><br />
Hai qualche problema? </p>
<p><strong>Mi visualizza una pagina bianca o un messaggio di errore quando tento di visualizzare un post!</strong><br />
Significa che hai pasticciato con il php! In questo caso puoi scegliere di ripristinare il backup del tuo file class_custom_fields.php o di tentare con <a href="http://www.mpwebstudio.com/class_custom_fields.rar">questo</a>.</p>
<p><strong>Mi visualizza sempre il messaggio Informazioni del tracker non disponibili! anche se il tracker funziona e il mio profilo è pubblico!</strong><br />
In questo caso può essere per vari motivi:</p>
<p>1- Può essere dovuto al fatto che nel momento in cui il profilo del tracker sul tuo forum è stato aggiornato il tracker non era disponibile o tu avevi il profilo privato. Hai la possibilità di scegliere di aspettare un giorno oppure di andare dentro alla cartella <strong>cache/profiles</strong> e di cancellare il file <strong>profile_{tuo id del tracker}.bk</strong>.</p>
<p>2- Può essere dovuto al fatto che il tuo server non ti permette di accedere a pagine web da remoto, per verificarlo prova a recarti all'interno della cartella <strong>cache/profiles</strong> e se la cartella è vuota forse è dovuto a quello.</p>
<p>3- Può essere dovuto al fatto che il tuo server non ti permette di creare file con fopen(), per verificarlo prova a recarti all'interno della cartella <strong>cache/profiles</strong> e se la cartella è vuota forse è dovuto a quello.</p>
<p>In questi ultimi due casi hai la possibilità di chiedere informazioni al supporto tecnico del tuo dominio o, se sei bravo con php, tentare una configurazione di fopen alternativa [magari con <em>w+</em> o <em>w+b</em> anzichè <em>wb</em>].</p>
<p>MP</p>
<p>EDIT 10/09/2007: A seguito di modifiche del tracker è stato modificato anche il codice di get_external() per cui siete invitati ad aggiornarlo alla versione corrente.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mpwebstudio.com/wordpress/?feed=rss2&amp;p=10</wfw:commentRss>
		</item>
		<item>
		<title>Sicurezza: SQL Injection</title>
		<link>http://www.mpwebstudio.com/wordpress/?p=8</link>
		<comments>http://www.mpwebstudio.com/wordpress/?p=8#comments</comments>
		<pubDate>Fri, 16 Mar 2007 16:11:49 +0000</pubDate>
		<dc:creator>MP</dc:creator>
		
		<category><![CDATA[PHP Security]]></category>

		<guid isPermaLink="false">http://www.mpwebstudio.com/wordpress/?p=8</guid>
		<description><![CDATA[Quando si parla di php non si può tralasciare l'argomento sicurezza. Essendo uno dei linguaggi di scripting più utilizzati per costruire siti internet dinamici è allo stesso tempo più preso di mira da hackers (per lo più lamers) che sfruttano le vulnerabilità dei siti internet php per eseguire comandi o e impadronirsi del sistema su [...]]]></description>
			<content:encoded><![CDATA[<p>Quando si parla di php non si può tralasciare l'argomento sicurezza. Essendo uno dei linguaggi di scripting più utilizzati per costruire siti internet dinamici è allo stesso tempo più preso di mira da hackers (per lo più lamers) che sfruttano le vulnerabilità dei siti internet php per eseguire comandi o e impadronirsi del sistema su cui è hostato il sito.</p>
<p>La cosa che fa tremare di più gli sviluppatori di siti internet in PHP non sono gli attacchi DoS o bruteforce ma lo sfruttamento delle sviste degli stessi programmatori!</p>
<p>E' come se un costruttore di automobili si dimenticasse di fissare i cardini sulla portiera delle auto rendendo cosi inutile la serratura!</p>
<p>Queste sviste purtroppo non sono sempre lampanti sopratutto negli script di svariate migliaia di linee di codice e anche i programmatori senior spesso cadono in questo genere di errori.</p>
<p>Ma se una persona comune pensa che una svista potrebbe permettere di inserire in un campo una data di nascita fasulla (come ad esempio 31/2/1984), per altri programmatori significa ben altro. Ad esempio la possibilità di inserire dei comandi particolari che in determinati casi (molto raramente) possono essere eseguiti creando anche pieno accesso alle directory e ai files del sito.</p>
<p>Stiamo parlando dell'SQL Injection, una tecnica particolare che combina lo sfruttamento di vulnerabilità nei campi di inserimento allo scopo di far eseguire dei comandi SQL.</p>
<p>Per spiegare questo concetto immaginatevi un form, come quello di google. Se google avesse un database e ogni ricerca effettuata da qualsiasi utente venisse salvata nel database allora ci troveremo di fronte ad uno script del genere:</p>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-16">
<div class="php"><span style="color:#000000; font-weight:bold;">&lt;?php</span></p>
<p><span style="color:#0000FF;">$query</span> = <span style="color:#FF0000;">"INSERT INTO queries (query) VALUES ('"</span>.<span style="color:#0000FF;">$_POST</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#FF0000;">"ricerca"</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#FF0000;">"')"</span>;</p>
<p><span style="color:#000066;">mysql_query</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$query</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</p>
<p><span style="color:#000000; font-weight:bold;">?&gt;</span></div>
</div>
</div>
<p></p>
<p>Ovviamente questo è uno script da polli, ma molto spesso capita di trovare degli script simili: daltronde chi si aspetta che qualcuno inserisca nel campo della ricerca parametri SQL?</p>
<p>Continuando il discorso ipotizziamo l'inserimento nel form di richiesta una stringa tipo:</p>
<div class="syntax_hilite"><span class="langName">SQL:</span>
<div id="sql-17">
<div class="sql"><span style="color: #ff0000;">');INSERT INTO administrators (name,password) VALUES ('</span>mp<span style="color: #ff0000;">','</span>mp</div>
</div>
</div>
<p></p>
<p>In questo caso inseriremmo nel database nella tabella administrators il nostro nome cosicchè da poter accedere ad un ipotetico pannello di controllo di google.</p>
<p>Naturalmente questo è un esempio che è semi fantascienza, ma vi fa capire che basta poco per lasciare aperta una possibilità di inserire all'interno del vostro database informazioni non autorizzate e lasciando cosi spazio a qualche bontempone che vi vuole fare una sorpresa.</p>
<p>Un altro esempio di sql injection è l'esempio classico dal form di login: immaginiamo un form di login di questo tipo:</p>
<div class="syntax_hilite"><span class="langName">HTML:</span>
<div id="html-18">
<div class="html"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;form</span> <span style="color: #000066;">action</span>=<span style="color: #ff0000;">'login.php'</span> <span style="color: #000066;">method</span>=<span style="color: #ff0000;">'post'</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp;Utente <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;input</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">'text'</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">'user'</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp;Password <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;input</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">'password'</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">'pass'</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
&nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;input</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">'submit'</span>/<span style="color: #000000; font-weight: bold;">&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/form&gt;</span></span></div>
</div>
</div>
<p></p>
<p>Ne avete visti/fatti a centinaia, che succede però nella parte del server, cioè come gestiamo le informazioni mandate nel form? Beh se siamo un po' spavaldi e non ci curiamo della sicurezza...così</p>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-19">
<div class="php"><span style="color:#000000; font-weight:bold;">&lt;?php</span></p>
<p><span style="color:#0000FF;">$query</span> = <span style="color:#FF0000;">"SELECT * FROM users WHERE user='"</span>.<span style="color:#0000FF;">$_POST</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#FF0000;">"user"</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#FF0000;">"' AND pwd='"</span>.<span style="color:#0000FF;">$_POST</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#FF0000;">"pass"</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#FF0000;">"'"</span>;<br />
<span style="color:#0000FF;">$result</span>= <span style="color:#000066;">mysql_query</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$query</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</p>
<p><span style="color:#000000; font-weight:bold;">?&gt;</span></div>
</div>
</div>
<p></p>
<p>Naturalmente è uno script valido e funzionante, quindi che succederebbe se noi volessimo utilizzare una stringa SQL come nome utente "administrator" e password "boh' OR '1'='1"? La query che ne risulterà sarà:</p>
<div class="syntax_hilite"><span class="langName">SQL:</span>
<div id="sql-20">
<div class="sql"><span style="color: #993333; font-weight: bold;">SELECT</span> * <span style="color: #993333; font-weight: bold;">FROM</span> users <span style="color: #993333; font-weight: bold;">WHERE</span> user=<span style="color: #ff0000;">'administrator'</span> <span style="color: #993333; font-weight: bold;">AND</span> pass=<span style="color: #ff0000;">'boh'</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #ff0000;">'1'</span>=<span style="color: #ff0000;">'1'</span></div>
</div>
</div>
<p></p>
<p>Siccome nella query è presente OR 1=1 allora la query darà il primo risultato cioè quello sperato da chi si collega con i dati corretti perchè anche se la password è sbagliata, 1=1 è vera perciò si verrà autenticati da amministratori.</p>
<p>Spero che questo post vi serva per creare codice più robusto ed evitare che un piccolo errore di valutazione possa causare danni grossisimi.</p>
<p>MP</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mpwebstudio.com/wordpress/?feed=rss2&amp;p=8</wfw:commentRss>
		</item>
		<item>
		<title>Problemi di connessione?? Forse è colpa dei DNS&#8230;</title>
		<link>http://www.mpwebstudio.com/wordpress/?p=7</link>
		<comments>http://www.mpwebstudio.com/wordpress/?p=7#comments</comments>
		<pubDate>Fri, 16 Mar 2007 10:38:56 +0000</pubDate>
		<dc:creator>MP</dc:creator>
		
		<category><![CDATA[Adsl &amp; dintorni]]></category>

		<guid isPermaLink="false">http://www.mpwebstudio.com/wordpress/?p=7</guid>
		<description><![CDATA[In questo ultimo periodo (da Dicembre 2006) nel Nord Italia si sono susseguite numerosissime segnalazioni di navigazione lenta/interrotta/a singhiozzo che non avevano come origine la connessione ad internet ma la vera e propria navigazione: sembrava che i siti internet non ci fossero quando realmente c'erano anche se la connessione ad internet funzionava egregiamente. Poteva capitare [...]]]></description>
			<content:encoded><![CDATA[<p>In questo ultimo periodo (da <strong>Dicembre 2006</strong>) nel Nord Italia si sono susseguite numerosissime segnalazioni di navigazione lenta/interrotta/a singhiozzo che non avevano come origine la connessione ad internet ma la vera e propria navigazione: <strong>sembrava che i siti internet non ci fossero quando realmente c'erano anche se la connessione ad internet funzionava egregiamente</strong>. Poteva capitare cioè di scaricare un file a <strong>400 KB/s</strong> e <strong>non riuscire ad aprire pagine come GOOGLE o Repubblica.it</strong>.</p>
<p>E questo <strong>avveniva anche per la posta elettronica e tutti i programmi che necessitavano di risolvere un particolare dominio</strong>.</p>
<p>Infatti con gli IP questo problema non si verificava, cioè se anzichè scrivere www.google.it avessimo scritto 216.239.37.99, il sito si apriva tranquillamente senza messaggi come "<strong>Impossibile visualizzare la pagina</strong>".</p>
<p>Il problema sta chiaramente nella cache dei server DNS utilizzati dai provider, in particolare i più colpiti da questi disservizi sono gli utenti ADSL di Alice/Tin.it che utilizzano dei server DNS con qualche particolare impedimento che non permette il funzionamento a dovere.</p>
<p>Questa situazione in principio non era fastidiosa ma alla lunga è diventata stressante tanto che mi sono impuntato nel trovare una soluzione: dopo aver verificato che la mia linea era perfettamente funzionante e non sussistevano problematiche tecniche sulla mia portante, ho cercato un provider dns che mi potesse garantire la navigazione e l'ho trovato in <strong><span style="color:orange">OpenDNS</span></strong></p>
<p><a href="http://img222.imageshack.us/my.php?image=opendnsnc3.jpg" target="_blank"><img src="http://img222.imageshack.us/img222/5797/opendnsnc3.th.jpg" border="0" alt="Free Image Hosting at www.ImageShack.us" /></a></p>
<p>OpenDNS (<a href="http://www.opendns.com">www.opendns.com</a>) permette di sfruttare due Server DNS messi a disposizione gratuitamente da questa società che sono</p>
<ol>
<li><strong>208.67.222.222</strong></li>
<li><strong>208.67.220.220</strong></li>
</ol>
<p>Nel loro sito viene illustrato per ogni tipo di interfaccia di rete utilizzata per collegarsi ad internet, il modo con cui si possono sostituire i DNS forniti dall'ISP con i loro DNS. Nel mio caso, un router-modem ap Netgear, mi è stato sufficiente entrare nel pannello di amministrazione e impostare i due DNS.</p>
<p>OpenDNS se vi registrate vi offre la possibilità monitorare l'utilizzo della vostra ADSL.</p>
<p>MP</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mpwebstudio.com/wordpress/?feed=rss2&amp;p=7</wfw:commentRss>
		</item>
		<item>
		<title>Aggiornato il Tournament Result Beautifier!</title>
		<link>http://www.mpwebstudio.com/wordpress/?p=6</link>
		<comments>http://www.mpwebstudio.com/wordpress/?p=6#comments</comments>
		<pubDate>Wed, 14 Mar 2007 16:23:25 +0000</pubDate>
		<dc:creator>MP</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.mpwebstudio.com/wordpress/?p=6</guid>
		<description><![CDATA[Aggiornata la 0.3c del tournament result beautifier e portata alla 0.4:


 Sistemati i link "indietro" nelle pagine che non funzionavano con Mozilla e Safari
 Sistemati i bookmark, ovvero i link al sito della Federazione Italiana A.A. e alla ligaa e aggiunto un link al mio guestbook  
 Sistemati alcuni piccoli bug che ci metterei [...]]]></description>
			<content:encoded><![CDATA[<p>Aggiornata la 0.3c del <a href="http://www.mpwebstudio.com/tresult">tournament result beautifier</a> e portata alla 0.4:<br />
</p>
<ul>
<li> Sistemati i link "indietro" nelle pagine che non funzionavano con Mozilla e Safari</li>
<li> Sistemati i bookmark, ovvero i link al sito della Federazione Italiana A.A. e alla ligaa e aggiunto un link al mio guestbook <img src='http://www.mpwebstudio.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li> Sistemati alcuni piccoli bug che ci metterei troppo tempo a scrivere, vi basta sapere che nei report di pareggio non scompare più il nome di una squadra (evvivaaaa!)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mpwebstudio.com/wordpress/?feed=rss2&amp;p=6</wfw:commentRss>
		</item>
		<item>
		<title>Un print_r() meglio formattato!</title>
		<link>http://www.mpwebstudio.com/wordpress/?p=5</link>
		<comments>http://www.mpwebstudio.com/wordpress/?p=5#comments</comments>
		<pubDate>Wed, 14 Mar 2007 08:17:01 +0000</pubDate>
		<dc:creator>MP</dc:creator>
		
		<category><![CDATA[PHP Tip/Tricks]]></category>

		<guid isPermaLink="false">http://www.mpwebstudio.com/wordpress/?p=5</guid>
		<description><![CDATA[Quante volte vi è toccato stampare totalmente un oggetto o un array perchè non vi tornavano i conti perchè ad esempio il contenuto di una variabile era diverso da quello che vi aspettavate? E quante volte ancora lo avete fatto usando print_r()?
Se la vostra risposta è molte probabilmente troverete utile questo post: come sapete bene [...]]]></description>
			<content:encoded><![CDATA[<p>Quante volte vi è toccato stampare totalmente un oggetto o un array perchè non vi tornavano i conti <strong>perchè ad esempio il contenuto di una variabile era diverso da quello che vi aspettavate</strong>? E quante volte ancora lo avete fatto usando <strong>print_r()</strong>?</p>
<p>Se la vostra risposta è molte probabilmente troverete utile questo post: come sapete bene print_r è già molto per chi non ha tempo da perdere e necessita di debug veloci e particolarmente chiari. <strong>Print_r()</strong> è discretamente chiaro ma si può fare di meglio. L'output di print_r è formattato per essere letto testualmente, in una pagina html il risultato non è totalmente apprezzabile anzi è un po' una schifezza. Come ovviare a ciò? Modificare l'output di print_r() con una funzione per sostituire tutti gli spazi generati da print_r() con <strong>&amp;nbsp;</strong> e i ritorno a capo (\n) con </strong>&lt;br&gt;</strong>. </p>
<p>La funzione che ci può servire è questa:</p>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-22">
<div class="php"><span style="color:#000000; font-weight:bold;">&lt;?php</span></p>
<p><span style="color:#000000; font-weight:bold;">function</span> print_r_html<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$obj</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp;<span style="color:#000066;">echo</span> <span style="color:#FF0000;">"&lt;pre&gt;"</span>.<span style="color:#000066;">str_replace</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#000066;">array</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"<span style="color:#000099; font-weight:bold;">\n</span>"</span> , <span style="color:#FF0000;">" "</span><span style="color:#006600; font-weight:bold;">&#41;</span>, <span style="color:#000066;">array</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"&lt;br&gt;"</span>, <span style="color:#FF0000;">"&amp;nbsp;"</span><span style="color:#006600; font-weight:bold;">&#41;</span>, <span style="color:#000066;">print_r</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$obj</span>, <span style="color:#000000; font-weight:bold;">true</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#FF0000;">"&lt;/pre&gt;"</span>;<br />
<span style="color:#006600; font-weight:bold;">&#125;</span></p>
<p><span style="color:#000000; font-weight:bold;">?&gt;</span></div>
</div>
</div>
<p></p>
<p>MP</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mpwebstudio.com/wordpress/?feed=rss2&amp;p=5</wfw:commentRss>
		</item>
		<item>
		<title>Stack, vettori o semplicemente array&#8230;</title>
		<link>http://www.mpwebstudio.com/wordpress/?p=3</link>
		<comments>http://www.mpwebstudio.com/wordpress/?p=3#comments</comments>
		<pubDate>Tue, 13 Mar 2007 18:26:02 +0000</pubDate>
		<dc:creator>MP</dc:creator>
		
		<category><![CDATA[PHP Guide]]></category>

		<guid isPermaLink="false">http://www.mpwebstudio.com/wordpress/?p=3</guid>
		<description><![CDATA[Apro questo piccolo spazio con un introduzione abbastanza veloce sul mondo dei vettori (che io amo chiamare array). Personalmente io li uso moltissimo (anzi ne abuso) perchè in php, a differenza di java e del c, hanno numerose caratteristiche interessanti... spero che alla fine direte cazzo figata!
Partiamo con un po' di teoria (buuuuuuuuuh), con vettore [...]]]></description>
			<content:encoded><![CDATA[<p>Apro questo piccolo spazio con un introduzione abbastanza veloce sul mondo dei vettori (che io amo chiamare array). Personalmente io li uso moltissimo (anzi ne abuso) perchè in php, a differenza di java e del c, hanno numerose caratteristiche interessanti... spero che alla fine direte cazzo figata!</p>
<p>Partiamo con un po' di teoria (buuuuuuuuuh), con vettore si intende una collezione di variabili a cui si accede attraverso un particolare valore chiamato indice che permette di utilizzare la variabile a lui associata. La potenza degli array in PHP è che <strong>ogni singola variabile può essere di tipo diverso dalle altre presenti nella collezione</strong> in parole povere possiamo inserire in un unico array stringhe, numeri interi, valori con virgola, oggetti e altri array...<br />
Cosa che se stessimo lavorando con c farebbe rizzare i capelli in testa al compilatore...</p>
<p>Passiamo ora nel tecnico (urrah!): ad esmpio se volessimo rappresentare con l'aiuto di php la nostra lista di canzoni..</p>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-26">
<div class="php"><span style="color:#000000; font-weight:bold;">&lt;?php</span></p>
<p>
<span style="color:#0000FF;">$mya</span> = <span style="color:#000066;">array</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">"Toto - Africa"</span>,<span style="color:#FF0000;">"Duran Duran - Save a prayer"</span>,<span style="color:#FF0000;">"Cristina D'avena - Pollon"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</p>
<p><span style="color:#000000; font-weight:bold;">?&gt;</span></div>
</div>
</div>
<p></p>
<p>Abbiamo (ho) creato un piccolo array di tre elementi di nome "$mya". Per i più ho scoperto l'acqua calda, per altri invece si è aperto un nuovo mondo. In pratica $myarray conterrà tre variabili che a loro volta conterranno ognuna un nome di canzone. La domanda qui sorge spontanea: come faccio ad accedere ad ogni singola variabile?</p>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-27">
<div class="php"><span style="color:#000000; font-weight:bold;">&lt;?php</span></p>
<p>
<span style="color:#000066;">echo</span> <span style="color:#FF0000;">"Mi piacciono i cartoni animati perchè ascolto "</span>.<span style="color:#0000FF;">$mya</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;">2</span><span style="color:#006600; font-weight:bold;">&#93;</span>;</p>
<p><span style="color:#000000; font-weight:bold;">?&gt;</span></div>
</div>
</div>
<p></p>
<p>In questo modo stamperò "mi piacciono i cartoni animati perchè ascolto Cristina D'avena - Pollon"</p>
<p>L'indice di associazione parte da 0 perciò se ho un array di n elementi l'ultimo elemento sarà l'(n-1)-esimo e non l'n-esimo come si potrebbe pensare.</p>
<p>Php eredita dal c la notazione a parentesi quadre per rappresentare l'indice di un array, cosa che visual basic non fa utilizzando semplicemente le parentesi tonde e generando un po' di confusione scambiando talvolta array con funzioni.</p>
<p>Le potenzialità degli array sono ancora tutte da scoprire: abbiamo visto indici numerici ma cosa succede se scriviamo:</p>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-28">
<div class="php"><span style="color:#000000; font-weight:bold;">&lt;?php</span></p>
<p>
<span style="color:#0000FF;">$mya</span> = <span style="color:#000066;">array</span><span style="color:#006600; font-weight:bold;">&#40;</span>&nbsp; &nbsp; &nbsp;<span style="color:#FF0000;">"Rock"</span>&nbsp; &nbsp; &nbsp;=&gt; <span style="color:#FF0000;">"Boston"</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#FF0000;">"Classica"</span> =&gt; <span style="color:#FF0000;">"Mozart"</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#FF0000;">"Dance"</span>&nbsp; &nbsp; =&gt; <span style="color:#FF0000;">"Planet Funk"</span>, <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#FF0000;">"Punk"</span>&nbsp; &nbsp; &nbsp;=&gt; <span style="color:#FF0000;">"korn"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</p>
<p><span style="color:#000066;">print_r</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$mya</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</p>
<p><span style="color:#000000; font-weight:bold;">?&gt;</span></div>
</div>
</div>
<p></p>
<p>In questo caso ho inizializzato un array utilizzando degli indici personali che non sono numerici....ma bensì stringhe... una cosa che può risultare assurda anche a chi conosce linguaggi di programmazione come c o java. In php è possibile utilizzare oltre che formati numerici anche stringhe per rappresentare gli indici.</p>
<p>La funzione print_r($mya) permette di stampare l'array in formato apprezzabile (cioè ben formattato) visto che per stampare un array ci vuole un for particolare...che illustrerò nei prossimi post!</p>
<p>mp</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mpwebstudio.com/wordpress/?feed=rss2&amp;p=3</wfw:commentRss>
		</item>
	</channel>
</rss>
