Compare commits

...

10 Commits
8.8.4 ... 8.8.5

Author SHA1 Message Date
Mario Vavti
d655e1d765 version 8.8.5 2024-01-01 21:30:45 +01:00
Mario Vavti
db70ed006d Merge branch 'dev' 2024-01-01 21:29:53 +01:00
Mario Vavti
ce1dd5c632 changelog 2024-01-01 21:29:15 +01:00
Mario Vavti
9e2a253dda Merge branch 'dev' 2024-01-01 21:21:04 +01:00
Mario
95c645865d Merge branch 'doc-fixes' into 'dev'
docs: Update admin guide requirements

See merge request hubzilla/core!2080
2024-01-01 20:17:52 +00:00
Mario Vavti
f2f9cfaf28 Work around possible loop and use Lib/Config in init 2024-01-01 21:01:47 +01:00
Mario Vavti
62db8c3969 fix php errors and deprecation warnings 2023-12-31 09:55:27 +01:00
Mario Vavti
ae3db366e5 deprecate simplepie idna_convert 2023-12-31 09:54:54 +01:00
Harald Eilertsen
57570c144a doc/admin-guide: Update min php version and reqd extensions. 2023-12-26 15:34:50 +01:00
Mario
c3a235242e do not double process quoted strings 2023-12-21 10:19:26 +00:00
10 changed files with 43 additions and 38 deletions

View File

@@ -1,3 +1,10 @@
Hubzilla 8.8.5 (2024-01-01)
Fix possible loop if DB is not reachable (introduced in 8.8.3)
Fix some errors and deprecation warnings with PHP 8.2
Deprecate simplepie idna_convert in favor of PHP native function
Fix double processed quoted strings in get_tags()
Hubzilla 8.8.4 (2023-12-20)
- Fix regression introduced in version 8.8.3
- Add test for Lib/Config

View File

@@ -51,8 +51,6 @@ class Config {
}
App::$config[$family]['config_loaded'] = true;
}
}
}

View File

@@ -17,11 +17,11 @@ class PhotoGd extends PhotoDriver {
$t = [];
$t['image/jpeg'] = 'jpg';
if(imagetypes() & IMG_PNG)
if(\imagetypes() & IMG_PNG)
$t['image/png'] = 'png';
if(imagetypes() & IMG_GIF)
if(\imagetypes() & IMG_GIF)
$t['image/gif'] = 'gif';
if(imagetypes() & IMG_WEBP)
if(\imagetypes() & IMG_WEBP)
$t['image/webp'] = 'webp';
return $t;

View File

@@ -24,7 +24,7 @@ class Tagadelic {
$x ++;
}
usort($tags,'self::tags_sort');
usort($tags, [self::class, 'tags_sort']);
$range = max(.01, $max - $min) * 1.0001;
@@ -41,4 +41,4 @@ class Tagadelic {
return((strtolower($a[0]) < strtolower($b[0])) ? -1 : 1);
}
}
}

View File

@@ -22,6 +22,7 @@ class Receiver {
protected $prvkey;
protected $rawdata;
protected $sigdata;
protected $hub;
function __construct($handler, $localdata = null) {

View File

@@ -62,7 +62,7 @@ require_once('include/conversation.php');
require_once('include/acl_selectors.php');
define('PLATFORM_NAME', 'hubzilla');
define('STD_VERSION', '8.8.4');
define('STD_VERSION', '8.8.5');
define('ZOT_REVISION', '6.0');
define('DB_UPDATE_VERSION', 1259);
@@ -680,8 +680,8 @@ function sys_boot() {
* Load configs from db. Overwrite configs from .htconfig.php
*/
load_config('system');
load_config('feature');
Config::Load('system');
Config::Load('feature');
App::$session = new Zotlabs\Web\Session();
App::$session->init();

View File

@@ -85,16 +85,16 @@ There are several ways to deploy a new hub.
Example config scripts are available for these platforms in doc/install.
Apache and nginx have the most support.
* PHP 7.1 or later.
* Note that on some shared hosting environments, the _command line_
version of PHP might differ from the _webserver_ version
* PHP 8.1 or later.
Note that on some shared hosting environments, the _command line_
version of PHP might differ from the _webserver_ version
* PHP *command line* access with register_argc_argv set to true in the
php.ini file * and with no hosting provider restrictions on the use of
php.ini file, and with no hosting provider restrictions on the use of
exec() and proc_open().
* curl, gd (with at least jpeg and png support), mysqli, mbstring, zip,
and openssl extensions. The imagick extension is not required but desirable.
* curl, gd (with at least jpeg and png support), pdo-mysql (or pdo-postgres), mbstring, zip,
and openssl extensions. The imagick extension is not required, but recommended.
* xml extension is required if you want webdav to work.

View File

@@ -190,7 +190,7 @@ function reload_plugins() {
$plugins = get_config('system', 'addon');
if(strlen($plugins)) {
$r = dbq("SELECT * FROM addon WHERE installed = 1");
if(count($r))
if($r)
$installed = $r;
else
$installed = array();

View File

@@ -3,7 +3,10 @@
require_once("include/network.php");
function system_down() {
http_status(503, 'Service Unavailable');
// Set $skiplog to true here. Otherwise we will run into a loop
// when system_unavailable() -> system_down() is called from Zotlabs\Lib\Config::Load()
// but the DB is not available.
http_status(503, 'Service Unavailable', true);
echo <<< EOT
<html>
<head><title>System Unavailable</title></head>
@@ -12,4 +15,4 @@ Apologies but this site is unavailable at the moment. Please try again later.
</body>
</html>
EOT;
}
}

View File

@@ -904,6 +904,8 @@ function get_tags($s) {
$ret[] = $mtch;
}
}
if(preg_match_all('/([@#\!]\".*?\")/',$s,$match)) {
foreach($match[1] as $mtch) {
$ret[] = $mtch;
@@ -936,6 +938,8 @@ function get_tags($s) {
// or quote remnants from the quoted strings we already picked out earlier
if(strpos($mtch,'&quot'))
continue;
if(strpos($mtch,'"'))
continue;
$ret[] = $mtch;
}
@@ -1639,6 +1643,7 @@ function format_hashtags(&$item) {
$s = '';
$terms = isset($item['term']) ? get_terms_oftype($item['term'], array(TERM_HASHTAG, TERM_COMMUNITYTAG)) : [];
if($terms) {
foreach($terms as $t) {
$term = htmlspecialchars($t['term'], ENT_COMPAT, 'UTF-8', false) ;
@@ -3834,30 +3839,21 @@ function featured_sort($a,$b) {
}
// Be aware that punify will convert domain names and pathnames
function unpunify($s) {
if (function_exists('idn_to_utf8') && isset($s)) {
return idn_to_utf8($s);
}
return $s;
}
function punify($s) {
require_once('vendor/simplepie/simplepie/idn/idna_convert.class.php');
$x = new idna_convert(['encoding' => 'utf8']);
return $x->encode($s);
if (function_exists('idn_to_ascii') && isset($s)) {
return idn_to_ascii($s);
}
return $s;
}
/**
* Be aware that unpunify() will only convert domain names and not pathnames.
*
* @param string $s
* @return string
*/
function unpunify($s) {
require_once('vendor/simplepie/simplepie/idn/idna_convert.class.php');
$x = new idna_convert(['encoding' => 'utf8']);
return $x->decode($s);
}
function unique_multidim_array($array, $key) {
$temp_array = array();
$i = 0;