X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=DataObjects%2FCore_person.php;h=635ff1cfa93603e8300fee94c314c7da1feb4586;hp=120122a5e175a413a7ebf9a978730333cc72bbc1;hb=5d4ac076dc4f620fbb91944eead3e0af66216a03;hpb=83a352b5a806d1c03910f4d7683f932417c03bc8 diff --git a/DataObjects/Core_person.php b/DataObjects/Core_person.php index 120122a5..635ff1cf 100644 --- a/DataObjects/Core_person.php +++ b/DataObjects/Core_person.php @@ -2,7 +2,7 @@ /** * Table Definition for Person */ -require_once 'DB/DataObject.php'; +class_exists('DB_DataObject') ? '' : require_once 'DB/DataObject.php'; class Pman_Core_DataObjects_Core_person extends DB_DataObject @@ -293,8 +293,9 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject $_SESSION[get_class($this)][$sesPrefix .'-auth'] = serialize($u); return true; } - + //die("test init"); if (!$this->canInitializeSystem()) { + // die("can not init"); return false; } @@ -364,6 +365,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject function canInitializeSystem() { + return !strcasecmp(get_class($this) , __CLASS__); } @@ -657,7 +659,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject $g = DB_DataObject::Factory('core_group_member'); $grps = $g->listGroupMembership($this); //var_dump($grps); - $isAdmin = $g->inAdmin; + $isAdmin = $g->inAdmin; //??? what??? //echo '
'; print_r($grps);var_dump($isAdmin);
         // the load all the perms for those groups, and add them all together..
         // then load all those 
@@ -964,7 +966,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
     }
     function setFromRoo($ar, $roo)
     {
-        $this->setFrom($ar);
+         $this->setFrom($ar);
         if (!empty($ar['passwd1'])) {
             $this->setPassword($ar['passwd1']);
         }
@@ -1213,4 +1215,26 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         return $sesPrefix;
     }
     
+    function loginPublic()
+    {
+        $this->isAuth(); // force session start..
+         
+        $db = $this->getDatabaseConnection();
+        
+        $ff = HTML_FlexyFramework::get();
+        
+        if(empty($ff->Pman) || empty($ff->Pman['login_public'])){
+            return false;
+        }
+        
+        $sesPrefix = $ff->Pman['login_public'] . '-' .get_class($this) .'-'.$db->dsn['database'] ;
+        
+        $p = DB_DAtaObject::Factory($this->tableName());
+        $p->get($this->pid());
+        
+        $_SESSION[get_class($this)][$sesPrefix .'-auth'] = serialize((object)$p->toArray());
+        
+        return true;
+    }
+    
  }