本文整理汇总了PHP中Foreign_link::find方法的典型用法代码示例。如果您正苦于以下问题:PHP Foreign_link::find方法的具体用法?PHP Foreign_link::find怎么用?PHP Foreign_link::find使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Foreign_link
的用法示例。
在下文中一共展示了Foreign_link::find方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getByForeignID
static function getByForeignID($foreign_id, $service)
{
$flink = new Foreign_link();
$flink->service = $service;
$flink->foreign_id = $foreign_id;
$flink->limit(1);
if ($flink->find(true)) {
return $flink;
}
return null;
}
示例2: getByForeignID
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;
}
}
示例3: getByForeignID
static function getByForeignID($foreign_id, $service)
{
if (empty($foreign_id) || empty($service)) {
throw new ServerException('Empty foreign_id or service for Foreign_link::getByForeignID');
}
$flink = new Foreign_link();
$flink->service = $service;
$flink->foreign_id = $foreign_id;
$flink->limit(1);
if (!$flink->find(true)) {
throw new NoResultException($flink);
}
return $flink;
}
示例4: getObjects
/**
* Find all the Twitter foreign links for users who have requested
* automatically subscribing to their Twitter friends locally.
*
* @return array flinks an array of Foreign_link objects
*/
function getObjects()
{
$flinks = array();
$flink = new Foreign_link();
$conn =& $flink->getDatabaseConnection();
$flink->service = TWITTER_SERVICE;
$flink->orderBy('last_friendsync');
$flink->limit(25);
// sync this many users during this run
$flink->find();
while ($flink->fetch()) {
if (($flink->friendsync & FOREIGN_FRIEND_RECV) == FOREIGN_FRIEND_RECV) {
$flinks[] = clone $flink;
}
}
$conn->disconnect();
global $_DB_DATAOBJECT;
unset($_DB_DATAOBJECT['CONNECTIONS']);
return $flinks;
}
示例5: dumpMessage
function dumpMessage($flink, $data)
{
$msg = prepMessage($flink, $data);
print json_encode($msg) . "\r\n";
}
function prepMessage($flink, $data)
{
$msg->for_user = $flink->foreign_id;
$msg->message = $data;
return $msg;
}
if (have_option('all')) {
$users = array();
$flink = new Foreign_link();
$flink->service = TWITTER_SERVICE;
$flink->find();
while ($flink->fetch()) {
if (($flink->noticesync & FOREIGN_NOTICE_RECV) == FOREIGN_NOTICE_RECV) {
$users[] = $flink->user_id;
}
}
} else {
$user = User::getKV('nickname', $nickname);
$users = array($user->id);
}
$output = array();
foreach ($users as $id) {
$user = User::getKV('id', $id);
if (!$user) {
throw new Exception("No user for id {$id}");
}
示例6: saveForeignLink
/**
* Saves a Foreign_link between Twitter user and local user,
* which includes the access token and secret.
*
* @param int $user_id StatusNet user ID
* @param int $twuid Twitter user ID
* @param OAuthToken $token the access token to save
*
* @return nothing
*/
function saveForeignLink($user_id, $twuid, $access_token)
{
$flink = new Foreign_link();
$flink->user_id = $user_id;
$flink->service = TWITTER_SERVICE;
// delete stale flink, if any
$result = $flink->find(true);
if (!empty($result)) {
$flink->safeDelete();
}
$flink->user_id = $user_id;
$flink->foreign_id = $twuid;
$flink->service = TWITTER_SERVICE;
$creds = TwitterOAuthClient::packToken($access_token);
$flink->credentials = $creds;
$flink->created = common_sql_now();
// Defaults: noticesync on, everything else off
$flink->set_flags(true, false, false, false);
$flink_id = $flink->insert();
if (empty($flink_id)) {
common_log_db_error($flink, 'INSERT', __FILE__);
// TRANS: Server error displayed when linking to a Twitter account fails.
$this->serverError(_m('Could not link your Twitter account.'));
}
return $flink_id;
}
示例7: getObjects
/**
* Find all the Twitter foreign links for users who have requested
* importing of their friends' timelines
*
* @return array flinks an array of Foreign_link objects
*/
function getObjects()
{
global $_DB_DATAOBJECT;
$flink = new Foreign_link();
$conn =& $flink->getDatabaseConnection();
$flink->service = TWITTER_SERVICE;
$flink->orderBy('last_noticesync');
$flink->find();
$flinks = array();
while ($flink->fetch()) {
if (($flink->noticesync & FOREIGN_NOTICE_RECV) == FOREIGN_NOTICE_RECV) {
$flinks[] = clone $flink;
common_log(LOG_INFO, "sync: foreign id {$flink->foreign_id}");
} else {
common_log(LOG_INFO, "nothing to sync");
}
}
$flink->free();
unset($flink);
$conn->disconnect();
unset($_DB_DATAOBJECT['CONNECTIONS']);
return $flinks;
}
示例8: siteStreamForOwner
function siteStreamForOwner(User $user)
{
// The user we auth as must be the owner of the application.
$auth = twitterAuthForUser($user);
if (have_option('apiroot')) {
$stream = new TwitterSiteStream($auth, get_option_value('apiroot'));
} else {
$stream = new TwitterSiteStream($auth);
}
// Pull Twitter user IDs for all users we want to pull data for
$userIds = array();
$flink = new Foreign_link();
$flink->service = TWITTER_SERVICE;
$flink->find();
while ($flink->fetch()) {
if (($flink->noticesync & FOREIGN_NOTICE_RECV) == FOREIGN_NOTICE_RECV) {
$userIds[] = $flink->foreign_id;
}
}
$stream->followUsers($userIds);
return $stream;
}
示例9: initStreams
/**
* Pull the site's active Twitter-importing users and start spawning
* some data streams for them!
*
* @fixme check their last-id and check whether we'll need to do a manual pull.
* @fixme abstract out the fetching so we can work over multiple sites.
*/
protected function initStreams()
{
common_log(LOG_INFO, 'init...');
// Pull Twitter user IDs for all users we want to pull data for
$flink = new Foreign_link();
$flink->service = TWITTER_SERVICE;
// @fixme probably should do the bitfield check in a whereAdd but it's ugly :D
$flink->find();
$userIds = array();
while ($flink->fetch()) {
if (($flink->noticesync & FOREIGN_NOTICE_RECV) == FOREIGN_NOTICE_RECV) {
$userIds[] = $flink->foreign_id;
if (count($userIds) >= self::USERS_PER_STREAM) {
$this->spawnStream($userIds);
$userIds = array();
}
}
}
if (count($userIds)) {
$this->spawnStream($userIds);
}
}
示例10: refreshFlinks
/**
* Refresh the foreign links for this user
*
* @return void
*/
function refreshFlinks()
{
$flink = new Foreign_link();
$flink->service = 1;
// Twitter
$flink->orderBy('last_noticesync');
$cnt = $flink->find();
if (defined('SCRIPT_DEBUG')) {
common_debug('Updating Twitter friends subscriptions' . " for {$cnt} users.");
}
$flinks = array();
while ($flink->fetch()) {
if (($flink->noticesync & FOREIGN_NOTICE_RECV) == FOREIGN_NOTICE_RECV) {
$flinks[] = clone $flink;
}
}
$flink->free();
unset($flink);
return $flinks;
}