blob: 60db51595e70e790bc64ee3a3c4b841f3962a004 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
<?php
/**
* Table Definition for foreign_link
*/
require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
class Foreign_link extends Memcached_DataObject
{
###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
public $foreign_id; // bigint(8) primary_key not_null unsigned
public $service; // int(4) primary_key not_null
public $credentials; // varchar(255)
public $noticesync; // tinyint(1) not_null default_1
public $friendsync; // tinyint(1) not_null default_2
public $profilesync; // tinyint(1) not_null default_1
public $last_noticesync; // datetime()
public $last_friendsync; // datetime()
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
static function getByUserID($user_id, $service)
{
if (empty($user_id) || empty($service)) {
return null;
}
$flink = new Foreign_link();
$flink->service = $service;
$flink->user_id = $user_id;
$flink->limit(1);
$result = $flink->find(true);
return empty($result) ? null : $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);
$result = $flink->find(true);
return empty($result) ? null : $flink;
}
}
function set_flags($noticesend, $noticerecv, $replysync, $friendsync)
{
if ($noticesend) {
$this->noticesync |= FOREIGN_NOTICE_SEND;
} else {
$this->noticesync &= ~FOREIGN_NOTICE_SEND;
}
if ($noticerecv) {
$this->noticesync |= FOREIGN_NOTICE_RECV;
} else {
$this->noticesync &= ~FOREIGN_NOTICE_RECV;
}
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;
}
# Convenience methods
function getForeignUser()
{
$fuser = new Foreign_user();
$fuser->service = $this->service;
$fuser->id = $this->foreign_id;
$fuser->limit(1);
if ($fuser->find(true)) {
return $fuser;
}
return null;
}
function getUser()
{
return User::staticGet($this->user_id);
}
// Make sure we only ever delete one record at a time
function safeDelete()
{
if (!empty($this->user_id)
&& !empty($this->foreign_id)
&& !empty($this->service))
{
return $this->delete();
} else {
common_debug(LOG_WARNING,
'Foreign_link::safeDelete() tried to delete a '
. 'Foreign_link without a fully specified compound key: '
. var_export($this, true));
return false;
}
}
}
|