summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRobin Millette <millette@controlyourself.ca>2009-04-24 20:01:25 +0000
committerRobin Millette <millette@controlyourself.ca>2009-04-24 20:01:25 +0000
commitf2f4e8c5868ef7fee694590c17bacec4e01e3b9b (patch)
tree78df1002c3cfc902e5b16cbe858e3efa675a2f14 /lib
parentc008c0d4a56ec265ba6e10d208f9954510296f12 (diff)
parent5e7664e25f6c4b93d32bc1ef33463c09205ff679 (diff)
Merge branch '0.7.x' of git@gitorious.org:laconica/dev into 0.7.x
Diffstat (limited to 'lib')
-rw-r--r--lib/queuehandler.php21
-rw-r--r--lib/util.php20
2 files changed, 28 insertions, 13 deletions
diff --git a/lib/queuehandler.php b/lib/queuehandler.php
index 9ce9e32b3..fde650d9e 100644
--- a/lib/queuehandler.php
+++ b/lib/queuehandler.php
@@ -36,7 +36,7 @@ class QueueHandler extends Daemon
$this->set_id($id);
}
}
-
+
function class_name()
{
return ucfirst($this->transport()) . 'Handler';
@@ -46,7 +46,7 @@ class QueueHandler extends Daemon
{
return strtolower($this->class_name().'.'.$this->get_id());
}
-
+
function get_id()
{
return $this->_id;
@@ -56,16 +56,16 @@ class QueueHandler extends Daemon
{
$this->_id = $id;
}
-
+
function transport()
{
return null;
}
-
+
function start()
{
}
-
+
function finish()
{
}
@@ -74,14 +74,14 @@ class QueueHandler extends Daemon
{
return true;
}
-
+
function run()
{
if (!$this->start()) {
return false;
}
- $this->log(LOG_INFO, 'checking for queued notices');
$transport = $this->transport();
+ $this->log(LOG_INFO, 'checking for queued notices for "' . $transport . '"');
do {
$qi = Queue_item::top($transport);
if ($qi) {
@@ -113,7 +113,7 @@ class QueueHandler extends Daemon
} else {
$this->clear_old_claims();
$this->idle(5);
- }
+ }
} while (true);
if (!$this->finish()) {
return false;
@@ -127,7 +127,7 @@ class QueueHandler extends Daemon
sleep($timeout);
}
}
-
+
function clear_old_claims()
{
$qi = new Queue_item();
@@ -137,10 +137,9 @@ class QueueHandler extends Daemon
$qi->free();
unset($qi);
}
-
+
function log($level, $msg)
{
common_log($level, $this->class_name() . ' ('. $this->get_id() .'): '.$msg);
}
}
- \ No newline at end of file
diff --git a/lib/util.php b/lib/util.php
index e1dd238ba..f862d7fcc 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -879,7 +879,23 @@ function common_broadcast_notice($notice, $remote=false)
function common_enqueue_notice($notice)
{
- foreach (array('jabber', 'omb', 'sms', 'public', 'twitter', 'facebook', 'ping') as $transport) {
+ $transports = array('omb', 'sms', 'twitter', 'facebook', 'ping');
+
+ if (common_config('xmpp', 'enabled')) {
+ $transports = array_merge($transports, array('jabber', 'public'));
+ }
+
+ if (common_config('memcached', 'enabled')) {
+ // Note: limited to 8 chars
+ $transports[] = 'memcache';
+ }
+
+ if (common_config('inboxes', 'enabled') === true ||
+ common_config('inboxes', 'enabled') === 'transitional') {
+ $transports[] = 'inbox';
+ }
+
+ foreach ($transports as $transport) {
$qi = new Queue_item();
$qi->notice_id = $notice->id;
$qi->transport = $transport;
@@ -1332,7 +1348,7 @@ function common_compatible_license($from, $to)
*/
function common_database_tablename($tablename)
{
-
+
if(common_config('db','quote_identifiers')) {
$tablename = '"'. $tablename .'"';
}