DataObjects/pman.links.ini
[Pman.Core] / DataObjects / Core_person.php
index 7c1b37c..bbe4a17 100644 (file)
@@ -151,7 +151,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         $decoder = new Mail_mimeDecode($mailtext);
         $parts = $decoder->getSendArray();
         
-        if (PEAR::isError($parts)) {
+        if (is_a($parts,'PEAR_Error')) {
             return $parts;
             //echo "PROBLEM: {$parts->message}";
             //exit;
@@ -350,9 +350,11 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         $u->whereAdd(' LENGTH(passwd) > 0');
         $n = $u->count();
         $_SESSION[get_class($this)][$sesPrefix .'-empty']  = $n;
-        $error =  PEAR::getStaticProperty('DB_DataObject','lastError');
-        if ($error) {
-            die($error->toString()); // not really a good thing to do...
+        if (class_exists('PEAR')) {
+            $error =  PEAR::getStaticProperty('DB_DataObject','lastError');
+            if ($error) {
+                die($error->toString()); // not really a good thing to do...
+            }
         }
         if (!$n){ // authenticated as there are no users in the system...
             return true;
@@ -502,8 +504,11 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
     function checkPassword($val)
     {
         
+        
         if (substr($this->passwd,0,1) == '$') {
-            
+            if (function_exists('pasword_verify')) {
+                return password_verify($val, $this->passwd);
+            }
             return crypt($val,$this->passwd) == $this->passwd ;
         }
         // old style md5 passwords...- cant be used with courier....
@@ -512,6 +517,10 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
     
     function setPassword($value) 
     {
+        if (function_exists('pasword_hash')) {
+            return password_hash($value);
+        }
+        
         $salt='';
         while(strlen($salt)<9) {
             $salt.=chr(rand(64,126));
@@ -966,12 +975,10 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
     function setFromRoo($ar, $roo)
     {
          $this->setFrom($ar);
-         
         if (!empty($ar['passwd1'])) {
             $this->setPassword($ar['passwd1']);
         }
         
-        
         if (    $this->id &&
                 ($this->email == $roo->old->email)&&
                 ($this->company_id == $roo->old->company_id)