+ Reply to Thread
Results 1 to 5 of 5

Thread: Pr update script!!!

  1. #1
    fmatch Guest

    Default Pr update script!!!

    Why isnt this script working at bluehost...?!?!

    PHP Code:
     <?php

    // Would be nice if you could link to
    // URL:  http://www.findmatch.org
    // Title: Findmatch - 100% free online dating service
    // Description: Free international dating, matchmaking and penpal service.

    set_time_limit(3600);
    error_reporting(E_ERROR );

    $JOB="PRUPDATE"//PRUPDATE or RECPRCHECK
    $usersite=""//The url you expect to find at reciprocal location
    $username="";
    $password="";
    $dbname="";
    $hostname="localhost";
    $linktable "PLD_LINK";

    $BATCHSIZE 500;  //How many
    $DELAY        30;  //Seconds delay before doing next batch
    $DEBUG 0;  // if set to 1, only prints text, do not update.

    define('GOOGLE_MAGIC'0x00000000E6359A60); // CHANGED (64Bit)
    if ( $username == "" || $password == "" || $dbname == "" || $hostname == "" ) {
        echo 
    "Please set username, password, dbname, and hostname";
        exit;
    }

    $link mysql_connect($hostname,$username,$password);
    if (!
    $link) {
        die(
    'Not connected : ' mysql_error());
    }

    $db_selected mysql_select_db("$dbname"$link);
    if (!
    $db_selected) {
        die (
    "Can't use $dbname : " mysql_error($link ));
    }

    $query="SELECT RECPR_REQUIRED,RECPR_LAST_CHECKED,FEATURED,RECPR_VALID,RECPR_URL,URL,PAGERANK FROM $linktable";
    $result=mysql_query($query,$link );
    if (
    $result == null) die ("Error in Select : " mysql_error($link ));
    $num=mysql_numrows($result );

    $i=0;

    $updatedrows=0;
    $body = <<<EOT
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <HTML><HEAD>
    <TITLE>PR Updated</TITLE>
    </HEAD><BODY>
    EOT;
    print 
    $body;
    while (
    $i $num) {
    $recpr_required=mysql_result($result,$i,"RECPR_REQUIRED");
        
    $pagerank=mysql_result($result,$i,"PAGERANK");
        
    $reciprocal=mysql_result($result,$i,"RECPR_URL");
        
    $url=mysql_result($result,$i,"URL" );
        
    $featured=mysql_result($result,$i,"FEATURED" );
        
    $lastchecked=mysql_result($result,$i,"RECPR_LAST_CHECKED");
        
    flush();
        switch (
    $JOB) {
        case 
    "PRUPDATE":

            
    $google= new google_pr();
            
    $newpr=$google->get_page_rank($url);

            if (
    $pagerank <> $newpr && $newpr  != -1) {
                ++
    $updatedrows;
                print 
    $i+") PR: $pagerank (New PR=$newpr) ::: $url UPDATING -- ";
                
    $query="UPDATE $linktable SET PAGERANK=$newpr WHERE URL='$url'";
                if (
    $DEBUG==0mysql_query($query,$link );
                echo 
    " Record Updated<br>";

            } else {
                print 
    $i+") PR: $pagerank (PR=$newpr) ::: $url<br>";
            }

            break;
        case 
    "RECPRCHECK":
            if (
    $featured != and (strtotime($lastchecked) < strtotime("-2 weeks"))) {
                if (
    $reciprocal == "") break;

                
    $htmlString=file_get_contents($reciprocal,false);
                if (
    eregi($usersite$htmlString) or $recpr_required==0) {
                       echo 
    "'link found on $reciprocal<br>";
                    
    $google= new google_pr();
                    
    $recpr_pagerank=$google->get_page_rank($reciprocal);
                    
    $query="UPDATE $linktable SET RECPR_VALID=2,RECPR_LAST_CHECKED=NOW(),RECPR_PAGERANK=$recpr_pagerank WHERE URL='$url'";
                    if (
    $DEBUG==0mysql_query($query,$link );
                    ++
    $updatedrows;
                } else {
                    echo 
    "'link <b>NOT</b> found on $reciprocal<br>";
                    
    $query="UPDATE $linktable SET RECPR_VALID=1 WHERE URL='$url'";
                    if (
    $DEBUG==0mysql_query($query,$link );
                    ++
    $updatedrows;

                }
            }
            break;
        }

        ++
    $i;
        if (
    fmod($i,$BATCHSIZE) == 0sleep($DELAY); //Sleep 10 sec for each block of 50 links.
    }

    mysql_close($link);

    $footer = <<<EOT
    <br>
    <b>Finished checking through $num links in your database.
    <br>
    $updatedrows of $num where not up2date and was corrected.</b>
    <br>

    </BODY></HTML>
    EOT;

    print 
    $footer;

    class 
    google_pr{

    var 
    $checksum;

    function 
    google_pr(){
        
    $this->checksum='';
    }

    function 
    zeroFill($a$b){
        
    $z hexdec(80000000);
        if (
    $z $a)
        {
            
    $a = ($a>>1);
            
    $a &= (~$z);
            
    $a |= 0x40000000;
            
    $a = ($a>>($b-1));
        } else {
            
    $a = ($a>>$b);
        }
        return 
    $a;
    }


    function 
    mix($a,$b,$c) {
        
    $a -= $b$a -= $c$this->toInt32($a); $a = (int)($a ^ ($this->zeroFill($c,13)));
        
    $b -= $c$b -= $a$this->toInt32($b); $b = (int)($b ^ ($a<<8));
        
    $c -= $a$c -= $b$this->toInt32($c); $c = (int)($c ^ ($this->zeroFill($b,13)));
        
    $a -= $b$a -= $c$this->toInt32($a); $a = (int)($a ^ ($this->zeroFill($c,12)));
        
    $b -= $c$b -= $a$this->toInt32($b); $b = (int)($b ^ ($a<<16));
        
    $c -= $a$c -= $b$this->toInt32($c); $c = (int)($c ^ ($this->zeroFill($b,5)));
        
    $a -= $b$a -= $c$this->toInt32($a); $a = (int)($a ^ ($this->zeroFill($c,3)));
        
    $b -= $c$b -= $a$this->toInt32($b); $b = (int)($b ^ ($a<<10));
        
    $c -= $a$c -= $b$this->toInt32($c); $c = (int)($c ^ ($this->zeroFill($b,15)));
        return array(
    $a,$b,$c);
    }

    function 
    strord($string) {
        for(
    $i=0;$i<strlen($string);$i++) {
            
    $result[$i] = ord($string{$i});
        }
        return 
    $result;
    }

    function 
    GoogleCH($url$length=null$init=GOOGLE_MAGIC) {
        if(
    is_null($length)) {
            
    $length sizeof($url);
        }
        
    $a $b 0x9E3779B9;
        
    $c $init;
        
    $k 0;
        
    $len $length;
        while(
    $len >= 12) {
            
    $a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
            
    $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
            
    $c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
            
    $mix $this->mix($a,$b,$c);
            
    $a $mix[0]; $b $mix[1]; $c $mix[2];
            
    $k += 12;
            
    $len -= 12;
        }

        
    $c += $length;
        switch(
    $len)
        {
            case 
    11$c+=($url[$k+10]<<24);
            case 
    10$c+=($url[$k+9]<<16);
            case 
    $c+=($url[$k+8]<<8);
            case 
    $b+=($url[$k+7]<<24);
            case 
    $b+=($url[$k+6]<<16);
            case 
    $b+=($url[$k+5]<<8);
            case 
    $b+=($url[$k+4]);
            case 
    $a+=($url[$k+3]<<24);
            case 
    $a+=($url[$k+2]<<16);
            case 
    $a+=($url[$k+1]<<8);
            case 
    $a+=($url[$k+0]);
        }
        
    $mix $this->mix($a,$b,$c);

        return 
    $mix[2];
    }


    function 
    getGoogleChecksum($url) {
        
    $url="info:"."http://".str_replace('http://','',$url);
        
    $tmp_ch=$this->strord($url);
        
    $this->checksum=sprintf("%u"$this->GoogleCH($tmp_ch));
        return 
    $this->checksum;
    }

    function 
    toInt32(& $x) {
        
    $z hexdec(80000000);
        
    $y = (int)$x;
        if(
    $y==-$z&&$x<-$z){
            
    $y = (int)((-1)*$x);
            
    $y = (-1)*$y;
        }
        
    $x $y;
    }

    function 
    get_page_rank($url){
        
    //$url = preg_replace('/\?.*$/','?',$url);
        
    $reqgr "info:".$url;
        
    $reqgre "info:".urlencode($url);

        
    $gch="6".$this->getGoogleChecksum($url);

        
    $patern '/^http:/';
        
    $patern2 '/^http:\/\/.*google\..*\/(search|images|groups|news).*/';
        
    $patern3 '/^http:\/\/localhost.*/';
        
    $patern4 '/^http:\/\/(127\.|10\.|172\.16|192\.168).*/'//local ip
        
    if(!preg_match($patern$url) || preg_match($patern2$url) ||
           
    preg_match($patern3$url) || preg_match($patern4$url)){
               return -
    1;
        }else{

            
    $fsock fsockopen('toolbarqueries.google.com'80$errno$errstr);
            if ( !
    $fsock ){
                return -
    1;
            }

            
    $base_get "/search?client=navclient-auto&ch=".$gch."&ie=UTF-8&oe=UTF-8&features=Rank&q=".$reqgre;

            
    fputs($fsock"GET $base_get HTTP/1.1\r\n");
            
    fputs($fsock"HOST: toolbarqueries.google.com\r\n");
            
    fputs($fsock"User-Agent: Mozilla/5.0 (compatible; GoogleToolbar 3.0.114-big; Windows XP 5.1)\r\n");
            
    fputs($fsock"Connection: close\r\n\r\n");
            while(!
    feof($fsock)){
                
    $res['content'] .= fread($fsock1024);
            }
            
    fclose($fsock);


            if(
    preg_match('/Rank_.*?:.*?:(\d+)/i'$res['content'], $m)){
                return 
    $m[1];
            }else{
                return -
    1;
            }
        }
    }
    }

    ?>

  2. #2
    Join Date
    Jun 2006
    Location
    New Zealand
    Posts
    202

    Default

    Stupid question, but you are putting in your username password and db name?
    ultimateuploader.com - Free file uploading and hosting
    ultimatevideotutorials.com - Free Photoshop video tutorials
    silentcollision.com

  3. #3
    Join Date
    Feb 2006
    Location
    Florida, USA
    Posts
    1,349

    Default

    This is in the wrong forum.

  4. #4
    Join Date
    Feb 2006
    Location
    Somewhere where I don't know where I am
    Posts
    2,155

    Default

    topic moved to Fantastico, Advanced Scripting, and Coding help! forum
    Sign Up Now!
    Unlimited Storage, Unlimited Transfer, Host Unlimited domain names, 1 Free Domain Name
    BlueHost Features | BlueHost Help Desk | Become a BlueHost Affiliate | BlueHost CEO Blog
    (888) 401-4678 | Create a support ticket

  5. #5

    Default

    I am not sure what exactly that code is trying to do, but you may want to read these:

    http://www.google.com/support/webmas...y?answer=35769

    http://www.google.com/terms_of_service.html
    Last edited by thenewguy; 09-10-2006 at 04:35 PM.

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts