Home

ModAAO per SMF

Scritto da BaXaras   
giovedì 01 maggio 2008

 

 

Ecco ci qua dopo aver utilizzato il forum di phpnuke ho puntato per SMF e volevo aggiungere anche qua l'Id del tracker ebbene ecco qua la prova.

 

Non è stato complesso come la scorsa volta, dato che avevo tutta la pappetta pronta, anzi ringrazio Marco P per la nuova modifica per la guid.

Cmq ecco come sono arrivato alla soluzione finale.

 

In pratica ho utilizzato il campo del testo personale per mettere l'Id del tracker ecco come fare:

 

Iniziamo subito creiamo nella root del nostro sito la cartella /cache/profiles

File da modifacere del tema di SMF:

 

nostro tema/Display.template.php

Themes/default/languages/profile.italian.php

 

 

iniziamo con Display.template.php

 

all'inizio del file aggiungete questa funzione naturalmente prima della TAg PHP <?php

 

function get_external($tmp,$trackerid) {
   
   // set a variable
   $contents = "";
   $filename = "./cache/profiles/profile_".$trackerid.".bk";
   $status = "";
  
   //Cache per evitare l'accesso al tracker in continuazione
   if (file_exists($filename)) {
     if(date("Y-m-d", filemtime($filename)) != date("Y-m-d")) {
            //Aggiorno
           // echo "Update!";
           $status = "Stat cache Updated!";
           $handle = fopen("http://aaotracker.com/usertracker.php?userid=".$trackerid, "rb");
           $handle2 = fopen($filename,"wb");
           // Get the info into array.
           while (!feof($handle)) {
               $sout = fread($handle, round(8*1024));
               $contents.=$sout;
               fwrite($handle2, $sout, round(8*1024));
           }
           fclose($handle);
           fclose($handle2);
        } else {
            // echo "Non serviva update!";
            $handle = fopen($filename,"rb");
            while (!feof($handle)) {
                 $contents.= fread($handle, round(8*1024));
            }
            fclose($handle);
        }
   } else {
        // echo "Creo il file!";
        $status = "Stat cache Created!";
        $handle = fopen("http://aaotracker.com/usertracker.php?userid=".$trackerid, "rb");
        $handle2 = fopen($filename,"w+b");
        while (!feof($handle)) {
             $sout = fread($handle, round(8*1024));
             $contents.= $sout;
             fwrite($handle2, $sout, round(8*1024));
         }
      fclose($handle);
      fclose($handle2);
    }
  
   $tmp = str_replace( '{status}',  $status      , $tmp );
   $tmp = str_replace('{updated}', date("d/m g:i a", filemtime($filename)), $tmp);
  
   preg_match_all("|size=\"2\"><a title=\"PBGUID:(.*)</a>|U", $contents, $out_nick, PREG_PATTERN_ORDER);
   preg_match_all("|size=\"2\">(.*)</font></td>|U", $contents, $out, PREG_PATTERN_ORDER);

   list($guid,$nick) = split("\">",$out_nick[1][0]);
  
   if($nick == "") {
     $tmp = "<br><br>Informazioni del tracker non disponibili!<br>L'utente potrebbe avere il profilo privato o il tracker non è momentaneamente disponibile!";
        return $tmp;
    }
  
   $tmp = str_replace( '{nick}', $nick   , $tmp );
   $tmp = str_replace( '{guid}', $guid   , $tmp );
   $tmp = str_replace( '{rank}', $out[1][3]   , $tmp );
   $tmp = str_replace( '{fragrate}',  $out[1][17]      , $tmp );
   $tmp = str_replace( '{longestsession}',  $out[1][11]      , $tmp );
   $tmp = str_replace( '{kills}',  $out[1][13]      , $tmp );
   $tmp = str_replace( '{kia}',  $out[1][15]      , $tmp );
   $tmp = str_replace( '{honor}',  $out[1][5]      , $tmp );
    preg_match_all("|size=\"2\"><b>(.*)</b></font></td>|U", $contents, $out, PREG_PATTERN_ORDER);
  
    $map = $out[1];
    $bestmap = 5;
  
    for($i = 5; $i <sizeof($map); $i=$i+2)
       if(str_replace(" Hours","",$map[$bestmap]) <str_replace(" Hours","",$map[$i]))
           $bestmap = $i;
          
    $tmp = str_replace( '{bestmap}',  $map[$bestmap-1], $tmp);
      
      
   preg_match_all("|: (.+)%|U", $contents, $out, PREG_PATTERN_ORDER);
  
   $tmp = str_replace( '{activity}',  $out[1][0]      , $tmp );
   $tmp = str_replace( '{popularity}',  $out[1][1]      , $tmp );
   $tmp = str_replace( '{experience}',  $out[1][2]      , $tmp );
   $tmp = str_replace( '{nexthonor}',  $out[1][3]      , $tmp );
          
   preg_match_all("|Images/stars/(.*)\.gif|U", $contents, $out, PREG_PATTERN_ORDER);
  
   $tmp = str_replace( '{stars}',  $out[1][0]      , $tmp );
  
    return $tmp;
  }
 

 

 

 ora trovate la seguente stringa dove in pratica viene stampato il record del testo personale:

 

if (!empty($settings['show_blurb']) && $message['member']['blurb'] != '')

 

eliminate questo prima:

 

echo '
                                ', $message['member']['blurb'], '<br />
                                <br />';

 

 

di seguito mettete questo:

 

{
                                     $tmp="
<strong><a href=\"http://www.aaotracker.com/usertracker.php?userid={content}\"><span style=\"color:#039fe2\">{nick}</span></a> </strong><br><span style=\"color:#9b9b9b\">{rank}</span><br>
<img src=\"http://aaotracker.com/Images/stars/{stars}.gif\">
<br><br>
Honor: <strong>{honor}</strong><br>
Fragrate: <span style=\"color:#99FFFF\"><strong>{fragrate}</strong></span><br>
Activity: <span style=\"color:#FF3366\"><strong>{activity} %</strong></span><br>

Popularity: <span style='color:#00FF33'><strong>{popularity} %</strong></span><br>

Experience: <span style='color:#33CCFF'><strong>{experience} %</strong></span><br>
<br>

Next Honor: <span style='color:#FFCC99'><strong>{nexthonor} %</strong></span><br><br>
I pwnd  <span style='color:#99CC66'><strong>{kills}</strong></span> n00bz <br />
I rosik <span style='color:#FF99CC'><strong>{kia}</strong></span> times<br />
ROE: A lot...<br />
<br>
Actually i'm <a href=\"http://www.aaotracker.com/usertracker.php?userid={content}\"> <img border=\"0\" src=\"http://www.aaotracker.com/trackericon.php?userid={content}&style=6\"></a><br /><br></strong><span style=\"color:#9b9b9b\">Last update {updated}<br>{status}</span><br><br>";
        echo get_external($tmp,$message['member']['blurb']);
    }

 

 

ora aprite il file della lingua e cercate:

 

Testo personale

 

cambiate con

 

Id Tracker

 

ecco qua ed il gioco è fatto.

Ricordate per problemi contattatemi pure.

Saluti! 

 

 

 

 

Ultimo aggiornamento ( giovedì 01 maggio 2008 )
 

Joomla SMF Registration con Captcha

Scritto da BaXaras   
sabato 22 marzo 2008

Dopo diversi mesi ad utilizzare Joomla ho notato che diversi bot si divertono ad insciversi continuamente al sito dato che non c'è una vera e propria protezione dato che qulla presente nel file registration.php è solo uno script in java che riescono a saltare.

Ebbene dopo diversi giorni a cercare e ricercare qualche patch o modulo o componente ne ho trovati diversi ma tutti molto complessi da poter adattare al bridge di SMF per Joomla quindi cosa fare.

Come al solito farselo a mano.

Leggendo in giro e prendendo inspiarazione da esempi ecco cosa sono riuscito a fare.

 

File da modificare:

registration.php  (/components/com_registration)

registration.html.php (/components/com_registration)

smf_registration.php (/components/smf_com_registration)

smf_registration.html.php (/components/smf_com_registration)

 

Iniziamo:

 

Allora pe iniziare dobbiamo metter il codice nella pagina di inscizione che sarebbe registration.html.php e smf_registration.html.php e poi controllare la validità del codice nella pagina seguente in questo caso registration.php e smf_registration.php.

 

Pagina registration.html.php e smf_registration.html.php apriamo e modifichiamo 

Modifichiamo la pagina andando ad inserire il codice per la creazione di un codice casuale in un immagine:

dopo

 

<td colspan="3"><input class="inputbox" type="text" name="MSN" size="40" value="" /></td>
        </tr>
        <tr>
            <td> 

andiamo ad inserire:

 

Inserisci codice:

 

<?php 

 

$stringa = md5(microtime());
$font_size = 5;
$letter_width = imagefontwidth($font_size);
$letter_height = imagefontheight($font_size);
$messaggio = substr($stringa, 0, 5);

$larghezza = strlen($messaggio);
$larghezza_px = $letter_width * $larghezza;
$im = imagecreate($larghezza_px + 10 , $letter_height + 10);
$background = imagecolorallocate($im, 0xFF, 0xFF, 0x00);
$textcolor = imagecolorallocate($im, 0x33, 0x00, 0xCC);
imagestring($im, $font_size, 5, 5, $messaggio, $textcolor);

imagejpeg($im, "components/com_smf_registration/captcha.jpg");
imagedestroy($im);

$codicex= $messaggio;   
     
  ?>
           
            <br /><img src="components/com_smf_registration/captcha.jpg"><?php  echo '</td>
            </td>
            <td>
                <input class="text" type="codice" name="codice" size="40" value="" />
            </td>
        </tr>';
       

?>


 

 

infine andiamo a ricercare la seguente riga:

 

<input type="hidden" name="id" value="0" />

 

sotto di essa immettiamo questo:

 

<input type="hidden" name="codicev" value="'. $codicex .'" />

 

Finito.

Fino a qui cosa abbiamo fatto, nel form di registrazione ho aggiunto un campo dove poter inserire il codice sarebbe questo:

 <input class="text" type="codice" name="codice" size="40" value="" />

poi abbiamo messo prima del campo la foto con il codice dentro. 

<img src="components/com_smf_registration/captcha.jpg">

 

Infine ho creato un input hidden dove depositare il valore che l'utente scrive per andare a confrontare nella prossima pagina il codice se giusto.

 

Ora passiamo alla verifica del codice immesso quindi andiamo a modificare registration.php e smf_registration.php

 

Ricerchiamo la funzione

 

function saveRegistration() {

 

sotto di essa mettiamo:

 

 $controllo = $_POST['codice']; //Codice Inserito da Utente
    $codice=$_POST['codicev']; //Codice Generato
   
    if ($controllo!=$codice)
        {echo "<br>Codice Inserito ERRATO!!!<br>";
         mosNotAuth();
        return;
        }

 

Salviamo e ci siamo riparati il culo da sti cazzo di robot.

Per ora e tutto fatemi sapere se avete problemi, anzi vi uppo qui in allegato i miei file.

 

Download MoDCaptcaSMF Joomla 

Ultimo aggiornamento ( sabato 22 marzo 2008 )
 

openSuse 10.3

Scritto da BaXaras   
mercoledì 02 gennaio 2008

Ebbene si ho deciso di testare la openSuse 10.3, dato che era molto contemplata da amici ho deciso di provarla si presenta così con queste caratteristiche:

 

Kernel 2.6.22, ultima release stabile disponibile

Server grafico X.Org 7.2

KDE 3.5 ma con alcuni componenti della nuova vers 4 

Gnome 2.20 

 

Be procedendo dall'inizio l'installazione come al solito non cambia diciamo che è sempre quella facile e molto intutiva. Per questo consiglio vivamanete a coloro che passano da win a linux consiglio queste distro, menu sempolici con guide nell'installazione.

Però come al solito una volta installata io personalemnte la vedo molto piena sempre zeppa di software di vario genere, che prima che li userò tutti arrivo alla tomba.

 

Cmq per coloro che iniziano con linux la consiglio come detto sopra.

Come prima cosa ho installato subito i driver ATI la mia tortura finche non decideranno di facilitarci il compito di installarli.

Ho utilizzato questa guida eccellente: http://www.openlinux.eu/content/view/114/35/ Presa dal sito  open linux. Complimenti veramente,

Grazie a questa guida sono riuscito ad avere la mai ATI pronta e funzionante con il 3D abilitato.

 

Dopo di che ho notato ad occhio che mancavano alcune cose fondamentali, come i codec dei DivX e Mp3.

Dato che la distro in questione non ha con se i vari codec ho cominciato a cercare e subito ho trovato al seguente sito la risposta:

 

http://opensuse-community.org/Multimedia

 

qui ho trovato un autoinstallanate che mi ha permesso di vedere i miei video ed ascoltare midi ed mp3 senza nessun problema!

 

Ecco qua alcuni Screen di opensuse 10.3:


 

 

 

Ultimo aggiornamento ( mercoledì 02 gennaio 2008 )
 
<< Inizio < Prec. 1 2 3 4 Pross. > Fine >>

Risultati 5 - 8 di 14