update zm-client to 2.12.1-p1

feature/dockerized-app
jerolomb 2022-08-30 09:22:35 +02:00
commit a57daa4fee
21 changed files with 578 additions and 4885 deletions

87
.github/workflows/releases.yml vendored Normal file
View File

@ -0,0 +1,87 @@
name: MonarcAppFO releases
on:
push:
branches: [ 'master' ]
tags: [ 'v*.*', 'v*.*.*', 'v*.*.*-*' ]
pull_request:
branches: [ 'master' ]
jobs:
build:
runs-on: ubuntu-20.04
strategy:
matrix:
node-version: [ "16.x" ]
php-version: [ "7.4" ]
steps:
- uses: actions/checkout@v2
- name: install deps
run: sudo apt-get update && sudo apt install -y gettext
# PHP
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
tools: composer:v2.3
extensions: bcmath
- name: Validate composer.json and composer.lock
run: composer validate
- name: Install PHP dependencies
run: composer install --prefer-dist --no-progress --no-suggest --no-dev
- name: Symlink Monarc modules
run: |
mkdir -p module/Monarc
ln -s ../../vendor/monarc/core module/Monarc/Core
ln -s ../../vendor/monarc/frontoffice module/Monarc/FrontOffice
# javascript
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: |
npm install
head node_modules/ng_client/src/ClientApp.js
- name: Install ng-anr dependencies
run: |
npm install
working-directory: node_modules/ng_anr/
- name: Install ng-client dependencies
run: |
npm install
working-directory: node_modules/ng_client/
# final "cleanup"
- name: post job
run: |
bash -ex ./scripts/link_modules_resources.sh
bash -ex ./scripts/compile_translations.sh
# prepare release
- name: Get repository name
id: repository
run: echo "::set-output name=pathref::$(echo '${{ github.repository }}' | cut -d'/' -f2)-$(echo '${{ github.ref_name }}' | sed 's/[^[:alnum:]\.-]/_/g')"
- name: create artifact archive
run: |
tar --exclude .git --exclude .github -zcf '../${{ steps.repository.outputs.pathref }}.tar.gz' .
- name: release
uses: softprops/action-gh-release@v1
with:
files: |
../${{ steps.repository.outputs.pathref }}.tar.gz
fail_on_unmatched_files: true
if: startsWith(github.ref, 'refs/tags/')

View File

@ -1,6 +1,38 @@
MONARC Changelog MONARC Changelog
================ ================
## 2.12.2 (2022-06-29)
### Fix
- Error when exporting analysis with Statement of Applicability
([#445](https://github.com/monarc-project/MonarcAppFO/issues/445)).
## 2.12.1 (2022-06-22)
### Enhancement
- [Added new QRCode backend endroid/qr-code](https://github.com/monarc-project/zm-client/commit/406471458a9c729d2d4a9b677cc7a8518d640ab1)
NTP access to time.google.com:123 (NTP check removed) and api.qrserver.com is
no more needed: QRCode generation is local.
## 2.12.0 (2022-06-20)
### New
- [compliance scale](https://github.com/monarc-project/MonarcAppFO/discussions/439);
- [metadata assets](https://github.com/monarc-project/MonarcAppFO/discussions/437);
- [two-factor authentication](https://github.com/monarc-project/MonarcAppFO/discussions/442).
### Fix
- [Stats provider] removed the leading slash in the URI
([e7dfba1](https://github.com/monarc-project/zm-client/commit/e7dfba1cf64322bc3e83630df6729b525d7d5c8d))
## 2.11.1 (2021-10-28) ## 2.11.1 (2021-10-28)
### New ### New

View File

@ -108,10 +108,10 @@ CREATE DATABASE monarc_common DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_ge
## Install MONARC ## Install MONARC
```bash ```bash
[root@monarc ~]# mkdir -p /var/lib/monarc/fo [root@monarc ~]# mkdir -p /var/www/html/monarc/fo
[root@monarc ~]# yum install git [root@monarc ~]# yum install git
[root@monarc ~]# git clone https://github.com/monarc-project/MonarcAppFO.git /var/lib/monarc/fo [root@monarc ~]# git clone https://github.com/monarc-project/MonarcAppFO.git /var/www/html/monarc/fo
[root@monarc ~]# cd /var/lib/monarc/fo [root@monarc ~]# cd /var/www/html/monarc/fo
[root@monarc fo]# mkdir -p data/cache [root@monarc fo]# mkdir -p data/cache
[root@monarc fo]# mkdir -p data/LazyServices/Proxy [root@monarc fo]# mkdir -p data/LazyServices/Proxy
[root@monarc fo]# chmod -R g+w data [root@monarc fo]# chmod -R g+w data
@ -183,7 +183,7 @@ grant create, delete, insert, select, update, drop, alter on monarc_cli.* to 'mo
## Set up database connection ## Set up database connection
```bash ```bash
[root@monarc fo]# cd /var/lib/monarc/fo/config/autoload/ [root@monarc fo]# cd /var/www/html/monarc/fo/config/autoload/
[root@monarc autoload]# cp local.php.dist local.php [root@monarc autoload]# cp local.php.dist local.php
[root@monarc autoload]# vi local.php [root@monarc autoload]# vi local.php
``` ```
@ -237,6 +237,7 @@ StrictHostKeyChecking no
[root@monarc conf.d]# systemctl stop firewalld [root@monarc conf.d]# systemctl stop firewalld
[root@monarc conf.d]# systemctl restart httpd.service [root@monarc conf.d]# systemctl restart httpd.service
``` ```
monarc.conf can be found [here](https://github.com/monarc-project/MonarcAppFO/blob/master/INSTALL/INSTALL.rhel7.md#configure-virtual-host)
## Create MONARC Admin User ## Create MONARC Admin User

View File

@ -0,0 +1,205 @@
Installation on Ubuntu 20.04
============================
# 1. Install LAMP & dependencies
## 1.1. Install system dependencies
```bash
$ sudo apt-get install zip unzip git gettext curl
```
Some might already be installed.
## 1.2. Install MariaDB
```bash
$ sudo apt-get install mariadb-client mariadb-server
```
### Secure the MariaDB installation
```bash
$ sudo mysql_secure_installation
```
Especially by setting a strong root password.
## 1.3. Install Apache2
```bash
$ sudo apt-get install apache2
```
### Enable modules, settings, and default of SSL in Apache
```bash
$ sudo a2dismod status
$ sudo a2enmod ssl
$ sudo a2enmod rewrite
$ sudo a2enmod headers
```
### Apache Virtual Host
```conf
<VirtualHost _default_:80>
ServerAdmin admin@localhost.lu
ServerName monarc.local
DocumentRoot /var/lib/monarc/fo/public
<Directory /var/lib/monarc/fo/public>
DirectoryIndex index.php
AllowOverride All
Require all granted
</Directory>
<IfModule mod_headers.c>
Header always set X-Content-Type-Options nosniff
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Robots-Tag none
Header always set X-Frame-Options SAMEORIGIN
</IfModule>
SetEnv APP_ENV "development"
</VirtualHost>
```
## 1.4. Install PHP and dependencies
```bash
$ sudo apt-get install php apache2 libapache2-mod-php php-curl php-gd php-mysql php-pear php-xml php-mbstring php-intl php-imagick php-zip php-bcmath
```
## 1.5 Apply all changes
```bash
$ sudo systemctl restart apache2.service
```
# 2. Installation of MONARC
```bash
PATH_TO_MONARC='/var/lib/monarc/fo'
PATH_TO_MONARC_DATA='/var/lib/monarc/fo-data'
MONARC_VERSION=$(curl --silent -H 'Content-Type: application/json' https://api.github.com/repos/monarc-project/MonarcAppFO/releases/latest | jq -r '.tag_name')
MONARCFO_RELEASE_URL="https://github.com/monarc-project/MonarcAppFO/releases/download/$MONARC_VERSION/MonarcAppFO-$MONARC_VERSION.tar.gz"
$ mkdir -p /var/lib/monarc/releases/
# Download release
$ curl -sL $MONARCFO_RELEASE_URL -o /var/lib/monarc/releases/`basename $MONARCFO_RELEASE_URL`
# Create release directory
$ mkdir /var/lib/monarc/releases/`basename $MONARCFO_RELEASE_URL | sed 's/.tar.gz//'`
# Unarchive release
$ tar -xzf /var/lib/monarc/releases/`basename $MONARCFO_RELEASE_URL` -C /var/lib/monarc/releases/`basename $MONARCFO_RELEASE_URL | sed 's/.tar.gz//'`
# Create release symlink
$ ln -s /var/lib/monarc/releases/`basename $MONARCFO_RELEASE_URL | sed 's/.tar.gz//'` $PATH_TO_MONARC
# Create data and caches directories
$ mkdir -p $PATH_TO_MONARC_DATA/cache $PATH_TO_MONARC_DATA/DoctrineORMModule/Proxy $PATH_TO_MONARC_DATA/LazyServices/Proxy
# Create data directory symlink
$ ln -s $PATH_TO_MONARC_DATA $PATH_TO_MONARC/data
```
## 2.2. Databases
### Create a MariaDB user for MONARC
With the root MariaDB user create a new user for MONARC:
```sql
MariaDB [(none)]> CREATE USER 'monarc'@'%' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON * . * TO 'monarc'@'%';
MariaDB [(none)]> FLUSH PRIVILEGES;
```
### Create 2 databases
In your MariaDB interpreter:
```sql
MariaDB [(none)]> CREATE DATABASE monarc_cli DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
MariaDB [(none)]> CREATE DATABASE monarc_common DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
```
* monarc_common contains models and data created by CASES;
* monarc_cli contains all client risk analyses. Each analysis is based on CASES
model of monarc_common.
### Initializes the database
```bash
$ mysql -u monarc -ppassword monarc_common < db-bootstrap/monarc_structure.sql
$ mysql -u monarc -ppassword monarc_common < db-bootstrap/monarc_data.sql
```
### Database connection
Create the configuration file:
```bash
$ sudo cp ./config/autoload/local.php.dist ./config/autoload/local.php
```
And configure the database connection:
```php
return [
'doctrine' => [
'connection' => [
'orm_default' => [
'params' => [
'host' => 'localhost',
'user' => 'monarc',
'password' => 'password',
'dbname' => 'monarc_common',
],
],
'orm_cli' => [
'params' => [
'host' => 'localhost',
'user' => 'monarc',
'password' => 'password',
'dbname' => 'monarc_cli',
],
],
],
],
];
```
# 3. Migrating MONARC DB
```bash
$ php ./vendor/robmorgan/phinx/bin/phinx migrate -c module/Monarc/FrontOffice/migrations/phinx.php
$ php ./vendor/robmorgan/phinx/bin/phinx migrate -c module/Monarc/Core/migrations/phinx.php
```
# 4. Create initial user
```bash
$ php ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/Monarc/FrontOffice/migrations/phinx.php
```
The username is *admin@admin.localhost* and the password is *admin*.
# 5. Statistics for Global Dashboard
If you would like to use the global dashboard stats feature, you need to
configure a Stats Service instance on your server.
The architecture, installation instructions and GitHub project can be found here:
- https://www.monarc.lu/documentation/stats-service/master/architecture.html
- https://www.monarc.lu/documentation/stats-service/master/installation.html
- https://github.com/monarc-project/stats-service
The communication of access to the StatsService is performed on each instance of
FrontOffice (clients).

View File

@ -76,9 +76,9 @@ License
This software is licensed under This software is licensed under
[GNU Affero General Public License version 3](http://www.gnu.org/licenses/agpl-3.0.html) [GNU Affero General Public License version 3](http://www.gnu.org/licenses/agpl-3.0.html)
- Copyright (C) 2016-2022 SECURITYMADEIN.LU
- Copyright (C) 2016-2022 Jérôme Lombardi - https://github.com/jerolomb - Copyright (C) 2016-2022 Jérôme Lombardi - https://github.com/jerolomb
- Copyright (C) 2016-2022 Juan Rocha - https://github.com/jfrocha - Copyright (C) 2016-2022 Juan Rocha - https://github.com/jfrocha
- Copyright (C) 2016-2022 SMILE gie securitymadein.lu
- Copyright (C) 2017-2022 Cédric Bonhomme - https://www.cedricbonhomme.org - Copyright (C) 2017-2022 Cédric Bonhomme - https://www.cedricbonhomme.org
- Copyright (C) 2016-2017 Guillaume Lesniak - Copyright (C) 2016-2017 Guillaume Lesniak
- Copyright (C) 2016-2017 Thomas Metois - Copyright (C) 2016-2017 Thomas Metois

View File

@ -1 +1 @@
{"major":2, "minor":11, "hotfix":1} {"major":2, "minor":12, "hotfix":2}

View File

@ -53,7 +53,9 @@
"laminas/laminas-log": "^2.11", "laminas/laminas-log": "^2.11",
"laminas/laminas-i18n": "^2.9", "laminas/laminas-i18n": "^2.9",
"symfony/console": "^5.0", "symfony/console": "^5.0",
"laminas/laminas-dependency-plugin": "^2.0" "laminas/laminas-dependency-plugin": "^2.0",
"robthree/twofactorauth": "^1.8",
"endroid/qr-code": "^4.4"
}, },
"require-dev": { "require-dev": {
"roave/security-advisories": "dev-master", "roave/security-advisories": "dev-master",

175
composer.lock generated
View File

@ -4,8 +4,62 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "3d6d241a9d4b1a683900cf5c4a61093f", "content-hash": "4ab9a5712640fb571a6042af6e8c31a2",
"packages": [ "packages": [
{
"name": "bacon/bacon-qr-code",
"version": "2.0.7",
"source": {
"type": "git",
"url": "https://github.com/Bacon/BaconQrCode.git",
"reference": "d70c840f68657ce49094b8d91f9ee0cc07fbf66c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/d70c840f68657ce49094b8d91f9ee0cc07fbf66c",
"reference": "d70c840f68657ce49094b8d91f9ee0cc07fbf66c",
"shasum": ""
},
"require": {
"dasprid/enum": "^1.0.3",
"ext-iconv": "*",
"php": "^7.1 || ^8.0"
},
"require-dev": {
"phly/keep-a-changelog": "^2.1",
"phpunit/phpunit": "^7 | ^8 | ^9",
"spatie/phpunit-snapshot-assertions": "^4.2.9",
"squizlabs/php_codesniffer": "^3.4"
},
"suggest": {
"ext-imagick": "to generate QR code images"
},
"type": "library",
"autoload": {
"psr-4": {
"BaconQrCode\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-2-Clause"
],
"authors": [
{
"name": "Ben Scholzen 'DASPRiD'",
"email": "mail@dasprids.de",
"homepage": "https://dasprids.de/",
"role": "Developer"
}
],
"description": "BaconQrCode is a QR code generator for PHP.",
"homepage": "https://github.com/Bacon/BaconQrCode",
"support": {
"issues": "https://github.com/Bacon/BaconQrCode/issues",
"source": "https://github.com/Bacon/BaconQrCode/tree/2.0.7"
},
"time": "2022-03-14T02:02:36+00:00"
},
{ {
"name": "brick/math", "name": "brick/math",
"version": "0.9.3", "version": "0.9.3",
@ -493,6 +547,53 @@
}, },
"time": "2020-12-09T02:43:02+00:00" "time": "2020-12-09T02:43:02+00:00"
}, },
{
"name": "dasprid/enum",
"version": "1.0.3",
"source": {
"type": "git",
"url": "https://github.com/DASPRiD/Enum.git",
"reference": "5abf82f213618696dda8e3bf6f64dd042d8542b2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/DASPRiD/Enum/zipball/5abf82f213618696dda8e3bf6f64dd042d8542b2",
"reference": "5abf82f213618696dda8e3bf6f64dd042d8542b2",
"shasum": ""
},
"require-dev": {
"phpunit/phpunit": "^7 | ^8 | ^9",
"squizlabs/php_codesniffer": "^3.4"
},
"type": "library",
"autoload": {
"psr-4": {
"DASPRiD\\Enum\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-2-Clause"
],
"authors": [
{
"name": "Ben Scholzen 'DASPRiD'",
"email": "mail@dasprids.de",
"homepage": "https://dasprids.de/",
"role": "Developer"
}
],
"description": "PHP 7.1 enum implementation",
"keywords": [
"enum",
"map"
],
"support": {
"issues": "https://github.com/DASPRiD/Enum/issues",
"source": "https://github.com/DASPRiD/Enum/tree/1.0.3"
},
"time": "2020-10-02T16:03:48+00:00"
},
{ {
"name": "doctrine/annotations", "name": "doctrine/annotations",
"version": "1.13.3", "version": "1.13.3",
@ -1835,6 +1936,78 @@
], ],
"time": "2022-08-04T21:14:21+00:00" "time": "2022-08-04T21:14:21+00:00"
}, },
{
"name": "endroid/qr-code",
"version": "4.5.0",
"source": {
"type": "git",
"url": "https://github.com/endroid/qr-code.git",
"reference": "36681470bd10352b53bcb9731bdf2270e0d79b22"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/endroid/qr-code/zipball/36681470bd10352b53bcb9731bdf2270e0d79b22",
"reference": "36681470bd10352b53bcb9731bdf2270e0d79b22",
"shasum": ""
},
"require": {
"bacon/bacon-qr-code": "^2.0.5",
"php": "^7.4||^8.0"
},
"require-dev": {
"endroid/quality": "dev-master",
"ext-gd": "*",
"khanamiryan/qrcode-detector-decoder": "^1.0.4",
"setasign/fpdf": "^1.8.2"
},
"suggest": {
"ext-gd": "Enables you to write PNG images",
"khanamiryan/qrcode-detector-decoder": "Enables you to use the image validator",
"roave/security-advisories": "Makes sure package versions with known security issues are not installed",
"setasign/fpdf": "Enables you to use the PDF writer"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.x-dev"
}
},
"autoload": {
"psr-4": {
"Endroid\\QrCode\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jeroen van den Enden",
"email": "info@endroid.nl"
}
],
"description": "Endroid QR Code",
"homepage": "https://github.com/endroid/qr-code",
"keywords": [
"code",
"endroid",
"php",
"qr",
"qrcode"
],
"support": {
"issues": "https://github.com/endroid/qr-code/issues",
"source": "https://github.com/endroid/qr-code/tree/4.5.0"
},
"funding": [
{
"url": "https://github.com/endroid",
"type": "github"
}
],
"time": "2022-08-21T09:22:43+00:00"
},
{ {
"name": "guzzlehttp/guzzle", "name": "guzzlehttp/guzzle",
"version": "6.5.8", "version": "6.5.8",

View File

@ -95,6 +95,8 @@ return [
'from' => 'info@monarc.lu', 'from' => 'info@monarc.lu',
], ],
'instanceName' => 'Development', // for example a short URL or client name from ansible
'terms' => 'https://my.monarc.lu/terms.html', 'terms' => 'https://my.monarc.lu/terms.html',
'monarc' => [ 'monarc' => [

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

4808
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"name": "MONARC", "name": "MONARC",
"version": "2.11.1", "version": "2.12.2",
"description": "Monarc front office application", "description": "Monarc front office application",
"private": true, "private": true,
"repository": { "repository": {
@ -10,11 +10,11 @@
"author": "CASES", "author": "CASES",
"license": "GNU Affero General Public License version 3", "license": "GNU Affero General Public License version 3",
"dependencies": { "dependencies": {
"ng_anr": "git+https://github.com/monarc-project/ng-anr.git#master", "ng_anr": "git+https://github.com/monarc-project/ng-anr.git#v2.12.0",
"ng_client": "git+https://github.com/monarc-project/ng-client.git#master" "ng_client": "git+https://github.com/monarc-project/ng-client.git#v2.12.2"
}, },
"devDependencies": { "devDependencies": {
"grunt": "~1.4.0", "grunt": "~1.5.3",
"grunt-cli": "~1.4.2" "grunt-cli": "~1.4.3"
} }
} }

View File

@ -43,7 +43,7 @@ cd dialogs/ && find ../../../node_modules/ng_client/views/dialogs -maxdepth 1 -n
cd ../../js/ && find ../../node_modules/ng_client/src -name "*" -exec ln -s {} \; 2>/dev/null cd ../../js/ && find ../../node_modules/ng_client/src -name "*" -exec ln -s {} \; 2>/dev/null
cd ../css/ && find ../../node_modules/ng_client/css -name "*" -exec ln -s {} \; 2>/dev/null cd ../css/ && find ../../node_modules/ng_client/css -name "*" -exec ln -s {} \; 2>/dev/null
cd ../img/ && find ../../node_modules/ng_client/img -name "*" -exec ln -s {} \; 2>/dev/null cd ../img/ && find ../../node_modules/ng_client/img -name "*" -exec ln -s {} \; 2>/dev/null
cd ../flags/ && find ../../node_modules/ng_client/node_modules/ng-country-flags/dist/flags -mindepth 1 -type d -exec ln -s {} \; 2>/dev/null cd ../flags/ && find ../../node_modules/ng_client/node_modules/flag-icons/flags -mindepth 1 -type d -exec ln -s {} \; 2>/dev/null
cd ../js/ cd ../js/
mkdir -p anr mkdir -p anr

View File

@ -9,53 +9,53 @@ forceClearCache=0
isDevEnv=0 isDevEnv=0
while getopts "hbcd" option while getopts "hbcd" option
do do
case $option in case $option in
h) h)
echo -e "Update or install all Monarc modules, frontend views and migrate database." echo -e "Update or install all Monarc modules, frontend views and migrate database."
echo -e "\t-b\tbypass migrate database" echo -e "\t-b\tbypass migrate database"
echo -e "\t-c\tforce clear cache" echo -e "\t-c\tforce clear cache"
echo -e "\t-h\tdisplay this message" echo -e "\t-h\tdisplay this message"
exit 1 exit 1
;; ;;
b) b)
bypass=1 bypass=1
echo "Migrate database don't execute !!!" echo "Migrate database don't execute !!!"
;; ;;
c) c)
forceClearCache=1 forceClearCache=1
;; ;;
d) d)
isDevEnv=1 isDevEnv=1
esac esac
done done
checkout_to_latest_tag() { checkout_to_latest_tag() {
if [ -d $1 ]; then if [ -d $1 ]; then
pushd $1 pushd $1
git fetch --tags git fetch --tags
tag=$(git describe --tags `git rev-list --tags --max-count=1`) tag=$(git describe --tags `git rev-list --tags --max-count=1`)
git checkout $tag -b $tag git checkout $tag -b $tag
git pull origin $tag git pull origin $tag
popd popd
fi fi
} }
migrate_module() { migrate_module() {
if [[ -d $1 ]]; then if [[ -d $1 ]]; then
php ./vendor/robmorgan/phinx/bin/phinx migrate -c ./$1/migrations/phinx.php php ./vendor/robmorgan/phinx/bin/phinx migrate -c ./$1/migrations/phinx.php
fi fi
} }
if [[ ! -f "config/autoload/local.php" && $bypass -eq 0 ]]; then if [[ ! -f "config/autoload/local.php" && $bypass -eq 0 ]]; then
echo "Configure Monarc (config/autoload/local.php)" echo "Configure Monarc (config/autoload/local.php)"
exit 1 exit 1
fi fi
git pull git pull
if [ $? != 0 ]; then if [ $? != 0 ]; then
echo "A problem occurred while retrieving remote files from repository." echo "A problem occurred while retrieving remote files from repository."
exit 1 exit 1
fi fi
./scripts/check_composer.sh ./scripts/check_composer.sh
@ -64,38 +64,38 @@ if [[ $? -eq 1 ]]; then
fi fi
if [[ $isDevEnv -eq 0 ]]; then if [[ $isDevEnv -eq 0 ]]; then
composer ins -o --no-dev composer ins -o --no-dev
else else
composer ins composer ins
fi fi
pathCore="module/Monarc/Core" pathCore="module/Monarc/Core"
pathFO="module/Monarc/FrontOffice" pathFO="module/Monarc/FrontOffice"
if [[ $bypass -eq 0 ]]; then if [[ $bypass -eq 0 ]]; then
if [ -e data/backup/credentialsmysql.cnf ]; then if [ -e data/backup/credentialsmysql.cnf ]; then
backupdir=data/backup/$(date +"%Y%m%d_%H%M%S") backupdir=data/backup/$(date +"%Y%m%d_%H%M%S")
mkdir $backupdir mkdir $backupdir
echo -e "${GREEN}Dumping database to $backupdir...${NC}" echo -e "${GREEN}Dumping database to $backupdir...${NC}"
mysqldump --defaults-file=data/backup/credentialsmysql.cnf --databases monarc_common > $backupdir/dump-common.sql mysqldump --defaults-file=data/backup/credentialsmysql.cnf --databases monarc_common > $backupdir/dump-common.sql
mysqldump --defaults-file=data/backup/credentialsmysql.cnf --databases monarc_cli > $backupdir/dump-cli.sql mysqldump --defaults-file=data/backup/credentialsmysql.cnf --databases monarc_cli > $backupdir/dump-cli.sql
else else
echo -e "${GREEN}Database backup not configured. Skipping.${NC}" echo -e "${GREEN}Database backup not configured. Skipping.${NC}"
fi fi
migrate_module $pathCore migrate_module $pathCore
migrate_module $pathFO migrate_module $pathFO
fi fi
if [[ -d node_modules && -d node_modules/ng_anr ]]; then if [[ -d node_modules && -d node_modules/ng_anr ]]; then
if [[ -d node_modules/ng_anr/.git ]]; then if [[ -d node_modules/ng_anr/.git ]]; then
checkout_to_latest_tag node_modules/ng_client checkout_to_latest_tag node_modules/ng_client
checkout_to_latest_tag node_modules/ng_anr checkout_to_latest_tag node_modules/ng_anr
else else
npm update npm update
fi fi
else else
npm ci npm ci
fi fi
cd node_modules/ng_client cd node_modules/ng_client
@ -106,19 +106,18 @@ cd ../..
./scripts/compile_translations.sh ./scripts/compile_translations.sh
if [[ $forceClearCache -eq 1 ]]; then if [[ $forceClearCache -eq 1 ]]; then
# Clear doctrine cache # Clear Laminas cache
# Move to Monarc/Core Module.php php ./public/index.php orm:clear-cache:metadata
php ./public/index.php orm:clear-cache:metadata php ./public/index.php orm:clear-cache:query
php ./public/index.php orm:clear-cache:query php ./public/index.php orm:clear-cache:result
php ./public/index.php orm:clear-cache:result
# Clear ZF2 cache # Clear Laminas cache
touch ./data/cache/upgrade && chmod 777 ./data/cache/upgrade touch ./data/cache/upgrade && chmod 777 ./data/cache/upgrade
fi fi
if [[ $forceClearCache -eq 0 && $bypass -eq 0 ]]; then if [[ $forceClearCache -eq 0 && $bypass -eq 0 ]]; then
# Clear ZF2 cache # Clear Laminas cache
touch ./data/cache/upgrade && chmod 777 ./data/cache/upgrade touch ./data/cache/upgrade && chmod 777 ./data/cache/upgrade
fi fi
./scripts/update_config_variables.sh ./scripts/update_config_variables.sh