Merge branch '3.6RC' of https://framagit.org/hubzilla/core into 3.6RC

This commit is contained in:
Mario Vavti 2018-07-25 10:15:23 +02:00
commit 35200e5f1b
13 changed files with 17222 additions and 8543 deletions

View File

@ -1,3 +1,97 @@
Hubzilla 3.6 (????-??-??)
- Update jquery.timeago library
- Implement Hookable CSP
- ActivityStreams: accept header changes to support plume
- Streamline inconsistencies in addon naming
- SECURITY: hash the session_id in logs
- Update justified gallery library
- Hide channel in /cloud root if channel is hidden in directory
- Add resend option to channel sources tp discard original author.
- Provide flag to exclude privacy groups for federation plugin use in collect_recipients()
- Upgrading from redmatrix is no longer supported
- Deal with htmlentity encoding during authentication workflow
- Rework mod group
- Make droping posts of removed connections more memory efficient
- Refactor getOutainfo() for DAV storage
- Optionally report total available space when uploading
- SECURITY: provide option to disable the cloud 'root' directory and make the cloud module require a target channel nickname
- Add plink and llink to viewsource
- Add new 'filter by name' feature
- Remove network tabs
- New activity filter widget
- New activity order widget
- Make menus editable by visitors with webpage write permissions
- Move forum notifications to notifications
- Move manage privacy groups to the panel channel menu
- Don't remove items that are starred, filed, or that you replied to when removing a connection
- Don't deliver local items more than once
- Make navbar search use the module search function in /network and /channel
- Paint the locks on private activitypub items red. Their privacy model is "slightly" different from hubzillas
- Improve new channel creation workflow
- Add hook 'get_system_apps'
- Implement reset button for jot
- Adjust accept header to make pleroma happy
- Provide a general purpose GDPR document
- Provide function to fetch photo contents from url
- Make get_default_profile_photo() pluggable
- Refactor tags/mentions
- Refactor autocomplete mechanism
- Display pubsites link in info area if invite only
- Add cancel button to editor
- Implement MessageFilter for pubstream and sourced messages
- Add supported protocols to siteinfo
- Allow pdf embeds
- Allow uninstall of plugins which no longer exists via cmdline tool
- Improve the homeinstall script
- Provide easy access to the autoperms setting for forum and repository channels
- Implement admin delete of files, photos and posts
- Allow a different username to be used when importing a channel
- Provide warnings about profile photo and cover photo permissions
- Set the 'force' flag on attach_mkdir when initiated from a DAV operation
Bugfixes
- Fix double file uploads when dropping files into jot
- Fix jot collapsing when drag and drop to open jot
- Fix wrong album name when moving photos
- Fix wrong timestamp localization before first update in mod mail
- Fix post exiration not propagated to other networks (which support it)
- Fix sys channels visible in dirsearch
- Fix remote_self not working correctly
- Fix photos not syncing properly if destination is a postgres site
- Fix wrong hubloc_url for activitypub hublocs
- Fix z_check_dns() for BSD
- Fix not null violation in oauth1
- Fix DB issues with oauth2 on postgresql
- Fix 'anybody authenticated' not correctly handled in can_comment_on_post()
- Fix postgres issue if register mode is set to yes - with approval
- Fix tag search not finding articles
- Fix issue with mentions when markdown post addon is enabled
- Fix duplicate addressbook entries on repeated channel imports
Addons
- Cart: various display improvements
- Cart: make cart work with postgresql DB backend
- Cart: add new hzservice for service_classes
- Cart: add storewide currency settings
- Cart: provide channel app 'Shop' for cart addon
- Cart: implement order updating
- Cart: use CSP hook for paypals checkout.js
- Cart: provide a cancel mechanism for orders
- Cart: add paypal button
- Gallery: new addon to display photo albums with the photoswipe library
- Ldapauth: optionally auto create channel
- Pubcrawl: new setting to ignore ActivityPub recipients in privacy groups
- Diaspora: fix issue with displaying multiple photos
- Pubcrawl: provide plink
- Pubcrawl: hubloc_url should be baseurl, not actor url
- Pubcrawl: deliver restricted posts from hubzilla as direct messages (there is no other way to address only a subset of followers in mastodon)
- Pubcrawl: address comments to a restricted mastodon post to /followers
Hubzilla 3.4.2 (2018-07-19)
- Compatibility fix for future versions
Hubzilla 3.4.1 (2018-06-08) Hubzilla 3.4.1 (2018-06-08)
- Say bye, bye to GitHub and move sourcecode repositories to #^https://framagit.org/hubzilla - Say bye, bye to GitHub and move sourcecode repositories to #^https://framagit.org/hubzilla
- When removing a connection, don't remove items that are starred, filed or replied to - When removing a connection, don't remove items that are starred, filed or replied to

View File

@ -17,9 +17,9 @@ class CheckJS {
else else
$this->jsdisabled = 0; $this->jsdisabled = 0;
if(! $this->jsdisabled) { $page = bin2hex(\App::$query_string);
$page = bin2hex(\App::$query_string);
if(! $this->jsdisabled) {
if($test) { if($test) {
$this->jsdisabled = 1; $this->jsdisabled = 1;
if(array_key_exists('jsdisabled',$_COOKIE)) if(array_key_exists('jsdisabled',$_COOKIE))

View File

@ -878,6 +878,8 @@ class App {
// removing trailing / - maybe a nginx problem // removing trailing / - maybe a nginx problem
if (substr(self::$query_string, 0, 1) == "/") if (substr(self::$query_string, 0, 1) == "/")
self::$query_string = substr(self::$query_string, 1); self::$query_string = substr(self::$query_string, 1);
// change the first & to ?
self::$query_string = preg_replace('/&/','?',self::$query_string,1);
} }
if(x($_GET,'q')) if(x($_GET,'q'))

View File

@ -1,11 +1,11 @@
<?php <?php
if(! class_exists('App')) { if(! class_exists('App')) {
class TmpA { class App {
public $strings = Array(); static public $rtl;
} static public $strings = Array();
$a = new TmpA(); }
} }
if ($argc!=2) { if ($argc!=2) {
print "Usage: ".$argv[0]." <hstrings.php>\n\n"; print "Usage: ".$argv[0]." <hstrings.php>\n\n";
@ -32,17 +32,17 @@
if ($k!="" && substr($l,0,7)=="msgstr "){ if ($k!="" && substr($l,0,7)=="msgstr "){
$ink = False; $ink = False;
$v = '""'; $v = '';
//echo "DBG: k:'$k'\n"; //echo "DBG: k:'$k'\n";
if (isset(App::$strings[$k])) { if (isset(App::$strings[$k])) {
$v= '"'.App::$strings[$k].'"'; $v= App::$strings[$k];
//echo "DBG\n"; //echo "DBG\n";
//var_dump($k, $v, App::$strings[$k], $v); //var_dump($k, $v, App::$strings[$k], $v);
//echo "/DBG\n"; //echo "/DBG\n";
} }
//echo "DBG: v:'$v'\n"; //echo "DBG: v:'$v'\n";
$l = "msgstr ".$v."\n"; $l = "msgstr \"".str_replace('"','\"',$v)."\"\n";
} }
if (substr($l,0,6)=="msgid_" || substr($l,0,7)=="msgstr[" )$ink = False;; if (substr($l,0,6)=="msgid_" || substr($l,0,7)=="msgstr[" )$ink = False;;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,14 @@
Привет,
Я веб-сервер {{$sitename}};
Разработчики Hubzilla только что выпустили обновление {{$update}} 
но когда я попыталась/ся установить его, что-то пошло не так.
Это должно быть исправлено в ближайшее время и требует вмешательства человека.
Пожалуйста, обратитесь к разработчикам Hubzilla, если вы не можете понять, как
исправьте это по своему усмотрению. Моя база данных может быть недействительной.
Сообщение ошибки является следующим '{{$}}'.
Приносим извинения за неудобства,
Ваш веб-сервер {{$siteurl}}

View File

@ -1,32 +1,35 @@
Dear {{$username}}, Уважаемый {{$username}},
A request was recently received at {{$sitename}} to reset your account Недавно {{$sitename}} был получен запрос на сброс пароля вашей
password. In order to confirm this request, please select the verification link учётной записи. Для подтверждения этого запроса, пожалуйста перейдите по ссылке
below or paste it into your web browser address bar. проверки ниже или вставьте его в адресную строку вашего браузера.
If you did NOT request this change, please DO NOT follow the link Если вы НЕ запрашивали это измнение, пожалуйста НЕ используйте предоставленную
provided and ignore and/or delete this email. ссылку и игнорируйте и / или удалите это письмо.
Your password will not be changed unless we can verify that you Ваш пароль не будет изменён до тех пор, пока мы не сможем убедиться что именно
issued this request. вами создан запрос.
Follow this link to verify your identity: Проследуйте по ссылке для подтверждения вашей личности:
{{$reset_link}} {{$reset_link}}
You will then receive a follow-up message containing the new password. После этого вы получите email содержащий новый пароль.
You may change that password from your account settings page after logging in. Вы можете изменить этот пароль в вашей учётной записи после входа.
The login details are as follows: Подробности логина:
Site Location: {{$siteurl}} Расположение сайта: {{$siteurl}}
Login Name: {{$email}} Имя для входа: {{$email}}
Sincerely, С уважением,
{{$sitename}} Administrator администрация {{$sitename}}
--
Условия использования сервиса:
{{$siteurl}}/help/TermsOfService

View File

@ -1,20 +1,24 @@
Dear {{$username}}, Дорогой {{$username}},
Your password has been changed as requested. Please retain this Ваш пароль был изменен, как вы и просили. Пожалуйста, сохраните эту
information for your records (or change your password immediately to информацию в ваших записях (или смените свой пароль на такой
something that you will remember). который вы точно не забудете).
Your login details are as follows: Детали учетной записи:
Site Location: {{$siteurl}} Адрес сайта: {{$siteurl}}
Login Name: {{$email}} Имя Пользователя: {{$email}}
Password: {{$new_password}} Пароль: {{$new_password}}
You may change that password from your account settings page after logging in. Вы можете сменить этот пароль в настройках учетной записи после того, как войдете в систему.
Sincerely, С уважением,
{{$sitename}} Administrator администрация {{$sitename}}
--
Условия предоставления услуг:
{{$siteurl}}/help/TermsOfService

View File

@ -1,19 +1,17 @@
An account has been created at {{$sitename}} for this email address. Учётная запись была создана на {{$sitename}} для этого адреса электронной почты.
The login details are as follows: Детали учётной записи:
Site Location: {{$siteurl}} Адрес сайта: {{$siteurl}}
Login: {{$email}} Имя для входа: {{$email}}
Password: (the password which was provided during registration) Пароль: (указанный вами при регистрации)
If this account was created without your knowledge and is not desired, you may Если эта учётная запись была создана без вашего ведома или нежелательна, вы
visit this site and reset the password. This will allow you to remove the можете посетить сайт и сбросить пароль. Это позволит вам удалить учётную запись
account from the links on the Settings page, and we по ссылке на странице "Настройки".
apologise for any inconvenience. Приносим извинения за любые неудобства.
Thank you and welcome to {{$sitename}}. Спасибо и добро пожаловать на {{$sitename}}!
Sincerely, С уважением,
{{$sitename}} Administrator администрация {{$sitename}}

View File

@ -1,25 +1,24 @@
A new user registration request was received at {{$sitename}} which requires Был получен запрос на регистрацию нового пользователя на {{$sitename}}
your approval. что требует вашего подтверждения.
The login details are as follows: Детали учётной записи:
Site Location: {{$siteurl}} Адрес сайта: {{$siteurl}}
Login Name: {{$email}} Имя для входа: {{$email}}
IP Address: {{$details}} IP-адрес: {{$details}}
To approve this request please visit the following link: Для подтверждения этого запроса пожалуйса перейдите по ссылке:
{{$siteurl}}/regmod/allow/{{$hash}} {{$siteurl}}/regmod/allow/{{$hash}}
To deny the request and remove the account, please visit: Для отказа и удаления учётной записи перейдите по ссылке:
{{$siteurl}}/regmod/deny/{{$hash}} {{$siteurl}}/regmod/deny/{{$hash}}
Thank you. Спасибо.

View File

@ -1,13 +1,14 @@
Hey,
I'm the web server at {{$sitename}}; Привет,
Я веб-сервер {{$sitename}};
The Hubzilla developers released update {{$update}} recently,
but when I tried to install it, something went terribly wrong. Разработчики Hubzilla только что выпустили обновление {{$update}} 
This needs to be fixed soon and it requires human intervention. но когда я попыталась/ся установить его, что-то пошло не так.
Please contact a Red developer if you can not figure out how to Это должно быть исправлено в ближайшее время и требует вмешательства человека.
fix it on your own. My database might be invalid. Пожалуйста, обратитесь к разработчикам Hubzilla, если вы не можете понять, как
исправьте это по своему усмотрению. Моя база данных может быть недействительной.
The error message is '{{$error}}'.
Сообщение ошибки является следующим '{{$}}.
Apologies for the inconvenience,
your web server at {{$siteurl}} Приносим извинения за неудобства,
Ваш веб-сервер {{$siteurl}}

View File

@ -97,6 +97,7 @@ var activeCommentText = '';
$('#invisible-comment-upload').fileupload({ $('#invisible-comment-upload').fileupload({
url: 'wall_attach/{{$nickname}}', url: 'wall_attach/{{$nickname}}',
dataType: 'json', dataType: 'json',
dropZone: $(),
maxChunkSize: 4 * 1024 * 1024, maxChunkSize: 4 * 1024 * 1024,
add: function(e,data) { add: function(e,data) {
@ -482,10 +483,13 @@ var activeCommentText = '';
} }
// file drag hover // file drag hover
function DragDropUploadFileHover(e) { function DragDropUploadFileHover(e) {
e.target.className = (e.type == "dragover" ? "hover" : ""); if(e.type == 'dragover')
} $(e.target).addClass('hover');
else
$(e.target).removeClass('hover');
}
// file selection // file selection
function DragDropUploadFileSelectHandler(e) { function DragDropUploadFileSelectHandler(e) {
@ -494,7 +498,7 @@ var activeCommentText = '';
DragDropUploadFileHover(e); DragDropUploadFileHover(e);
// open editor if it isn't yet initialised // open editor if it isn't yet initialised
if (!editor) { if (!editor) {
initEditor(); enableOnUser();
} }
linkdrop(e); linkdrop(e);
@ -586,7 +590,7 @@ $( document ).on( "click", ".wall-item-delete-link,.page-delete-link,.layout-del
openEditor = true; openEditor = true;
} }
if(openEditor) { if(openEditor) {
initEditor(); enableOnUser();
} }
} else { } else {
postSaveChanges('clean'); postSaveChanges('clean');