DataObjects/Core_ip_access.php
[Pman.Core] / DataObjects / Core_ip_access.php
1 <?php
2
3 class_exists('DB_DataObject') ? '' : require_once 'DB/DataObject.php';
4
5 class Pman_Core_DataObjects_Core_ip_access extends DB_DataObject 
6 {
7     ###START_AUTOCODE
8     /* the code below is auto generated do not remove the above tag */
9
10     public $__table = 'core_ip_access';
11     public $id;
12     public $ip;
13     public $created_dt;
14     public $status;
15     public $authorized_by;
16     public $authorized_key;
17     public $email;
18     public $expire_dt;
19     public $user_agent;
20
21     /* the code above is auto generated do not remove the tag below */
22     ###END_AUTOCODE
23     
24     function applyFilters($q, $au)
25     {
26         
27     }
28     
29     function sendXMPP()
30     {
31         $ff = HTML_FlexyFramework::get();
32         
33         if(
34                 empty($ff->Pman['ip_management']) || 
35                 empty($ff->Pman['XMPP']) ||
36                 empty($ff->Pman['XMPP']['username']) ||
37                 empty($ff->Pman['XMPP']['password']) ||
38                 empty($ff->Pman['XMPP']['to']) ||
39                 empty($ff->Pman['XMPP']['host'])
40         ) {
41             return;
42         }
43         
44         require_once 'Net/XMPP.php';
45             
46         $conn = new Net_XMPP('talk.google.com', 5222, $ff->Pman['XMPP']['username'], $ff->Pman['XMPP']['password'], 'xmpphp', 'gmail.com', $printlog=false, $loglevel=Net_XMPP_Log::LEVEL_VERBOSE);
47
48         $url = "https://{$ff->Pman['XMPP']['host']}{$ff->baseURL}/Core/VerifyAccess/{$this->id}/{$this->authorized_key}";
49         
50         try {
51             $conn->connect();
52             $conn->processUntil('session_start');
53             $conn->presence();
54             $conn->message($ff->Pman['XMPP']['to'], "New IP Login Required\n{$url}");
55             $conn->disconnect();
56             
57         } catch(XMPPHP_Exception $e) {
58             $ff->page->jerr($e->getMessage());
59         }
60
61         return;
62         
63     }
64     
65     
66 }