Pman/Login.php
[Pman.Base] / Pman / Login.php
index af57e53..7df3242 100644 (file)
@@ -57,7 +57,12 @@ class Pman_Login extends Pman
             //DB_Dataobject::debugLevel(5);
             $this->sendAuthUserDetails();
             exit;
-           
+        }
+        
+        if(!empty($_REQUEST['check_owner_company'])) {
+            $core_company = DB_DataObject::factory('core_company');
+            $core_company->comptype = 'OWNER';
+            $this->jok($core_company->count());
         }
         
         // might be an idea to disable this?!?
@@ -74,7 +79,6 @@ class Pman_Login extends Pman
             $this->switchPublicUser($_REQUEST['loginPublic']);
         }
         
-        
         $this->jerr("INVALID REQUEST");
         exit;
     }
@@ -83,7 +87,8 @@ class Pman_Login extends Pman
     function logout()
     {
         $ff = class_exists('HTML_FlexyFramework2') ?  HTML_FlexyFramework2::get()  :  HTML_FlexyFramework::get();
-        //DB_DAtaObject::debugLevel(1);
+        
+       //DB_DAtaObject::debugLevel(1);
         $u = $this->getAuthUser();
         //print_r($u);
         if ($u) {
@@ -124,10 +129,13 @@ class Pman_Login extends Pman
         $tbl = empty($ff->Pman['authTable']) ? 'core_person' : $ff->Pman['authTable'];
         
         $u = DB_DataObject::factory($tbl);
+        $s = DB_DataObject::Factory('core_setting');
         if (!$u->isAuth()) {
-             
-            $this->jok(array('id' => 0)); // not logged in..
-            exit;
+            $this->jok(array(
+                'id' => 0,
+                 'disable_oath' => (bool) $s->lookup('core', 'two_factor_authentication') ? 0 : 1
+             )); // not logged in..
+             exit;
         }
         //die("got here?");
         $au = $u->getAuthUser();
@@ -177,7 +185,6 @@ class Pman_Login extends Pman
             
     }
 
-    
     function switchUser($id)
     {
         $tbl = empty($ff->Pman['authTable']) ? 'core_person' : $ff->Pman['authTable'];
@@ -188,13 +195,11 @@ class Pman_Login extends Pman
         
         $au = $u->getAuthUser();
         
-        
         // first check they have perms to do this..
         if (!$au|| ($au->company()->comptype != 'OWNER') || !$this->hasPerm('Core.Person', 'E')) {
             $this->jerr("User switching not permitted");
         }
-        
-        
+                
         $u = DB_DataObject::factory($tbl);
         $u->get($id);
         if (!$u->active()) {
@@ -202,7 +207,7 @@ class Pman_Login extends Pman
         }
         $u->login();
             // we might need this later..
-        $this->addEvent("SWITCH USER", false, $au->name . ' TO ' . $u->name);
+        $this->addEvent("SWITCH-USER", false, $au->name . ' TO ' . $u->name);
         $this->jok("SWITCH");
         
     }
@@ -281,7 +286,7 @@ class Pman_Login extends Pman
         }
         
         $u->authUserName($_REQUEST['username']);
-        print_r($u);exit;
+        
         if ($u->count() > 1 || !$u->find(true)) {
             $this->jerror('LOGIN-BAD','You typed the wrong Username or Password  (1)');
             exit;
@@ -292,7 +297,7 @@ class Pman_Login extends Pman
         }
         
         if(!empty($u->oath_key) && empty($_REQUEST['oath_password'])){
-            $this->jerror('LOGIN-BAD','Your account require Two-Factor Authentication');
+            $this->jerror('LOGIN-BAD','Your account requires Two-Factor Authentication');
         }
         
         // check if config allows non-owner passwords.
@@ -312,7 +317,10 @@ class Pman_Login extends Pman
             exit;
         }
         
-        if(!empty($u->oath_key) && !$u->checkTwoFactorAuthentication(trim($_REQUEST['oath_password'],"\x10"))){
+        if(
+            !empty($u->oath_key) && 
+            !$u->checkTwoFactorAuthentication($_REQUEST['oath_password'], $u->oath_key)
+        ){
             $this->jerror('LOGIN-BAD', 'You typed the wrong Username or Password  (3)');
             exit;
         }
@@ -461,7 +469,7 @@ class Pman_Login extends Pman
         }
         
         $ip = $this->ip_lookup();
-        print_R($ip);exit;
+        
         if(empty($ip)){
             $this->jerr('BAD-IP-ADDRESS', array('ip' => $ip));
         }
@@ -508,9 +516,6 @@ class Pman_Login extends Pman
             return;
         }
         
-        $core_ip_access->sendXMPP();
-        exit;
-        
         if(empty($core_ip_access->status)){
             $this->jerr('PENDING-IP-ADDRESS', array('ip' => $ip));
         }
@@ -520,7 +525,7 @@ class Pman_Login extends Pman
             return;
         }
         
-        if(strtotime($core_ip_access->expire_dt) > 0 && strtotime($core_ip_access->expire_dt) < strtotime('NOW')){
+        if($core_ip_access->status == -2 && strtotime($core_ip_access->expire_dt) < strtotime('NOW')){
             $this->jerr('BLOCKED-IP-ADDRESS', array('ip' => $ip));
             return;
         }
@@ -541,7 +546,5 @@ class Pman_Login extends Pman
         
         return $_SERVER['REMOTE_ADDR'];
     }
-    
-    
 }