diff --git a/README.md b/README.md index 35c0ae0..d6a7457 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Piwigo for YunoHost Extensions make Piwigo easily customizable. Icing on the cake, Piwigo is free and opensource. -**Shipped version:** 2.8.2 +**Shipped version:** 2.8.3 ![](http://piwigo.org/screenshots/homepage/piwigo-batch-manager.png) @@ -29,6 +29,6 @@ Upgrade scripts to be designed/updated when a new Piwigo release comes up. ## Links - * Report a bug: https://github.com/JimboJoe/piwigo_ynh/issues + * Report a bug: https://github.com/YunoHost-Apps/piwigo_ynh/issues * Piwigo website: http://piwigo.org/ * YunoHost website: https://yunohost.org/ diff --git a/scripts/install b/scripts/install index 1d320dd..2d47b16 100644 --- a/scripts/install +++ b/scripts/install @@ -39,7 +39,7 @@ fi # Copy source files src_path=/var/www/$app -sudo mkdir -p $src_path +sudo mkdir -p $src_path/upload sudo cp -a ../sources/. $src_path datapath=/home/yunohost.app/$app @@ -104,5 +104,4 @@ if [ $is_public -eq 0 ]; then sudo yunohost app setting "$app" -d unprotected_uris sudo yunohost app setting "$app" protected_uris -v "/" -# sudo yunohost app ssowatconf fi diff --git a/scripts/upgrade b/scripts/upgrade new file mode 100644 index 0000000..bc87948 --- /dev/null +++ b/scripts/upgrade @@ -0,0 +1,56 @@ +#!/bin/bash +# ===================== +# TODO +# ===================== + +# Exit on command errors and treat unset variables as an error +set -eu + +app=$YNH_APP_INSTANCE_NAME + +# Source YunoHost helpers +source /usr/share/yunohost/helpers + +# Retrieve app settings +domain=$(ynh_app_setting_get "$app" domain) +path=$(ynh_app_setting_get "$app" path) +admin=$(ynh_app_setting_get "$app" admin) +is_public=$(ynh_app_setting_get "$app" is_public) +language=$(ynh_app_setting_get "$app" language) + +# Remove trailing "/" for next commands +path=${path%/} + +# Copy source files +src_path=/var/www/$app +sudo mkdir -p $src_path +sudo cp -Raf ../sources/. $src_path + +datapath=/home/yunohost.app/$app + +sudo chown -R www-data:www-data $src_path +sudo chown -R www-data:www-data $datapath +sudo chmod 777 $src_path/_data +sudo chmod 777 $src_path/upload +sudo chmod 755 -R $src_path/galleries + +# Modify Nginx configuration file and copy it to Nginx conf directory +nginx_conf=../conf/nginx.conf +sed -i "s@YNH_WWW_PATH@$path@g" $nginx_conf +sed -i "s@YNH_WWW_ALIAS@$src_path/@g" $nginx_conf +sudo cp $nginx_conf /etc/nginx/conf.d/$domain.d/$app.conf + +# Set permissions and reload nginx (needed at this stage for the PHP piwigo installation process) +sudo service nginx reload +sudo yunohost app setting "$app" unprotected_uris -v "/" +sudo yunohost app ssowatconf + +#activate ldap plugin +#mysql -u $dbuser -p$dbpass $dbname -e "INSERT INTO plugins (id,state,version) VALUES ('Ldap_Login','active','1.1');" + +#protect URIs if private +if [ $is_public -eq 0 ]; +then + sudo yunohost app setting "$app" -d unprotected_uris + sudo yunohost app setting "$app" protected_uris -v "/" +fi \ No newline at end of file diff --git a/sources/include/constants.php b/sources/include/constants.php index 22bb967..153c20d 100644 --- a/sources/include/constants.php +++ b/sources/include/constants.php @@ -22,7 +22,7 @@ // +-----------------------------------------------------------------------+ // Default settings -define('PHPWG_VERSION', '2.8.2'); +define('PHPWG_VERSION', '2.8.3'); define('PHPWG_DEFAULT_LANGUAGE', 'en_UK'); define('PHPWG_DEFAULT_TEMPLATE', 'elegant'); diff --git a/sources/include/dblayer/functions_mysql.inc.php b/sources/include/dblayer/functions_mysql.inc.php index 6a17368..d9a2ef2 100644 --- a/sources/include/dblayer/functions_mysql.inc.php +++ b/sources/include/dblayer/functions_mysql.inc.php @@ -503,7 +503,7 @@ INSERT INTO '.$table_name.' $is_first = false; } - if ($value === '') + if ($value === '' || is_null($value)) { $query .= 'NULL'; } diff --git a/sources/include/dblayer/functions_mysqli.inc.php b/sources/include/dblayer/functions_mysqli.inc.php index 5b40cfe..4b28678 100644 --- a/sources/include/dblayer/functions_mysqli.inc.php +++ b/sources/include/dblayer/functions_mysqli.inc.php @@ -73,6 +73,19 @@ function pwg_db_connect($host, $user, $password, $database) { throw new Exception('Connection to server succeed, but it was impossible to connect to database'); } + + // MySQL 5.7 default settings forbid to select a colum that is not in the + // group by. We've used that in Piwigo, for years. As an immediate solution + // we can remove this constraint in the current MySQL session. + list($sql_mode_current) = pwg_db_fetch_row(pwg_query('SELECT @@SESSION.sql_mode')); + + // remove ONLY_FULL_GROUP_BY from the list + $sql_mode_altered = implode(',', array_diff(explode(',', $sql_mode_current), array('ONLY_FULL_GROUP_BY'))); + + if ($sql_mode_altered != $sql_mode_current) + { + pwg_query("SET SESSION sql_mode='".$sql_mode_altered."'"); + } } /** @@ -581,7 +594,7 @@ INSERT INTO '.$table_name.' $is_first = false; } - if ($value === '') + if ($value === '' || is_null($value)) { $query .= 'NULL'; } diff --git a/sources/include/functions.inc.php b/sources/include/functions.inc.php index 0187478..10d6c8f 100644 --- a/sources/include/functions.inc.php +++ b/sources/include/functions.inc.php @@ -1559,7 +1559,7 @@ function load_language($filename, $dirname = '', $options = array()) } $dirname .= 'language/'; - $default_language = defined('PHPWG_INSTALLED') and !defined('UPGRADES_PATH') ? + $default_language = (defined('PHPWG_INSTALLED') and !defined('UPGRADES_PATH')) ? get_default_language() : PHPWG_DEFAULT_LANGUAGE; // construct list of potential languages @@ -2055,6 +2055,16 @@ function mobile_theme() */ function url_check_format($url) { + if (strpos($url, '"') !== false) + { + return false; + } + + if (strncmp($url, 'http://', 7) !== 0 and strncmp($url, 'https://', 8) !== 0) + { + return false; + } + return filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED | FILTER_FLAG_HOST_REQUIRED)!==false; } diff --git a/sources/include/functions_search.inc.php b/sources/include/functions_search.inc.php index d8df4ee..59fc97c 100644 --- a/sources/include/functions_search.inc.php +++ b/sources/include/functions_search.inc.php @@ -1284,13 +1284,13 @@ function get_quick_search_results_no_cache($q, $options) $ids = qsearch_eval($expression, $qsr, $tmp, $search_results['qs']['unmatched_terms']); - $debug[] = "

Upload

Standaard weergave

-

Hier kan je de weergave aan passen die als standaard worden ingesteld, die je gast ziet als hij zich niet heeft aangemeld. Eenmaal aangemeld worden deze +

Hier kun je de weergave aanpassen die als standaard wordt ingesteld, die je gast ziet als hij zich niet heeft aangemeld. Eenmaal aangemeld worden deze opties overschreven door de gebruikers eigen opties (aanpasbaar in profiel).

-

Het is mogelijk om de weergave opties voor alle gebruikers aan te passen, via scherm Administratie, Identificatie, Gebruikers, waar de opties voor de geslecteerde lijst van gebruikers word getoond.

+

Het is mogelijk om de weergave opties voor alle gebruikers aan te passen, via scherm Beheer, Identificatie, Gebruikers, waar de opties voor de geselecteerde lijst van gebruikers wordt getoond.

Standaard groepen

diff --git a/sources/language/nl_NL/help/help_add_photos.html b/sources/language/nl_NL/help/help_add_photos.html index e2c42de..7480c37 100644 --- a/sources/language/nl_NL/help/help_add_photos.html +++ b/sources/language/nl_NL/help/help_add_photos.html @@ -1,7 +1,7 @@

Verschillende manieren om fotos aan de gallerie toe te voegen:

@@ -9,15 +9,15 @@ - +
- +
\ No newline at end of file diff --git a/sources/language/nl_NL/help/help_groups.html b/sources/language/nl_NL/help/help_groups.html index 91bf5b9..ce686cd 100644 --- a/sources/language/nl_NL/help/help_groups.html +++ b/sources/language/nl_NL/help/help_groups.html @@ -1,6 +1,6 @@ -

Groups is a convenient way to set permissions for a list of users.

+

Groepen is een gemakkelijke manier om rechten te geven aan een lijst van gebruikers.

-

Je kan groepen maken in Administratie » Gebruikers » Groepen en voeg gebruikers toe aan de groep via Administratie, Identicatie, Gebruikers.

+

Je kunt groepen maken in Beheer » Gebruikers » Groepen en voeg gebruikers toe aan de groep via Beheer, Identicatie, Gebruikers.

-

Een gebruiker kan behoren tot verschillende groepen. De vergunning is sterker dan verbod : als gebruiker "jack" behoord tot de groep "familie" en "Vrienden", en alleen de groep "familie" kan de categorie "Christmas 2003" zien, "jack" zal de mogelijkheid hebben om de categorie "Christmas 2003" te zien.

+

Een gebruiker kan behoren tot verschillende groepen. De vergunning is sterker dan verbod: als gebruiker "jack" behoort tot de groep "familie" en "Vrienden", en alleen de groep "familie" kan de categorie "Christmas 2003" zien, zal "jack" de mogelijkheid hebben om de categorie "Christmas 2003" te zien.

diff --git a/sources/language/nl_NL/help/help_misc.html b/sources/language/nl_NL/help/help_misc.html index 95c0e00..4c72e3e 100644 --- a/sources/language/nl_NL/help/help_misc.html +++ b/sources/language/nl_NL/help/help_misc.html @@ -1,11 +1,11 @@ -

Als je de Gallery geinstalleerd hebt, kan je het voor je bezoeker configureren. +

Als je de galerie geïnstalleerd hebt, kun je hem voor je bezoeker configureren.

-Elke nieuwe geregistreerde gebruiker zal deze standaard vertoningseigenschappen hebben.

+Elke nieuwe geregistreerde gebruiker zal dit standaard-uiterlijk hebben.

Als je nog vragen hebt, de Piwigo gemeenschap heet je welkom op haar forum.

\ No newline at end of file diff --git a/sources/language/nl_NL/help/help_permissions.html b/sources/language/nl_NL/help/help_permissions.html index b833752..7d77594 100644 --- a/sources/language/nl_NL/help/help_permissions.html +++ b/sources/language/nl_NL/help/help_permissions.html @@ -1,13 +1,13 @@ -

You can forbid access to categories. Switch the category access type to "private" if you want to manage permissions.

+

Je kunt toegang tot categorieën blokkeren. Verander het type categorietoegang in "privé" als je de rechten wilt beheren.

-

U kunt een categorie aan private maken door het aanpassen van een enkele categorie(Administratie » Categorieën » Beheren » bewerken) of bij het aanpassen van de opties op de hele categorie map (Administratie » Categorieën » Eigenschappen » Publiek / Private).

+

Je kunt een categorie privé maken door het aanpassen van een enkele categorie(Beheer » Categorieën » Beheren » bewerken) of bij het aanpassen van de opties op de hele categorie-map (Beheer » Categorieën » Eigenschappen » Openbaar / Privé).

-

Als de categorie private is, dan kun je de rechten aanpassen voor de groepen en gebruikers via 3 schermen :

+

Als de categorie privé is, dan kun je de rechten aanpassen van de groepen en gebruikers via 3 schermen :

diff --git a/sources/language/nl_NL/help/help_virtual_links.html b/sources/language/nl_NL/help/help_virtual_links.html index 3676a32..70567c9 100644 --- a/sources/language/nl_NL/help/help_virtual_links.html +++ b/sources/language/nl_NL/help/help_virtual_links.html @@ -1,13 +1,13 @@ -

Afbeeldingen / Foto's worden weergegeven in de categorie die overeenkomt -met hun directory.

+

Afbeeldingen / Foto's worden getoond in de categorie die overeenkomt +met hun map.

-

Een afbeelding kan in meerdere categorieën worden weergegeven, zonder dat -het bestand meerdere keren op uw webserver geplaatst hoeft te worden. -Verbindt uw afbeelding de gewenste categorie of categorieën op het -fotobewerkingsscherm (dat elke administrator kan bereiken vanaf het -galeriescherm waarop de afbeelding weergegeven wordt).p> +

Een afbeelding kan in meerdere categorieën worden getoond, zonder dat +het bestand meerdere keren op je webserver geplaatst hoeft te worden. +Verbind je afbeelding met de gewenste categorie of categorieën op het +fotobewerkingsscherm (dat elke beheerder kan bereiken vanaf het +galeriescherm waarop de afbeelding getoond wordt).p>

Virtuele categorieën zijn gebaseerd op het volgende idee: ze hebben geen -bijbehorende directory. Maak virtuele categorieën aan vanuit Administratie » Categorieën » +bijbehorende map. Maak virtuele categorieën aan vanuit Beheer » Categorieën » Beheer.

diff --git a/sources/language/nl_NL/help/history.html b/sources/language/nl_NL/help/history.html index 4ef3681..424ad8a 100644 --- a/sources/language/nl_NL/help/history.html +++ b/sources/language/nl_NL/help/history.html @@ -1,13 +1,13 @@

Historie

-

Op deze pagina's , kan je de bezoekers geschiedenis van je gallerie zien, volgens de opties die ingesteld zijn in - Administratie - Algemeen - Historie inhoud.

+

Op deze pagina's , kunnen je bezoekers geschiedenis van je galerie zien, volgens de opties die ingesteld zijn in - Beheer - Algemeen - Geschiedenis inhoud.

Statistieken

diff --git a/sources/language/nl_NL/help/maintenance.html b/sources/language/nl_NL/help/maintenance.html index 199598a..47d3dd1 100644 --- a/sources/language/nl_NL/help/maintenance.html +++ b/sources/language/nl_NL/help/maintenance.html @@ -1,11 +1,11 @@

Onderhoud

-

Om de pagina genereringstijd te optimaliseren, gebruikt Piwigo gecachde informatie. Voorbeeld, -inplaats van in plaats van het tellen van het aantal beelden, bevat elke categorie bij paginaherladen, -wordt deze informatie opgeslagen inde database. In theorie, zou deze informatie altijd correct zijn, +

Om de pagina genereringstijd te optimaliseren, gebruikt Piwigo gecachte informatie. Voorbeeld: +inplaats van in plaats van het tellen van het aantal beelden, bevat elke categorie bij pagina herladen, +wordt deze informatie opgeslagen in de database. In theorie zou deze informatie altijd correct zijn. maar soms kan een fout optreden en de cache informatie is dan foutief.

-

Bepaalde informatie word door tijd nutteloos. Door de nutteloze informatie te verwijderen uit de database bespaar je ruimte.

+

Bepaalde informatie wordt door tijd nutteloos. Door de nutteloze informatie te verwijderen uit de database bespaar je ruimte.