summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-01-24 16:12:40 -0500
committerEvan Prodromou <evan@status.net>2010-01-24 16:12:40 -0500
commit4f213f985f292bab3d54671325954cae34c23fd3 (patch)
tree20a9463aac7eb4843f5f2c9e74dcd8ea61d4d07c
parent54ebb0a2b99aa1a9a6a27b61e47d12692ded65b4 (diff)
parent071f455b87cf7e322ba2ec300d6881e3b165f81c (diff)
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
Conflicts: lib/stompqueuemanager.php
-rw-r--r--actions/apiaccountupdateprofile.php4
-rw-r--r--lib/iomaster.php10
-rw-r--r--lib/queuemanager.php6
-rw-r--r--plugins/Imap/ImapPlugin.php2
-rw-r--r--plugins/MobileProfile/MobileProfilePlugin.php14
-rw-r--r--plugins/PubSubHubBub/PubSubHubBubPlugin.php21
6 files changed, 39 insertions, 18 deletions
diff --git a/actions/apiaccountupdateprofile.php b/actions/apiaccountupdateprofile.php
index fd4384a25..9b371ea95 100644
--- a/actions/apiaccountupdateprofile.php
+++ b/actions/apiaccountupdateprofile.php
@@ -115,11 +115,11 @@ class ApiAccountUpdateProfileAction extends ApiAuthAction
$original = clone($profile);
- if (empty($this->name)) {
+ if (!empty($this->name)) {
$profile->fullname = $this->name;
}
- if (empty($this->url)) {
+ if (!empty($this->url)) {
$profile->homepage = $this->url;
}
diff --git a/lib/iomaster.php b/lib/iomaster.php
index 004e92b3e..29bd677bd 100644
--- a/lib/iomaster.php
+++ b/lib/iomaster.php
@@ -102,7 +102,7 @@ abstract class IoMaster
*/
protected function instantiate($class)
{
- if (isset($this->singletons[$class])) {
+ if (is_string($class) && isset($this->singletons[$class])) {
// Already instantiated a multi-site-capable handler.
// Just let it know it should listen to this site too!
$this->singletons[$class]->addSite(common_config('site', 'server'));
@@ -129,7 +129,11 @@ abstract class IoMaster
protected function getManager($class)
{
- return call_user_func(array($class, 'get'));
+ if(is_object($class)){
+ return $class;
+ } else {
+ return call_user_func(array($class, 'get'));
+ }
}
/**
@@ -347,7 +351,7 @@ abstract class IoMaster
* for per-queue and per-site records.
*
* @param string $key counter name
- * @param array $owners list of owner keys like 'queue:jabber' or 'site:stat01'
+ * @param array $owners list of owner keys like 'queue:xmpp' or 'site:stat01'
*/
public function stats($key, $owners=array())
{
diff --git a/lib/queuemanager.php b/lib/queuemanager.php
index 4eb39bfa8..b2e86b127 100644
--- a/lib/queuemanager.php
+++ b/lib/queuemanager.php
@@ -181,7 +181,9 @@ abstract class QueueManager extends IoManager
{
if (isset($this->handlers[$queue])) {
$class = $this->handlers[$queue];
- if (class_exists($class)) {
+ if(is_object($class)) {
+ return $class;
+ } else if (class_exists($class)) {
return new $class();
} else {
common_log(LOG_ERR, "Nonexistent handler class '$class' for queue '$queue'");
@@ -242,7 +244,7 @@ abstract class QueueManager extends IoManager
* Only registered transports will be reliably picked up!
*
* @param string $transport
- * @param string $class
+ * @param string $class class name or object instance
* @param string $group
*/
public function connect($transport, $class, $group='queuedaemon')
diff --git a/plugins/Imap/ImapPlugin.php b/plugins/Imap/ImapPlugin.php
index 89a775a16..d1e920b00 100644
--- a/plugins/Imap/ImapPlugin.php
+++ b/plugins/Imap/ImapPlugin.php
@@ -86,7 +86,7 @@ class ImapPlugin extends Plugin
}
}
- function onStartIoManagerClasses(&$classes)
+ function onStartQueueDaemonIoManagers(&$classes)
{
$classes[] = new ImapManager($this);
}
diff --git a/plugins/MobileProfile/MobileProfilePlugin.php b/plugins/MobileProfile/MobileProfilePlugin.php
index d426fc282..5c913836d 100644
--- a/plugins/MobileProfile/MobileProfilePlugin.php
+++ b/plugins/MobileProfile/MobileProfilePlugin.php
@@ -414,7 +414,15 @@ class MobileProfilePlugin extends WAP20Plugin
return $proto.'://'.$serverpart.'/'.$pathpart.$relative;
}
-}
-
-?>
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'MobileProfile',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Sarven Capadisli',
+ 'homepage' => 'http://status.net/wiki/Plugin:MobileProfile',
+ 'rawdescription' =>
+ _m('XHTML MobileProfile output for supporting user agents.'));
+ return true;
+ }
+}
diff --git a/plugins/PubSubHubBub/PubSubHubBubPlugin.php b/plugins/PubSubHubBub/PubSubHubBubPlugin.php
index 8286cd548..ce6086df9 100644
--- a/plugins/PubSubHubBub/PubSubHubBubPlugin.php
+++ b/plugins/PubSubHubBub/PubSubHubBubPlugin.php
@@ -211,13 +211,20 @@ class PubSubHubBubPlugin extends Plugin
'format' => 'atom'));
}
}
-
- foreach (array_unique($feeds) as $feed) {
- if (!$publisher->publish_update($feed)) {
- common_log_line(LOG_WARNING,
- $feed.' was not published to hub at '.
- $this->hub.':'.$publisher->last_response());
- }
+ $feeds = array_unique($feeds);
+
+ ob_start();
+ $ok = $publisher->publish_update($feeds);
+ $push_last_response = ob_get_clean();
+
+ if (!$ok) {
+ common_log(LOG_WARNING,
+ 'Failure publishing ' . count($feeds) . ' feeds to hub at '.
+ $this->hub.': '.$push_last_response);
+ } else {
+ common_log(LOG_INFO,
+ 'Published ' . count($feeds) . ' feeds to hub at '.
+ $this->hub.': '.$push_last_response);
}
return true;