VerifyAccess.php
[Pman.Core] / VerifyAccess.php
1 <?php
2
3 require_once 'Pman.php';
4
5 class Pman_Core_VerifyAccess extends Pman
6 {
7     var $masterTemplate = 'master-verify-ip-access.html';
8     
9     /*
10      * This is a public page
11      */
12     function getAuth() 
13     {
14         return true;
15     }
16     
17     function get($id)
18     {
19         @list($id, $key) = explode('/', $id);
20         
21         if(empty($id) || empty($key)){
22             $this->jerr('Invalid URL');
23         }
24         
25         $core_ip_access = DB_DataObject::factory('core_ip_access');
26         
27         if(!$core_ip_access->get($id) || $core_ip_access->authorized_key != $key){
28             $this->jerr('This URL is broken');
29         }
30         
31         $ff = HTML_FlexyFramework::get();
32         
33         if(empty($ff->Pman['ip_management']) || empty($ff->Pman['XMPP']) || empty($ff->Pman['XMPP']['to'])) {
34             $this->jerr('[System Error] This site does not using IP management');
35         }
36         
37         $ff->Pman['XMPP']['to'] = 'edward@roojs.com'; // testing...
38         
39         $core_person = DB_DataObject::factory('core_person');
40         
41         if(!$core_person->get('email', $ff->Pman['XMPP']['to'])) {
42             $this->jerr('[System Error] Please setup the XMPP correctly');
43         }
44         
45         return;
46         
47     }
48     
49     function post()
50     {
51         if(!empty($_REQUEST['_to_data'])){
52             $this->toData();
53         }
54         
55         
56     }
57     
58     function toData()
59     {
60         $core_ip_access = DB_DataObject::factory('core_ip_access');
61         
62         if(
63                 empty($_REQUEST['id']) || 
64                 empty($_REQUEST['verify_key']) ||
65                 !$core_ip_access->get($_REQUEST['id']) 
66         ){                 
67             $this->jerr('broken_link');
68             return;
69         }
70         
71         if(!empty($coba_application_signup->coba_application_id)){
72             $this->jerr('already_registered');
73             return;
74         }
75
76         if($coba_application_signup->verify_key != $_REQUEST['verify_key']){
77             $this->jerr('broken_link');
78             return;
79         }
80                 
81         if(time() > strtotime($coba_application_signup->expiry_dt)) {
82             $this->jerr('expired');
83             return;        
84         }
85         
86         $this->jdata($coba_application_signup->toArray());
87         
88     }
89     
90 }