Compare commits

...

11 Commits
5.4 ... 5.4.1

Author SHA1 Message Date
Mario Vavti
82192d1ead a possible fix for issue #1529
(cherry picked from commit 7ee495624e)
2021-03-09 21:40:43 +01:00
Mario
64bbbc8053 Version 5.4.1 2021-03-09 19:07:33 +00:00
Mario Vavti
4d3d868d19 changelog
(cherry picked from commit 45cc2d7bd8)
2021-03-09 19:58:40 +01:00
Max Kostikov
011342ac1b Fix undefined page end on non dynamic pages
(cherry picked from commit 182dec3e57)
2021-03-09 12:14:38 +01:00
Max Kostikov
5577383a48 Fix Spanish plural expression
(cherry picked from commit f952d65cfd)
2021-03-09 12:13:22 +01:00
Mario
dc336010db type submit should not be type button
(cherry picked from commit b09cbb72fb)
2021-03-09 12:12:53 +01:00
Mario
88fbeaddb0 fix unexpected trigger of buttons when pressing enter in input field issue #1528
(cherry picked from commit d57f4a9527)
2021-03-09 12:12:20 +01:00
Mario
7612d8246e fix summary not saved in browser autosave draft
(cherry picked from commit 8d26961639)
2021-03-09 12:11:39 +01:00
Mario
53bb16e799 fix summary not reset on cancel
(cherry picked from commit 0932d2a0a6)
2021-03-09 12:11:09 +01:00
Mario
ed04104250 fix profile not found if not logged in
(cherry picked from commit ed981ec8e8)
2021-03-09 12:10:27 +01:00
mjfriaza
97e483d684 Update Spanish 2021-03-08 10:26:38 +00:00
11 changed files with 16546 additions and 16635 deletions

View File

@@ -1,3 +1,15 @@
Hubzilla 5.4.1 (2021-03-09)
- Fix profile not found if not logged in
- Fix summary not reset on cancel
- Fix summary not saved with aoutosave draft
- Fix unexpected trigger of buttons when pressing enter in input fields
- Fix spanish plural expression
- Fix undefined page-end on non dynamic pages
Addons
- Pubcrawl: fix regression in pubcrawl_follow_mod_init()
Hubzilla 5.4 (2021-03-08)
- Add new connections to privacy group independend from the default privacy group settings
- group_add() return group hash to save a lookup

View File

@@ -28,7 +28,7 @@ class Channel extends Controller {
function init() {
if (in_array(substr($_GET['search'], 0, 1), ['@', '!', '?']) || strpos($_GET['search'], 'https://') === 0)
goaway('search' . '?f=&search=' . $_GET['search']);
goaway(z_root() . '/search?f=&search=' . $_GET['search']);
$which = null;
if (argc() > 1)

View File

@@ -21,12 +21,12 @@ class Network extends \Zotlabs\Web\Controller {
}
if(in_array(substr($_GET['search'],0,1),[ '@', '!', '?']) || strpos($_GET['search'], 'https://') === 0)
goaway('search' . '?f=&search=' . $_GET['search']);
goaway(z_root() . '/search?f=&search=' . $_GET['search']);
if(count($_GET) < 2) {
$network_options = get_pconfig(local_channel(),'system','network_page_default');
if($network_options)
goaway('network' . '?f=&' . $network_options);
goaway(z_root() . '/network?f=&' . $network_options);
}
$channel = App::get_channel();

View File

@@ -29,26 +29,28 @@ class Profile extends Controller {
return;
}
$profile = '';
$channel = App::get_channel();
if (!$channel)
http_status_exit(404, 'Not found');
if (ActivityStreams::is_as_request()) {
$channel = channelx_by_nick($which);
if (!$channel) {
http_status_exit(404, 'Not found');
}
$p = Activity::encode_person($channel, true);
as_return_and_die(['type' => 'Profile', 'describes' => $p], $channel);
}
nav_set_selected('Profile');
$profile = '';
if ((local_channel()) && (argc() > 2) && (argv(2) === 'view')) {
$channel = App::get_channel();
$which = $channel['channel_address'];
$profile = argv(1);
$r = q("select profile_guid from profile where id = %d and uid = %d limit 1",
$r = q("select profile_guid from profile where id = %d and uid = %d limit 1",
intval($profile),
intval(local_channel())
);
if (!$r)
$profile = '';
$profile = $r[0]['profile_guid'];
@@ -80,7 +82,6 @@ class Profile extends Controller {
profile_load($which, $profile);
}
function get() {
@@ -89,11 +90,10 @@ class Profile extends Controller {
return login();
}
nav_set_selected('Profile');
$groups = [];
$tab = 'profile';
$o = '';
$o = '';
if (!(perm_is_allowed(App::$profile['profile_uid'], get_observer_hash(), 'view_profile'))) {
notice(t('Permission denied.') . EOL);

View File

@@ -14,7 +14,6 @@ class Search extends Controller {
App::$data['search'] = escape_tags($_REQUEST['search']);
}
function get($update = 0, $load = false) {
if ((get_config('system', 'block_public')) || (get_config('system', 'block_public_search'))) {
@@ -194,7 +193,7 @@ class Search extends Controller {
if (local_channel()) {
$r = q("SELECT mid, MAX(id) as item_id from item
WHERE ((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = '' AND item.deny_gid = '' AND item_private = 0 )
WHERE ((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = '' AND item.deny_gid = '' AND item_private = 0 )
OR ( item.uid = %d )) OR item.owner_xchan = '%s' )
$item_normal
$sql_extra
@@ -210,7 +209,7 @@ class Search extends Controller {
and owner_xchan in ( " . stream_perms_xchans(($observer) ? (PERMS_NETWORK | PERMS_PUBLIC) : PERMS_PUBLIC) . " ))
$pub_sql ) OR owner_xchan = '%s')
$item_normal
$sql_extra
$sql_extra
group by mid, created order by created desc $pager_sql",
dbesc($sys['xchan_hash'])
);

View File

@@ -52,7 +52,7 @@ require_once('include/attach.php');
require_once('include/bbcode.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
define ( 'STD_VERSION', '5.4' );
define ( 'STD_VERSION', '5.4.1' );
define ( 'ZOT_REVISION', '6.0' );
define ( 'DB_UPDATE_VERSION', 1243 );

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1574,7 +1574,7 @@ $(window).scroll(function () {
}
else {
// This is some other kind of page - perhaps a directory
if($(window).scrollTop() + $(window).height() > $('#page-end').position().top) {
if($('#page-end').length && ($(window).scrollTop() + $(window).height() > $('#page-end').position().top)) {
if((pageHasMoreContent) && (! loadingPage) && (! justifiedGalleryActive)) {
next_page++;
scroll_next = true;

View File

@@ -51,7 +51,7 @@ var activeCommentID = 0;
var activeCommentText = '';
$(document).ready(function() {
$("#profile-jot-text").focus(enableOnUser);
$("#profile-jot-text").click(enableOnUser);
@@ -125,8 +125,8 @@ var activeCommentText = '';
});
function jotSetMime() {
var mtype = $('#id_mimetype').val();
function jotSetMime() {
var mtype = $('#id_mimetype').val();
if(mtype == 'text/bbcode')
$('#profile-jot-submit-left').show();
else
@@ -155,7 +155,7 @@ var activeCommentText = '';
textarea = document.getElementById('profile-jot-text');
if (textarea.selectionStart || textarea.selectionStart == "0") {
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
var end = textarea.selectionEnd;
if (end > start) {
reply = prompt("{{$linkurl}}");
if(reply && reply.length) {
@@ -313,6 +313,7 @@ var activeCommentText = '';
function itemCancel() {
$("#jot-title").val('');
$("#jot-summary").val('');
$("#profile-jot-text").val('');
$(".jot-poll-option input").val('');
$("#jot-category").tagsinput('removeAll');
@@ -351,7 +352,7 @@ var activeCommentText = '';
return false;
});
});
}
function itemFilerRm(id, term) {
@@ -570,6 +571,7 @@ $( document ).on( "click", ".wall-item-delete-link,.page-delete-link,.layout-del
if(action != 'clean') {
localStorage.setItem("post_title" + postid, $("#jot-title").val());
localStorage.setItem("post_summary" + postid, $("#jot-summary").val());
localStorage.setItem("post_body" + postid, $("#profile-jot-text").val());
if($("#jot-category").length)
localStorage.setItem("post_category" + postid, $("#jot-category").val());
@@ -590,10 +592,11 @@ $( document ).on( "click", ".wall-item-delete-link,.page-delete-link,.layout-del
clearTimeout(postSaveTimer);
postSaveTimer = null;
localStorage.removeItem("post_title" + postid);
localStorage.removeItem("post_summary" + postid);
localStorage.removeItem("post_body" + postid);
localStorage.removeItem("post_category" + postid);
}
}
}
}
@@ -605,6 +608,7 @@ $( document ).on( "click", ".wall-item-delete-link,.page-delete-link,.layout-del
var doctype = $('#jot-webpage').val();
var postid = '-' + doctype + '-' + $('#jot-postid').val();
var postTitle = localStorage.getItem("post_title" + postid);
var postSummary = localStorage.getItem("post_summary" + postid);
var postBody = localStorage.getItem("post_body" + postid);
var postCategory = (($("#jot-category").length) ? localStorage.getItem("post_category" + postid) : '');
var openEditor = false;
@@ -613,6 +617,10 @@ $( document ).on( "click", ".wall-item-delete-link,.page-delete-link,.layout-del
$('#jot-title').val(postTitle);
openEditor = true;
}
if(postSummary) {
$('#jot-summary').val(postSummary);
openEditor = true;
}
if(postBody) {
$('#profile-jot-text').val(postBody);
openEditor = true;

View File

@@ -52,15 +52,15 @@
<div id="jot-text-wrap">
<div id="profile-jot-tools" class="btn-group d-none">
{{if $is_owner}}
<a id="profile-jot-settings" class="btn btn-outline-secondary btn-sm border-0" href="/settings/editor/?f=&rpath=/{{$return_path}}"><i class="fa fa-cog"></i></a>
<a id="profile-jot-settings" class="btn btn-outline-secondary btn-sm border-0" href="/settings/editor/?f=&rpath=/{{$return_path}}" tabindex="4"><i class="fa fa-cog"></i></a>
{{/if}}
{{if $reset}}
<button id="profile-jot-reset" class="btn btn-outline-secondary btn-sm border-0" title="{{$reset}}" onclick="itemCancel(); return false;">
<button type="button" id="profile-jot-reset" class="btn btn-outline-secondary btn-sm border-0" title="{{$reset}}" tabindex="-1" onclick="itemCancel(); return false;">
<i class="fa fa-close"></i>
</button>
{{/if}}
</div>
<textarea class="profile-jot-text" id="profile-jot-text" name="body" tabindex="2" placeholder="{{$placeholdtext}}" >{{$content}}</textarea>
<textarea class="profile-jot-text" id="profile-jot-text" name="body" tabindex="2" placeholder="{{$placeholdtext}}" tabindex="3">{{$content}}</textarea>
</div>
{{if $attachment}}
<div id="jot-attachment-wrap">
@@ -99,19 +99,19 @@
<div id="profile-jot-submit-left" class="btn-toolbar float-left">
{{if $bbcode}}
<div class="btn-group mr-2">
<button id="main-editor-bold" class="btn btn-outline-secondary btn-sm" title="{{$bold}}" onclick="inserteditortag('b', 'profile-jot-text'); return false;">
<button type="button" id="main-editor-bold" class="btn btn-outline-secondary btn-sm" title="{{$bold}}" onclick="inserteditortag('b', 'profile-jot-text'); return false;">
<i class="fa fa-bold jot-icons"></i>
</button>
<button id="main-editor-italic" class="btn btn-outline-secondary btn-sm" title="{{$italic}}" onclick="inserteditortag('i', 'profile-jot-text'); return false;">
<button type="button" id="main-editor-italic" class="btn btn-outline-secondary btn-sm" title="{{$italic}}" onclick="inserteditortag('i', 'profile-jot-text'); return false;">
<i class="fa fa-italic jot-icons"></i>
</button>
<button id="main-editor-underline" class="btn btn-outline-secondary btn-sm" title="{{$underline}}" onclick="inserteditortag('u', 'profile-jot-text'); return false;">
<button type="button" id="main-editor-underline" class="btn btn-outline-secondary btn-sm" title="{{$underline}}" onclick="inserteditortag('u', 'profile-jot-text'); return false;">
<i class="fa fa-underline jot-icons"></i>
</button>
<button id="main-editor-quote" class="btn btn-outline-secondary btn-sm" title="{{$quote}}" onclick="inserteditortag('quote', 'profile-jot-text'); return false;">
<button type="button" id="main-editor-quote" class="btn btn-outline-secondary btn-sm" title="{{$quote}}" onclick="inserteditortag('quote', 'profile-jot-text'); return false;">
<i class="fa fa-quote-left jot-icons"></i>
</button>
<button id="main-editor-code" class="btn btn-outline-secondary btn-sm" title="{{$code}}" onclick="inserteditortag('code', 'profile-jot-text'); return false;">
<button type="button" id="main-editor-code" class="btn btn-outline-secondary btn-sm" title="{{$code}}" onclick="inserteditortag('code', 'profile-jot-text'); return false;">
<i class="fa fa-terminal jot-icons"></i>
</button>
</div>
@@ -119,29 +119,29 @@
{{if $visitor}}
<div class="btn-group mr-2 d-none d-lg-flex">
{{if $writefiles}}
<button id="wall-file-upload" class="btn btn-outline-secondary btn-sm" title="{{$attach}}" >
<button type="button" id="wall-file-upload" class="btn btn-outline-secondary btn-sm" title="{{$attach}}" >
<i id="wall-file-upload-icon" class="fa fa-paperclip jot-icons"></i>
</button>
{{/if}}
{{if $weblink}}
<button id="profile-link-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$weblink}}" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;">
<button type="button" id="profile-link-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$weblink}}" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;">
<i id="profile-link" class="fa fa-link jot-icons"></i>
</button>
{{/if}}
{{if $embedPhotos}}
<button id="embed-photo-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$embedPhotos}}" onclick="initializeEmbedPhotoDialog();return false;">
<button type="button" id="embed-photo-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$embedPhotos}}" onclick="initializeEmbedPhotoDialog();return false;">
<i id="embed-photo" class="fa fa-file-image-o jot-icons"></i>
</button>
{{/if}}
</div>
<div class="btn-group mr-2 d-none d-lg-flex">
{{if $setloc}}
<button id="profile-location-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$setloc}}" onclick="jotGetLocation();return false;">
<button type="button" id="profile-location-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$setloc}}" onclick="jotGetLocation();return false;">
<i id="profile-location" class="fa fa-globe jot-icons"></i>
</button>
{{/if}}
{{if $clearloc}}
<button id="profile-nolocation-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$clearloc}}" onclick="jotClearLocation();return false;" disabled="disabled">
<button type="button" id="profile-nolocation-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$clearloc}}" onclick="jotClearLocation();return false;" disabled="disabled">
<i id="profile-nolocation" class="fa fa-circle-o jot-icons"></i>
</button>
{{/if}}
@@ -149,17 +149,17 @@
<div class="btn-group d-none d-lg-flex">
{{/if}}
{{if $feature_expire}}
<button id="profile-expire-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$expires}}" onclick="jotGetExpiry();return false;">
<button type="button" id="profile-expire-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$expires}}" onclick="jotGetExpiry();return false;">
<i id="profile-expires" class="fa fa-eraser jot-icons"></i>
</button>
{{/if}}
{{if $feature_future}}
<button id="profile-future-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$future_txt}}" onclick="jotGetPubDate();return false;">
<button type="button" id="profile-future-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$future_txt}}" onclick="jotGetPubDate();return false;">
<i id="profile-future" class="fa fa-clock-o jot-icons"></i>
</button>
{{/if}}
{{if $feature_encrypt}}
<button id="profile-encrypt-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$encrypt}}" onclick="hz_encrypt('{{$cipher}}','#profile-jot-text');return false;">
<button type="button" id="profile-encrypt-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$encrypt}}" onclick="hz_encrypt('{{$cipher}}','#profile-jot-text');return false;">
<i id="profile-encrypt" class="fa fa-key jot-icons"></i>
</button>
{{/if}}
@@ -167,7 +167,7 @@
<i id="profile-poll" class="fa fa-bar-chart jot-icons"></i>
</button>
{{if $feature_nocomment}}
<button id="profile-nocomment-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$nocommenttitle}}" onclick="toggleNoComment();return false;">
<button type="button" id="profile-nocomment-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$nocommenttitle}}" onclick="toggleNoComment();return false;">
<i id="profile-nocomment" class="fa fa-comments jot-icons"></i>
</button>
{{/if}}
@@ -224,22 +224,22 @@
</div>
<div id="profile-jot-submit-right" class="btn-group float-right">
{{foreach $customsubmitright as $csr}}
<button class="btn btn-outline-secondary btn-sm" {{$csr.buttonparams}} title="{{$csr.preview}}">
<button type="button" class="btn btn-outline-secondary btn-sm" {{$csr.buttonparams}} title="{{$csr.preview}}">
{{$csr.buttoncontent}}
</button>
{{/foreach}}
{{if $preview}}
<button class="btn btn-outline-secondary btn-sm" onclick="preview_post();return false;" title="{{$preview}}">
<button type="button" class="btn btn-outline-secondary btn-sm" onclick="preview_post();return false;" title="{{$preview}}">
<i class="fa fa-eye jot-icons" ></i>
</button>
{{/if}}
{{if $jotnets}}
<button id="dbtn-jotnets" class="btn btn-outline-secondary btn-sm" data-toggle="modal" data-target="#jotnetsModal" type="button" title="{{$jotnets_label}}" style="{{if $lockstate == 'lock'}}display: none;{{/if}}">
<button type="button" id="dbtn-jotnets" class="btn btn-outline-secondary btn-sm" data-toggle="modal" data-target="#jotnetsModal" type="button" title="{{$jotnets_label}}" style="{{if $lockstate == 'lock'}}display: none;{{/if}}">
<i class="fa fa-share-alt jot-icons"></i>
</button>
{{/if}}
{{if $showacl}}
<button id="dbtn-acl" class="btn btn-outline-secondary btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" type="button" data-form_id="profile-jot-form">
<button type="button" id="dbtn-acl" class="btn btn-outline-secondary btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" type="button" data-form_id="profile-jot-form">
<i id="jot-perms-icon" class="fa fa-{{$lockstate}} jot-icons{{if $bang}} jot-lock-warn{{/if}}"></i>
</button>
{{/if}}