Merge branch '0.9.x' into twitstream
This commit is contained in:
		@@ -151,7 +151,7 @@ class NewgroupAction extends Action
 | 
				
			|||||||
            // TRANS: %d is the maximum number of allowed characters.
 | 
					            // TRANS: %d is the maximum number of allowed characters.
 | 
				
			||||||
            $this->showForm(sprintf(_m('Description is too long (maximum %d character).',
 | 
					            $this->showForm(sprintf(_m('Description is too long (maximum %d character).',
 | 
				
			||||||
                                       'Description is too long (maximum %d characters).',
 | 
					                                       'Description is too long (maximum %d characters).',
 | 
				
			||||||
                                       User_group::maxDescription(),
 | 
					                                       User_group::maxDescription()),
 | 
				
			||||||
                                    User_group::maxDescription()));
 | 
					                                    User_group::maxDescription()));
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        } else if (!is_null($location) && mb_strlen($location) > 255) {
 | 
					        } else if (!is_null($location) && mb_strlen($location) > 255) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -63,23 +63,26 @@ class ShowstreamAction extends ProfileAction
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    function title()
 | 
					    function title()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        if (!empty($this->profile->fullname)) {
 | 
					        $base = $this->profile->getFancyName();
 | 
				
			||||||
            $base = $this->profile->fullname . ' (' . $this->user->nickname . ') ';
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            $base = $this->user->nickname;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (!empty($this->tag)) {
 | 
					        if (!empty($this->tag)) {
 | 
				
			||||||
            $base .= sprintf(_(' tagged %s'), $this->tag);
 | 
					            if ($this->page == 1) {
 | 
				
			||||||
 | 
					                // TRANS: Page title showing tagged notices in one user's stream. Param 1 is the username, 2 is the hash tag.
 | 
				
			||||||
 | 
					                return sprintf(_('%1$s tagged %2$s'), $base, $this->tag);
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                // TRANS: Page title showing tagged notices in one user's stream. Param 1 is the username, 2 is the hash tag, 3 is the page number.
 | 
				
			||||||
 | 
					                return sprintf(_('%1$s tagged %2$s, page %3$d'), $base, $this->tag, $this->page);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
            if ($this->page == 1) {
 | 
					            if ($this->page == 1) {
 | 
				
			||||||
                return $base;
 | 
					                return $base;
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
 | 
					                // TRANS: Extended page title showing tagged notices in one user's stream. Param 1 is the username, param 2 is the page number.
 | 
				
			||||||
                return sprintf(_('%1$s, page %2$d'),
 | 
					                return sprintf(_('%1$s, page %2$d'),
 | 
				
			||||||
                               $base,
 | 
					                               $base,
 | 
				
			||||||
                               $this->page);
 | 
					                               $this->page);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    function handle($args)
 | 
					    function handle($args)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -141,11 +141,32 @@ class Profile extends Memcached_DataObject
 | 
				
			|||||||
        return true;
 | 
					        return true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Gets either the full name (if filled) or the nickname.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return string
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
    function getBestName()
 | 
					    function getBestName()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        return ($this->fullname) ? $this->fullname : $this->nickname;
 | 
					        return ($this->fullname) ? $this->fullname : $this->nickname;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Gets the full name (if filled) with nickname as a parenthetical, or the nickname alone
 | 
				
			||||||
 | 
					     * if no fullname is provided.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return string
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    function getFancyName()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if ($this->fullname) {
 | 
				
			||||||
 | 
					            // TRANS: Full name of a profile or group followed by nickname in parens
 | 
				
			||||||
 | 
					            return sprintf(_('%1$s (%2$s)'), $this->fullname, $this->nickname);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            return $this->nickname;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Get the most recent notice posted by this user, if any.
 | 
					     * Get the most recent notice posted by this user, if any.
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								js/util.js
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								js/util.js
									
									
									
									
									
								
							@@ -56,6 +56,15 @@ var SN = { // StatusNet
 | 
				
			|||||||
            NoticeDataGeoCookie: 'NoticeDataGeo',
 | 
					            NoticeDataGeoCookie: 'NoticeDataGeo',
 | 
				
			||||||
            NoticeDataGeoSelected: 'notice_data-geo_selected',
 | 
					            NoticeDataGeoSelected: 'notice_data-geo_selected',
 | 
				
			||||||
            StatusNetInstance:'StatusNetInstance'
 | 
					            StatusNetInstance:'StatusNetInstance'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    messages: {},
 | 
				
			||||||
 | 
					    msg: function(key) {
 | 
				
			||||||
 | 
					        if (typeof SN.messages[key] == "undefined") {
 | 
				
			||||||
 | 
					            return '[' + key + ']';
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            return SN.messages[key];
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -416,7 +425,7 @@ var SN = { // StatusNet
 | 
				
			|||||||
                    });
 | 
					                    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    return false;
 | 
					                    return false;
 | 
				
			||||||
                });
 | 
					                }).attr('title', SN.msg('showmore_tooltip'));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else {
 | 
					            else {
 | 
				
			||||||
                $.fn.jOverlay.options = {
 | 
					                $.fn.jOverlay.options = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -283,6 +283,7 @@ class Action extends HTMLOutputter // lawsuit
 | 
				
			|||||||
            if (Event::handle('StartShowStatusNetScripts', array($this)) &&
 | 
					            if (Event::handle('StartShowStatusNetScripts', array($this)) &&
 | 
				
			||||||
                Event::handle('StartShowLaconicaScripts', array($this))) {
 | 
					                Event::handle('StartShowLaconicaScripts', array($this))) {
 | 
				
			||||||
                $this->script('util.js');
 | 
					                $this->script('util.js');
 | 
				
			||||||
 | 
					                $this->showScriptMessages();
 | 
				
			||||||
                // Frame-busting code to avoid clickjacking attacks.
 | 
					                // Frame-busting code to avoid clickjacking attacks.
 | 
				
			||||||
                $this->inlineScript('if (window.top !== window.self) { window.top.location.href = window.self.location.href; }');
 | 
					                $this->inlineScript('if (window.top !== window.self) { window.top.location.href = window.self.location.href; }');
 | 
				
			||||||
                Event::handle('EndShowStatusNetScripts', array($this));
 | 
					                Event::handle('EndShowStatusNetScripts', array($this));
 | 
				
			||||||
@@ -292,6 +293,54 @@ class Action extends HTMLOutputter // lawsuit
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Exports a map of localized text strings to JavaScript code.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * Plugins can add to what's exported by hooking the StartScriptMessages or EndScriptMessages
 | 
				
			||||||
 | 
					     * events and appending to the array. Try to avoid adding strings that won't be used, as
 | 
				
			||||||
 | 
					     * they'll be added to HTML output.
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    function showScriptMessages()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $messages = array();
 | 
				
			||||||
 | 
					        if (Event::handle('StartScriptMessages', array($this, &$messages))) {
 | 
				
			||||||
 | 
					            // Common messages needed for timeline views etc...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
 | 
				
			||||||
 | 
					            $messages['showmore_tooltip'] = _m('TOOLTIP', 'Show more');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $messages = array_merge($messages, $this->getScriptMessages());
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        Event::handle('EndScriptMessages', array($this, &$messages));
 | 
				
			||||||
 | 
					        if ($messages) {
 | 
				
			||||||
 | 
					            $this->inlineScript('SN.messages=' . json_encode($messages));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return $messages;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * If the action will need localizable text strings, export them here like so:
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * return array('pool_deepend' => _('Deep end'),
 | 
				
			||||||
 | 
					     *              'pool_shallow' => _('Shallow end'));
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * The exported map will be available via SN.msg() to JS code:
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     *   $('#pool').html('<div class="deepend"></div><div class="shallow"></div>');
 | 
				
			||||||
 | 
					     *   $('#pool .deepend').text(SN.msg('pool_deepend'));
 | 
				
			||||||
 | 
					     *   $('#pool .shallow').text(SN.msg('pool_shallow'));
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * Exports a map of localized text strings to JavaScript code.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * Plugins can add to what's exported on any action by hooking the StartScriptMessages or
 | 
				
			||||||
 | 
					     * EndScriptMessages events and appending to the array. Try to avoid adding strings that won't
 | 
				
			||||||
 | 
					     * be used, as they'll be added to HTML output.
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    function getScriptMessages()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return array();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Show OpenSearch headers
 | 
					     * Show OpenSearch headers
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -588,7 +588,8 @@ class Ostatus_profile extends Memcached_DataObject
 | 
				
			|||||||
                // We mark up the attachment link specially for the HTML output
 | 
					                // We mark up the attachment link specially for the HTML output
 | 
				
			||||||
                // so we can fold-out the full version inline.
 | 
					                // so we can fold-out the full version inline.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                // TRANS: Shown when a notice is longer than supported and/or when attachments are present.
 | 
					                // @fixme I18N this tooltip will be saved with the site's default language
 | 
				
			||||||
 | 
					                // TRANS: Shown when a notice is longer than supported and/or when attachments are present. At runtime this will usually be replaced with localized text from StatusNet core messages.
 | 
				
			||||||
                $showMoreText = _m('Show more');
 | 
					                $showMoreText = _m('Show more');
 | 
				
			||||||
                $attachUrl = common_local_url('attachment',
 | 
					                $attachUrl = common_local_url('attachment',
 | 
				
			||||||
                                              array('attachment' => $attachment->id));
 | 
					                                              array('attachment' => $attachment->id));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,6 +5,6 @@
 | 
				
			|||||||
* Pause ~ retain up to 50-100 most recent notices
 | 
					* Pause ~ retain up to 50-100 most recent notices
 | 
				
			||||||
* Add geo data
 | 
					* Add geo data
 | 
				
			||||||
* Make it work for Conversation page (perhaps a little tricky)
 | 
					* Make it work for Conversation page (perhaps a little tricky)
 | 
				
			||||||
* IE is updating the counter in document title all the time (Not sure if this is still an issue)
 | 
					* IE is updating the counter in document title all the time (Not sure if this
 | 
				
			||||||
 | 
					  is still an issue)
 | 
				
			||||||
* Reconsider the timestamp approach
 | 
					* Reconsider the timestamp approach
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -43,7 +43,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
 | 
				
			|||||||
 * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 | 
					 * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 | 
				
			||||||
 * @link     http://status.net/
 | 
					 * @link     http://status.net/
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					 | 
				
			||||||
class RealtimePlugin extends Plugin
 | 
					class RealtimePlugin extends Plugin
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    protected $replyurl = null;
 | 
					    protected $replyurl = null;
 | 
				
			||||||
@@ -326,6 +325,32 @@ class RealtimePlugin extends Plugin
 | 
				
			|||||||
        return array('plugins/Realtime/realtimeupdate.js');
 | 
					        return array('plugins/Realtime/realtimeupdate.js');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Export any i18n messages that need to be loaded at runtime...
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param Action $action
 | 
				
			||||||
 | 
					     * @param array $messages
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return boolean hook return value
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    function onEndScriptMessages($action, &$messages)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        // TRANS: Text label for realtime view "play" button, usually replaced by an icon.
 | 
				
			||||||
 | 
					        $messages['realtime_play'] = _m('BUTTON', 'Play');
 | 
				
			||||||
 | 
					        // TRANS: Tooltip for realtime view "play" button.
 | 
				
			||||||
 | 
					        $messages['realtime_play_tooltip'] = _m('TOOLTIP', 'Play');
 | 
				
			||||||
 | 
					        // TRANS: Text label for realtime view "pause" button
 | 
				
			||||||
 | 
					        $messages['realtime_pause'] = _m('BUTTON', 'Pause');
 | 
				
			||||||
 | 
					        // TRANS: Tooltip for realtime view "pause" button
 | 
				
			||||||
 | 
					        $messages['realtime_pause_tooltip'] = _m('TOOLTIP', 'Pause');
 | 
				
			||||||
 | 
					        // TRANS: Text label for realtime view "popup" button, usually replaced by an icon.
 | 
				
			||||||
 | 
					        $messages['realtime_popup'] = _m('BUTTON', 'Pop up');
 | 
				
			||||||
 | 
					        // TRANS: Tooltip for realtime view "popup" button.
 | 
				
			||||||
 | 
					        $messages['realtime_popup_tooltip'] = _m('TOOLTIP', 'Pop up in a window');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return true;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    function _updateInitialize($timeline, $user_id)
 | 
					    function _updateInitialize($timeline, $user_id)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        return "RealtimeUpdate.init($user_id, \"$this->replyurl\", \"$this->favorurl\", \"$this->repeaturl\", \"$this->deleteurl\"); ";
 | 
					        return "RealtimeUpdate.init($user_id, \"$this->replyurl\", \"$this->favorurl\", \"$this->repeaturl\", \"$this->deleteurl\"); ";
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										53
									
								
								plugins/Realtime/locale/Realtime.pot
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								plugins/Realtime/locale/Realtime.pot
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					# SOME DESCRIPTIVE TITLE.
 | 
				
			||||||
 | 
					# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 | 
				
			||||||
 | 
					# This file is distributed under the same license as the PACKAGE package.
 | 
				
			||||||
 | 
					# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#, fuzzy
 | 
				
			||||||
 | 
					msgid ""
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					"Project-Id-Version: PACKAGE VERSION\n"
 | 
				
			||||||
 | 
					"Report-Msgid-Bugs-To: \n"
 | 
				
			||||||
 | 
					"POT-Creation-Date: 2010-11-02 19:46+0000\n"
 | 
				
			||||||
 | 
					"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
				
			||||||
 | 
					"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 | 
				
			||||||
 | 
					"Language-Team: LANGUAGE <LL@li.org>\n"
 | 
				
			||||||
 | 
					"MIME-Version: 1.0\n"
 | 
				
			||||||
 | 
					"Content-Type: text/plain; charset=CHARSET\n"
 | 
				
			||||||
 | 
					"Content-Transfer-Encoding: 8bit\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#. TRANS: Text label for realtime view "play" button, usually replaced by an icon.
 | 
				
			||||||
 | 
					#: RealtimePlugin.php:339
 | 
				
			||||||
 | 
					msgctxt "BUTTON"
 | 
				
			||||||
 | 
					msgid "Play"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#. TRANS: Tooltip for realtime view "play" button.
 | 
				
			||||||
 | 
					#: RealtimePlugin.php:341
 | 
				
			||||||
 | 
					msgctxt "TOOLTIP"
 | 
				
			||||||
 | 
					msgid "Play"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#. TRANS: Text label for realtime view "pause" button
 | 
				
			||||||
 | 
					#: RealtimePlugin.php:343
 | 
				
			||||||
 | 
					msgctxt "BUTTON"
 | 
				
			||||||
 | 
					msgid "Pause"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#. TRANS: Tooltip for realtime view "pause" button
 | 
				
			||||||
 | 
					#: RealtimePlugin.php:345
 | 
				
			||||||
 | 
					msgctxt "TOOLTIP"
 | 
				
			||||||
 | 
					msgid "Pause"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon.
 | 
				
			||||||
 | 
					#: RealtimePlugin.php:347
 | 
				
			||||||
 | 
					msgctxt "BUTTON"
 | 
				
			||||||
 | 
					msgid "Pop up"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#. TRANS: Tooltip for realtime view "popup" button.
 | 
				
			||||||
 | 
					#: RealtimePlugin.php:349
 | 
				
			||||||
 | 
					msgctxt "TOOLTIP"
 | 
				
			||||||
 | 
					msgid "Pop up in a window"
 | 
				
			||||||
 | 
					msgstr ""
 | 
				
			||||||
@@ -35,7 +35,6 @@ width:70%;
 | 
				
			|||||||
margin-left:1%;
 | 
					margin-left:1%;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#notices_primary {
 | 
					#notices_primary {
 | 
				
			||||||
position:relative;
 | 
					position:relative;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -75,4 +74,3 @@ line-height:1.2;
 | 
				
			|||||||
#showstream #notices_primary {
 | 
					#showstream #notices_primary {
 | 
				
			||||||
margin-top: 18px;
 | 
					margin-top: 18px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -261,9 +261,10 @@ RealtimeUpdate = {
 | 
				
			|||||||
        RealtimeUpdate.addNoticesHover();
 | 
					        RealtimeUpdate.addNoticesHover();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $('#realtime_playpause').remove();
 | 
					        $('#realtime_playpause').remove();
 | 
				
			||||||
        $('#realtime_actions').prepend('<li id="realtime_playpause"><button id="realtime_pause" class="pause" title="Pause">Pause</button></li>');
 | 
					        $('#realtime_actions').prepend('<li id="realtime_playpause"><button id="realtime_pause" class="pause"></button></li>');
 | 
				
			||||||
 | 
					        $('#realtime_pause').text(SN.msg('realtime_pause'))
 | 
				
			||||||
        $('#realtime_pause').bind('click', function() {
 | 
					                            .attr('title', SN.msg('realtime_pause_tooltip'))
 | 
				
			||||||
 | 
					                            .bind('click', function() {
 | 
				
			||||||
            RealtimeUpdate.removeNoticesHover();
 | 
					            RealtimeUpdate.removeNoticesHover();
 | 
				
			||||||
            RealtimeUpdate.showPlay();
 | 
					            RealtimeUpdate.showPlay();
 | 
				
			||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
@@ -274,9 +275,10 @@ RealtimeUpdate = {
 | 
				
			|||||||
     {
 | 
					     {
 | 
				
			||||||
        RealtimeUpdate.setPause(true);
 | 
					        RealtimeUpdate.setPause(true);
 | 
				
			||||||
        $('#realtime_playpause').remove();
 | 
					        $('#realtime_playpause').remove();
 | 
				
			||||||
        $('#realtime_actions').prepend('<li id="realtime_playpause"><span id="queued_counter"></span> <button id="realtime_play" class="play" title="Play">Play</button></li>');
 | 
					        $('#realtime_actions').prepend('<li id="realtime_playpause"><span id="queued_counter"></span> <button id="realtime_play" class="play"></button></li>');
 | 
				
			||||||
 | 
					        $('#realtime_play').text(SN.msg('realtime_play'))
 | 
				
			||||||
        $('#realtime_play').bind('click', function() {
 | 
					                           .attr('title', SN.msg('realtime_play_tooltip'))
 | 
				
			||||||
 | 
					                           .bind('click', function() {
 | 
				
			||||||
            RealtimeUpdate.showPause();
 | 
					            RealtimeUpdate.showPause();
 | 
				
			||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
@@ -334,9 +336,10 @@ RealtimeUpdate = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
     initAddPopup: function(url, timeline, path)
 | 
					     initAddPopup: function(url, timeline, path)
 | 
				
			||||||
     {
 | 
					     {
 | 
				
			||||||
         $('#realtime_timeline').append('<button id="realtime_popup" title="Pop up in a window">Pop up</button>');
 | 
					         $('#realtime_timeline').append('<button id="realtime_popup"></button>');
 | 
				
			||||||
 | 
					         $('#realtime_popup').text(SN.msg('realtime_popup'))
 | 
				
			||||||
         $('#realtime_popup').bind('click', function() {
 | 
					                             .attr('title', SN.msg('realtime_popup_tooltip'))
 | 
				
			||||||
 | 
					                             .bind('click', function() {
 | 
				
			||||||
                window.open(url,
 | 
					                window.open(url,
 | 
				
			||||||
                         '',
 | 
					                         '',
 | 
				
			||||||
                         'toolbar=no,resizable=yes,scrollbars=yes,status=no,menubar=no,personalbar=no,location=no,width=500,height=550');
 | 
					                         'toolbar=no,resizable=yes,scrollbars=yes,status=no,menubar=no,personalbar=no,location=no,width=500,height=550');
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user