| 
									
										
										
										
											2008-08-26 23:24:23 -04:00
										 |  |  | <?php | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Table Definition for foreign_link | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2008-09-26 12:18:24 -04:00
										 |  |  | require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; | 
					
						
							| 
									
										
										
										
											2008-08-26 23:24:23 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-04 20:04:07 -05:00
										 |  |  | class Foreign_link extends Memcached_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
 | 
					
						
							| 
									
										
										
										
											2009-01-04 20:04:07 -05:00
										 |  |  |     public $credentials;                     // varchar(255)
 | 
					
						
							| 
									
										
										
										
											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()
 | 
					
						
							| 
									
										
										
										
											2008-08-26 23:24:23 -04:00
										 |  |  |     public $created;                         // datetime()   not_null
 | 
					
						
							|  |  |  |     public $modified;                        // timestamp()   not_null default_CURRENT_TIMESTAMP
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* Static get */ | 
					
						
							| 
									
										
										
										
											2008-12-23 14:33:23 -05:00
										 |  |  |     function staticGet($k,$v=null) | 
					
						
							|  |  |  |     { return Memcached_DataObject::staticGet('Foreign_link',$k,$v); } | 
					
						
							| 
									
										
										
										
											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
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |     // XXX:  This only returns a 1->1 single obj mapping.  Change?  Or make
 | 
					
						
							|  |  |  |     // a getForeignUsers() that returns more than one? --Zach
 | 
					
						
							| 
									
										
										
										
											2009-01-04 20:04:07 -05:00
										 |  |  |     static function getByUserID($user_id, $service) | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											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
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:44:28 -05:00
										 |  |  |         if ($flink->find(true)) { | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |             return $flink; | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2008-08-28 03:22:05 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-04 20:04:07 -05:00
										 |  |  |         return null; | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-01-04 20:04:07 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |     static function getByForeignID($foreign_id, $service) | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         $flink = new Foreign_link(); | 
					
						
							|  |  |  |         $flink->service = $service; | 
					
						
							|  |  |  |         $flink->foreign_id = $foreign_id; | 
					
						
							|  |  |  |         $flink->limit(1); | 
					
						
							| 
									
										
										
										
											2008-11-16 21:46:24 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:44:28 -05:00
										 |  |  |         if ($flink->find(true)) { | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |             return $flink; | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2008-11-16 21:46:24 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-04 20:04:07 -05:00
										 |  |  |         return null; | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-01-04 20:04:07 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-13 19:19:26 -07:00
										 |  |  |     function set_flags($noticesend, $noticerecv, $replysync, $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-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; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if ($friendsync) { | 
					
						
							|  |  |  |             $this->friendsync |= FOREIGN_FRIEND_RECV; | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             $this->friendsync &= ~FOREIGN_FRIEND_RECV; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $this->profilesync = 0; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |     # Convenience methods
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:33:23 -05:00
										 |  |  |     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
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:44:28 -05:00
										 |  |  |         if ($fuser->find(true)) { | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |             return $fuser; | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2009-01-04 20:04:07 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |         return null; | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-01-04 20:04:07 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:33:23 -05:00
										 |  |  |     function getUser() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         return User::staticGet($this->user_id); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-01-04 20:04:07 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-26 23:24:23 -04:00
										 |  |  | } |