1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/webtrees_ynh.git synced 2024-09-03 18:26:37 +02:00
* 2.0.14 (#24)

* 2.0.14

* Update install

* Upgrade to 2.0.15 (#26)

* Upgrade to 2.0.15

* Update README.md

* Upgrade to 2.0.16

* [autopatch] Update issue and PR templates

* Attempt to fix the stupid encoding issue in LICENSE, breaking the linter

* Add php7.3-zip

* cleaning (#32)

* Update install

* Update restore

* fix linter

* 2.0.17 (#36)

* 2.0.17

* Fix

* 2.0.19 (#38)

* 2.0.19

* 2.0.21 (#40)

* 2.0.21

* Auto-update README

Co-authored-by: yunohost-bot <yunohost@yunohost.org>

* 2.0.23

* Auto-update README

* 2.1.0

* Auto-update README

* Update _common.sh

* 2.1.1

* Auto-update README

* Update _common.sh

* Create updater.sh

* Update updater.sh

* Add change_url

* Update check_process

* Update upgrade

* Update manifest.json

* Auto-update README

* Upgrade to version 2.1.2 (#45)

* Upgrade to v2.1.2

* Auto-update README

Co-authored-by: yunohost-bot <yunohost-bot@users.noreply.github.com>
Co-authored-by: yunohost-bot <yunohost@yunohost.org>

* Upgrade to version 2.1.4 (#49)

* Upgrade to v2.1.4

* Auto-update README

Co-authored-by: yunohost-bot <yunohost-bot@users.noreply.github.com>
Co-authored-by: yunohost-bot <yunohost@yunohost.org>

* 2.1.5

* Auto-update README

* PHP8

* upgrade helper send to admin

* Update install

* Update install

* Fix

* Fix

* Fix

* Update check_process

* Remove random password

* Update _common.sh

* Update config.ini.php

* Update install

* Update admin.sql

* Fix

* Update config.ini.php

Co-authored-by: Yunohost-Bot <>
Co-authored-by: Alexandre Aubin <alex.aubin@mailoo.org>
Co-authored-by: yunohost-bot <yunohost@yunohost.org>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: yunohost-bot <yunohost-bot@users.noreply.github.com>
This commit is contained in:
Éric Gaspar 2022-06-12 07:42:56 +02:00 committed by GitHub
parent 45834abcd4
commit c520c022b3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 48 additions and 128 deletions

View file

@ -2,8 +2,7 @@
; Manifest ; Manifest
domain="domain.tld" domain="domain.tld"
path="/path" path="/path"
username="john" admin="john"
name="john"
email="admin@example.com" email="admin@example.com"
is_public=1 is_public=1
; Checks ; Checks
@ -16,6 +15,8 @@
upgrade=1 upgrade=1
#2.0.23~ynh1 #2.0.23~ynh1
upgrade=1 from_commit=ba7931d0524925cb4a4264ac857af9ea7c7e6120 upgrade=1 from_commit=ba7931d0524925cb4a4264ac857af9ea7c7e6120
#2.1.4~ynh1
upgrade=1 from_commit=61571b15dec769da5bf2466c5e8c56f204268bd6
backup_restore=1 backup_restore=1
multi_instance=1 multi_instance=1
change_url=1 change_url=1
@ -25,4 +26,6 @@ Notification=change
;;; Upgrade options ;;; Upgrade options
; commit=ba7931d0524925cb4a4264ac857af9ea7c7e6120 ; commit=ba7931d0524925cb4a4264ac857af9ea7c7e6120
name=Testing (#42) name=Testing (#42)
; commit=ba7931d0524925cb4a4264ac857af9ea7c7e6120
name=Testing (#50)
manifest_arg=domain=DOMAIN&path=PATH&admin=USER&language=fr&is_public=1&password=pass&port=666& manifest_arg=domain=DOMAIN&path=PATH&admin=USER&language=fr&is_public=1&password=pass&port=666&

View file

@ -1,7 +1,10 @@
; <?php exit; ?> DO NOT DELETE THIS LINE ; <?php exit; ?> DO NOT DELETE THIS LINE
dbtype="mysql"
dbhost="localhost" dbhost="localhost"
dbport="3306" dbport="3306"
dbuser="__DB_USER__" dbuser="__DB_USER__"
dbpass="__DB_PWD__" dbpass="__DB_PWD__"
dbname="__DB_NAME__" dbname="__DB_NAME__"
tblpfx="wt_" tblpfx="wt_"
base_url="https://__DOMAIN____PATH__"
rewrite_urls="0"

View file

@ -1,3 +1,3 @@
INSERT INTO `wt_user` (`user_id`, `user_name`, `real_name`, `email`, `password`) VALUES (NULL, '__USER_NAME__', '__NAME__', '__USER_EMAIL__', '__PASSWORD__'); INSERT INTO `wt_user` (`user_id`, `user_name`, `real_name`, `email`, `password`) VALUES (NULL, '__ADMIN__', '__FULLNAME__', '__EMAIL__', '__SALT_PASSWORD__');
INSERT INTO `wt_user_setting` (`user_id`, `setting_name`, `setting_value`) VALUES ('1', 'canadmin', '1'), ('1', 'verified', '1'), ('1', 'verified_by_admin', '1'); INSERT INTO `wt_user_setting` (`user_id`, `setting_name`, `setting_value`) VALUES ('1', 'canadmin', '1'), ('1', 'verified', '1'), ('1', 'verified_by_admin', '1');

View file

@ -41,33 +41,6 @@
"example": "/webtrees", "example": "/webtrees",
"default": "/webtrees" "default": "/webtrees"
}, },
{
"name": "username",
"type": "string",
"ask": {
"en": "Choose an admin username (Not a LDAP User)",
"fr": "Choisissez un nom d'utilisateur pour l'administrateur de Webtrees (ne doit pas être un utilisateur YunoHost existant)"
},
"example": "john"
},
{
"name": "name",
"type": "string",
"ask": {
"en": "Name of the user (Not a LDAP User)",
"fr": "Nom de cet utilisateur"
},
"example": "john doe"
},
{
"name": "email",
"type": "string",
"ask": {
"en": "Admin email (All the new registration will be sent on this email)",
"fr": "Adresse email de l'administrateur (Toutes les nouvelles inscriptions seront envoyées à cette adresse)"
},
"example": "admin@example.com"
},
{ {
"name": "is_public", "name": "is_public",
"type": "boolean", "type": "boolean",
@ -76,6 +49,14 @@
"fr": "Si cochée, Webtrees sera publique" "fr": "Si cochée, Webtrees sera publique"
}, },
"default": true "default": true
},
{
"name": "admin",
"type": "user"
},
{
"name": "password",
"type": "password"
} }
] ]
} }

View file

@ -20,56 +20,3 @@ pkg_dependencies="php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-mysql php
#================================================= #=================================================
# FUTURE OFFICIAL HELPERS # 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
# 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"
ynh_send_readme_to_admin() {
local app_message="${1:-...No specific information...}"
local recipients="${2:-root}"
# Retrieve the email of users
find_mails () {
local list_mails="$1"
local mail
local recipients=" "
# Read each mail in argument
for mail in $list_mails
do
# Keep root or a real email address as it is
if [ "$mail" = "root" ] || echo "$mail" | grep --quiet "@"
then
recipients="$recipients $mail"
else
# But replace an user name without a domain after by its email
if mail=$(ynh_user_get_info "$mail" "mail" 2> /dev/null)
then
recipients="$recipients $mail"
fi
fi
done
echo "$recipients"
}
recipients=$(find_mails "$recipients")
local mail_subject="☁️🆈🅽🅷☁️: \`$app\` has important message for you"
local mail_message="This is an automated message from your beloved YunoHost server. Specific information for $app.
$app_message"
# Define binary to use for mail command
if [ -e /usr/bin/bsd-mailx ]
then
local mail_bin=/usr/bin/bsd-mailx
else
local mail_bin=/usr/bin/mail.mailutils
fi
# Send the email to the recipients
echo "$mail_message" | $mail_bin -a "Content-Type: text/plain; charset=UTF-8" -s "$mail_subject" "$recipients"
}

View file

@ -13,6 +13,10 @@ source /usr/share/yunohost/helpers
# MANAGE SCRIPT FAILURE # MANAGE SCRIPT FAILURE
#================================================= #=================================================
ynh_clean_setup () {
### Remove this function if there's nothing to clean before calling the remove script.
true
}
# Exit if an error occurs during the execution of the script # Exit if an error occurs during the execution of the script
ynh_abort_if_errors ynh_abort_if_errors
@ -24,11 +28,11 @@ ynh_abort_if_errors
domain=$YNH_APP_ARG_DOMAIN domain=$YNH_APP_ARG_DOMAIN
path_url=$YNH_APP_ARG_PATH path_url=$YNH_APP_ARG_PATH
is_public=$YNH_APP_ARG_IS_PUBLIC is_public=$YNH_APP_ARG_IS_PUBLIC
admin_username=$YNH_APP_ARG_USERNAME admin=$YNH_APP_ARG_ADMIN
admin_name=$YNH_APP_ARG_NAME email=$(ynh_user_get_info --username=$admin --key=mail)
admin_email=$YNH_APP_ARG_EMAIL fullname=$(ynh_user_get_info --username=$admin --key=fullname)
password=$(ynh_string_random 24) password=$YNH_APP_ARG_PASSWORD
admin_password=$(openssl passwd -1 -salt xyz $password) salt_password=$(openssl passwd -1 -salt xyz $password)
app=$YNH_APP_INSTANCE_NAME app=$YNH_APP_INSTANCE_NAME
@ -50,6 +54,7 @@ ynh_script_progression --message="Storing installation settings..."
ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=domain --value=$domain
ynh_app_setting_set --app=$app --key=path --value=$path_url ynh_app_setting_set --app=$app --key=path --value=$path_url
ynh_app_setting_set --app=$app --key=admin --value=$admin
#================================================= #=================================================
# INSTALL DEPENDENCIES # INSTALL DEPENDENCIES
@ -114,16 +119,15 @@ phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
# Adding the details of the database to the config file # Adding the details of the database to the config file
ynh_add_config --template="../conf/config.ini.php" --destination="$final_path/data/config.ini.php" ynh_add_config --template="../conf/config.ini.php" --destination="$final_path/data/config.ini.php"
chmod 400 "$final_path/data/config.ini.php"
chown $app:$app "$final_path/data/config.ini.php"
# Load initial SQL into the new database # Load initial SQL into the new database
ynh_mysql_connect_as "$db_name" "$db_pwd" "$db_name" < "../conf/sql/webtrees.sql" ynh_mysql_connect_as --user="$db_user" --password="$db_pwd" --database="$db_name" < "../conf/sql/webtrees.sql"
# Replace variables in sql scripts ynh_add_config --template="../conf/sql/admin.sql" --destination="/var/tmp/admin.sql"
ynh_replace_string --match_string="__USER_NAME__" --replace_string="$admin_username" --target_file="../conf/sql/admin.sql" ynh_mysql_connect_as --user="$db_user" --password="$db_pwd" --database="$db_name" < "/var/tmp/admin.sql"
ynh_replace_string --match_string="__NAME__" --replace_string="$admin_name" --target_file="../conf/sql/admin.sql" ynh_secure_remove --file="/var/tmp/admin.sql"
ynh_replace_string --match_string="__USER_EMAIL__" --replace_string="$admin_email" --target_file="../conf/sql/admin.sql"
ynh_replace_string --match_string="__PASSWORD__" --replace_string="$admin_password" --target_file="../conf/sql/admin.sql"
ynh_mysql_connect_as "$db_name" "$db_pwd" "$db_name" < "../conf/sql/admin.sql"
#================================================= #=================================================
# SETUP SSOWAT # SETUP SSOWAT
@ -143,22 +147,6 @@ ynh_script_progression --message="Reloading NGINX web server..."
ynh_systemd_action --service_name=nginx --action=reload ynh_systemd_action --service_name=nginx --action=reload
#=================================================
# SEND A README FOR THE ADMIN
#=================================================
message="Webtrees was successfully installed :)
Please open https://$domain$path_url
Your credentials for the admin panel are:
- admin username: $admin_username
- admin password: $password
If you facing an issue or want to improve Webtrees, please open a new issue in this project: https://github.com/YunoHost-Apps/webtrees_ynh"
ynh_send_readme_to_admin "$message"
#================================================= #=================================================
# END OF SCRIPT # END OF SCRIPT
#================================================= #=================================================

View file

@ -13,6 +13,11 @@ source /usr/share/yunohost/helpers
# MANAGE SCRIPT FAILURE # MANAGE SCRIPT FAILURE
#================================================= #=================================================
ynh_clean_setup () {
#### Remove this function if there's nothing to clean before calling the remove script.
true
}
# Exit if an error occurs during the execution of the script
ynh_abort_if_errors ynh_abort_if_errors
#================================================= #=================================================
@ -35,7 +40,8 @@ phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
#================================================= #=================================================
ynh_script_progression --message="Validating restoration parameters..." --weight=1 ynh_script_progression --message="Validating restoration parameters..." --weight=1
test ! -d $final_path || ynh_die "There is already a directory: $final_path " test ! -d $final_path \
|| ynh_die --message="There is already a directory: $final_path "
#================================================= #=================================================
# STANDARD RESTORATION STEPS # STANDARD RESTORATION STEPS

View file

@ -85,17 +85,9 @@ ynh_script_progression --message="Upgrading source files..."
if [ "$upgrade_type" == "UPGRADE_APP" ] if [ "$upgrade_type" == "UPGRADE_APP" ]
then then
ynh_script_progression --message="Upgrading source files..." ynh_script_progression --message="Upgrading source files..."
# Move old app dir
mv ${final_path} ${final_path}.old
# Download, check integrity, uncompress and patch the source from app.src # Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source "$final_path" ynh_setup_source --dest_dir="$final_path" --keep="$final_path/data "
# restore data
cp -a ${final_path}.old/data ${final_path}
# delete temp directory
ynh_secure_remove --file=${final_path}.old
fi fi
chmod 750 "$final_path" chmod 750 "$final_path"