DataObjects/Core_curr_rate.php
[Pman.Core] / DataObjects / Person.php
index 4e38200..8d3a809 100644 (file)
@@ -42,9 +42,11 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
     public $url_blog; // VARCHAR(256) NULL ;
     public $url_twitter; // VARCHAR(256) NULL ;
     public $url_linkedin; // VARCHAR(256) NULL ;
+    public $linkedin_id; // VARCHAR(256) NULL ;
     
     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,12 +219,17 @@ 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() 
     {
         return empty($this->name) ? $this->email : $this->name;
     } 
+    
     function verifyAuth()
     { 
         $ff= HTML_FlexyFramework::get();
@@ -284,7 +291,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 +304,7 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
             }
         }
         
+        //var_dump($ff->Pman['local_autoauth']);         var_dump($_SERVER); exit;
         $u = DB_DataObject::factory('Person');
         $ff = HTML_FlexyFramework::get();
         if (!empty($ff->Pman['local_autoauth']) && 
@@ -319,11 +331,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 +383,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 +444,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) 
@@ -649,11 +666,15 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
     function applyFilters($q, $au, $roo)
     {
         //DB_DataObject::DebugLevel(1);
+        
+        if (!empty($q['query']['is_owner'])) {
+            $this->whereAdd(" join_company_id_id.comptype = 'OWNER'");
+        }
+        
         if (!empty($q['query']['person_not_internal'])) {
             $this->whereAdd(" join_company_id_id.isOwner = 0 ");
         }
         
-        
         if (!empty($q['query']['person_internal_only_all'])) {
             
             
@@ -725,6 +746,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 +810,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 +854,6 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
                     ");*/
         }
         
-        //
     }
     function setFromRoo($ar, $roo)
     {
@@ -928,7 +961,8 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
         }
         return false;
     }
-    function onInsert($req, $roo)  
+    
+    function onInsert($req, $roo)
     {
          
         $p = DB_DataObject::factory('person');
@@ -1004,4 +1038,31 @@ class Pman_Core_DataObjects_Person extends DB_DataObject
             $p->onInsert(array(), $roo);
         }
     }
+    
+    function getEmailName()
+    {
+        $name = array();
+        
+        if(!empty($this->honor)){
+            array_push($name, $this->honor);
+        }
+        
+        if(!empty($this->name)){
+            array_push($name, $this->name);
+            
+            return implode(' ', $name);
+        }
+        
+        if(!empty($this->firstname) || !empty($this->lastname)){
+            array_push($name, $this->firstname);
+            array_push($name, $this->lastname);
+            
+            $name = array_filter($name);
+            
+            return $name;
+        }
+        
+        return $this->email;
+    }
+    
  }