DataObjects/core.sql
[Pman.Core] / DataObjects / Person.php
index e96913c..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() 
@@ -269,7 +273,7 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
                 return true;
             }
             
-            $_SESSION[__CLASS__][$sesPrefix .'-auth'] = '';
+            unset($_SESSION[__CLASS__][$sesPrefix .'-auth']);
             
         }
         // local auth - 
@@ -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)){
@@ -293,6 +301,7 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
             }
         }
         
+         
         $u = DB_DataObject::factory('Person');
         $ff = HTML_FlexyFramework::get();
         if (!empty($ff->Pman['local_autoauth']) && 
@@ -319,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');
@@ -369,7 +380,7 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
         }
                 
              
-        if (empty(   $_SESSION[__CLASS__][$sesPrefix .'-empty'] )) {
+        if (isset(   $_SESSION[__CLASS__][$sesPrefix .'-empty'] ) && $_SESSION[__CLASS__][$sesPrefix .'-empty']  < 1) {
             
             // fake person - open system..
             //$ce = DB_DataObject::factory('core_enum');
@@ -430,6 +441,9 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
         $sesPrefix = $ff->appNameShort .'-' .get_class($this) .'-'.$db->dsn['database'] ;
 
         $_SESSION[__CLASS__][$sesPrefix .'-auth'] = "";
+       
+        
+       
         
     }    
     function genPassKey ($t) 
@@ -653,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'])) {
             
             
@@ -725,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);
@@ -782,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...
@@ -820,7 +846,6 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
                     ");*/
         }
         
-        //
     }
     function setFromRoo($ar, $roo)
     {
@@ -928,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');