]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
let implementations build channel strings for realtime
authorEvan Prodromou <evan@controlyourself.ca>
Wed, 15 Jul 2009 19:30:33 +0000 (15:30 -0400)
committerEvan Prodromou <evan@controlyourself.ca>
Wed, 15 Jul 2009 19:30:33 +0000 (15:30 -0400)
plugins/Realtime/RealtimePlugin.php

index d01da5a50977302b6a2b29d18d454655709a3090..507f0194d7a3c726eb05112f8272b23e435b4da8 100644 (file)
@@ -61,16 +61,16 @@ class RealtimePlugin extends Plugin
 
     function onEndShowScripts($action)
     {
-        $timeline = null;
+        $path = null;
 
         switch ($action->trimmed('action')) {
          case 'public':
-            $timeline = 'timelines-public';
+            $path = array('public');
             break;
          case 'tag':
             $tag = $action->trimmed('tag');
             if (!empty($tag)) {
-                $timeline = 'timelines-tag-'.$tag;
+                $path = array('tag', $tag);
             } else {
                 return true;
             }
@@ -79,6 +79,8 @@ class RealtimePlugin extends Plugin
             return true;
         }
 
+        $timeline = $this->_pathToChannel($path);
+
         $scripts = $this->_getScripts();
 
         foreach ($scripts as $script) {
@@ -106,30 +108,31 @@ class RealtimePlugin extends Plugin
 
     function onEndNoticeSave($notice)
     {
-        $timelines = array();
+        $paths = array();
 
         // XXX: Add other timelines; this is just for the public one
 
         if ($notice->is_local ||
             ($notice->is_local == 0 && !common_config('public', 'localonly'))) {
-            $timelines[] = 'timelines-public';
+            $paths[] = array('public');
         }
 
         $tags = $this->getNoticeTags($notice);
 
         if (!empty($tags)) {
             foreach ($tags as $tag) {
-                $timelines[] = 'timelines-tag-' . $tag;
+                $paths[] = array('tag', $tag);
             }
         }
 
-        if (count($timelines) > 0) {
+        if (count($paths) > 0) {
 
             $json = $this->noticeAsJson($notice);
 
             $this->_connect();
 
-            foreach ($timelines as $timeline) {
+            foreach ($paths as $path) {
+                $timeline = $this->_pathToChannel($path);
                 $this->_publish($timeline, $json);
             }
 
@@ -218,4 +221,9 @@ class RealtimePlugin extends Plugin
     function _disconnect()
     {
     }
+
+    function _pathToChannel($path)
+    {
+        return '';
+    }
 }