2008-08-26 23:24:23 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
									
										
										
										
											2020-06-29 01:41:46 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// This file is part of GNU social - https://www.gnu.org/software/social
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// GNU social is free software: you can redistribute it and/or modify
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// it under the terms of the GNU Affero General Public License as published by
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// the Free Software Foundation, either version 3 of the License, or
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// (at your option) any later version.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// GNU social is distributed in the hope that it will be useful,
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// but WITHOUT ANY WARRANTY; without even the implied warranty of
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// GNU Affero General Public License for more details.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// You should have received a copy of the GNU Affero General Public License
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// along with GNU social.  If not, see <http://www.gnu.org/licenses/>.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-08-26 23:24:23 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Table  Definition  for  foreign_link 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-29 01:41:46 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								defined ( 'GNUSOCIAL' )  ||  die ();  
						 
					
						
							
								
									
										
										
										
											2008-08-26 23:24:23 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-08-22 17:52:02 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class  Foreign_link  extends  Managed_DataObject  
						 
					
						
							
								
									
										
										
										
											2008-08-26 23:24:23 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ###START_AUTOCODE
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /* the code below is auto generated do not remove the above tag */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  $__table  =  'foreign_link' ;                     // table name
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  $user_id ;                          // int(4)  primary_key not_null
 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-27 17:59:49 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  $foreign_id ;                       // bigint(8)  primary_key not_null unsigned
 
							 
						 
					
						
							
								
									
										
										
										
											2008-08-26 23:24:23 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  $service ;                          // int(4)  primary_key not_null
 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-12 18:18:55 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  $credentials ;                      // varchar(191)   not 255 because utf8mb4 takes more space
 
							 
						 
					
						
							
								
									
										
										
										
											2008-08-26 23:24:23 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  $noticesync ;                       // tinyint(1)   not_null default_1
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  $friendsync ;                       // tinyint(1)   not_null default_2
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  $profilesync ;                      // tinyint(1)   not_null default_1
 
							 
						 
					
						
							
								
									
										
										
										
											2009-04-28 17:08:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  $last_noticesync ;                  // datetime()
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  $last_friendsync ;                  // datetime()
 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-29 01:41:46 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  $created ;                          // datetime()
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  $modified ;                         // timestamp()  not_null default_CURRENT_TIMESTAMP
 
							 
						 
					
						
							
								
									
										
										
										
											2008-08-26 23:24:23 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /* the code above is auto generated do not remove the tag below */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ###END_AUTOCODE
 
							 
						 
					
						
							
								
									
										
										
										
											2008-08-28 03:22:05 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-08-22 17:52:02 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  static  function  schemaDef () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  array ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            'fields'  =>  array ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                'user_id'  =>  array ( 'type'  =>  'int' ,  'not null'  =>  true ,  'description'  =>  'link to user on this system, if exists' ), 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-28 20:05:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                'foreign_id'  =>  array ( 'type'  =>  'int' ,  'size'  =>  'big' ,  'not null'  =>  true ,  'description'  =>  'link to user on foreign service, if exists' ), 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-22 17:52:02 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                'service'  =>  array ( 'type'  =>  'int' ,  'not null'  =>  true ,  'description'  =>  'foreign key to service' ), 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-12 18:18:55 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                'credentials'  =>  array ( 'type'  =>  'varchar' ,  'length'  =>  191 ,  'description'  =>  'authc credentials, typically a password' ), 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-22 17:52:02 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                'noticesync'  =>  array ( 'type'  =>  'int' ,  'size'  =>  'tiny' ,  'not null'  =>  true ,  'default'  =>  1 ,  'description'  =>  'notice synchronization, bit 1 = sync outgoing, bit 2 = sync incoming, bit 3 = filter local replies' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                'friendsync'  =>  array ( 'type'  =>  'int' ,  'size'  =>  'tiny' ,  'not null'  =>  true ,  'default'  =>  2 ,  'description'  =>  'friend synchronization, bit 1 = sync outgoing, bit 2 = sync incoming' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                'profilesync'  =>  array ( 'type'  =>  'int' ,  'size'  =>  'tiny' ,  'not null'  =>  true ,  'default'  =>  1 ,  'description'  =>  'profile synchronization, bit 1 = sync outgoing, bit 2 = sync incoming' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                'last_noticesync'  =>  array ( 'type'  =>  'datetime' ,  'description'  =>  'last time notices were imported' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                'last_friendsync'  =>  array ( 'type'  =>  'datetime' ,  'description'  =>  'last time friends were imported' ), 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-29 01:41:46 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                'created'  =>  array ( 'type'  =>  'datetime' ,  'description'  =>  'date this record was created' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                'modified'  =>  array ( 'type'  =>  'timestamp' ,  'not null'  =>  true ,  'description'  =>  'date this record was modified' ), 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-22 17:52:02 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            'primary key'  =>  array ( 'user_id' ,  'foreign_id' ,  'service' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            'foreign keys'  =>  array ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                'foreign_link_user_id_fkey'  =>  array ( 'user' ,  array ( 'user_id'  =>  'id' )), 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:12:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                'foreign_link_foreign_id_service_fkey'  =>  array ( 'foreign_user' ,  array ( 'foreign_id'  =>  'id' ,  'service'  =>  'service' )), 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-22 17:52:02 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                'foreign_link_service_fkey'  =>  array ( 'foreign_service' ,  array ( 'service'  =>  'id' )), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-28 20:05:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  static  function  getByUserID ( $user_id ,  $service ) 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 20:04:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-18 22:59:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( empty ( $user_id )  ||  empty ( $service ))  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-17 21:03:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            throw  new  ServerException ( 'Empty user_id or service for Foreign_link::getByUserID' ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-18 22:59:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-12-23 14:19:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $flink  =  new  Foreign_link (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $flink -> service  =  $service ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $flink -> user_id  =  $user_id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $flink -> limit ( 1 ); 
							 
						 
					
						
							
								
									
										
										
										
											2008-08-28 03:22:05 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-17 21:03:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( ! $flink -> find ( true ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            throw  new  NoResultException ( $flink ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-18 22:59:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-17 21:03:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  $flink ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-23 14:19:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 20:04:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-28 20:05:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  static  function  getByForeignID ( $foreign_id ,  $service ) 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 20:04:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-18 22:59:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( empty ( $foreign_id )  ||  empty ( $service ))  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-17 21:03:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            throw  new  ServerException ( 'Empty foreign_id or service for Foreign_link::getByForeignID' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-16 21:46:24 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-17 21:03:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $flink  =  new  Foreign_link (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $flink -> service  =  $service ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $flink -> foreign_id  =  $foreign_id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $flink -> limit ( 1 ); 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-16 21:46:24 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-17 21:03:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( ! $flink -> find ( true ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            throw  new  NoResultException ( $flink ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-18 22:59:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-17 21:03:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  $flink ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-23 14:19:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 20:04:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-28 20:05:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  function  set_flags ( $noticesend ,  $noticerecv ,  $replysync ,  $repeatsync ,  $friendsync ) 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 23:02:12 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2009-04-13 19:19:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( $noticesend )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 23:02:12 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            $this -> noticesync  |=  FOREIGN_NOTICE_SEND ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $this -> noticesync  &=  ~ FOREIGN_NOTICE_SEND ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-18 22:59:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-04-13 19:19:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( $noticerecv )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $this -> noticesync  |=  FOREIGN_NOTICE_RECV ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $this -> noticesync  &=  ~ FOREIGN_NOTICE_RECV ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 23:02:12 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( $replysync )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $this -> noticesync  |=  FOREIGN_NOTICE_SEND_REPLY ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $this -> noticesync  &=  ~ FOREIGN_NOTICE_SEND_REPLY ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 03:23:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( $repeatsync )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $this -> noticesync  |=  FOREIGN_NOTICE_SEND_REPEAT ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $this -> noticesync  &=  ~ FOREIGN_NOTICE_SEND_REPEAT ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 23:02:12 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( $friendsync )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $this -> friendsync  |=  FOREIGN_FRIEND_RECV ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $this -> friendsync  &=  ~ FOREIGN_FRIEND_RECV ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $this -> profilesync  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-03-22 11:54:23 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    // Convenience methods
 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-28 20:05:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  function  getForeignUser () 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 20:04:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-23 14:19:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $fuser  =  new  Foreign_user (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $fuser -> service  =  $this -> service ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $fuser -> id  =  $this -> foreign_id ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 20:04:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-12-23 14:19:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $fuser -> limit ( 1 ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 20:04:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-17 18:44:09 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( ! $fuser -> find ( true ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            throw  new  NoResultException ( $fuser ); 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-23 14:19:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 20:04:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-17 18:44:09 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  $fuser ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-23 14:19:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 20:04:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-28 20:05:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  function  getUser () 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-23 14:33:23 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-18 11:39:34 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  Profile :: getByID ( $this -> user_id ) -> getUser (); 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-23 14:19:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-04 20:04:07 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-28 20:05:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  function  getProfile () 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-19 17:20:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-18 11:39:34 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  Profile :: getByID ( $this -> user_id ); 
							 
						 
					
						
							
								
									
										
										
										
											2013-09-19 17:20:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-03-05 03:14:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    // Make sure we only ever delete one record at a time
 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-28 20:05:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  function  safeDelete () 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-05 03:14:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! empty ( $this -> user_id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            &&  ! empty ( $this -> foreign_id ) 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-28 20:05:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            &&  ! empty ( $this -> service ))  { 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-05 03:14:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            return  $this -> delete (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-28 20:05:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            common_debug ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                LOG_WARNING , 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-05 03:14:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                'Foreign_link::safeDelete() tried to delete a ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                .  'Foreign_link without a fully specified compound key: ' 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-28 20:05:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                .  var_export ( $this ,  true ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ); 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-05 03:14:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2008-08-26 23:24:23 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}