DataObjects/core.sql
[Pman.Core] / DataObjects / Person.php
index 38f18e6..7d5f3ba 100644 (file)
@@ -15,7 +15,6 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
     
     public $company_id;                      // int(11)  
     public $office_id;                       // int(11)  
-    public $honor; // VARCHAR(256) NULL;    
     public $name;                            // string(128)  not_null
     public $firstname;                            // string(128)  not_null
     public $lastname;                            // string(128)  not_null
@@ -244,6 +243,7 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
         
         
         @session_start();
+         
         if (!empty($_SESSION[__CLASS__][$sesPrefix .'-auth'])) {
             // in session...
             $a = unserialize($_SESSION[__CLASS__][$sesPrefix .'-auth']);
@@ -314,6 +314,8 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
         $db = $this->getDatabaseConnection();
         $sesPrefix = get_class($this) .'-'.$db->dsn['database'] ;
         
+        
+        
         if (!empty($_SESSION[__CLASS__][$sesPrefix .'-auth'])) {
             $a = unserialize($_SESSION[__CLASS__][$sesPrefix .'-auth']);
             
@@ -879,4 +881,38 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
         }
         
     }
+    
+    function importFromArray($roo, $persons, $prefix)
+    {
+        foreach($persons as $person){
+            $p = DB_DataObject::factory('person');
+            if($p->get('name', $person['name'])){
+                continue;
+            }
+            $p->setFrom($person);
+            
+            $companies = DB_DataObject::factory('companies');
+            if(!$companies->get('comptype', 'OWNER')){
+                $roo->jerr("Missing OWNER companies!");
+            }
+            $p->company_id = $companies->pid();
+            // strip the 'spaces etc.. make lowercase..
+            $name = strtolower(str_replace(' ', '', $person['name']));
+            $p->setPassword("$prefix$name");
+            $p->insert();
+            // set up groups
+            // if $person->groups is set.. then
+            // add this person to that group eg. groups : [ 'Administrator' ] 
+            if(!empty($person['groups'])){
+                $groups = DB_DataObject::factory('groups');
+                if(!$groups->get('name', $person['groups'])){
+                    $roo->jerr("Missing groups : {$person['groups']}");
+                }
+                $gm = DB_DataObject::factory('group_members');
+                $gm->change($p, $groups, true);
+            }
+            
+            $p->onInsert(array(), $roo);
+        }
+    }
  }