Merge branch 'dev' of https://github.com/redmatrix/hubzilla into dev_merge
This commit is contained in:
commit
3acc5b0508
@ -10,6 +10,13 @@ require_once('include/items.php');
|
|||||||
|
|
||||||
class Hq extends \Zotlabs\Web\Controller {
|
class Hq extends \Zotlabs\Web\Controller {
|
||||||
|
|
||||||
|
function init() {
|
||||||
|
if(! local_channel())
|
||||||
|
return;
|
||||||
|
|
||||||
|
\App::$profile_uid = local_channel();
|
||||||
|
}
|
||||||
|
|
||||||
function post() {
|
function post() {
|
||||||
|
|
||||||
if(!local_channel())
|
if(!local_channel())
|
||||||
@ -147,7 +154,7 @@ class Hq extends \Zotlabs\Web\Controller {
|
|||||||
|
|
||||||
$o .= '<div id="live-hq"></div>' . "\r\n";
|
$o .= '<div id="live-hq"></div>' . "\r\n";
|
||||||
$o .= "<script> var profile_uid = " . local_channel()
|
$o .= "<script> var profile_uid = " . local_channel()
|
||||||
. "; var netargs = '?f='; var profile_page = " . \App::$pager['page'] . "; </script>\r\n";
|
. "; var netargs = '?f='; var profile_page = " . \App::$pager['page'] . ";</script>\r\n";
|
||||||
|
|
||||||
\App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),[
|
\App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),[
|
||||||
'$baseurl' => z_root(),
|
'$baseurl' => z_root(),
|
||||||
|
2
boot.php
2
boot.php
@ -50,7 +50,7 @@ require_once('include/hubloc.php');
|
|||||||
require_once('include/attach.php');
|
require_once('include/attach.php');
|
||||||
|
|
||||||
define ( 'PLATFORM_NAME', 'hubzilla' );
|
define ( 'PLATFORM_NAME', 'hubzilla' );
|
||||||
define ( 'STD_VERSION', '2.9.1' );
|
define ( 'STD_VERSION', '2.9.2' );
|
||||||
define ( 'ZOT_REVISION', '1.3' );
|
define ( 'ZOT_REVISION', '1.3' );
|
||||||
|
|
||||||
define ( 'DB_UPDATE_VERSION', 1198 );
|
define ( 'DB_UPDATE_VERSION', 1198 );
|
||||||
|
356
view/js/main.js
356
view/js/main.js
@ -1,3 +1,98 @@
|
|||||||
|
var src = null;
|
||||||
|
var prev = null;
|
||||||
|
var livetime = null;
|
||||||
|
var msie = false;
|
||||||
|
var stopped = false;
|
||||||
|
var totStopped = false;
|
||||||
|
var timer = null;
|
||||||
|
var pr = 0;
|
||||||
|
var liking = 0;
|
||||||
|
var in_progress = false;
|
||||||
|
var langSelect = false;
|
||||||
|
var commentBusy = false;
|
||||||
|
var last_popup_menu = null;
|
||||||
|
var last_popup_button = null;
|
||||||
|
var scroll_next = false;
|
||||||
|
var next_page = 1;
|
||||||
|
var page_load = true;
|
||||||
|
var loadingPage = true;
|
||||||
|
var pageHasMoreContent = true;
|
||||||
|
var updateCountsOnly = false;
|
||||||
|
var divmore_height = 400;
|
||||||
|
var last_filestorage_id = null;
|
||||||
|
var mediaPlaying = false;
|
||||||
|
var contentHeightDiff = 0;
|
||||||
|
var liveRecurse = 0;
|
||||||
|
var savedTitle = '';
|
||||||
|
|
||||||
|
$.ajaxSetup({cache: false});
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
$(document).on('click focus', '.comment-edit-form', handle_comment_form);
|
||||||
|
|
||||||
|
jQuery.timeago.settings.strings = {
|
||||||
|
prefixAgo : aStr['t01'],
|
||||||
|
prefixFromNow : aStr['t02'],
|
||||||
|
suffixAgo : aStr['t03'],
|
||||||
|
suffixFromNow : aStr['t04'],
|
||||||
|
seconds : aStr['t05'],
|
||||||
|
minute : aStr['t06'],
|
||||||
|
minutes : aStr['t07'],
|
||||||
|
hour : aStr['t08'],
|
||||||
|
hours : aStr['t09'],
|
||||||
|
day : aStr['t10'],
|
||||||
|
days : aStr['t11'],
|
||||||
|
month : aStr['t12'],
|
||||||
|
months : aStr['t13'],
|
||||||
|
year : aStr['t14'],
|
||||||
|
years : aStr['t15'],
|
||||||
|
wordSeparator : aStr['t16'],
|
||||||
|
numbers : aStr['t17'],
|
||||||
|
};
|
||||||
|
|
||||||
|
savedTitle = document.title;
|
||||||
|
|
||||||
|
NavUpdate();
|
||||||
|
liveUpdateInit();
|
||||||
|
|
||||||
|
$('a[rel^="#"]').click(function(e){
|
||||||
|
manage_popup_menu(this, e);
|
||||||
|
return;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Allow folks to stop the ajax page updates with the pause/break key
|
||||||
|
$(document).keydown(function(event) {
|
||||||
|
if(event.keyCode == '8') {
|
||||||
|
var target = event.target || event.srcElement;
|
||||||
|
if (!/input|textarea/i.test(target.nodeName)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(event.keyCode == '19' || (event.ctrlKey && event.which == '32')) {
|
||||||
|
event.preventDefault();
|
||||||
|
if(stopped === false) {
|
||||||
|
stopped = true;
|
||||||
|
if (event.ctrlKey) {
|
||||||
|
totStopped = true;
|
||||||
|
}
|
||||||
|
$('#pause').html('<img src="images/pause.gif" alt="pause" style="border: 1px solid black;" />');
|
||||||
|
} else {
|
||||||
|
unpause();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!totStopped) {
|
||||||
|
unpause();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var e = document.getElementById('content-complete');
|
||||||
|
if(e)
|
||||||
|
pageHasMoreContent = false;
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
function confirmDelete() { return confirm(aStr.delitem); }
|
function confirmDelete() { return confirm(aStr.delitem); }
|
||||||
|
|
||||||
@ -59,59 +154,6 @@ function handle_comment_form(e) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
function commentOpenUI(obj, id) {
|
|
||||||
$(document).unbind( "click.commentOpen", handler );
|
|
||||||
|
|
||||||
var handler = function() {
|
|
||||||
if(obj.value == aStr.comment) {
|
|
||||||
obj.value = '';
|
|
||||||
$("#comment-edit-text-" + id).addClass("comment-edit-text-full").removeClass("comment-edit-text-empty");
|
|
||||||
// Choose an arbitrary tab index that's greater than what we're using in jot (3 of them)
|
|
||||||
// The submit button gets tabindex + 1
|
|
||||||
$("#comment-edit-text-" + id).attr('tabindex','9');
|
|
||||||
$("#comment-edit-submit-" + id).attr('tabindex','10');
|
|
||||||
$("#comment-tools-" + id).show();
|
|
||||||
$("#comment-edit-anon-" + id).show();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
$(document).bind( "click.commentOpen", handler );
|
|
||||||
}
|
|
||||||
|
|
||||||
function commentCloseUI(obj, id) {
|
|
||||||
var form_id = $(obj)[0].form.id;
|
|
||||||
|
|
||||||
$('#' + form_id).on('click', function(e) {
|
|
||||||
$(document).unbind( "click.commentClose", handler );
|
|
||||||
});
|
|
||||||
|
|
||||||
var handler = function() {
|
|
||||||
if($('#comment-edit-text-' + id).val() === '') {
|
|
||||||
$('#comment-edit-text-' + id).val(aStr.comment);
|
|
||||||
$("#comment-edit-text-" + id).removeClass("comment-edit-text-full").addClass("comment-edit-text-empty");
|
|
||||||
$("#comment-edit-text-" + id).removeAttr('tabindex');
|
|
||||||
$("#comment-edit-submit-" + id).removeAttr('tabindex');
|
|
||||||
$("#comment-tools-" + id).hide();
|
|
||||||
$("#comment-edit-anon-" + id).hide();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
$(document).bind( "click.commentClose", handler );
|
|
||||||
}
|
|
||||||
|
|
||||||
function commentOpen(obj, id) {
|
|
||||||
if(obj.value == aStr.comment) {
|
|
||||||
obj.value = '';
|
|
||||||
$("#comment-edit-text-" + id).addClass("expanded");
|
|
||||||
$("#mod-cmnt-wrap-" + id).show();
|
|
||||||
$("#comment-tools-" + id).show();
|
|
||||||
$("#comment-edit-anon-" + id).show();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
function commentClose(obj, id) {
|
function commentClose(obj, id) {
|
||||||
if(obj.value === '') {
|
if(obj.value === '') {
|
||||||
obj.value = aStr.comment;
|
obj.value = aStr.comment;
|
||||||
@ -124,7 +166,6 @@ function commentClose(obj, id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function showHideCommentBox(id) {
|
function showHideCommentBox(id) {
|
||||||
if( $('#comment-edit-form-' + id).is(':visible')) {
|
if( $('#comment-edit-form-' + id).is(':visible')) {
|
||||||
$('#comment-edit-form-' + id).hide();
|
$('#comment-edit-form-' + id).hide();
|
||||||
@ -308,114 +349,18 @@ function markItemRead(itemId) {
|
|||||||
$('.unseen-wall-indicator-'+itemId).hide();
|
$('.unseen-wall-indicator-'+itemId).hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function manage_popup_menu(w,e) {
|
||||||
|
menu = $( $(w).attr('rel') );
|
||||||
|
|
||||||
var src = null;
|
/* notification menus are loaded dynamically
|
||||||
var prev = null;
|
* - here we find a rel tag to figure out what type of notification to load */
|
||||||
var livetime = null;
|
|
||||||
var msie = false;
|
|
||||||
var stopped = false;
|
|
||||||
var totStopped = false;
|
|
||||||
var timer = null;
|
|
||||||
var pr = 0;
|
|
||||||
var liking = 0;
|
|
||||||
var in_progress = false;
|
|
||||||
var langSelect = false;
|
|
||||||
var commentBusy = false;
|
|
||||||
var last_popup_menu = null;
|
|
||||||
var last_popup_button = null;
|
|
||||||
var scroll_next = false;
|
|
||||||
var next_page = 1;
|
|
||||||
var page_load = true;
|
|
||||||
var loadingPage = true;
|
|
||||||
var pageHasMoreContent = true;
|
|
||||||
var updateCountsOnly = false;
|
|
||||||
var divmore_height = 400;
|
|
||||||
var last_filestorage_id = null;
|
|
||||||
var mediaPlaying = false;
|
|
||||||
var contentHeightDiff = 0;
|
|
||||||
var liveRecurse = 0;
|
|
||||||
var savedTitle = '';
|
|
||||||
|
|
||||||
$(function() {
|
var loader_source = $(menu).attr('rel');
|
||||||
$.ajaxSetup({cache: false});
|
|
||||||
|
|
||||||
msie = false; // $.browser.msie ;
|
if(typeof(loader_source) != 'undefined' && loader_source.length) {
|
||||||
|
notify_popup_loader(loader_source);
|
||||||
var e = document.getElementById('content-complete');
|
|
||||||
if(e)
|
|
||||||
pageHasMoreContent = false;
|
|
||||||
|
|
||||||
/* setup onoff widgets */
|
|
||||||
$(".onoff input").each(function(){
|
|
||||||
val = $(this).val();
|
|
||||||
id = $(this).attr("id");
|
|
||||||
$("#"+id+"_onoff ."+ (val==0?"on":"off")).addClass("hidden");
|
|
||||||
});
|
|
||||||
$(".onoff > a").click(function(event){
|
|
||||||
event.preventDefault();
|
|
||||||
var input = $(this).siblings("input");
|
|
||||||
var val = 1-input.val();
|
|
||||||
var id = input.attr("id");
|
|
||||||
$("#"+id+"_onoff ."+ (val==0?"on":"off")).addClass("hidden");
|
|
||||||
$("#"+id+"_onoff ."+ (val==1?"on":"off")).removeClass("hidden");
|
|
||||||
input.val(val);
|
|
||||||
//console.log(id);
|
|
||||||
});
|
|
||||||
|
|
||||||
/* setup field_richtext */
|
|
||||||
//setupFieldRichtext();
|
|
||||||
|
|
||||||
|
|
||||||
/* Turn elements with one of our special rel tags into popup menus */
|
|
||||||
/* CHANGES: let bootstrap handle popups and only do the loading here */
|
|
||||||
|
|
||||||
|
|
||||||
$('a[rel^="#"]').click(function(e){
|
|
||||||
manage_popup_menu(this, e);
|
|
||||||
return;
|
|
||||||
});
|
|
||||||
|
|
||||||
function manage_popup_menu(w,e) {
|
|
||||||
menu = $( $(w).attr('rel') );
|
|
||||||
|
|
||||||
/* notification menus are loaded dynamically
|
|
||||||
* - here we find a rel tag to figure out what type of notification to load */
|
|
||||||
|
|
||||||
var loader_source = $(menu).attr('rel');
|
|
||||||
|
|
||||||
if(typeof(loader_source) != 'undefined' && loader_source.length) {
|
|
||||||
notify_popup_loader(loader_source);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
NavUpdate();
|
|
||||||
// Allow folks to stop the ajax page updates with the pause/break key
|
|
||||||
$(document).keydown(function(event) {
|
|
||||||
if(event.keyCode == '8') {
|
|
||||||
var target = event.target || event.srcElement;
|
|
||||||
if (!/input|textarea/i.test(target.nodeName)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(event.keyCode == '19' || (event.ctrlKey && event.which == '32')) {
|
|
||||||
event.preventDefault();
|
|
||||||
if(stopped === false) {
|
|
||||||
stopped = true;
|
|
||||||
if (event.ctrlKey) {
|
|
||||||
totStopped = true;
|
|
||||||
}
|
|
||||||
$('#pause').html('<img src="images/pause.gif" alt="pause" style="border: 1px solid black;" />');
|
|
||||||
} else {
|
|
||||||
unpause();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (!totStopped) {
|
|
||||||
unpause();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
function NavUpdate() {
|
function NavUpdate() {
|
||||||
if(liking)
|
if(liking)
|
||||||
@ -431,23 +376,7 @@ function NavUpdate() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(! updateCountsOnly) {
|
if(! updateCountsOnly) {
|
||||||
// start live update
|
liveUpdateInit();
|
||||||
|
|
||||||
if($('#live-network').length) { src = 'network'; liveUpdate(); }
|
|
||||||
if($('#live-channel').length) { src = 'channel'; liveUpdate(); }
|
|
||||||
if($('#live-pubstream').length) { src = 'pubstream'; liveUpdate(); }
|
|
||||||
if($('#live-display').length) { src = 'display'; liveUpdate(); }
|
|
||||||
if($('#live-hq').length) { src = 'hq'; liveUpdate(); }
|
|
||||||
if($('#live-search').length) { src = 'search'; liveUpdate(); }
|
|
||||||
// if($('#live-cards').length) { src = 'cards'; liveUpdate(); }
|
|
||||||
// if($('#live-articles').length) { src = 'articles'; liveUpdate(); }
|
|
||||||
|
|
||||||
if($('#live-photos').length || $('#live-cards').length || $('#live-articles').length ) {
|
|
||||||
if(liking) {
|
|
||||||
liking = 0;
|
|
||||||
window.location.href=window.location.href;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
updateCountsOnly = false;
|
updateCountsOnly = false;
|
||||||
@ -751,6 +680,25 @@ function collapseHeight() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function liveUpdateInit() {
|
||||||
|
// start live update
|
||||||
|
if($('#live-network').length) { src = 'network'; liveUpdate(); }
|
||||||
|
if($('#live-channel').length) { src = 'channel'; liveUpdate(); }
|
||||||
|
if($('#live-pubstream').length) { src = 'pubstream'; liveUpdate(); }
|
||||||
|
if($('#live-display').length) { src = 'display'; liveUpdate(); }
|
||||||
|
if($('#live-hq').length) { src = 'hq'; liveUpdate(); }
|
||||||
|
if($('#live-search').length) { src = 'search'; liveUpdate(); }
|
||||||
|
// if($('#live-cards').length) { src = 'cards'; liveUpdate(); }
|
||||||
|
// if($('#live-articles').length) { src = 'articles'; liveUpdate(); }
|
||||||
|
|
||||||
|
if($('#live-photos').length || $('#live-cards').length || $('#live-articles').length ) {
|
||||||
|
if(liking) {
|
||||||
|
liking = 0;
|
||||||
|
window.location.href=window.location.href;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function liveUpdate() {
|
function liveUpdate() {
|
||||||
|
|
||||||
if(typeof profile_uid === 'undefined') profile_uid = false; /* Should probably be unified with channelId defined in head.tpl */
|
if(typeof profile_uid === 'undefined') profile_uid = false; /* Should probably be unified with channelId defined in head.tpl */
|
||||||
@ -1297,36 +1245,6 @@ function fcFileBrowser (field_name, url, type, win) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
function setupFieldRichtext(){
|
|
||||||
|
|
||||||
tinyMCE.init({
|
|
||||||
theme : "advanced",
|
|
||||||
mode : "specific_textareas",
|
|
||||||
editor_selector: "fieldRichtext",
|
|
||||||
plugins : "bbcode,paste, inlinepopups",
|
|
||||||
theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",
|
|
||||||
theme_advanced_buttons2 : "",
|
|
||||||
theme_advanced_buttons3 : "",
|
|
||||||
theme_advanced_toolbar_location : "top",
|
|
||||||
theme_advanced_toolbar_align : "center",
|
|
||||||
theme_advanced_blockformats : "blockquote,code",
|
|
||||||
paste_text_sticky : true,
|
|
||||||
entity_encoding : "raw",
|
|
||||||
add_unload_trigger : false,
|
|
||||||
remove_linebreaks : false,
|
|
||||||
force_p_newlines : false,
|
|
||||||
force_br_newlines : true,
|
|
||||||
forced_root_block : '',
|
|
||||||
convert_urls: false,
|
|
||||||
content_css: baseurl+"/view/custom_tinymce.css",
|
|
||||||
theme_advanced_path : false,
|
|
||||||
file_browser_callback : "fcFileBrowser",
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sprintf in javascript
|
* sprintf in javascript
|
||||||
* "{0} and {1}".format('zero','uno');
|
* "{0} and {1}".format('zero','uno');
|
||||||
@ -1348,34 +1266,6 @@ Array.prototype.remove = function(item) {
|
|||||||
return this.push.apply(this, rest);
|
return this.push.apply(this, rest);
|
||||||
};
|
};
|
||||||
|
|
||||||
$(document).ready(function() {
|
|
||||||
|
|
||||||
$(document).on('click focus', '.comment-edit-form', handle_comment_form);
|
|
||||||
|
|
||||||
jQuery.timeago.settings.strings = {
|
|
||||||
prefixAgo : aStr['t01'],
|
|
||||||
prefixFromNow : aStr['t02'],
|
|
||||||
suffixAgo : aStr['t03'],
|
|
||||||
suffixFromNow : aStr['t04'],
|
|
||||||
seconds : aStr['t05'],
|
|
||||||
minute : aStr['t06'],
|
|
||||||
minutes : aStr['t07'],
|
|
||||||
hour : aStr['t08'],
|
|
||||||
hours : aStr['t09'],
|
|
||||||
day : aStr['t10'],
|
|
||||||
days : aStr['t11'],
|
|
||||||
month : aStr['t12'],
|
|
||||||
months : aStr['t13'],
|
|
||||||
year : aStr['t14'],
|
|
||||||
years : aStr['t15'],
|
|
||||||
wordSeparator : aStr['t16'],
|
|
||||||
numbers : aStr['t17'],
|
|
||||||
};
|
|
||||||
|
|
||||||
savedTitle = document.title;
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
function zFormError(elm,x) {
|
function zFormError(elm,x) {
|
||||||
if(x) {
|
if(x) {
|
||||||
$(elm).addClass("zform-error");
|
$(elm).addClass("zform-error");
|
||||||
|
Reference in New Issue
Block a user