%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /www/old2/_music/ingress/
Upload File :
Create Path :
Current File : /www/old2/_music/ingress/decode.php

<?php
    define('SUB_MAIL', 1);
    define('SUB_JABBER', 2);
    require("class.jabber.php");
    include "nette.php"; 
    
    use Nette\Mail\Message;
    
function HTTPGet($url)
{
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0");
    curl_setopt($curl, CURLOPT_ENCODING, ""); 
    $page = curl_exec($curl);
    curl_close($curl);
    return $page;
}
       
function q($query,$assoc=0) 
{
  global $queries;
   $r = @mysql_query($query);
   $queries++;
   if( mysql_errno() ) {
       $error = 'MYSQL ERROR #'.mysql_errno().' : <small>' . mysql_error(). "</small><br><VAR>$query</VAR>";
       echo($error); return FALSE;
   }
   $queries++;
   if( strtolower(substr($query,0,6)) != 'select' ) return array(mysql_affected_rows(),mysql_insert_id());
   $count = @mysql_num_rows($r);
   if( !$count ) return 0;
   if( $count == 1 ) {
       if( $assoc ) $f = mysql_fetch_assoc($r);
       else $f = mysql_fetch_row($r);
       mysql_free_result($r);
       if( count($f) == 1 ) {
           list($key) = array_keys($f);   
           return $f[$key];
       } else {
           $all = array();
           $all[] = $f;
           return $all;
       }
   } else {
       $all = array();
       for( $i = 0; $i < $count; $i++ ) {
           if( $assoc ) $f = mysql_fetch_assoc($r);
           else $f = mysql_fetch_row($r);
           $all[] = $f;
       }
       mysql_free_result($r);
       return $all;
   }
}

function AuthJabber()
{
	global $jabber;
    $jabber = new Jabber;

    $jabber->host         = "vserver.varak.net";
    $jabber->server         = "prestiz-pyco.eu";
    $jabber->port           = 5222;
    $jabber->username       = "ingress";
    $jabber->password       = "marfusa112";
    $jabber->resource       = "ClassJabberPHP";
    //For debug purpose
    $jabber->enable_logging = TRUE;
    $jabber->log_filename   = '/www/music/ingress/jabb.log';

    $jabber->Connect() or die("ERROR: couldn't connect!\n");
    $jabber->SendAuth() or die("ERROR: couldn't authenticate!\n");
}

    $toBeSent = array();
    $jabber = null;
    $spojeni = mysql_connect("localhost", "waritko", "blade666");
    mysql_select_db("ingress", $spojeni);
    //$maxid = q("select max(codeid) from decode");
    $known = array();
    $res = q("select code from decode order by id desc");
    foreach($res as $r)
    {
        $known[] = trim($r[0]);
    } 
    header("Content-type: text/plain");
    $text = HTTPGet("http://decodeingress.me/category/code/");
    preg_match_all('#<article id="post-([0-9]+)".*?<a href="(http://decodeingress.me/[0-9]+/[0-9]+/[0-9]+/passcode-([a-zA-Z0-9]+)/)">.*?</article>#ims', $text, $matches);
    for($i = 0; $i < count($matches); $i++)
    {
        $codeid = $matches[1][$i];
        $codelink = $matches[2][$i];
        $code = $matches[3][$i];
        if(!in_array(trim($code), $known))
        {
		    q("insert into decode(codeid, code, link) values($codeid, '$code', '$codelink')");

/// BODY
            $body = "New Ingress code!!!
Code: $code
Source: $codelink";
/// END BODY
            $toBeSent[] = $body;
        }
    }
?>
<?php
    $data = HTTPGet("https://www.googleapis.com/plus/v1/activities?query=%23ingresspasscode&orderBy=recent&maxResults=20&key=AIzaSyD_MNLtW06c-Zpmg-TjFnS_84DqKSE6i5Y");
    $obj = json_decode($data);
    foreach($obj->items as $item)
    {
        $post = $item->url;
        $cont = $item->object->attachments[0]->content;
        preg_match("/Passcode: +([0-9A-Za-z]+)/", $item->object->attachments[0]->displayName, $matches);
        $code = $matches[1];
        $body = "New DeCode Ingress code!!!
Code: $code
Google+ post link: $post
Content: $cont";
        //echo $body."\n\n";
        if(!in_array(trim($code), $known))
        {
            $toBeSent[] = $body;
            q("insert into decode(codeid, code, link) values(0, '$code', '$post')");
        }
    }
    
    
    // Send found codes
    if(count($toBeSent) > 0)
    {
        AuthJabber();
        foreach($toBeSent as $msg)
        {
            $res = q("select address from decode_subscribe where type=".SUB_MAIL);
            foreach($res as $r)
            {
                $mail = new Message;
                $mail->setFrom('Waritko <martin@varak.net>')
                ->addTo($r[0])
                ->setSubject('DeCode Ingress code')
                ->setBody($msg)
                ->send();
	       }
	       $res = q("select address from decode_subscribe where type=".SUB_JABBER);
	       foreach($res as $r)
	       {
		      if(!$jauth)
		      {
			     AuthJabber();
			     $jauth = true;
		      }
		      $jabber->SendMessage($r[0], "chat", NULL, array("body" => $msg));
	       }
        }
        $jabber->Disconnect();
    }
    mysql_close($spojeni);
?>

Zerion Mini Shell 1.0