web/wp-content/plugins/wptouch/include/class.prowl.php
author hurons@caf4f556-3d62-0410-8435-a86758001935
Tue, 02 Feb 2010 15:44:16 +0000
branchwordpress
changeset 132 4d4862461b8d
parent 123 561aa6d282f6
permissions -rw-r--r--
Update Wordpress 2.9.1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
123
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     1
<?php
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     2
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     3
class Prowl
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     4
{
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     5
   var $apikey;
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     6
   var $application;
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     7
   
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     8
   function Prowl($apikey, $application)
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     9
   {
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    10
      $this->apikey = $apikey;
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    11
      $this->application = $application;
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    12
     // $this->verify();
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    13
   }
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    14
   
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    15
   function add($priority, $event, $description)
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    16
   {
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    17
      $options = array(
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    18
         'apikey' => $this->apikey,
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    19
         'priority' => $priority,
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    20
         'application' => urlencode($this->application),
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    21
         'event' => urlencode($event),
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    22
         'description' => urlencode($description)
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    23
      );
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    24
      
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    25
      $response = $this->request('https://prowl.weks.net/publicapi/add', $options);
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    26
      return $this->getresult($response);
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    27
   }
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    28
   
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    29
   function getresult($response) {
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    30
		$response = str_replace("\n", " ", $response);
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    31
	
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    32
		if(preg_match("/code=\"200\"/i", $response))
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    33
			return true;
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    34
		else
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    35
		{
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    36
			preg_match("/<error.*?>(.*?)<\/error>/i", $response, $out);
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    37
			return $out[1];
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    38
		}
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    39
   }
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    40
   
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    41
   function verify()
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    42
   {
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    43
      $options = array('apikey' => $this->apikey);
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    44
      return $this->getresult( $this->request('https://prowl.weks.net/publicapi/verify', $options) );
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    45
   }
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    46
   
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    47
   function request($file, $options)
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    48
   {
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    49
      $url = $file;
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    50
      
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    51
      $first = true;
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    52
      foreach ($options as $key => $value) {
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    53
         $url .= ($first ? '?' : '&') . $key . '=' . $value;
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    54
         $first = false;
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    55
      }
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    56
      
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    57
      $ch = curl_init($url);
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    58
      curl_setopt($ch, CURLOPT_HEADER, false);
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    59
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    60
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    61
      curl_setopt($ch, CURLOPT_TIMEOUT, 10);
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    62
      $response = curl_exec($ch);
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    63
      curl_close($ch);
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    64
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    65
      return $response;
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    66
   }
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    67
}
561aa6d282f6 pre production version :
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    68
?>