41 lines
1.3 KiB
PHP
41 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Actions\Create;
|
|
|
|
use App\Actions\Generate\Utilities\Filter;
|
|
use App\Models\Projekte;
|
|
use App\Models\ProjektInhaltsverzeichnis;
|
|
use App\Models\ProjektPlatzhalter;
|
|
|
|
class CreatePlatzhalter
|
|
{
|
|
public function create($record)
|
|
{
|
|
$result = ProjektInhaltsverzeichnis::select('textblock')->where('projekte_id', $record->id)->get();
|
|
|
|
$_platzhalter = [];
|
|
foreach ($result as $value) {
|
|
preg_match_all('/###(.*)###/U', $value['textblock'], $pat_array);
|
|
$_platzhalter = array_merge($_platzhalter, $pat_array[0]);
|
|
}
|
|
|
|
$_platzhalter = array_unique($_platzhalter);
|
|
$_platzhalter = Filter::array_remove($_platzhalter, ['###INTERNER_NAME###', '###ORT###', '###DATUM###']);
|
|
|
|
ProjektPlatzhalter::where('projekte_id', $record->id)->update(['controll' => true]);
|
|
|
|
foreach ($_platzhalter as $platzhalter) {
|
|
ProjektPlatzhalter::updateOrCreate(
|
|
['projekte_id' => $record->id, 'platzhalter' => $platzhalter],
|
|
['controll' => false]
|
|
);
|
|
}
|
|
ProjektPlatzhalter::where('projekte_id', $record->id)->where('controll', true)->delete();
|
|
|
|
Projekte::where('id', $record->id)->update([
|
|
'evaluation_gutachten' => false,
|
|
'pdf_nutzwerte_status' => false,
|
|
]);
|
|
}
|
|
}
|