Skip to content
Snippets Groups Projects
Commit 6561b673 authored by Alex ORLUC's avatar Alex ORLUC
Browse files

FEAT #13671 TIME 2 add var lang

parent 090c6f1f
No related branches found
No related tags found
No related merge requests found
......@@ -48,11 +48,11 @@ class InstallerController
$shortOpenTag = (ini_get('short_open_tag') == '1');
$errorReporting = (ini_get('error_reporting') == 22519);
exec('whereis netcat', $output, $return);
$output = explode(':', $output[0]);
exec('whereis nmap', $output2, $return2);
$output2 = explode(':', $output2[0]);
$netcatOrNmap = !empty($output[1]) || !empty($output2[1]);
exec('whereis netcat', $outputNetcat, $returnNetcat);
$outputNetcat = explode(':', $outputNetcat[0]);
exec('whereis nmap', $outputNmap, $returnNmap);
$outputNmap = explode(':', $outputNmap[0]);
$netcatOrNmap = !empty($outputNetcat[1]) || !empty($outputNmap[1]);
$prerequisites = [
'phpVersion' => $phpVersion,
......
<div class="stepContent">
<h2 class="stepContentTitle"><i class="fas fa-check-square"></i> Pré-requis</h2>
<h2 class="stepContentTitle"><i class="fas fa-check-square"></i> {{lang.prerequisite}}</h2>
<p>
L'installation de Maarch Courrier nécessite un certain nombre de pré-requis au niveau de
l'installation de PHP. Reportez-vous à la page <a
href="https://docs.maarch.org/gitbook/html/MaarchCourrier/20.03/guat/guat_prerequisites/home.html"
target="_blank" style="text-decoration: underline;color: white !important;">pre-requis</a>
pour les détails.
{{lang.stepPrerequisite_desc}} : <a href="{{docMaarchUrl}}" target="_blank" style="text-decoration: underline;color: white !important;">{{docMaarchUrl}}</a>
</p>
<mat-list style="background: white;" *ngFor="let groupPackage of packagesList | keyvalue">
<div mat-subheader>{{groupPackage.key}}</div>
<div mat-subheader>{{lang[groupPackage.key]}}</div>
<mat-list-item *ngFor="let package of packagesList[groupPackage.key]">
<mat-icon mat-list-icon class="fa iconCheckPackage icon_{{package.state}}"></mat-icon>
<div mat-line style="font-size: 120%;">{{package.label}}</div>
<div mat-line style="color:#666;">{{package.description}}</div>
<div mat-line style="font-size: 120%;">{{lang['install_'+package.label]}}</div>
<div mat-line style="color:#666;">{{lang['install_'+package.label+'_desc']}}</div>
</mat-list-item>
</mat-list>
</div>
......@@ -5,6 +5,8 @@ import { tap } from 'rxjs/internal/operators/tap';
import { NotificationService } from '../../notification.service';
import { of } from 'rxjs/internal/observable/of';
import { catchError } from 'rxjs/internal/operators/catchError';
import { LANG } from '../../translate.component';
import { environment } from '../../../environments/environment';
@Component({
selector: 'app-prerequisite',
......@@ -13,6 +15,8 @@ import { catchError } from 'rxjs/internal/operators/catchError';
})
export class PrerequisiteComponent implements OnInit {
lang: any = LANG;
stepFormGroup: FormGroup;
prerequisites: any = {};
......@@ -20,88 +24,92 @@ export class PrerequisiteComponent implements OnInit {
packagesList: any = {
general: [
{
label: 'phpVersion',
description: 'Version de PHP (7.2, 7.3, ou 7.4) -> 7.2.31-1+ubuntu18.04.1+deb.sury.org+1'
label: 'phpVersionValid',
required: true
},
{
label: 'writable',
description: 'Droits de lecture et d\'écriture du répertoire racine de Maarch Courrier'
required: true
},
],
tools: [
{
label: 'unoconv',
description: 'Outils de conversion de documents bureautiques soffice/unoconv installés'
required: true
},
{
label: 'netcatOrNmap',
description: 'Utilitaire permettant d\'ouvrir des connexions réseau (netcat / nmap)'
}
],
libraries: [
required: true
},
{
label: 'pgsql',
description: ''
required: true
},
{
label: 'curl',
required: true
},
{
label: 'zip',
required: true
},
{
label: 'imagick',
required: true
},
],
phpExtensions: [
{
label: 'fileinfo',
description: ''
required: true
}, {
label: 'pdoPgsql',
description: ''
required: true
},
{
label: 'gd',
description: ''
required: true
},
{
label: 'imap',
description: ''
required: true
},
{
label: 'mbstring',
description: ''
required: true
},
{
label: 'xsl',
description: ''
required: true
},
{
label: 'gettext',
description: ''
required: true
},
{
label: 'xmlrpc',
description: ''
},
{
label: 'curl',
description: ''
},
{
label: 'zip',
description: ''
required: true
},
{
label: 'imagick',
description: ''
},
],
phpini: [
phpConfiguration: [
{
label: 'errorReporting',
description: 'error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT '
required: true
},
{
label: 'displayErrors',
description: 'display_errors = On'
required: true
},
{
label: 'shortOpenTag',
description: 'short_open_tags = On'
required: true
},
],
};
docMaarchUrl: string = `https://docs.maarch.org/gitbook/html/MaarchCourrier/${environment.VERSION.split('.')[0] + '.' + environment.VERSION.split('.')[1]}/guat/guat_prerequisites/home.html`;
constructor(
public http: HttpClient,
private notify: NotificationService,
......@@ -112,11 +120,7 @@ export class PrerequisiteComponent implements OnInit {
this.stepFormGroup = this._formBuilder.group({
firstCtrl: ['', Validators.required]
});
// FOR TEST
this.getStepData();
this.stepFormGroup.controls['firstCtrl'].setValue(this.checkStep());
this.stepFormGroup.controls['firstCtrl'].markAsUntouched();
}
getStepData() {
......@@ -126,9 +130,13 @@ export class PrerequisiteComponent implements OnInit {
Object.keys(this.packagesList).forEach(group => {
this.packagesList[group].forEach((item: any, key: number) => {
this.packagesList[group][key].state = this.prerequisites[this.packagesList[group][key].label] ? 'ok' : 'ko';
if (this.packagesList[group][key].label === 'phpVersionValid') {
this.lang.install_phpVersionValid_desc = `${this.lang.currentVersion} : ${this.prerequisites['phpVersion']}`;
}
});
});
this.stepFormGroup.controls['firstCtrl'].setValue(this.checkStep());
this.stepFormGroup.controls['firstCtrl'].markAsUntouched();
}),
catchError((err: any) => {
this.notify.handleSoftErrors(err);
......
......@@ -1725,4 +1725,45 @@ export const LANG_FR = {
"companyLastname": "Organisation / Nom",
"warnPrivateKeyTitle": "La clé privée de chiffrement n'a pas été modifiée !",
"warnPrivateKey": "Cela compromet la sécurité de l'application.",
};
"prerequisite": "Pré-requis",
"stepPrerequisite_desc": "L'installation de Maarch Courrier nécessite un certain nombre de pré-requis au niveau de l'installation de PHP. Reportez-vous cette page pour les détails",
"install_phpVersionValid": "Version minimum de PHP (>= 7.2)",
"install_unoconv": "unoconv",
"install_unoconv_desc": "Outils de conversion de documents bureautiques soffice/unoconv installés",
"install_pdoPgsql": "pdo_pgsql",
"install_pdoPgsql_desc": "Extension PHP de connexion aux bases de données PostgreSQL",
"install_pgsql": "pgsql",
"install_pgsql_desc": "Bases de données PostgreSQL",
"install_mbstring": "mbstring",
"install_mbstring_desc": "Extension PHP fournissant les fonctions spécifiques de manipulations de chaînes qui vous permet de travailler avec les encodages multi-octets en PHP.",
"install_fileinfo": "fileinfo",
"install_fileinfo_desc": "Extension PHP fournissant le type de contenu et l'encodage d'un fichier en regardant certaines séquences d'octet magique à des positions spécifiques à l'intérieur du fichier.",
"install_gd": "gd",
"install_gd_desc": "Extension PHP fournissant à la manipulation d'images, dans un grand choix de formats, comme GIF, PNG, JPEG, WBMP et XPM. ",
"install_imagick": "imagick",
"install_imagick_desc": "Extension PHP pour créer et modifier les images, en utilisant l'API ImageMagick. ",
"install_imap": "imap",
"install_imap_desc": "Extension PHP permettant d'utiliser le protocole IMAP, mais aussi les protocoles NNTP, POP3 et les boîtes aux lettres locales. ",
"install_xsl": "xsl",
"install_xsl_desc": "Extension PHP permettant l'implémentation du standard XSL, et effectue des » transformations XSLT en utilisant la » bibliothèque libxslt. ",
"install_gettext": "gettext",
"install_gettext_desc": "Extension PHP permettant l'implémentation de l'API NLS (Native Language Support) qui peut servir à internationaliser vos scripts PHP.",
"install_xmlrpc": "xmlrpc",
"install_xmlrpc_desc": "Extension PHP fournissant des fonctions servant à écrire sur les serveurs XML-RPC, mais aussi sur les clients.",
"install_curl": "curl",
"install_curl_desc": "Outil permettant de télécharger n’importe quels fichiers via divers protocoles.",
"install_zip": "zip",
"install_zip_desc": "Outil d'empaquetage et de compactage de fichiers.",
"install_writable": "Droits de lecture et d'écriture du répertoire racine de Maarch Courrier",
"install_displayErrors": "Paramètre display_errors (php.ini)",
"install_displayErrors_desc": "display_errors = On",
"install_shortOpenTag": "Paramètre short_open_tags (php.ini)",
"install_shortOpenTag_desc": "short_open_tags = On",
"install_errorReporting": "Paramètre error_reporting (php.ini)",
"install_errorReporting_desc": "error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT",
"install_netcatOrNmap": "netcat / nmap",
"install_netcatOrNmap_desc": "Utilitaire permettant d'ouvrir des connexions réseau (netcat / nmap)",
"general": "Générale",
"phpExtensions": "Extensions PHP",
"phpConfiguration": "Configuration PHP",
};
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment