From 02f970f54fe3b643f07b48cff7e0c5235bb2a4a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89ric=20Gaspar?=
<46165813+ericgaspar@users.noreply.github.com>
Date: Fri, 10 Jun 2022 10:01:09 +0200
Subject: [PATCH 1/4] 1.7.8.6
---
conf/app.src | 4 +-
conf/nginx.conf | 2 +-
manifest.json | 6 ++-
scripts/_common.sh | 99 +++++++++++++++++++++++++++++++++++++++-------
scripts/install | 11 +++---
scripts/restore | 22 +++++------
scripts/upgrade | 16 ++++----
7 files changed, 118 insertions(+), 42 deletions(-)
diff --git a/conf/app.src b/conf/app.src
index e8d11c2..12dbbb5 100644
--- a/conf/app.src
+++ b/conf/app.src
@@ -1,5 +1,5 @@
-SOURCE_URL=https://github.com/PrestaShop/PrestaShop/releases/download/1.7.8.5/prestashop_1.7.8.5.zip
-SOURCE_SUM=b90e7200eb759a4904a8e819de23e012ba173d93d33a4a87d3df0f30717aee60
+SOURCE_URL=https://github.com/PrestaShop/PrestaShop/releases/download/1.7.8.6/prestashop_1.7.8.6.zip
+SOURCE_SUM=3d84c258990cbbe76eda57829e847c5023930925223f49b578739244c660db06
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=false
diff --git a/conf/nginx.conf b/conf/nginx.conf
index 27ea414..4e9615d 100644
--- a/conf/nginx.conf
+++ b/conf/nginx.conf
@@ -7,7 +7,7 @@ location __PATH__/ {
index index.php;
# Common parameter to increase upload size limit in conjunction with dedicated php-fpm file
- #client_max_body_size 50M;
+ client_max_body_size 300M;
try_files $uri $uri/ index.php;
location ~ [^/]\.php(/|$) {
diff --git a/manifest.json b/manifest.json
index e2f5060..83aec3c 100644
--- a/manifest.json
+++ b/manifest.json
@@ -33,7 +33,7 @@
"multi_instance": true,
"services": [
"nginx",
- "php7.3-fpm",
+ "php8.0-fpm",
"mysql"
],
"arguments": {
@@ -48,6 +48,10 @@
"example": "/prestashop",
"default": "/prestashop"
},
+ {
+ "name": "admin",
+ "type": "user"
+ },
{
"name": "is_public",
"type": "boolean",
diff --git a/scripts/_common.sh b/scripts/_common.sh
index eeb4cea..9e85de7 100644
--- a/scripts/_common.sh
+++ b/scripts/_common.sh
@@ -4,9 +4,9 @@
# COMMON VARIABLES
#=================================================
-YNH_PHP_VERSION="7.3"
+YNH_PHP_VERSION="8.0"
-pkg_dependencies="php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-json php${YNH_PHP_VERSION}-fpm php${YNH_PHP_VERSION}-common php${YNH_PHP_VERSION}-curl php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-xmlrpc php${YNH_PHP_VERSION}-mysql php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-xml php${YNH_PHP_VERSION}-cli php${YNH_PHP_VERSION}-zip"
+pkg_dependencies="php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-fpm php${YNH_PHP_VERSION}-common php${YNH_PHP_VERSION}-curl php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-xmlrpc php${YNH_PHP_VERSION}-mysql php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-xml php${YNH_PHP_VERSION}-cli php${YNH_PHP_VERSION}-zip"
#=================================================
# PERSONAL HELPERS
@@ -20,17 +20,34 @@ pkg_dependencies="php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-json php$
# FUTURE OFFICIAL HELPERS
#=================================================
+
# Send an email to inform the administrator
#
-# usage: ynh_send_readme_to_admin app_message [recipients]
-# | arg: app_message - The message to send to the administrator.
-# | arg: recipients - The recipients of this email. Use spaces to separate multiples recipients. - default: root
+# usage: ynh_send_readme_to_admin --app_message=app_message [--recipients=recipients] [--type=type]
+# | arg: -m --app_message= - The file with the content to send to the administrator.
+# | arg: -r, --recipients= - The recipients of this email. Use spaces to separate multiples recipients. - default: root
# example: "root admin@domain"
# If you give the name of a YunoHost user, ynh_send_readme_to_admin will find its email adress for you
# example: "root admin@domain user1 user2"
+# | arg: -t, --type= - Type of mail, could be 'backup', 'change_url', 'install', 'remove', 'restore', 'upgrade'
+#
+# Requires YunoHost version 4.1.0 or higher.
ynh_send_readme_to_admin() {
- local app_message="${1:-...No specific information...}"
- local recipients="${2:-root}"
+ # Declare an array to define the options of this helper.
+ declare -Ar args_array=( [m]=app_message= [r]=recipients= [t]=type= )
+ local app_message
+ local recipients
+ local type
+ # Manage arguments with getopts
+
+ ynh_handle_getopts_args "$@"
+ app_message="${app_message:-}"
+ recipients="${recipients:-root}"
+ type="${type:-install}"
+
+ # Get the value of admin_mail_html
+ admin_mail_html=$(ynh_app_setting_get $app admin_mail_html)
+ admin_mail_html="${admin_mail_html:-0}"
# Retrieve the email of users
find_mails () {
@@ -56,15 +73,62 @@ ynh_send_readme_to_admin() {
}
recipients=$(find_mails "$recipients")
- local mail_subject="☁️🆈🅽🅷☁️: \`$app\` has important message for you"
+ # Subject base
+ local mail_subject="☁️🆈🅽🅷☁️: \`$app\`"
+ # Adapt the subject according to the type of mail required.
+ if [ "$type" = "backup" ]; then
+ mail_subject="$mail_subject has just been backup."
+ elif [ "$type" = "change_url" ]; then
+ mail_subject="$mail_subject has just been moved to a new URL!"
+ elif [ "$type" = "remove" ]; then
+ mail_subject="$mail_subject has just been removed!"
+ elif [ "$type" = "restore" ]; then
+ mail_subject="$mail_subject has just been restored!"
+ elif [ "$type" = "upgrade" ]; then
+ mail_subject="$mail_subject has just been upgraded!"
+ else # install
+ mail_subject="$mail_subject has just been installed!"
+ fi
+
+ ynh_add_config --template="$app_message" --destination="../conf/msg_to_send"
+
+ ynh_delete_file_checksum --file="../conf/msg_to_send"
local mail_message="This is an automated message from your beloved YunoHost server.
+
Specific information for the application $app.
-$app_message
----
-Automatic diagnosis data from YunoHost
-$(yunohost tools diagnosis | grep -B 100 "services:" | sed '/services:/d')"
-
+
+$(cat "../conf/msg_to_send")"
+
+ # Store the message into a file for further modifications.
+ echo "$mail_message" > mail_to_send
+
+ # If a html email is required. Apply html tags to the message.
+ if [ "$admin_mail_html" -eq 1 ]
+ then
+ # Insert 'br' tags at each ending of lines.
+ ynh_replace_string "$" "
" mail_to_send
+
+ # Insert starting HTML tags
+ sed --in-place '1s@^@\n\n
\n\n@' mail_to_send
+
+ # Keep tabulations
+ ynh_replace_string " " "\ \ " mail_to_send
+ ynh_replace_string "\t" "\ \ " mail_to_send
+
+ # Insert url links tags
+ ynh_replace_string "__URL_TAG1__\(.*\)__URL_TAG2__\(.*\)__URL_TAG3__" "\1" mail_to_send
+
+ # Insert finishing HTML tags
+ echo -e "\n\n" >> mail_to_send
+
+ # Otherwise, remove tags to keep a plain text.
+ else
+ # Remove URL tags
+ ynh_replace_string "__URL_TAG[1,3]__" "" mail_to_send
+ ynh_replace_string "__URL_TAG2__" ": " mail_to_send
+ fi
+
# Define binary to use for mail command
if [ -e /usr/bin/bsd-mailx ]
then
@@ -73,6 +137,13 @@ $(yunohost tools diagnosis | grep -B 100 "services:" | sed '/services:/d')"
local mail_bin=/usr/bin/mail.mailutils
fi
+ if [ "$admin_mail_html" -eq 1 ]
+ then
+ content_type="text/html"
+ else
+ content_type="text/plain"
+ fi
+
# Send the email to the recipients
- echo "$mail_message" | $mail_bin -a "Content-Type: text/plain; charset=UTF-8" -s "$mail_subject" "$recipients"
+ cat mail_to_send | $mail_bin -a "Content-Type: $content_type; charset=UTF-8" -s "$mail_subject" "$recipients"
}
diff --git a/scripts/install b/scripts/install
index 680ad2f..84320ab 100644
--- a/scripts/install
+++ b/scripts/install
@@ -23,6 +23,7 @@ ynh_abort_if_errors
domain=$YNH_APP_ARG_DOMAIN
path_url=$YNH_APP_ARG_PATH
is_public=$YNH_APP_ARG_IS_PUBLIC
+admin=$YNH_APP_ARG_ADMIN
phpversion=$YNH_PHP_VERSION
app=$YNH_APP_INSTANCE_NAME
@@ -123,20 +124,20 @@ ynh_systemd_action --service_name=nginx --action=reload
#=================================================
ynh_script_progression --message="Sending a readme for the admin..." --weight=1
-message="Prestashop was successfully installed :)
+echo "Prestashop was successfully installed :)
Please open your $app domain: https://$domain$path_url
Complete the registration process from the setup page displayed.
Details for MySQL database to be enterted while registration process:
-Database login: $app
-Database name: $app
+Database login: $db_user
+Database name: $db_name
Database password: $db_pwd
-If you are facing any problem or want to improve this app, please open a new issue here: https://github.com/YunoHost-Apps/prestashop_ynh/issues"
+If you are facing any problem or want to improve this app, please open a new issue here: https://github.com/YunoHost-Apps/prestashop_ynh/issues" > mail_to_send
-ynh_send_readme_to_admin "$message"
+ynh_send_readme_to_admin --app_message="mail_to_send" --recipients="$admin" --type=install
#=================================================
# END OF SCRIPT
diff --git a/scripts/restore b/scripts/restore
index 8ef54bd..e9f8376 100644
--- a/scripts/restore
+++ b/scripts/restore
@@ -39,13 +39,6 @@ test ! -d $final_path || ynh_die --message="There is already a directory: $final
#=================================================
# STANDARD RESTORATION STEPS
-#=================================================
-# RESTORE THE NGINX CONFIGURATION
-#=================================================
-ynh_script_progression --message="Restoring the NGINX configuration..." --weight=1
-
-ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
-
#=================================================
# RECREATE THE DEDICATED USER
#=================================================
@@ -65,6 +58,14 @@ chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
+#=================================================
+# REINSTALL DEPENDENCIES
+#=================================================
+ynh_script_progression --message="Reinstalling dependencies..." --weight=1
+
+# Define and install dependencies
+ynh_install_app_dependencies $pkg_dependencies
+
#=================================================
# RESTORE THE PHP-FPM CONFIGURATION
#=================================================
@@ -73,12 +74,11 @@ ynh_script_progression --message="Restoring the PHP-FPM configuration..." --weig
ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
#=================================================
-# REINSTALL DEPENDENCIES
+# RESTORE THE NGINX CONFIGURATION
#=================================================
-ynh_script_progression --message="Reinstalling dependencies..." --weight=1
+ynh_script_progression --message="Restoring the NGINX configuration..." --weight=1
-# Define and install dependencies
-ynh_install_app_dependencies $pkg_dependencies
+ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
#=================================================
# RESTORE THE MYSQL DATABASE
diff --git a/scripts/upgrade b/scripts/upgrade
index 3adfc4c..9f7884f 100644
--- a/scripts/upgrade
+++ b/scripts/upgrade
@@ -94,14 +94,6 @@ chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
-#=================================================
-# NGINX CONFIGURATION
-#=================================================
-ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=1
-
-# Create a dedicated NGINX config
-ynh_add_nginx_config
-
#=================================================
# UPGRADE DEPENDENCIES
#=================================================
@@ -117,6 +109,14 @@ ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=1
# Create a dedicated PHP-FPM config
ynh_add_fpm_config
+#=================================================
+# NGINX CONFIGURATION
+#=================================================
+ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=1
+
+# Create a dedicated NGINX config
+ynh_add_nginx_config
+
#=================================================
# PHP-FPM CONFIGURATION
#=================================================
From ab7352b8a50f244e514ce14018e9c0342a5f4962 Mon Sep 17 00:00:00 2001
From: yunohost-bot
Date: Fri, 10 Jun 2022 08:01:18 +0000
Subject: [PATCH 2/4] Auto-update README
---
README.md | 19 ++++++++++---------
README_fr.md | 25 +++++++++++++++----------
2 files changed, 25 insertions(+), 19 deletions(-)
diff --git a/README.md b/README.md
index 86a52f2..1bafc6c 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@ It shall NOT be edited by hand.
# Prestashop for YunoHost
-[](https://dash.yunohost.org/appci/app/prestashop)  
+[](https://dash.yunohost.org/appci/app/prestashop)  
[](https://install-app.yunohost.org/?app=prestashop)
*[Lire ce readme en français.](./README_fr.md)*
@@ -23,7 +23,7 @@ PrestaShop is an Open Source e-commerce web application, committed to providing
## Screenshots
-
+
## Disclaimers / important information
@@ -35,21 +35,22 @@ PrestaShop is an Open Source e-commerce web application, committed to providing
There is a documentation page dedicated to the post-installation process: http://doc.prestashop.com/display/PS17/Installing+PrestaShop#InstallingPrestaShop-Completingtheinstallation
## Documentation and resources
-* Official app website: https://prestashop.com
-* Official user documentation: https://doc.prestashop.com/display/PS17/Guide+de+l'utilisateur
-* Upstream app code repository: https://github.com/PrestaShop/PrestaShop
-* YunoHost documentation for this app: https://yunohost.org/app_prestashop
-* Report a bug: https://github.com/YunoHost-Apps/prestashop_ynh/issues
+* Official app website:
+* Official user documentation:
+* Upstream app code repository:
+* YunoHost documentation for this app:
+* Report a bug:
## Developer info
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/prestashop_ynh/tree/testing).
To try the testing branch, please proceed like that.
-```
+
+``` bash
sudo yunohost app install https://github.com/YunoHost-Apps/prestashop_ynh/tree/testing --debug
or
sudo yunohost app upgrade prestashop -u https://github.com/YunoHost-Apps/prestashop_ynh/tree/testing --debug
```
-**More info regarding app packaging:** https://yunohost.org/packaging_apps
\ No newline at end of file
+**More info regarding app packaging:**
diff --git a/README_fr.md b/README_fr.md
index fae07bd..65b8c69 100644
--- a/README_fr.md
+++ b/README_fr.md
@@ -1,10 +1,14 @@
+
+
# Prestashop pour YunoHost
-[](https://dash.yunohost.org/appci/app/prestashop)  
+[](https://dash.yunohost.org/appci/app/prestashop)  
[](https://install-app.yunohost.org/?app=prestashop)
*[Read this readme in english.](./README.md)*
-*[Lire ce readme en français.](./README_fr.md)*
> *Ce package vous permet d'installer Prestashop rapidement et simplement sur un serveur YunoHost.
Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
@@ -19,7 +23,7 @@ PrestaShop is an Open Source e-commerce web application, committed to providing
## Captures d'écran
-
+
## Avertissements / informations importantes
@@ -31,21 +35,22 @@ PrestaShop is an Open Source e-commerce web application, committed to providing
There is a documentation page dedicated to the post-installation process: http://doc.prestashop.com/display/PS17/Installing+PrestaShop#InstallingPrestaShop-Completingtheinstallation
## Documentations et ressources
-* Site officiel de l'app : https://prestashop.com
-* Documentation officielle utilisateur : https://doc.prestashop.com/display/PS17/Guide+de+l'utilisateur
-* Dépôt de code officiel de l'app : https://github.com/PrestaShop/PrestaShop
-* Documentation YunoHost pour cette app : https://yunohost.org/app_prestashop
-* Signaler un bug : https://github.com/YunoHost-Apps/prestashop_ynh/issues
+* Site officiel de l'app :
+* Documentation officielle utilisateur :
+* Dépôt de code officiel de l'app :
+* Documentation YunoHost pour cette app :
+* Signaler un bug :
## Informations pour les développeurs
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/prestashop_ynh/tree/testing).
Pour essayer la branche testing, procédez comme suit.
-```
+
+``` bash
sudo yunohost app install https://github.com/YunoHost-Apps/prestashop_ynh/tree/testing --debug
ou
sudo yunohost app upgrade prestashop -u https://github.com/YunoHost-Apps/prestashop_ynh/tree/testing --debug
```
-**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps
\ No newline at end of file
+**Plus d'infos sur le packaging d'applications :**
From 3e2f681145afbab166cf1294e70d7ff3eeb4d6e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89ric=20Gaspar?=
<46165813+ericgaspar@users.noreply.github.com>
Date: Fri, 10 Jun 2022 10:03:22 +0200
Subject: [PATCH 3/4] Update manifest.json
---
manifest.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/manifest.json b/manifest.json
index 83aec3c..dd81db0 100644
--- a/manifest.json
+++ b/manifest.json
@@ -6,7 +6,7 @@
"en": "Create a E-commerce Website",
"fr": "Créer un site ecommerce"
},
- "version": "1.7.8.5~ynh1",
+ "version": "1.7.8.6~ynh1",
"url": "https://www.prestashop.com/",
"upstream": {
"license": "OSL-3.0",
From f65d04cdc4842505bb20d07e74495c7851a2973c Mon Sep 17 00:00:00 2001
From: yunohost-bot
Date: Fri, 10 Jun 2022 08:03:36 +0000
Subject: [PATCH 4/4] Auto-update README
---
README.md | 2 +-
README_fr.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 1bafc6c..e8899a6 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
PrestaShop is an Open Source e-commerce web application, committed to providing the best shopping cart experience for both merchants and customers. It is written in PHP, is highly customizable, supports all the major payment services, is translated in many languages and localized for many countries, has a fully responsive design (both front and back office), etc.
-**Shipped version:** 1.7.8.5~ynh1
+**Shipped version:** 1.7.8.6~ynh1
**Demo:** https://demo.prestashop.com/#/en/front
diff --git a/README_fr.md b/README_fr.md
index 65b8c69..3b58b73 100644
--- a/README_fr.md
+++ b/README_fr.md
@@ -17,7 +17,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour
PrestaShop is an Open Source e-commerce web application, committed to providing the best shopping cart experience for both merchants and customers. It is written in PHP, is highly customizable, supports all the major payment services, is translated in many languages and localized for many countries, has a fully responsive design (both front and back office), etc.
-**Version incluse :** 1.7.8.5~ynh1
+**Version incluse :** 1.7.8.6~ynh1
**Démo :** https://demo.prestashop.com/#/en/front