From: Vincent Vanwaelscappel Date: Fri, 15 Dec 2023 09:56:43 +0000 (+0100) Subject: wait #6572 @0.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=e15eac67b1d833088bae2e7b8ab85b54b2641fd8;p=fluidbook-toolbox.git wait #6572 @0.5 --- diff --git a/app/Fields/FluidbookExtranetTask.php b/app/Fields/FluidbookExtranetTask.php index 4ab046e07..f65b0f77e 100644 --- a/app/Fields/FluidbookExtranetTask.php +++ b/app/Fields/FluidbookExtranetTask.php @@ -3,49 +3,66 @@ namespace App\Fields; use Cubist\Backpack\Magic\Fields\SelectFromArray; +use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\DB; class FluidbookExtranetTask extends SelectFromArray { + protected static $_projects = null; + protected static $_projectTasks = null; + + protected static $_taskOptions = null; + public function getOptions() { - $res = []; - $projects = static::_getProjects(); - $projectTasks = static::_getTasks(); - foreach ($projectTasks as $project => $tasks) { - if(!isset($projects[$project])){ - continue; + if (null === static::$_taskOptions) { + $_taskOptions = []; + if (null === static::$_projects) { + static::$_projects = static::_getProjects(); } - $t = []; - foreach ($tasks as $id => $task) { - $t[$id] = $task->nom; + if (null === static::$_projectTasks) { + static::$_projectTasks = static::_getTasks(); + } + + foreach (static::$_projectTasks as $project => $tasks) { + if (!isset(static::$_projects[$project])) { + continue; + } + $t = []; + foreach ($tasks as $id => $task) { + $t[$id] = $task->nom; + } + // $res['project_' . $project] = ["text" => $projects[$project]->nom, 'children' => $t]; } - // $res['project_' . $project] = ["text" => $projects[$project]->nom, 'children' => $t]; } - return $res; + return static::$_taskOptions; } protected static function _getProjects() { - $projects = []; - foreach (DB::connection('extranet')->table('projets')->orderBy('projet_id', 'DESC')->get()->all() as $project) { - $projects[$project->projet_id] = $project; - } + return Cache::remember('fluidbook_extranet_tasks_projects', 360, function () { + $projects = []; + foreach (DB::connection('extranet')->table('projets')->orderBy('projet_id', 'DESC')->get()->all() as $project) { + $projects[$project->projet_id] = $project; + } - return $projects; + return $projects; + }); } protected static function _getTasks() { - $tasks = []; - foreach (DB::connection('extranet')->table('taches')->orderBy('tache_id', 'ASC')->get()->all() as $task) { - if (!isset($tasks[$task->projet])) { - $tasks[$task->projet] = []; + return Cache::remember('fluidbook_extranet_tasks', 360, function () { + $tasks = []; + foreach (DB::connection('extranet')->table('taches')->orderBy('tache_id', 'ASC')->get()->all() as $task) { + if (!isset($tasks[$task->projet])) { + $tasks[$task->projet] = []; + } + $tasks[$task->projet][$task->tache_id] = $task; } - $tasks[$task->projet][$task->tache_id] = $task; - } - return $tasks; + return $tasks; + }); } } diff --git a/app/Fluidbook/Compiler/Stats.php b/app/Fluidbook/Compiler/Stats.php index 2df8e5ff7..6d6b705f9 100644 --- a/app/Fluidbook/Compiler/Stats.php +++ b/app/Fluidbook/Compiler/Stats.php @@ -62,7 +62,7 @@ height="0" width="0" style="display:none;visibility:hidden"> $scriptNames = explode(',', $this->config->tagcommander_scriptname); - $headScripts = array_shift($scriptNames); + $headScripts = [array_shift($scriptNames)]; $bodyScripts = $scriptNames; if ($this->fluidbookSettings->tagcommander_plan) {