forked from 0k/0k-charms
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
3.8 KiB
123 lines
3.8 KiB
#!/bin/bash
|
|
|
|
## Init is run on host
|
|
## For now it is run every time the script is launched, but
|
|
## it should be launched only once after build.
|
|
|
|
## Accessible variables are:
|
|
## - SERVICE_NAME Name of current service
|
|
## - DOCKER_BASE_IMAGE Base image from which this service might be built if any
|
|
## - SERVICE_DATASTORE Location on host of the DATASTORE of this service
|
|
## - SERVICE_CONFIGSTORE Location on host of the CONFIGSTORE of this service
|
|
|
|
|
|
. lib/common
|
|
|
|
set -e
|
|
|
|
|
|
if ! [ -e "$FRAMADATE_CODE" ]; then
|
|
git clone --depth 1 -b v1.2.0-alpha.1 \
|
|
https://framagit.org/framasoft/framadate/framadate.git \
|
|
"$FRAMADATE_CODE"
|
|
mv "$FRAMADATE_CODE"/{htaccess.txt,.htaccess}
|
|
(
|
|
cd "$FRAMADATE_CODE"
|
|
patch -p1
|
|
) < <(cat patch/*.patch)
|
|
|
|
fi
|
|
|
|
if ! [ -e "$FRAMADATE_CODE/vendor" ]; then
|
|
dcomposer global require "hirak/prestissimo:^0.3" \
|
|
--prefer-dist \
|
|
--no-progress \
|
|
--no-suggest \
|
|
--classmap-authoritative \
|
|
--ignore-platform-reqs
|
|
fi
|
|
|
|
cfg_dir=$(cfg_dir_init) || exit 1
|
|
cd "$cfg_dir" || exit 1
|
|
|
|
FRAMADATE_OPTS=(
|
|
title:NOMAPPLICATION
|
|
admin-mail:ADRESSEMAILADMIN
|
|
auto-response-mail:ADRESSEMAILREPONSEAUTO
|
|
default-language:DEFAULT_LANGUAGE
|
|
)
|
|
|
|
cat <<EOF > config.php
|
|
<?php
|
|
|
|
EOF
|
|
|
|
for opt in "${FRAMADATE_OPTS[@]}"; do
|
|
yaml_opt=${opt%%:*}
|
|
php_opt=${opt##*:}
|
|
value=$(options-get "$yaml_opt") || exit 1
|
|
echo "const $php_opt = '$value';" >> config.php || exit 1
|
|
done
|
|
|
|
|
|
cat <<'EOF' >> config.php
|
|
|
|
// List of supported languages, fake constant as arrays can be used as constants only in PHP >=5.6
|
|
$ALLOWED_LANGUAGES = [
|
|
'fr' => 'Français',
|
|
'en' => 'English',
|
|
'oc' => 'Occitan',
|
|
'es' => 'Español',
|
|
'de' => 'Deutsch',
|
|
'nl' => 'Dutch',
|
|
'it' => 'Italiano',
|
|
'br' => 'Brezhoneg',
|
|
];
|
|
|
|
// Path to image file with the title
|
|
const IMAGE_TITRE = 'images/logo-framadate.png';
|
|
|
|
// Clean URLs, boolean
|
|
const URL_PROPRE = true;
|
|
|
|
// Use REMOTE_USER data provided by web server
|
|
const USE_REMOTE_USER = true;
|
|
|
|
// Path to the log file
|
|
const LOG_FILE = 'log/stdout.log';
|
|
|
|
// Days (after expiration date) before purging a poll
|
|
const PURGE_DELAY = 60;
|
|
|
|
// Max slots per poll
|
|
const MAX_SLOTS_PER_POLL = 366;
|
|
|
|
// Number of seconds before we allow to resend an "Remember Edit Link" email.
|
|
const TIME_EDIT_LINK_EMAIL = 60;
|
|
|
|
// Config
|
|
$config = [
|
|
/* general config */
|
|
'use_smtp' => true, // use email for polls creation/modification/responses notification
|
|
'smtp_options' => [
|
|
'host' => 'localhost', // SMTP server (you could add many servers (main and backup for example) : use ";" like separator
|
|
'auth' => false, // Enable SMTP authentication
|
|
'username' => '', // SMTP username
|
|
'password' => '', // SMTP password
|
|
'secure' => '', // Enable encryption (false, tls or ssl)
|
|
'port' => 25, // TCP port to connect to
|
|
],
|
|
/* home */
|
|
'show_what_is_that' => true, // display "how to use" section
|
|
'show_the_software' => true, // display technical information about the software
|
|
'show_cultivate_your_garden' => true, // display "development and administration" information
|
|
/* create_classic_poll.php / create_date_poll.php */
|
|
'default_poll_duration' => 180, // default values for the new poll duration (number of days).
|
|
/* create_classic_poll.php */
|
|
'user_can_add_img_or_link' => true, // user can add link or URL when creating his poll.
|
|
'markdown_editor_by_default' => true, // The markdown editor for the description is enabled by default
|
|
'provide_fork_awesome' => true, // Whether the build-in fork-awesome should be provided
|
|
];
|
|
|
|
EOF
|
|
|