X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=classes%2FForeign_link.php;h=b3757448ade7e59f5d04d27fbff555154b8f6cb0;hb=6c595e8e9a5f752f11d32c1690e9ba4f3ca99bf7;hp=e3f0cf1ee6f205132dd81144e800ba1cd4450331;hpb=d594c83a5a9a9d42fce917b544c28591fcadb1aa;p=quix0rs-gnu-social.git diff --git a/classes/Foreign_link.php b/classes/Foreign_link.php index e3f0cf1ee6..b3757448ad 100644 --- a/classes/Foreign_link.php +++ b/classes/Foreign_link.php @@ -13,7 +13,7 @@ class Foreign_link extends Managed_DataObject public $user_id; // int(4) primary_key not_null public $foreign_id; // bigint(8) primary_key not_null unsigned public $service; // int(4) primary_key not_null - public $credentials; // varchar(255) + public $credentials; // varchar(191) not 255 because utf8mb4 takes more space public $noticesync; // tinyint(1) not_null default_1 public $friendsync; // tinyint(1) not_null default_2 public $profilesync; // tinyint(1) not_null default_1 @@ -22,10 +22,6 @@ class Foreign_link extends Managed_DataObject public $created; // datetime() not_null public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP - /* Static get */ - function staticGet($k,$v=null) - { return Memcached_DataObject::staticGet('Foreign_link',$k,$v); } - /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE @@ -36,7 +32,7 @@ class Foreign_link extends Managed_DataObject 'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'link to user on this system, if exists'), 'foreign_id' => array('type' => 'int', 'size' => 'big', 'unsigned' => true, 'not null' => true, 'description' => 'link to user on foreign service, if exists'), 'service' => array('type' => 'int', 'not null' => true, 'description' => 'foreign key to service'), - 'credentials' => array('type' => 'varchar', 'length' => 255, 'description' => 'authc credentials, typically a password'), + 'credentials' => array('type' => 'varchar', 'length' => 191, 'description' => 'authc credentials, typically a password'), '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'), @@ -60,34 +56,37 @@ class Foreign_link extends Managed_DataObject static function getByUserID($user_id, $service) { if (empty($user_id) || empty($service)) { - return null; + throw new ServerException('Empty user_id or service for Foreign_link::getByUserID'); } $flink = new Foreign_link(); - $flink->service = $service; $flink->user_id = $user_id; $flink->limit(1); - $result = $flink->find(true); + if (!$flink->find(true)) { + throw new NoResultException($flink); + } - return empty($result) ? null : $flink; + return $flink; } static function getByForeignID($foreign_id, $service) { if (empty($foreign_id) || empty($service)) { - return null; - } else { - $flink = new Foreign_link(); - $flink->service = $service; - $flink->foreign_id = $foreign_id; - $flink->limit(1); + throw new ServerException('Empty foreign_id or service for Foreign_link::getByForeignID'); + } - $result = $flink->find(true); + $flink = new Foreign_link(); + $flink->service = $service; + $flink->foreign_id = $foreign_id; + $flink->limit(1); - return empty($result) ? null : $flink; + if (!$flink->find(true)) { + throw new NoResultException($flink); } + + return $flink; } function set_flags($noticesend, $noticerecv, $replysync, $friendsync) @@ -128,16 +127,21 @@ class Foreign_link extends Managed_DataObject $fuser->limit(1); - if ($fuser->find(true)) { - return $fuser; + if (!$fuser->find(true)) { + throw new NoResultException($fuser); } - return null; + return $fuser; } function getUser() { - return User::staticGet($this->user_id); + return Profile::getByID($this->user_id)->getUser(); + } + + function getProfile() + { + return Profile::getByID($this->user_id); } // Make sure we only ever delete one record at a time