thumbnails now work, queet box bugfix, qvitter compact format removed
This commit is contained in:
parent
ac2d8d27a1
commit
45adaa560a
|
@ -102,16 +102,6 @@ class QvitterPlugin extends Plugin {
|
|||
'id' => Nickname::INPUT_FMT));
|
||||
$m->connect('api/qvitter/update_cover_photo.json',
|
||||
array('action' => 'ApiUpdateCoverPhoto'));
|
||||
$m->connect('api/qvitter/statuses/friends_timeline.json',
|
||||
array('action' => 'apiqvitterfriends'));
|
||||
$m->connect('api/qvitter/statuses/friends_timeline/:id.json',
|
||||
array('action' => 'apiqvitterfriends',
|
||||
'id' => Nickname::INPUT_FMT));
|
||||
$m->connect('api/qvitter/statuses/mentions/:id.json',
|
||||
array('action' => 'apiqvittermentions',
|
||||
'id' => Nickname::INPUT_FMT));
|
||||
$m->connect('api/qvitter/statuses/mentions.:format',
|
||||
array('action' => 'apiqvittermentions'));
|
||||
$m->connect('api/qvitter/statuses/notifications.json',
|
||||
array('action' => 'apiqvitternotifications'));
|
||||
$m->connect(':nickname/notifications',
|
||||
|
@ -259,7 +249,7 @@ class QvitterPlugin extends Plugin {
|
|||
|
||||
|
||||
/**
|
||||
* Group addresses in API response
|
||||
* Add stuff to notices in API responses
|
||||
*
|
||||
* @param Action $action action being executed
|
||||
*
|
||||
|
@ -269,6 +259,7 @@ class QvitterPlugin extends Plugin {
|
|||
function onNoticeSimpleStatusArray($notice, &$twitter_status)
|
||||
{
|
||||
|
||||
// groups
|
||||
$notice_groups = $notice->getGroups();
|
||||
$group_addressees = false;
|
||||
foreach($notice_groups as $g) {
|
||||
|
@ -278,6 +269,35 @@ class QvitterPlugin extends Plugin {
|
|||
if($group_addressees == '') $group_addressees = false;
|
||||
$twitter_status['statusnet_in_groups'] = $group_addressees;
|
||||
|
||||
|
||||
// thumb urls
|
||||
|
||||
// find all thumbs
|
||||
$attachments = $notice->attachments();
|
||||
$attachment_url_to_thumb = array();
|
||||
if (!empty($attachments)) {
|
||||
foreach ($attachments as $attachment) {
|
||||
try {
|
||||
$enclosure_o = $attachment->getEnclosure();
|
||||
$thumb = File_thumbnail::getKV('file_id', $attachment->id);
|
||||
if(isset($thumb->url)) {
|
||||
$attachment_url_to_thumb[$enclosure_o->url] = $thumb->url;
|
||||
}
|
||||
} catch (ServerException $e) {
|
||||
// There was not enough metadata available
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add thumbs to $twitter_status
|
||||
if (!empty($twitter_status['attachments'])) {
|
||||
foreach ($twitter_status['attachments'] as &$attachment) {
|
||||
if (!empty($attachment_url_to_thumb[$attachment['url']])) {
|
||||
$attachment['thumb_url'] = $attachment_url_to_thumb[$attachment['url']];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,46 +0,0 @@
|
|||
<?php
|
||||
/* · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
|
||||
· ·
|
||||
· ·
|
||||
· Q V I T T E R ·
|
||||
· ·
|
||||
· http://github.com/hannesmannerheim/qvitter ·
|
||||
· ·
|
||||
· ·
|
||||
· <o) ·
|
||||
· /_//// ·
|
||||
· (____/ ·
|
||||
· (o< ·
|
||||
· o> \\\\_\ ·
|
||||
· \\) \____) ·
|
||||
· ·
|
||||
· ·
|
||||
· ·
|
||||
· Qvitter is free software: you can redistribute it and / or modify it ·
|
||||
· under the terms of the GNU Affero General Public License as published by ·
|
||||
· the Free Software Foundation, either version three of the License or (at ·
|
||||
· your option) any later version. ·
|
||||
· ·
|
||||
· Qvitter is distributed in hope that it will be useful but WITHOUT ANY ·
|
||||
· WARRANTY; without even the implied warranty of MERCHANTABILTY or FITNESS ·
|
||||
· FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for ·
|
||||
· more details. ·
|
||||
· ·
|
||||
· You should have received a copy of the GNU Affero General Public License ·
|
||||
· along with Qvitter. If not, see <http://www.gnu.org/licenses/>. ·
|
||||
· ·
|
||||
· Contact h@nnesmannerhe.im if you have any questions. ·
|
||||
· ·
|
||||
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · */
|
||||
|
||||
if (!defined('GNUSOCIAL')) { exit(1); }
|
||||
|
||||
class ApiQvitterFriendsAction extends ApiTimelineFriendsAction
|
||||
{
|
||||
function showTimeline()
|
||||
{
|
||||
ApiQvitterAction::showQvitterJsonTimeline($this->notices);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
<?php
|
||||
/* · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
|
||||
· ·
|
||||
· ·
|
||||
· Q V I T T E R ·
|
||||
· ·
|
||||
· http://github.com/hannesmannerheim/qvitter ·
|
||||
· ·
|
||||
· ·
|
||||
· <o) ·
|
||||
· /_//// ·
|
||||
· (____/ ·
|
||||
· (o< ·
|
||||
· o> \\\\_\ ·
|
||||
· \\) \____) ·
|
||||
· ·
|
||||
· ·
|
||||
· ·
|
||||
· Qvitter is free software: you can redistribute it and / or modify it ·
|
||||
· under the terms of the GNU Affero General Public License as published by ·
|
||||
· the Free Software Foundation, either version three of the License or (at ·
|
||||
· your option) any later version. ·
|
||||
· ·
|
||||
· Qvitter is distributed in hope that it will be useful but WITHOUT ANY ·
|
||||
· WARRANTY; without even the implied warranty of MERCHANTABILTY or FITNESS ·
|
||||
· FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for ·
|
||||
· more details. ·
|
||||
· ·
|
||||
· You should have received a copy of the GNU Affero General Public License ·
|
||||
· along with Qvitter. If not, see <http://www.gnu.org/licenses/>. ·
|
||||
· ·
|
||||
· Contact h@nnesmannerhe.im if you have any questions. ·
|
||||
· ·
|
||||
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · */
|
||||
|
||||
if (!defined('GNUSOCIAL')) { exit(1); }
|
||||
|
||||
class ApiQvitterMentionsAction extends ApiTimelineMentionsAction
|
||||
{
|
||||
function showTimeline()
|
||||
{
|
||||
ApiQvitterAction::showQvitterJsonTimeline($this->notices);
|
||||
}
|
||||
}
|
|
@ -141,7 +141,7 @@ class ApiTimelinePublicAndExternalAction extends ApiPrivateAuthAction
|
|||
|
||||
break;
|
||||
case 'json':
|
||||
ApiQvitterAction::showQvitterJsonTimeline($this->notices);
|
||||
$this->showJsonTimeline($this->notices);
|
||||
break;
|
||||
case 'as':
|
||||
header('Content-Type: ' . ActivityStreamJSONDocument::CONTENT_TYPE);
|
||||
|
|
|
@ -351,9 +351,9 @@ class QvitterAction extends ApiAction
|
|||
</div>
|
||||
</div>
|
||||
<div class="menu-container">
|
||||
<a class="stream-selection friends-timeline" data-stream-header="" data-stream-name="qvitter/statuses/friends_timeline.json"><i class="chev-right"></i></a>
|
||||
<a class="stream-selection friends-timeline" data-stream-header="" data-stream-name="statuses/friends_timeline.json"><i class="chev-right"></i></a>
|
||||
<a class="stream-selection notifications" data-stream-header="" data-stream-name="qvitter/statuses/notifications.json"><span id="unseen-notifications"></span><i class="chev-right"></i></a>
|
||||
<a class="stream-selection mentions" data-stream-header="" data-stream-name="qvitter/statuses/mentions.json"><i class="chev-right"></i></a>
|
||||
<a class="stream-selection mentions" data-stream-header="" data-stream-name="statuses/mentions.json"><i class="chev-right"></i></a>
|
||||
<a class="stream-selection my-timeline" data-stream-header="@statuses/user_timeline.json" data-stream-name="statuses/user_timeline.json"><i class="chev-right"></i></a>
|
||||
<a class="stream-selection favorites" data-stream-header="" data-stream-name="favorites.json"><i class="chev-right"></i></a>
|
||||
<a href="<?php print $instanceurl ?>" class="stream-selection public-timeline" data-stream-header="" data-stream-name="statuses/public_timeline.json"><i class="chev-right"></i></a>
|
||||
|
|
|
@ -1,160 +0,0 @@
|
|||
<?php
|
||||
|
||||
/* · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
|
||||
· ·
|
||||
· ·
|
||||
· Q V I T T E R ·
|
||||
· ·
|
||||
· http://github.com/hannesmannerheim/qvitter ·
|
||||
· ·
|
||||
· ·
|
||||
· <o) ·
|
||||
· /_//// ·
|
||||
· (____/ ·
|
||||
· (o< ·
|
||||
· o> \\\\_\ ·
|
||||
· \\) \____) ·
|
||||
· ·
|
||||
· ·
|
||||
· ·
|
||||
· Qvitter is free software: you can redistribute it and / or modify it ·
|
||||
· under the terms of the GNU Affero General Public License as published by ·
|
||||
· the Free Software Foundation, either version three of the License or (at ·
|
||||
· your option) any later version. ·
|
||||
· ·
|
||||
· Qvitter is distributed in hope that it will be useful but WITHOUT ANY ·
|
||||
· WARRANTY; without even the implied warranty of MERCHANTABILTY or FITNESS ·
|
||||
· FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for ·
|
||||
· more details. ·
|
||||
· ·
|
||||
· You should have received a copy of the GNU Affero General Public License ·
|
||||
· along with Qvitter. If not, see <http://www.gnu.org/licenses/>. ·
|
||||
· ·
|
||||
· Contact h@nnesmannerhe.im if you have any questions. ·
|
||||
· ·
|
||||
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · */
|
||||
|
||||
|
||||
if (!defined('GNUSOCIAL')) { exit(1); }
|
||||
|
||||
class ApiQvitterAction extends ApiAction
|
||||
{
|
||||
function showQvitterJsonTimeline($notice)
|
||||
{
|
||||
$this->initDocument('json');
|
||||
|
||||
$statuses = array();
|
||||
|
||||
if (is_array($notice)) {
|
||||
$notice = new ArrayWrapper($notice);
|
||||
}
|
||||
|
||||
while ($notice->fetch()) {
|
||||
try {
|
||||
$twitter_status = $this->twitterStatusArray($notice);
|
||||
array_push($statuses, $twitter_status);
|
||||
} catch (Exception $e) {
|
||||
common_log(LOG_ERR, $e->getMessage());
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$simplified_statuses = new stdClass();
|
||||
|
||||
$i=0;
|
||||
foreach($statuses as &$s) {
|
||||
|
||||
foreach($s as &$ss) {
|
||||
if($ss === false || $ss === null) {
|
||||
$ss=0;
|
||||
}
|
||||
elseif($ss === true) {
|
||||
$ss=1;
|
||||
}
|
||||
}
|
||||
foreach($s['user'] as &$su) {
|
||||
if($su === false || $su === null) {
|
||||
$su=0;
|
||||
}
|
||||
elseif($su === true) {
|
||||
$su=1;
|
||||
}
|
||||
}
|
||||
|
||||
$simplified_statuses->s[$i][0] = $s['id'];
|
||||
$simplified_statuses->s[$i][1] = strtotime($s['created_at']);
|
||||
$simplified_statuses->s[$i][2] = $s['text'];
|
||||
$simplified_statuses->s[$i][3] = $s['statusnet_html'];
|
||||
$simplified_statuses->s[$i][4] = $s['in_reply_to_status_id'];
|
||||
$simplified_statuses->s[$i][5] = $s['in_reply_to_user_id'];
|
||||
$simplified_statuses->s[$i][6] = $s['in_reply_to_screen_name'];
|
||||
$simplified_statuses->s[$i][7] = $s['favorited'];
|
||||
$simplified_statuses->s[$i][8] = $s['repeated'];
|
||||
$simplified_statuses->s[$i][9] = $s['statusnet_in_groups'];
|
||||
$simplified_statuses->s[$i][10] = $s['user']['id'];
|
||||
$simplified_statuses->s[$i][11] = $s['statusnet_conversation_id'];
|
||||
$simplified_statuses->s[$i][12] = $s['source'];
|
||||
|
||||
$simplified_statuses->u[$s['user']['id']][0] = $s['user']['screen_name'];
|
||||
$simplified_statuses->u[$s['user']['id']][1] = $s['user']['name'];
|
||||
$simplified_statuses->u[$s['user']['id']][2] = $s['user']['location'];
|
||||
$simplified_statuses->u[$s['user']['id']][3] = $s['user']['description'];
|
||||
$simplified_statuses->u[$s['user']['id']][4] = $s['user']['profile_image_url_profile_size'];
|
||||
$simplified_statuses->u[$s['user']['id']][5] = $s['user']['profile_image_url_original'];
|
||||
$simplified_statuses->u[$s['user']['id']][6] = $s['user']['groups_count'];
|
||||
$simplified_statuses->u[$s['user']['id']][7] = $s['user']['linkcolor'];
|
||||
$simplified_statuses->u[$s['user']['id']][8] = $s['user']['backgroundcolor'];
|
||||
$simplified_statuses->u[$s['user']['id']][9] = $s['user']['url'];
|
||||
$simplified_statuses->u[$s['user']['id']][10] = $s['user']['followers_count'];
|
||||
$simplified_statuses->u[$s['user']['id']][11] = $s['user']['friends_count'];
|
||||
$simplified_statuses->u[$s['user']['id']][12] = $s['user']['favourites_count'];
|
||||
$simplified_statuses->u[$s['user']['id']][13] = $s['user']['statuses_count'];
|
||||
$simplified_statuses->u[$s['user']['id']][14] = $s['user']['following'];
|
||||
$simplified_statuses->u[$s['user']['id']][15] = $s['user']['statusnet_blocking'];
|
||||
$simplified_statuses->u[$s['user']['id']][16] = $s['user']['statusnet_profile_url'];
|
||||
$simplified_statuses->u[$s['user']['id']][17] = $s['user']['cover_photo'];
|
||||
|
||||
if(isset($s['retweeted_status'])) {
|
||||
$simplified_statuses->s[$i][13][0] = $s['retweeted_status']['id'];
|
||||
$simplified_statuses->s[$i][13][1] = strtotime($s['retweeted_status']['created_at']);
|
||||
$simplified_statuses->s[$i][13][2] = $s['retweeted_status']['text'];
|
||||
$simplified_statuses->s[$i][13][3] = $s['retweeted_status']['statusnet_html'];
|
||||
$simplified_statuses->s[$i][13][4] = $s['retweeted_status']['in_reply_to_status_id'];
|
||||
$simplified_statuses->s[$i][13][5] = $s['retweeted_status']['in_reply_to_user_id'];
|
||||
$simplified_statuses->s[$i][13][6] = $s['retweeted_status']['in_reply_to_screen_name'];
|
||||
$simplified_statuses->s[$i][13][7] = $s['retweeted_status']['favorited'];
|
||||
$simplified_statuses->s[$i][13][8] = $s['retweeted_status']['repeated'];
|
||||
$simplified_statuses->s[$i][13][9] = $s['retweeted_status']['statusnet_in_groups'];
|
||||
$simplified_statuses->s[$i][13][10] = $s['retweeted_status']['user']['id'];
|
||||
$simplified_statuses->s[$i][13][11] = $s['retweeted_status']['statusnet_conversation_id'];
|
||||
$simplified_statuses->s[$i][13][12] = $s['retweeted_status']['source'];
|
||||
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][0] = $s['retweeted_status']['user']['screen_name'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][1] = $s['retweeted_status']['user']['name'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][2] = $s['retweeted_status']['user']['location'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][3] = $s['retweeted_status']['user']['description'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][4] = $s['retweeted_status']['user']['profile_image_url_profile_size'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][5] = $s['retweeted_status']['user']['profile_image_url_original'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][6] = $s['retweeted_status']['user']['groups_count'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][7] = $s['retweeted_status']['user']['linkcolor'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][8] = $s['retweeted_status']['user']['backgroundcolor'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][9] = $s['retweeted_status']['user']['url'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][10] = $s['retweeted_status']['user']['followers_count'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][11] = $s['retweeted_status']['user']['friends_count'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][12] = $s['retweeted_status']['user']['favourites_count'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][13] = $s['retweeted_status']['user']['statuses_count'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][14] = $s['retweeted_status']['user']['following'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][15] = $s['retweeted_status']['user']['statusnet_blocking'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][16] = $s['retweeted_status']['user']['statusnet_profile_url'];
|
||||
$simplified_statuses->u[$s['retweeted_status']['user']['id']][17] = $s['retweeted_status']['user']['cover_photo'];
|
||||
}
|
||||
|
||||
$i++;
|
||||
}
|
||||
|
||||
$this->showJsonObjects($simplified_statuses);
|
||||
|
||||
$this->endDocument('json');
|
||||
}
|
||||
}
|
|
@ -2003,6 +2003,7 @@ ul.queet-actions li .icon.sm-fav {
|
|||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: 6px 6px 6px 6px;
|
||||
margin:8px 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
.stream-item.expanded > .queet{
|
||||
}
|
||||
|
|
2818
img/sprite.png.ai
2818
img/sprite.png.ai
File diff suppressed because it is too large
Load Diff
|
@ -94,8 +94,7 @@ function getFromAPI(stream, actionOnSuccess) {
|
|||
dataType: 'json',
|
||||
success: function(data) {
|
||||
|
||||
// decode if we have a qvitter compact stream
|
||||
data = decodeQvitterCompactFormat(data);
|
||||
data = convertEmptyObjectToEmptyArray(data);
|
||||
|
||||
actionOnSuccess(data);
|
||||
},
|
||||
|
@ -256,8 +255,7 @@ function postActionToAPI(action, actionOnSuccess) {
|
|||
error: function(data){ actionOnSuccess(false); console.log(data); },
|
||||
success: function(data) {
|
||||
|
||||
// decode if we have a qvitter compact stream
|
||||
data = decodeQvitterCompactFormat(data);
|
||||
data = convertEmptyObjectToEmptyArray(data);
|
||||
|
||||
actionOnSuccess(data);
|
||||
}
|
||||
|
|
|
@ -331,9 +331,9 @@ function setNewCurrentStream(stream,actionOnSuccess,setLocation) {
|
|||
if(stream.substring(0,45) == 'statuses/followers.json?count=20&screen_name='
|
||||
|| stream.substring(0,43) == 'statuses/friends.json?count=20&screen_name='
|
||||
|| stream.substring(0,48) == 'statusnet/groups/list.json?count=10&screen_name='
|
||||
|| stream.substring(0,51) == 'qvitter/statuses/friends_timeline.json?screen_name='
|
||||
|| stream.substring(0,43) == 'statuses/friends_timeline.json?screen_name='
|
||||
|| stream.substring(0,27) == 'favorites.json?screen_name='
|
||||
|| stream.substring(0,43) == 'qvitter/statuses/mentions.json?screen_name='
|
||||
|| stream.substring(0,35) == 'statuses/mentions.json?screen_name='
|
||||
|| stream.substring(0,27) == 'statuses/user_timeline.json') {
|
||||
var defaultStreamName = 'statuses/user_timeline.json?' + stream.substring(stream.indexOf('screen_name='));
|
||||
var streamHeader = '@' + stream.substring(stream.lastIndexOf('=')+1);
|
||||
|
@ -346,8 +346,8 @@ function setNewCurrentStream(stream,actionOnSuccess,setLocation) {
|
|||
var streamHeader = '@' + window.loggedIn.screen_name;
|
||||
}
|
||||
// if this is one of the default streams, get header from DOM
|
||||
else if(stream == 'qvitter/statuses/friends_timeline.json'
|
||||
|| stream == 'qvitter/statuses/mentions.json'
|
||||
else if(stream == 'statuses/friends_timeline.json'
|
||||
|| stream == 'statuses/mentions.json'
|
||||
|| stream == 'qvitter/statuses/notifications.json'
|
||||
|| stream == 'favorites.json'
|
||||
|| stream == 'statuses/public_timeline.json'
|
||||
|
@ -389,7 +389,7 @@ function setNewCurrentStream(stream,actionOnSuccess,setLocation) {
|
|||
else if(stream.substring(0,40) == 'statuses/user_timeline.json?screen_name=') {
|
||||
var h2FeedHeader = window.sL.notices + '<div class="queet-streams">/ <a class="queet-stream mentions">' + window.sL.mentions + '</a> / <a class="queet-stream favorites">' + window.sL.favoritesNoun +'</a></div>';
|
||||
}
|
||||
else if(stream.substring(0,43) == 'qvitter/statuses/mentions.json?screen_name=') {
|
||||
else if(stream.substring(0,35) == 'statuses/mentions.json?screen_name=') {
|
||||
var h2FeedHeader = '<div class="queet-streams"><a class="queet-stream queets">' + window.sL.notices + '</a> /</div>' + window.sL.mentions + '<div class="queet-streams">/ <a class="queet-stream favorites">' + window.sL.favoritesNoun + '</a></div>';
|
||||
}
|
||||
else if(stream.substring(0,27) == 'favorites.json?screen_name=') {
|
||||
|
@ -404,7 +404,7 @@ function setNewCurrentStream(stream,actionOnSuccess,setLocation) {
|
|||
else if(stream.substring(0,24) == 'statusnet/groups/admins/') {
|
||||
var h2FeedHeader = window.sL.adminCount;
|
||||
}
|
||||
else if(stream.substring(0,51) == 'qvitter/statuses/friends_timeline.json?screen_name=') {
|
||||
else if(stream.substring(0,43) == 'statuses/friends_timeline.json?screen_name=') {
|
||||
var h2FeedHeader = '<span style="unicode-bidi:bidi-override;direction:ltr;">' + streamHeader + '/all</span>'; // ugly rtl fix, sry, we should have translations for this stream header
|
||||
}
|
||||
else {
|
||||
|
@ -452,9 +452,9 @@ function setNewCurrentStream(stream,actionOnSuccess,setLocation) {
|
|||
if(stream.substring(0,23) == 'statuses/followers.json'
|
||||
|| stream.substring(0,21) == 'statuses/friends.json'
|
||||
|| stream.substring(0,26) == 'statusnet/groups/list.json'
|
||||
|| stream.substring(0,43) == 'qvitter/statuses/mentions.json?screen_name='
|
||||
|| stream.substring(0,35) == 'statuses/mentions.json?screen_name='
|
||||
|| stream.substring(0,27) == 'favorites.json?screen_name='
|
||||
|| stream.substring(0,51) == 'qvitter/statuses/friends_timeline.json?screen_name=') {
|
||||
|| stream.substring(0,43) == 'statuses/friends_timeline.json?screen_name=') {
|
||||
getFromAPI(defaultStreamName + '&count=1', function(profile_data){
|
||||
if(profile_data) {
|
||||
getFromAPI(stream, function(user_data){
|
||||
|
@ -565,7 +565,7 @@ function convertStreamToPath(stream) {
|
|||
var screenName = stream.substring(stream.lastIndexOf('=')+1);
|
||||
return screenName + '/subscriptions';
|
||||
}
|
||||
else if(stream.substring(0,43) == 'qvitter/statuses/mentions.json?screen_name=') {
|
||||
else if(stream.substring(0,35) == 'statuses/mentions.json?screen_name=') {
|
||||
var screenName = stream.substring(stream.indexOf('=')+1);
|
||||
return screenName + '/replies';
|
||||
}
|
||||
|
@ -583,7 +583,7 @@ function convertStreamToPath(stream) {
|
|||
else if(stream == 'statuses/friends.json?count=20') {
|
||||
return window.loggedIn.screen_name + '/subscriptions';
|
||||
}
|
||||
else if(stream == 'qvitter/statuses/mentions.json') {
|
||||
else if(stream == 'statuses/mentions.json') {
|
||||
return window.loggedIn.screen_name + '/replies';
|
||||
}
|
||||
else if(stream == 'qvitter/statuses/notifications.json') {
|
||||
|
@ -599,10 +599,10 @@ function convertStreamToPath(stream) {
|
|||
var screenName = stream.substring(stream.indexOf('=')+1);
|
||||
return screenName;
|
||||
}
|
||||
else if(stream == 'qvitter/statuses/friends_timeline.json') {
|
||||
else if(stream == 'statuses/friends_timeline.json') {
|
||||
return window.loggedIn.screen_name + '/all';
|
||||
}
|
||||
else if(stream.substring(0,51) == 'qvitter/statuses/friends_timeline.json?screen_name=') {
|
||||
else if(stream.substring(0,51) == 'statuses/friends_timeline.json?screen_name=') {
|
||||
var screenName = stream.substring(stream.indexOf('=')+1);
|
||||
return screenName + '/all';
|
||||
}
|
||||
|
@ -685,10 +685,10 @@ function getStreamFromUrl() {
|
|||
var userToStream = loc.replace('/','').replace('/all','');
|
||||
if(userToStream.length>0) {
|
||||
if(window.loggedIn.screen_name == userToStream) {
|
||||
streamToSet = 'qvitter/statuses/friends_timeline.json';
|
||||
streamToSet = 'statuses/friends_timeline.json';
|
||||
}
|
||||
else {
|
||||
streamToSet = 'qvitter/statuses/friends_timeline.json?screen_name=' + userToStream;
|
||||
streamToSet = 'statuses/friends_timeline.json?screen_name=' + userToStream;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -698,10 +698,10 @@ function getStreamFromUrl() {
|
|||
var userToStream = loc.replace('/','').replace('/replies','');
|
||||
if(userToStream.length>0) {
|
||||
if(window.loggedIn.screen_name == userToStream) {
|
||||
streamToSet = 'qvitter/statuses/mentions.json';
|
||||
streamToSet = 'statuses/mentions.json';
|
||||
}
|
||||
else {
|
||||
streamToSet = 'qvitter/statuses/mentions.json?screen_name=' + userToStream;
|
||||
streamToSet = 'statuses/mentions.json?screen_name=' + userToStream;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1869,10 +1869,10 @@ $('#settings').html(window.sL.settings);
|
|||
$('#other-servers-link').html(window.sL.otherServers);
|
||||
$('.language-dropdown .dropdown-toggle small').html(window.sL.languageSelected);
|
||||
$('.language-dropdown .current-language').html(window.sL.languageName);
|
||||
$('.stream-selection[data-stream-name="qvitter/statuses/friends_timeline.json"]').prepend(window.sL.timeline);
|
||||
$('.stream-selection[data-stream-name="qvitter/statuses/friends_timeline.json"]').attr('data-stream-header',window.sL.timeline);
|
||||
$('.stream-selection[data-stream-name="qvitter/statuses/mentions.json"]').prepend(window.sL.mentions);
|
||||
$('.stream-selection[data-stream-name="qvitter/statuses/mentions.json"]').attr('data-stream-header',window.sL.mentions);
|
||||
$('.stream-selection[data-stream-name="statuses/friends_timeline.json"]').prepend(window.sL.timeline);
|
||||
$('.stream-selection[data-stream-name="statuses/friends_timeline.json"]').attr('data-stream-header',window.sL.timeline);
|
||||
$('.stream-selection[data-stream-name="statuses/mentions.json"]').prepend(window.sL.mentions);
|
||||
$('.stream-selection[data-stream-name="statuses/mentions.json"]').attr('data-stream-header',window.sL.mentions);
|
||||
$('.stream-selection[data-stream-name="qvitter/statuses/notifications.json"]').prepend(window.sL.notifications);
|
||||
$('.stream-selection[data-stream-name="qvitter/statuses/notifications.json"]').attr('data-stream-header',window.sL.notifications);
|
||||
$('.stream-selection[data-stream-name="favorites.json"]').prepend(window.sL.favoritesNoun);
|
||||
|
|
|
@ -335,92 +335,21 @@ function timestampToTwitterDate(timestamp) {
|
|||
|
||||
/* ·
|
||||
·
|
||||
· Decode Qvitter's compact API reponse
|
||||
·
|
||||
· @param data: the data returned from qvitter's compact api response
|
||||
·
|
||||
· @return data formatted as the non-compact "[old] twitter style" api response
|
||||
· If we want to make sure we have empty arrays, not empty objects
|
||||
·
|
||||
· · · · · · · · · · */
|
||||
|
||||
function decodeQvitterCompactFormat(data) {
|
||||
function convertEmptyObjectToEmptyArray(data) {
|
||||
|
||||
// empty object? return empty array instead...
|
||||
if($.isEmptyObject(data)) {
|
||||
return [];
|
||||
}
|
||||
// leave data unchanged if we don't recognize it
|
||||
else if(typeof data.s == 'undefined') {
|
||||
else {
|
||||
return data;
|
||||
}
|
||||
// decode
|
||||
else {
|
||||
var users = new Object();
|
||||
var i = 0;
|
||||
$.each(data.u, function(k,v){
|
||||
users[k] = new Object;
|
||||
users[k].id = k;
|
||||
users[k].screen_name = v[0];
|
||||
users[k].name = (v[1]==0?null:v[1]);
|
||||
users[k].location = (v[2]==0?null:v[2]);
|
||||
users[k].description = (v[3]==0?null:v[3]);
|
||||
users[k].profile_image_url_profile_size = v[4];
|
||||
users[k].profile_image_url_original = v[5];
|
||||
users[k].groups_count = v[6];
|
||||
users[k].linkcolor = (v[7]==0?false:v[7]);
|
||||
users[k].backgroundcolor = (v[8]==0?false:v[8]);
|
||||
users[k].url = (v[9]==0?null:v[9]);
|
||||
users[k].followers_count = v[10];
|
||||
users[k].friends_count = v[11];
|
||||
users[k].favourites_count = v[12];
|
||||
users[k].statuses_count = v[13];
|
||||
users[k].following = (v[14]==0?false:v[14]);
|
||||
users[k].statusnet_blocking = (v[15]==0?false:v[15]);
|
||||
users[k].statusnet_profile_url = v[16];
|
||||
users[k].cover_photo = (v[17]==0?false:v[17]);
|
||||
i++;
|
||||
});
|
||||
var unqvitter = Array();
|
||||
var i = 0;
|
||||
$.each(data.s, function(k,v){
|
||||
unqvitter[i] = new Object;
|
||||
unqvitter[i].id = v[0];
|
||||
unqvitter[i].created_at = timestampToTwitterDate(v[1]);
|
||||
unqvitter[i].text = v[2];
|
||||
unqvitter[i].statusnet_html = v[3];
|
||||
unqvitter[i].in_reply_to_status_id = (v[4]==0?null:v[4]);
|
||||
unqvitter[i].in_reply_to_user_id = (v[5]==0?null:v[5]);
|
||||
unqvitter[i].in_reply_to_screen_name = (v[6]==0?null:v[6]);
|
||||
unqvitter[i].favorited = (v[7]==0?false:v[7]);
|
||||
unqvitter[i].repeated = (v[8]==0?false:v[8]);
|
||||
unqvitter[i].statusnet_in_groups = (v[9]==0?false:v[9]);
|
||||
unqvitter[i].user = users[v[10]];
|
||||
unqvitter[i].statusnet_conversation_id = v[11];
|
||||
unqvitter[i].uri = window.siteInstanceURL + 'notice/' + v[0];
|
||||
unqvitter[i].source = (v[12]==0?null:v[12]);
|
||||
|
||||
if(typeof v[13] != 'undefined') {
|
||||
unqvitter[i].retweeted_status = new Object;
|
||||
unqvitter[i].retweeted_status.id = v[13][0];
|
||||
unqvitter[i].retweeted_status.created_at = timestampToTwitterDate(v[13][1]);
|
||||
unqvitter[i].retweeted_status.text = v[13][2];
|
||||
unqvitter[i].retweeted_status.statusnet_html = v[13][3];
|
||||
unqvitter[i].retweeted_status.in_reply_to_status_id = (v[13][4]==0?null:v[13][4]);
|
||||
unqvitter[i].retweeted_status.in_reply_to_user_id = (v[13][5]==0?null:v[13][5]);
|
||||
unqvitter[i].retweeted_status.in_reply_to_screen_name = (v[13][6]==0?null:v[13][6]);
|
||||
unqvitter[i].retweeted_status.favorited = (v[13][7]==0?false:v[13][7]);
|
||||
unqvitter[i].retweeted_status.repeated = (v[13][8]==0?false:v[13][8]);
|
||||
unqvitter[i].retweeted_status.statusnet_in_groups = (v[13][9]==0?false:v[13][9]);
|
||||
unqvitter[i].retweeted_status.user = users[v[13][10]];
|
||||
unqvitter[i].retweeted_status.statusnet_conversation_id = v[13][11];
|
||||
unqvitter[i].retweeted_status.uri = window.siteInstanceURL + 'notice/' + v[13][0];
|
||||
unqvitter[i].retweeted_status.source = (v[13][12]==0?null:v[13][12]);
|
||||
}
|
||||
|
||||
i++;
|
||||
});
|
||||
return unqvitter;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -665,7 +665,7 @@ $('body').on('click','.profile-banner-footer .stats li a, .queet-stream',functio
|
|||
setNewCurrentStream('statuses/user_timeline.json?screen_name=' + screenName,function(){},true);
|
||||
}
|
||||
else if($(this).hasClass('mentions')) {
|
||||
setNewCurrentStream('qvitter/statuses/mentions.json?screen_name=' + screenName,function(){},true);
|
||||
setNewCurrentStream('statuses/mentions.json?screen_name=' + screenName,function(){},true);
|
||||
}
|
||||
else if($(this).hasClass('favorites')) {
|
||||
setNewCurrentStream('favorites.json?screen_name=' + screenName,function(){},true);
|
||||
|
@ -739,11 +739,11 @@ $(document).on('click','a', function(e) {
|
|||
// logged in users streams
|
||||
else if ($(this).attr('href').replace('http://','').replace('https://','').replace(window.siteRootDomain + '/' + window.loggedIn.screen_name,'') == '/all') {
|
||||
e.preventDefault();
|
||||
setNewCurrentStream('qvitter/statuses/friends_timeline.json',function(){},true);
|
||||
setNewCurrentStream('statuses/friends_timeline.json',function(){},true);
|
||||
}
|
||||
else if ($(this).attr('href').replace('http://','').replace('https://','').replace(window.siteRootDomain + '/' + window.loggedIn.screen_name,'') == '/replies') {
|
||||
e.preventDefault();
|
||||
setNewCurrentStream('qvitter/statuses/mentions.json',function(){},true);
|
||||
setNewCurrentStream('statuses/mentions.json',function(){},true);
|
||||
}
|
||||
else if ($(this).attr('href').replace('http://','').replace('https://','').replace(window.siteRootDomain + '/' + window.loggedIn.screen_name,'') == '/notifications') {
|
||||
e.preventDefault();
|
||||
|
@ -1317,7 +1317,13 @@ $('body').on('click','.action-reply-container',function(){
|
|||
$queetHtmlExpandedContent.remove();
|
||||
var queetHtmlWithoutFooter = $queetHtml.html();
|
||||
popUpAction('popup-reply-' + this_stream_item_id, window.sL.replyTo + ' ' + this_stream_item.find('.screen-name').html(),replyFormHtml(this_stream_item,this_stream_item_id),queetHtmlWithoutFooter);
|
||||
$('#popup-reply-' + this_stream_item_id).find('.modal-body').find('.queet-box').width($('#popup-reply-' + this_stream_item_id).find('.modal-body').find('.inline-reply-queetbox').width()-20);
|
||||
|
||||
// fix the width of the queet box, otherwise the syntax highlighting break
|
||||
var queetBoxWidth = $('#popup-reply-' + this_stream_item_id).find('.modal-body').find('.inline-reply-queetbox').width()-20;
|
||||
$('#popup-reply-' + this_stream_item_id).find('.modal-body').find('.queet-box-syntax').width(queetBoxWidth);
|
||||
$('#popup-reply-' + this_stream_item_id).find('.modal-body').find('.syntax-middle').width(queetBoxWidth);
|
||||
$('#popup-reply-' + this_stream_item_id).find('.modal-body').find('.two').width(queetBoxWidth);
|
||||
|
||||
$('#popup-reply-' + this_stream_item_id).find('.modal-body').find('.queet-box').trigger('click'); // expand
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user