diff --git a/app/Console/Commands/ExportDatas.php b/app/Console/Commands/ExportDatas.php
new file mode 100644
index 0000000..7086967
--- /dev/null
+++ b/app/Console/Commands/ExportDatas.php
@@ -0,0 +1,210 @@
+ExportProjects("EDL_WEB.csv");
+ $this->ExportServers("EDL_Servers.csv");
+ $this->ExportDatastorePcc("EDL_Datastore_pcc.csv");
+ $this->ExportDomainNames("EDL_Domain_Names.csv");
+ $this->ExportLdcNetworks("EDL_LDC_Networks.csv");
+ $this->ExportGitRepos("EDL_GIT_Repos.csv");
+
+ return 0;
+ }
+
+ private function ExportGitRepos($filename)
+ {
+ $repos = GitRepos::orderBy('name', 'ASC')->get();
+ Storage::disk('export')->append($filename, "Nom");
+ foreach ($repos as $repo) {
+ $infos = [
+ trim($repo->name),
+ ];
+
+ Storage::disk('export')->append($filename, implode(";", $infos));
+ }
+ }
+
+ private function ExportLdcNetworks($filename)
+ {
+ $networks = LDCNetworks::all();
+ Storage::disk('export')->append($filename, "CIDR;First IP;Last IP");
+ foreach ($networks as $network) {
+ $infos = [
+ trim($network->cidr),
+ trim($network->first_ip),
+ trim($network->last_ip),
+ ];
+
+ Storage::disk('export')->append($filename, implode(";", $infos));
+ }
+ }
+
+ private function ExportDomainNames($filename)
+ {
+ $domains = DomainNames::all();
+ Storage::disk('export')->append($filename, "ASCII;UTF-8;DATE D'EXPIRATION;RENOUVELLEMENT;MARQUE REF.;DNS REDIRIGES;TYPE CERTIFICATS;COMMENTAIRE");
+ foreach ($domains as $domain) {
+ $infos = [
+ trim($domain->ascii_name),
+ trim($domain->utf8_name),
+ trim($domain->expiration_date),
+ $domain->renew === 1 ? 'OUI' : 'NON',
+ trim($domain->related_brand),
+ trim($domain->redirect_dns),
+ trim($domain->certificats),
+ trim($domain->comment),
+ ];
+
+ Storage::disk('export')->append($filename, implode(";", $infos));
+ }
+ }
+
+ private function ExportDatastorePcc($filename)
+ {
+ $datastores = DatastorePcc::all();
+ Storage::disk('export')->append($filename, "NOM;COMMENTAIRE");
+ foreach ($datastores as $datastore) {
+ $infos = [
+ trim($datastore->title),
+ trim($datastore->comment)
+ ];
+
+ Storage::disk('export')->append($filename, implode(";", $infos));
+ }
+ }
+
+ private function ExportServers($filename)
+ {
+ $servers = Servers::orderBy('env', 'DESC')->get();
+ Storage::disk('export')->append($filename, "ENV;NOM;TITRE;FUNCTION;SSH;IP INFRAWEB;VIRTUAL IP;DATASTORE PCC;COMMENTAIRE");
+ foreach ($servers as $server) {
+ $infos = [
+ trim($server->env),
+ trim($server->name),
+ trim($server->title),
+ trim($server->function),
+ trim($server->ssh),
+ trim($server->infraweb_ip),
+ trim($server->virtual_ip),
+ !is_null($server->datastore_pcc_id) ? trim(DatastorePcc::find($server->datastore_pcc_id)->title) : '',
+ trim($server->comment)
+ ];
+
+ Storage::disk('export')->append($filename, implode(";", $infos));
+ }
+ }
+
+ private function ExportProjects($filename)
+ {
+ $projects = Projects::orderBy('name', 'ASC')->get();
+ $fields = [
+ 'DEV',
+ 'name',
+ 'dev_haproxy_id',
+ 'dev_url',
+ 'https',
+ 'php',
+ 'dev_web_server_id',
+ 'dev_unix_user',
+ 'dev_unix_pwd',
+ 'dev_document_root',
+ 'dev_db_server_id',
+ 'dev_db_schema',
+ 'dev_db_user',
+ 'dev_db_pwd',
+ 'dev_htaccess_user',
+ 'dev_htaccess_pwd',
+ 'dev_comment',
+ 'dev_eai',
+ 'dev_whitelist_fw',
+ ];
+
+ Storage::disk('export')->append($filename, "ENV;NOM;ID HAPROXY;URL;HTTPS;PHP;SERVEUR WEB;SSH;USER UNIX;PWD UNIX;DOCUMENT ROOT;SERVEUR BDD;SSH;USER DB;PWD DB;HTACCESS USER;HTACCESS PWD;COMMENTAIRE;FLUX EAI;WHITELIST FW");
+ $this->writeProjectExport($projects, $fields, $filename);
+
+ $prod = implode(";", $fields);
+ $prod = str_replace("dev", "prod", $prod);
+ $prod = str_replace("DEV", "PROD", $prod);
+ $prod = str_replace("prod_htaccess_user", "BLANK", $prod);
+ $prod = str_replace("prod_htaccess_pwd", "BLANK", $prod);
+ $fields = explode(";", $prod);
+
+ $this->writeProjectExport($projects, $fields, $filename);
+ }
+
+ private function writeProjectExport($projects, $fields, $filename)
+ {
+ foreach ($projects as $project) {
+ $infos = [];
+ foreach ($fields as $field) {
+ switch ($field) {
+ case 'DEV':
+ case 'PROD':
+ $infos[] = $field;
+ break;
+ case 'https':
+ $infos[] = $project->{$field} === 1 ? 'OUI' : 'NON';
+ break;
+ case 'dev_web_server_id':
+ case 'dev_db_server_id':
+ case 'prod_web_server_id':
+ case 'prod_db_server_id':
+ $server = Servers::find($project->{$field});
+ $infos[] = trim($server->name);
+ $infos[] = trim($server->ssh);
+ break;
+ case 'BLANK':
+ $infos[] = "";
+ break;
+ default:
+ $infos[] = trim($project->{$field});
+ }
+ }
+ Storage::disk('export')->append($filename, implode(";", $infos));
+ }
+ }
+}
diff --git a/app/Http/Controllers/DomainNamesController.php b/app/Http/Controllers/DomainNamesController.php
index ad20f3e..72dd29c 100644
--- a/app/Http/Controllers/DomainNamesController.php
+++ b/app/Http/Controllers/DomainNamesController.php
@@ -12,35 +12,41 @@ use lfkeitel\phptotp\Totp;
class DomainNamesController extends Controller
{
- public function index(Request $request) {
+ public function index(Request $request)
+ {
$dms = DomainNames::all();
return view('domain-names.index', ['dms' => $dms]);
}
- public function add(Request $request) {
+ public function add(Request $request)
+ {
return view('domain-names.add');
}
- public function edit(Request $request) {
+ public function edit(Request $request)
+ {
$dm_id = $request->id;
$dm = DomainNames::findOrFail($dm_id);
return view('domain-names.edit', ['dm' => $dm]);
}
- public function update(Request $request) {
+ public function update(Request $request)
+ {
$dm_id = $request->id;
$dm = DomainNames::findOrFail($dm_id);
$this->makeChanges($request, $dm);
return redirect()->route('domain-names.edit', ['id' => $dm->id])->with('status', 'Sauvegardé !');
}
- public function store(Request $request) {
+ public function store(Request $request)
+ {
$dm = new DomainNames();
$this->makeChanges($request, $dm);
return redirect()->route('domain-names.edit', ['id' => $dm->id])->with('status', 'Sauvegardé !');
}
- public function delete(Request $request) {
+ public function delete(Request $request)
+ {
$dm_id = $request->id;
$dm = DomainNames::findOrFail($dm_id);
@@ -63,17 +69,20 @@ class DomainNamesController extends Controller
$dm = DomainNames::findOrFail($dm_id);
$dm->delete();
return redirect()->route('domain-names.index')->with('status', 'Nom de domaine supprimé !');
- }else{
+ } else {
return redirect()->route('domain-names.edit', ['id' => $dm_id])->with('error', 'Code de vérification invalide.');
}
}
- private function makeChanges($request, $dm) {
+ private function makeChanges($request, $dm)
+ {
$ascii_name = $request->ascii_name;
$utf8_name = $request->utf8_name;
$exp_date = $request->expiration_date;
$renew = $request->renew;
$related_brand = $request->related_brand;
+ $redirect_dns = $request->redirect_dns;
+ $certificats = $request->certificats;
$comment = $request->comment;
$dm->ascii_name = $ascii_name;
@@ -81,6 +90,8 @@ class DomainNamesController extends Controller
$dm->expiration_date = $exp_date;
$dm->renew = $renew;
$dm->related_brand = $related_brand;
+ $dm->redirect_dns = $redirect_dns;
+ $dm->certificats = $certificats;
$dm->comment = $comment;
$dm->save();
}
diff --git a/app/Http/Controllers/ProjectsController.php b/app/Http/Controllers/ProjectsController.php
index 82c3b33..9eec38b 100644
--- a/app/Http/Controllers/ProjectsController.php
+++ b/app/Http/Controllers/ProjectsController.php
@@ -6,6 +6,7 @@ use App\Http\Requests\Projects\StoreProjects;
use App\Http\Requests\Projects\UpdateProjects;
use App\Models\Projects;
use App\Models\Servers;
+use App\User;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
@@ -130,10 +131,10 @@ class ProjectsController extends Controller
$php = $request->php;
$type = $request->type;
$https = $request->https;
+ $prod_haproxy_id = $request->prod_haproxy_id;
+ $dev_haproxy_id = $request->dev_haproxy_id;
$prod_url = $request->prod_url;
$dev_url = $request->dev_url;
- $prod_certificats = $request->prod_certificats;
- $dev_certificats = $request->dev_certificats;
$prod_document_root = $request->prod_document_root;
$dev_document_root = $request->dev_document_root;
$prod_unix_user = $request->prod_unix_user;
@@ -156,8 +157,6 @@ class ProjectsController extends Controller
$dev_eai = $request->dev_eai;
$prod_whitelist_fw = $request->prod_whitelist_fw;
$dev_whitelist_fw = $request->dev_whitelist_fw;
- $prod_redirect_dns = $request->prod_redirect_dns;
- $dev_redirect_dns = $request->dev_redirect_dns;
$dev_htaccess_user = $request->dev_htaccess_user;
$dev_htaccess_pwd = $request->dev_htaccess_pwd;
$prod_ga_id = $request->prod_ga_id;
@@ -178,10 +177,10 @@ class ProjectsController extends Controller
$project->php = $php;
$project->type = $type;
$project->https = $https;
+ $project->prod_haproxy_id = $prod_haproxy_id;
+ $project->dev_haproxy_id = $dev_haproxy_id;
$project->prod_url = $prod_url;
$project->dev_url = $dev_url;
- $project->prod_certificats = $prod_certificats;
- $project->dev_certificats = $dev_certificats;
$project->prod_document_root = $prod_document_root;
$project->dev_document_root = $dev_document_root;
$project->prod_unix_user = $prod_unix_user;
@@ -204,8 +203,6 @@ class ProjectsController extends Controller
$project->dev_eai = $dev_eai;
$project->prod_whitelist_fw = $prod_whitelist_fw;
$project->dev_whitelist_fw = $dev_whitelist_fw;
- $project->prod_redirect_dns = $prod_redirect_dns;
- $project->dev_redirect_dns = $dev_redirect_dns;
$project->dev_htaccess_user = $dev_htaccess_user;
$project->dev_htaccess_pwd = $dev_htaccess_pwd;
$project->prod_ga_id = $prod_ga_id;
diff --git a/config/filesystems.php b/config/filesystems.php
index a0ec129..2ca51f8 100644
--- a/config/filesystems.php
+++ b/config/filesystems.php
@@ -48,10 +48,15 @@ return [
'root' => storage_path('app'),
],
+ 'export' => [
+ 'driver' => 'local',
+ 'root' => storage_path('export'),
+ ],
+
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
- 'url' => env('APP_URL').'/storage',
+ 'url' => env('APP_URL') . '/storage',
'visibility' => 'public',
],
diff --git a/phpcs.xml b/phpcs.xml
new file mode 100644
index 0000000..12c53a3
--- /dev/null
+++ b/phpcs.xml
@@ -0,0 +1,91 @@
+
+