DataObjects/core.sql
[Pman.Core] / DataObjects / Person.php
index 19b3229..898a5f1 100644 (file)
@@ -45,6 +45,7 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
     
     public $phone_mobile; // varchar(32)  NOT NULL  DEFAULT '';
     public $phone_direct; // varchar(32)  NOT NULL  DEFAULT '';
+    public $countries; // VARCHAR(128) NULL;
     
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
@@ -217,6 +218,9 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
     
     function getEmailFrom()
     {
+        if (empty($this->name)) {
+            return $this->email;
+        }
         return '"' . addslashes($this->name) . '" <' . $this->email . '>';
     }
     function toEventString() 
@@ -284,7 +288,11 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
             $group->get('name', 'Administrators');
             
             $member = DB_DataObject::factory('group_members');
+            $member->autoJoin();
             $member->group_id = $group->id;
+            $member->whereAdd("
+                join_user_id_id.id IS NOT NULL
+            ");
             if($member->find(true)){
                 $default_admin = DB_DataObject::factory('Person');
                 if(!$default_admin->get($member->user_id)){
@@ -320,11 +328,13 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
             $_SESSION[__CLASS__][$sesPrefix .'-auth'] = serialize($u);
             return true; 
         }
+        //var_dump(session_id());
+        //var_dump($_SESSION[__CLASS__]);
         
-        if (!empty(   $_SESSION[__CLASS__][$sesPrefix .'-empty'] )) {
-            return false;
-        }
-        
+        //if (!empty(   $_SESSION[__CLASS__][$sesPrefix .'-empty'] )) {
+        //    return false;
+        //}
+        //die("got this far?");
         // not in session or not matched...
         $u = DB_DataObject::factory('Person');
         $u->whereAdd(' LENGTH(passwd) > 0');
@@ -431,8 +441,9 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
         $sesPrefix = $ff->appNameShort .'-' .get_class($this) .'-'.$db->dsn['database'] ;
 
         $_SESSION[__CLASS__][$sesPrefix .'-auth'] = "";
-        unset($_SESSION[__CLASS__]);
-        session_regenerate_id ( true );
+       
+        
+       
         
     }    
     function genPassKey ($t) 
@@ -656,7 +667,6 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
             $this->whereAdd(" join_company_id_id.isOwner = 0 ");
         }
         
-        
         if (!empty($q['query']['person_internal_only_all'])) {
             
             
@@ -728,6 +738,13 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
             
         }
         
+        // #2307 Search Country!!
+        if (!empty($q['query']['in_country'])) {
+            // DB_DataObject::debugLevel(1);
+            $inc = $q['query']['in_country'];
+            $this->whereAdd("$tn_p.countries LIKE '%{$inc}%'");
+        }
+        
         if (!empty($q['query']['not_in_directory'])) { 
             // it's a Person list..
             // DB_DATaobjecT::debugLevel(1);
@@ -785,6 +802,12 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
             
         }
         
+        if(!empty($q['query']['name'])){
+            $this->whereAdd("
+                Person.name LIKE '%{$this->escape($q['query']['name'])}%'
+            ");
+        }
+        
         if (!empty($q['query']['search'])) {
             
             // use our magic search builder...
@@ -823,7 +846,6 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
                     ");*/
         }
         
-        //
     }
     function setFromRoo($ar, $roo)
     {
@@ -931,7 +953,8 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
         }
         return false;
     }
-    function onInsert($req, $roo)  
+    
+    function onInsert($req, $roo)
     {
          
         $p = DB_DataObject::factory('person');