Pman/Login.php
authoredward <edward@roojs.com>
Mon, 15 Jan 2018 08:02:27 +0000 (16:02 +0800)
committeredward <edward@roojs.com>
Mon, 15 Jan 2018 08:02:27 +0000 (16:02 +0800)
Pman/Login.php

index e684d0a..e44594f 100644 (file)
@@ -469,8 +469,49 @@ class Pman_Login extends Pman
         
         $core_ip_access = DB_DataObject::factory('core_ip_access');
         
-        if(!$core_ip_access->get('ip', $ip)){
-            return;
+        if(!DB_DataObject::factory('core_ip_access')->count()){ // first ip we always mark it as approved..
+            
+            $core_ip_access = DB_DataObject::factory('core_ip_access');
+            
+            $core_ip_access->setFrom(array(
+                'ip' => $ip,
+                'created_dt' => $core_ip_access->sqlValue("NOW()"),
+                'authorized_key' => md5(openssl_random_pseudo_bytes(16)),
+                'status' => 1,
+                'email' => (empty($_REQUEST['username'])) ? '' : $_REQUEST['username'],
+                'user_agent' => (empty($_SERVER['HTTP_USER_AGENT'])) ? '' : $_SERVER['HTTP_USER_AGENT']
+            ));
+            
+            $core_ip_access->insert();
+        }
+        
+        $core_ip_access = DB_DataObject::factory('core_ip_access');
+        
+        if(!$core_ip_access->get('ip', $ip)){ // new ip
+            
+            $core_ip_access->setFrom(array(
+                'ip' => $ip,
+                'created_dt' => $core_ip_access->sqlValue("NOW()"),
+                'authorized_key' => md5(openssl_random_pseudo_bytes(16)),
+                'status' => 0
+            ));
+            
+            $core_ip_access->insert();
+            
+            $core_ip_access->sendXMPP();
+            
+            $this->jerr('NEW-IP-ADDRESS', array('ip' => $ip));
+        }
+        
+        $core_ip_access->sendXMPP();
+        exit;
+        
+        if(empty($core_ip_access->status)){
+            $this->jerr('PENDING-IP-ADDRESS', array('ip' => $ip));
+        }
+        
+        if($core_ip_access->status == -1){
+            $this->jerr('BLOCKED-IP-ADDRESS', array('ip' => $ip));
         }