forked from GNUsocial/gnu-social
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
This commit is contained in:
@@ -112,7 +112,9 @@ class TwitterBridgePlugin extends Plugin
|
||||
strtolower(mb_substr($cls, 0, -6)) . '.php';
|
||||
return false;
|
||||
case 'TwitterOAuthClient':
|
||||
include_once INSTALLDIR . '/plugins/TwitterBridge/twitteroauthclient.php';
|
||||
case 'TwitterQueueHandler':
|
||||
include_once INSTALLDIR . '/plugins/TwitterBridge/' .
|
||||
strtolower($cls) . '.php';
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
@@ -138,48 +140,15 @@ class TwitterBridgePlugin extends Plugin
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* broadcast the message when not using queuehandler
|
||||
*
|
||||
* @param Notice &$notice the notice
|
||||
* @param array $queue destination queue
|
||||
*
|
||||
* @return boolean hook return
|
||||
*/
|
||||
function onUnqueueHandleNotice(&$notice, $queue)
|
||||
{
|
||||
if (($queue == 'twitter') && ($this->_isLocal($notice))) {
|
||||
broadcast_twitter($notice);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the notice was locally created
|
||||
*
|
||||
* @param Notice $notice
|
||||
*
|
||||
* @return boolean locality
|
||||
*/
|
||||
function _isLocal($notice)
|
||||
{
|
||||
return ($notice->is_local == Notice::LOCAL_PUBLIC ||
|
||||
$notice->is_local == Notice::LOCAL_NONPUBLIC);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add Twitter bridge daemons to the list of daemons to start
|
||||
*
|
||||
* @param array $daemons the list fo daemons to run
|
||||
*
|
||||
* @return boolean hook return
|
||||
*
|
||||
*/
|
||||
function onGetValidDaemons($daemons)
|
||||
{
|
||||
array_push($daemons, INSTALLDIR .
|
||||
'/plugins/TwitterBridge/daemons/twitterqueuehandler.php');
|
||||
array_push($daemons, INSTALLDIR .
|
||||
'/plugins/TwitterBridge/daemons/synctwitterfriends.php');
|
||||
|
||||
@@ -191,6 +160,19 @@ class TwitterBridgePlugin extends Plugin
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register Twitter notice queue handler
|
||||
*
|
||||
* @param QueueManager $manager
|
||||
*
|
||||
* @return boolean hook return
|
||||
*/
|
||||
function onEndInitializeQueueManager($manager)
|
||||
{
|
||||
$manager->connect('twitter', 'TwitterQueueHandler');
|
||||
return true;
|
||||
}
|
||||
|
||||
function onPluginVersion(&$versions)
|
||||
{
|
||||
$versions[] = array('name' => 'TwitterBridge',
|
||||
|
@@ -268,19 +268,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon
|
||||
|
||||
}
|
||||
|
||||
if (!Notice_inbox::pkeyGet(array('notice_id' => $notice->id,
|
||||
'user_id' => $flink->user_id))) {
|
||||
// Add to inbox
|
||||
$inbox = new Notice_inbox();
|
||||
|
||||
$inbox->user_id = $flink->user_id;
|
||||
$inbox->notice_id = $notice->id;
|
||||
$inbox->created = $notice->created;
|
||||
$inbox->source = NOTICE_INBOX_SOURCE_GATEWAY; // From a private source
|
||||
|
||||
$inbox->insert();
|
||||
|
||||
}
|
||||
Inbox::insertNotice($flink->user_id, $notice->id);
|
||||
|
||||
$notice->blowCaches();
|
||||
|
||||
|
40
plugins/TwitterBridge/daemons/twitterqueuehandler.php → plugins/TwitterBridge/twitterqueuehandler.php
Executable file → Normal file
40
plugins/TwitterBridge/daemons/twitterqueuehandler.php → plugins/TwitterBridge/twitterqueuehandler.php
Executable file → Normal file
@@ -1,4 +1,3 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
/*
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
@@ -18,20 +17,8 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
$shortoptions = 'i::';
|
||||
$longoptions = array('id::');
|
||||
|
||||
$helptext = <<<END_OF_ENJIT_HELP
|
||||
Daemon script for pushing new notices to Twitter.
|
||||
|
||||
-i --id Identity (default none)
|
||||
|
||||
END_OF_ENJIT_HELP;
|
||||
|
||||
require_once INSTALLDIR . '/scripts/commandline.inc';
|
||||
require_once INSTALLDIR . '/lib/queuehandler.php';
|
||||
require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
|
||||
|
||||
class TwitterQueueHandler extends QueueHandler
|
||||
@@ -41,33 +28,8 @@ class TwitterQueueHandler extends QueueHandler
|
||||
return 'twitter';
|
||||
}
|
||||
|
||||
function start()
|
||||
{
|
||||
$this->log(LOG_INFO, "INITIALIZE");
|
||||
return true;
|
||||
}
|
||||
|
||||
function handle_notice($notice)
|
||||
{
|
||||
return broadcast_twitter($notice);
|
||||
}
|
||||
|
||||
function finish()
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (have_option('i')) {
|
||||
$id = get_option_value('i');
|
||||
} else if (have_option('--id')) {
|
||||
$id = get_option_value('--id');
|
||||
} else if (count($args) > 0) {
|
||||
$id = $args[0];
|
||||
} else {
|
||||
$id = null;
|
||||
}
|
||||
|
||||
$handler = new TwitterQueueHandler($id);
|
||||
|
||||
$handler->runOnce();
|
Reference in New Issue
Block a user