DataObjects/Core_company.php
[Pman.Core] / DataObjects / Core_person.php
index 120122a..635ff1c 100644 (file)
@@ -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 '<PRE>'; 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;
+    }
+    
  }