VerifyAccess.php
[Pman.Core] / VerifyAccess.php
index 46c2a9f..b658e57 100644 (file)
@@ -4,6 +4,8 @@ require_once 'Pman.php';
 
 class Pman_Core_VerifyAccess extends Pman
 {
+    var $masterTemplate = 'master-verify-ip-access.html';
+    
     /*
      * This is a public page
      */
@@ -14,9 +16,43 @@ class Pman_Core_VerifyAccess extends Pman
     
     function get($id)
     {
-        @list($vid, $key) = explode('/', $id);
+        @list($id, $key) = explode('/', $id);
+        
+        if(empty($id) || empty($key)){
+            $this->jerr('Invalid URL');
+        }
+        
+        $core_ip_access = DB_DataObject::factory('core_ip_access');
+        
+        if(!$core_ip_access->get($id) || $core_ip_access->authorized_key != $key){
+            $this->jerr('This URL is broken');
+        }
+        
+        $ff = HTML_FlexyFramework::get();
+        
+        if(empty($ff->Pman['ip_management']) || empty($ff->Pman['XMPP']) || empty($ff->Pman['XMPP']['to'])) {
+            $this->jerr('[System Error] This site does not using IP management');
+        }
+        
+        $core_person = DB_DataObject::factory('core_person');
+        
+        
+        $ff->Pman['XMPP']['to'] = 'edward@roojs.com'; // testing...
         
+        if(
+                empty($id) ||
+                empty($key) ||
+                empty($ff->Pman['ip_management']) || 
+                empty($ff->Pman['XMPP']) ||
+                empty($ff->Pman['XMPP']['to']) ||
+                !$core_person->get('email', $ff->Pman['XMPP']['to']) ||
+                !$core_ip_access->get($id) ||
+                $core_ip_access->authorized_key != $key
+        ) {
+            $this->jerr('Invalid URL');
+        }
         
+        return;
         
     }