From bbab0c1fa6f6c14dec987a44700c09c157f1938d Mon Sep 17 00:00:00 2001 From: Christopher Vollick Date: Mon, 14 Sep 2009 08:44:58 -0400 Subject: Fixed Confusing Typo in Documentation. Subscribe != Unsubscribe. Also, my editor added a newline at the end because there wasn't one. --- doc-src/im | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc-src/im b/doc-src/im index c722a4e2c..631f6d9bb 100644 --- a/doc-src/im +++ b/doc-src/im @@ -37,10 +37,10 @@ currently-implemented commands: * **help**: Show this help. List available Jabber/XMPP commands * **follow <nickname>**: Subscribe to <nickname> * **sub <nickname>**: Same as follow -* **leave <nickname>**: Subscribe to <nickname> +* **leave <nickname>**: Unsubscribe from <nickname> * **unsub <nickname>**: Same as leave * **d <nickname> <text>**: Send direct message to <nickname> with message body <text> * **get <nickname>**: Get last notice from <nickname> * **last <nickname>**: Same as 'get' * **whois <nickname>**: Get Profile info on <nickname> -* **fav <nickname>**: Add user's last notice as a favorite \ No newline at end of file +* **fav <nickname>**: Add user's last notice as a favorite -- cgit v1.2.3-54-g00ecf From c4ef2346b864b293fc4c4b02c72b07d18718d0cf Mon Sep 17 00:00:00 2001 From: Christopher Vollick Date: Wed, 16 Sep 2009 05:07:33 -0400 Subject: Pagination of user/tag was navigating to wrong page. Fixes bug #1736. --- actions/showstream.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/actions/showstream.php b/actions/showstream.php index 4d3067eed..89285b13c 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -380,8 +380,13 @@ class ShowstreamAction extends ProfileAction $this->showEmptyListMessage(); } + $args = array('nickname' => $this->user->nickname); + if (!empty($this->tag)) + { + $args['tag'] = $this->tag; + } $this->pagination($this->page>1, $cnt>NOTICES_PER_PAGE, $this->page, - 'showstream', array('nickname' => $this->user->nickname)); + 'showstream', $args); } function showAnonymousMessage() -- cgit v1.2.3-54-g00ecf From d9953e015b593965150bb528536f1f90674620ae Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Wed, 16 Sep 2009 16:04:19 +0000 Subject: Fixed missing quotes --- plugins/Realtime/realtimeupdate.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Realtime/realtimeupdate.js b/plugins/Realtime/realtimeupdate.js index b2c8bb56d..faec8d89c 100644 --- a/plugins/Realtime/realtimeupdate.js +++ b/plugins/Realtime/realtimeupdate.js @@ -55,7 +55,7 @@ RealtimeUpdate = { " "+ ""+ "from "+ - "+source+"+ // may have a link + ""+source+""+ // may have a link ""; if (data['in_reply_to_status_id']) { ni = ni+" in context"; -- cgit v1.2.3-54-g00ecf From fc0f871bfe653a635d5e86986f2c8510434f74c3 Mon Sep 17 00:00:00 2001 From: CiaranG Date: Fri, 18 Sep 2009 08:27:09 +0100 Subject: Correction to path in README of recaptcha plugin --- plugins/recaptcha/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/recaptcha/README b/plugins/recaptcha/README index ce23a2695..b996f96cc 100644 --- a/plugins/recaptcha/README +++ b/plugins/recaptcha/README @@ -6,7 +6,7 @@ Use: 1. Get an API key from http://recaptcha.net 2. In config.php add: -include_once('plugins/recaptcha.php'); +include_once('plugins/recaptcha/recaptcha.php'); $captcha = new recaptcha(publickey, privatekey, showErrors); Changelog -- cgit v1.2.3-54-g00ecf From 4b7881c64e741d7b82f1d65bd9651148692cf1d4 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Fri, 18 Sep 2009 19:32:51 +0200 Subject: Removed trailing single space in author @title --- lib/noticelist.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/noticelist.php b/lib/noticelist.php index 6b2bccd97..336457b45 100644 --- a/lib/noticelist.php +++ b/lib/noticelist.php @@ -261,7 +261,7 @@ class NoticeListItem extends Widget $attrs = array('href' => $this->profile->profileurl, 'class' => 'url'); if (!empty($this->profile->fullname)) { - $attrs['title'] = $this->profile->fullname . ' (' . $this->profile->nickname . ') '; + $attrs['title'] = $this->profile->fullname . ' (' . $this->profile->nickname . ')'; } $this->out->elementStart('a', $attrs); $this->showAvatar(); -- cgit v1.2.3-54-g00ecf From 6af71f2cd2b2fcacb0f1eb2e0172a300802fe8bc Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 18 Sep 2009 17:37:36 -0400 Subject: Show context link if this notice starts a conversation --- lib/noticelist.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/noticelist.php b/lib/noticelist.php index 6b2bccd97..507413da7 100644 --- a/lib/noticelist.php +++ b/lib/noticelist.php @@ -418,9 +418,17 @@ class NoticeListItem extends Widget function showContext() { - // XXX: also show context if there are replies to this notice - if (!empty($this->notice->conversation) - && $this->notice->conversation != $this->notice->id) { + $hasConversation = false; + if( !empty($this->notice->conversation) + && $this->notice->conversation != $this->notice->id){ + $hasConversation = true; + }else{ + $conversation = Notice::conversationStream($this->notice->id, 1, 1); + if($conversation->N > 0){ + $hasConversation = true; + } + } + if ($hasConversation){ $convurl = common_local_url('conversation', array('id' => $this->notice->conversation)); $this->out->element('a', array('href' => $convurl.'#notice-'.$this->notice->id, -- cgit v1.2.3-54-g00ecf From 15f9c80c28042a5f9d51ec8444e3c9c475360481 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 18 Sep 2009 17:53:06 -0400 Subject: Blacklist all files and directories in the web root (INSTALLDIR). Much more elegant than manually keep tracking of these invalid usernames. --- classes/User.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/classes/User.php b/classes/User.php index 14d3cf54f..8386f1e18 100644 --- a/classes/User.php +++ b/classes/User.php @@ -120,11 +120,15 @@ class User extends Memcached_DataObject function allowed_nickname($nickname) { // XXX: should already be validated for size, content, etc. - static $blacklist = array('rss', 'xrds', 'doc', 'main', - 'settings', 'notice', 'user', - 'search', 'avatar', 'tag', 'tags', - 'api', 'message', 'group', 'groups', - 'local'); + + $blacklist = array(); + + //all directory and file names should be blacklisted + $d = dir(INSTALLDIR); + while (false !== ($entry = $d->read())) { + $blacklist[]=$entry; + } + $d->close(); $merged = array_merge($blacklist, common_config('nickname', 'blacklist')); return !in_array($nickname, $merged); } -- cgit v1.2.3-54-g00ecf From 61121c192a30abdb33ac98cca9962942645df58e Mon Sep 17 00:00:00 2001 From: CiaranG Date: Sat, 19 Sep 2009 12:09:49 +0100 Subject: Additional note in Autocomplete plugin readme about private mode --- plugins/Autocomplete/readme.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/Autocomplete/readme.txt b/plugins/Autocomplete/readme.txt index 3272aa1ee..1db4c6565 100644 --- a/plugins/Autocomplete/readme.txt +++ b/plugins/Autocomplete/readme.txt @@ -1,5 +1,7 @@ Autocomplete allows users to autocomplete screen names in @ replies. When an "@" is typed into the notice text area, an autocomplete box is displayed populated with the user's friends' screen names. +Note: This plugin doesn't work if the site is in Private mode, i.e. when $config['site']['private'] is set to true. + Installation ============ Add "addPlugin('Autocomplete');" to the bottom of your config.php -- cgit v1.2.3-54-g00ecf From 74296fa12c7813ad5cdc80750173c11912b5860f Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Sat, 19 Sep 2009 18:34:07 -0700 Subject: Make statuses/home_timeline return the same thing as statuses/friends_timeline to support apps trying to use the new retweet API method. --- actions/twitapistatuses.php | 5 +++++ lib/router.php | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/actions/twitapistatuses.php b/actions/twitapistatuses.php index edee239a0..5e2867ea8 100644 --- a/actions/twitapistatuses.php +++ b/actions/twitapistatuses.php @@ -136,6 +136,11 @@ class TwitapistatusesAction extends TwitterapiAction } + function home_timeline($args, $apidata) + { + call_user_func(array($this, 'friends_timeline'), $args, $apidata); + } + function user_timeline($args, $apidata) { parent::handle($args); diff --git a/lib/router.php b/lib/router.php index 0505c9942..5529e60ac 100644 --- a/lib/router.php +++ b/lib/router.php @@ -272,12 +272,12 @@ class Router $m->connect('api/statuses/:method', array('action' => 'api', 'apiaction' => 'statuses'), - array('method' => '(public_timeline|friends_timeline|user_timeline|update|replies|mentions|show|friends|followers|featured)(\.(atom|rss|xml|json))?')); + array('method' => '(public_timeline|home_timeline|friends_timeline|user_timeline|update|replies|mentions|show|friends|followers|featured)(\.(atom|rss|xml|json))?')); $m->connect('api/statuses/:method/:argument', array('action' => 'api', 'apiaction' => 'statuses'), - array('method' => '(|user_timeline|friends_timeline|replies|mentions|show|destroy|friends|followers)')); + array('method' => '(user_timeline|home_timeline|friends_timeline|replies|mentions|show|destroy|friends|followers)')); // users @@ -436,7 +436,7 @@ class Router $m->connect('api/statuses/:method/:argument', array('action' => 'api', 'apiaction' => 'statuses'), - array('method' => '(|user_timeline|friends_timeline|replies|mentions|show|destroy|friends|followers)')); + array('method' => '(user_timeline|home_timeline|friends_timeline|replies|mentions|show|destroy|friends|followers)')); $m->connect('api/statusnet/groups/:method/:argument', array('action' => 'api', -- cgit v1.2.3-54-g00ecf From cf8944526ec56dd1a3522d6eced65a4d1369c321 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Sat, 19 Sep 2009 22:53:39 -0400 Subject: Make the infinite scroll plugin have a non-infinite scroll (button click to scroll) mode --- plugins/InfiniteScroll/InfiniteScrollPlugin.php | 2 +- plugins/InfiniteScroll/infinitescroll.js | 2 +- plugins/InfiniteScroll/jquery.infinitescroll.js | 22 ++++++++++++++++------ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/plugins/InfiniteScroll/InfiniteScrollPlugin.php b/plugins/InfiniteScroll/InfiniteScrollPlugin.php index c955298cb..5928c007f 100644 --- a/plugins/InfiniteScroll/InfiniteScrollPlugin.php +++ b/plugins/InfiniteScroll/InfiniteScrollPlugin.php @@ -40,7 +40,7 @@ class InfiniteScrollPlugin extends Plugin function onEndShowScripts($action) { - $action->script('plugins/InfiniteScroll/jquery.infinitescroll.min.js'); + $action->script('plugins/InfiniteScroll/jquery.infinitescroll.js'); $action->script('plugins/InfiniteScroll/infinitescroll.js'); } } diff --git a/plugins/InfiniteScroll/infinitescroll.js b/plugins/InfiniteScroll/infinitescroll.js index 6513072d0..ae4d53d09 100644 --- a/plugins/InfiniteScroll/infinitescroll.js +++ b/plugins/InfiniteScroll/infinitescroll.js @@ -1,6 +1,7 @@ jQuery(document).ready(function($){ $('notices_primary').infinitescroll({ debug: true, + infiniteScroll : false, nextSelector : "li.nav_next a", loadingImg : $('address .url')[0].href+'plugins/InfiniteScroll/ajax-loader.gif', text : "Loading the next set of posts...", @@ -12,4 +13,3 @@ jQuery(document).ready(function($){ NoticeAttachments(); }); }); - diff --git a/plugins/InfiniteScroll/jquery.infinitescroll.js b/plugins/InfiniteScroll/jquery.infinitescroll.js index 670686b0e..ec31bb086 100644 --- a/plugins/InfiniteScroll/jquery.infinitescroll.js +++ b/plugins/InfiniteScroll/jquery.infinitescroll.js @@ -92,14 +92,14 @@ if (props.isDuringAjax || props.isInvalidPage || props.isDone) return; - if ( !isNearBottom(opts,props) ) return; + if ( opts.infiniteScroll && !isNearBottom(opts,props) ) return; // we dont want to fire the ajax multiple times props.isDuringAjax = true; // show the loading message and hide the previous/next links props.loadingMsg.appendTo( opts.contentSelector ).show(); - $( opts.navSelector ).hide(); + if(opts.infiniteScroll) $( opts.navSelector ).hide(); // increment the URL bit. e.g. /page/3/ props.currPage++; @@ -205,10 +205,19 @@ } }); - // bind scroll handler to element (if its a local scroll) or window - $(opts.localMode ? this : window) - .bind('scroll.infscr', function(){ infscrSetup(path,opts,props,callback); } ) - .trigger('scroll.infscr'); // trigger the event, in case it's a short page + if(opts.infiniteScroll){ + // bind scroll handler to element (if its a local scroll) or window + $(opts.localMode ? this : window) + .bind('scroll.infscr', function(){ infscrSetup(path,opts,props,callback); } ) + .trigger('scroll.infscr'); // trigger the event, in case it's a short page + }else{ + $(opts.nextSelector).click( + function(){ + infscrSetup(path,opts,props,callback); + return false; + } + ); + } return this; @@ -222,6 +231,7 @@ $.infinitescroll = { defaults : { debug : false, + infiniteScroll : true, preload : false, nextSelector : "div.navigation a:first", loadingImg : "http://www.infinite-scroll.com/loading.gif", -- cgit v1.2.3-54-g00ecf From 44820d296dd0c00cef9b48af3a3574f765042715 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Sun, 20 Sep 2009 13:44:22 +0200 Subject: No need to call farbtastic.go.js because it was moved to userdesign.go.js --- lib/designsettings.php | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/designsettings.php b/lib/designsettings.php index fdc05562e..820d534f2 100644 --- a/lib/designsettings.php +++ b/lib/designsettings.php @@ -325,7 +325,6 @@ class DesignSettingsAction extends AccountSettingsAction parent::showScripts(); $this->script('js/farbtastic/farbtastic.js'); - $this->script('js/farbtastic/farbtastic.go.js'); $this->script('js/userdesign.go.js'); $this->autofocus('design_background-image_file'); -- cgit v1.2.3-54-g00ecf From 49e91ec7d068fa7b98576207696d2192418baf5b Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Sun, 20 Sep 2009 15:14:46 +0000 Subject: Added realtime streams for all and showstream timelines --- plugins/Meteor/meteorupdater.js | 11 ++++++++++- plugins/Realtime/RealtimePlugin.php | 34 +++++++++++++++++++--------------- 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/plugins/Meteor/meteorupdater.js b/plugins/Meteor/meteorupdater.js index 2e688336f..e8bca3eb4 100644 --- a/plugins/Meteor/meteorupdater.js +++ b/plugins/Meteor/meteorupdater.js @@ -7,8 +7,17 @@ var MeteorUpdater = function() init: function(server, port, timeline) { + var screen_name; + Meteor.callbacks["process"] = function(data) { - RealtimeUpdate.receive(JSON.parse(data)); + var d = JSON.parse(data); + screen_name = d['user']['screen_name']; + + if (timeline == 'public' || + $('address .url')[0].href+screen_name+'/all' == window.location.href || + $('address .url')[0].href+screen_name == window.location.href) { + RealtimeUpdate.receive(d); + } }; Meteor.host = server; diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php index 82eca3d08..1703ef099 100644 --- a/plugins/Realtime/RealtimePlugin.php +++ b/plugins/Realtime/RealtimePlugin.php @@ -63,20 +63,22 @@ class RealtimePlugin extends Plugin { $path = null; - switch ($action->trimmed('action')) { - case 'public': - $path = array('public'); - break; - case 'tag': - $tag = $action->trimmed('tag'); - if (!empty($tag)) { - $path = array('tag', $tag); - } else { + $a = $action->trimmed('action'); + + switch ($a) { + case 'public': case 'all': case 'replies': case 'showstream': + $path = array($a); + break; + case 'tag': + $tag = $action->trimmed('tag'); + if (!empty($tag)) { + $path = array('tag', $tag); + } else { + return true; + } + break; + default: return true; - } - break; - default: - return true; } $timeline = $this->_pathToChannel($path); @@ -108,11 +110,13 @@ class RealtimePlugin extends Plugin { $paths = array(); - // XXX: Add other timelines; this is just for the public one + // TODO: Replies timeline if ($notice->is_local || ($notice->is_local == 0 && !common_config('public', 'localonly'))) { - $paths[] = array('public'); + foreach (array('public', 'all', 'replies', 'showstream') as $a) { + $paths[] = array($a); + } } $tags = $this->getNoticeTags($notice); -- cgit v1.2.3-54-g00ecf From 182257cbbf1557c2671b1995c9126c45b0bd8e79 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Sun, 20 Sep 2009 15:20:10 +0000 Subject: Fixed indenting --- plugins/Meteor/meteorupdater.js | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/plugins/Meteor/meteorupdater.js b/plugins/Meteor/meteorupdater.js index e8bca3eb4..939aed00a 100644 --- a/plugins/Meteor/meteorupdater.js +++ b/plugins/Meteor/meteorupdater.js @@ -3,28 +3,28 @@ var MeteorUpdater = function() { - return { + return { - init: function(server, port, timeline) - { - var screen_name; + init: function(server, port, timeline) + { + var screen_name; - Meteor.callbacks["process"] = function(data) { - var d = JSON.parse(data); - screen_name = d['user']['screen_name']; + Meteor.callbacks["process"] = function(data) { + var d = JSON.parse(data); + screen_name = d['user']['screen_name']; - if (timeline == 'public' || - $('address .url')[0].href+screen_name+'/all' == window.location.href || - $('address .url')[0].href+screen_name == window.location.href) { - RealtimeUpdate.receive(d); - } - }; + if (timeline == 'public' || + $('address .url')[0].href+screen_name+'/all' == window.location.href || + $('address .url')[0].href+screen_name == window.location.href) { + RealtimeUpdate.receive(d); + } + }; - Meteor.host = server; - Meteor.port = port; - Meteor.joinChannel(timeline, 0); - Meteor.connect(); - } - } + Meteor.host = server; + Meteor.port = port; + Meteor.joinChannel(timeline, 0); + Meteor.connect(); + } + } }(); -- cgit v1.2.3-54-g00ecf From 8f84bc88d7855ac86b87bf4e8813e18c565d1a52 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Mon, 21 Sep 2009 11:32:36 +0000 Subject: Updated todo comment for pushing notices to Personal and Replies timelines --- plugins/Meteor/meteorupdater.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/Meteor/meteorupdater.js b/plugins/Meteor/meteorupdater.js index 939aed00a..82594d91c 100644 --- a/plugins/Meteor/meteorupdater.js +++ b/plugins/Meteor/meteorupdater.js @@ -1,5 +1,6 @@ -// update the local timeline from a Meteor server -// +// Update the local timeline from a Meteor server +// XXX: If @a is subscribed to @b, @a should get @b's notices in @a's Personal timeline. +// Do Replies timeline. var MeteorUpdater = function() { -- cgit v1.2.3-54-g00ecf From c9bc3900909a85b9b4be31c4dac7f809127a8bf0 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Mon, 21 Sep 2009 11:35:56 +0000 Subject: Made it slighly more compact with less jQuery selection --- plugins/Meteor/meteorupdater.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/Meteor/meteorupdater.js b/plugins/Meteor/meteorupdater.js index 82594d91c..a7c87330c 100644 --- a/plugins/Meteor/meteorupdater.js +++ b/plugins/Meteor/meteorupdater.js @@ -8,15 +8,15 @@ var MeteorUpdater = function() init: function(server, port, timeline) { - var screen_name; - Meteor.callbacks["process"] = function(data) { var d = JSON.parse(data); - screen_name = d['user']['screen_name']; + + $user_url = $('address .url')[0].href+d['user']['screen_name']; if (timeline == 'public' || - $('address .url')[0].href+screen_name+'/all' == window.location.href || - $('address .url')[0].href+screen_name == window.location.href) { + $user_url+'/all' == window.location.href || + $user_url == window.location.href) { + RealtimeUpdate.receive(d); } }; -- cgit v1.2.3-54-g00ecf From 13de845e95da9ea579516c4480789819c9a26edd Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Mon, 21 Sep 2009 14:30:12 +0000 Subject: Added a check for any URL param. If found, strips them out before going ahead with realtime timeline update. --- plugins/Meteor/meteorupdater.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/plugins/Meteor/meteorupdater.js b/plugins/Meteor/meteorupdater.js index a7c87330c..91d12cde9 100644 --- a/plugins/Meteor/meteorupdater.js +++ b/plugins/Meteor/meteorupdater.js @@ -11,11 +11,17 @@ var MeteorUpdater = function() Meteor.callbacks["process"] = function(data) { var d = JSON.parse(data); - $user_url = $('address .url')[0].href+d['user']['screen_name']; + var user_url = $('address .url')[0].href+d['user']['screen_name']; + + var wlh = window.location.href; + + if (wlh.indexOf('?') > 0) { + wlh = wlh.slice(0, wlh.indexOf('?')) + } if (timeline == 'public' || - $user_url+'/all' == window.location.href || - $user_url == window.location.href) { + user_url+'/all' == wlh || + user_url == wlh) { RealtimeUpdate.receive(d); } -- cgit v1.2.3-54-g00ecf From 470b34ea47ff97bbcbffb49c8a456da358b29578 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Mon, 21 Sep 2009 18:30:22 +0000 Subject: Escaping internal JavaScript --- plugins/Realtime/RealtimePlugin.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php index 1703ef099..7a612a406 100644 --- a/plugins/Realtime/RealtimePlugin.php +++ b/plugins/Realtime/RealtimePlugin.php @@ -98,9 +98,13 @@ class RealtimePlugin extends Plugin } $action->elementStart('script', array('type' => 'text/javascript')); - $action->raw("$(document).ready(function() { "); - $action->raw($this->_updateInitialize($timeline, $user_id)); - $action->raw(" });"); + $action->raw(' + + '); $action->elementEnd('script'); return true; -- cgit v1.2.3-54-g00ecf From acd5a53257f6d0677d1630e4f6cae80706cdbdba Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Mon, 21 Sep 2009 19:17:37 +0000 Subject: Initial UI to allow certain timelines to be viewed in a new window in realtime --- plugins/Realtime/RealtimePlugin.php | 2 + plugins/Realtime/icon_external.gif | Bin 0 -> 90 bytes plugins/Realtime/jquery.getUrlParam.js | 72 +++++++++ plugins/Realtime/realtimeupdate.js | 263 +++++++++++++++++++-------------- 4 files changed, 225 insertions(+), 112 deletions(-) create mode 100644 plugins/Realtime/icon_external.gif create mode 100644 plugins/Realtime/jquery.getUrlParam.js diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php index 7a612a406..611b1d86c 100644 --- a/plugins/Realtime/RealtimePlugin.php +++ b/plugins/Realtime/RealtimePlugin.php @@ -97,6 +97,8 @@ class RealtimePlugin extends Plugin $user_id = 0; } + $action->script('plugins/Realtime/jquery.getUrlParam.js'); + $action->elementStart('script', array('type' => 'text/javascript')); $action->raw('