diff --git a/application/Building/Building.php b/application/Building/Building.php index f216558d0..832d08bc3 100644 --- a/application/Building/Building.php +++ b/application/Building/Building.php @@ -80,9 +80,13 @@ class Building extends mfBaseModel { } public function getWorkflowvalue($itemname, $type = false) { - $item = WorkflowitemModel::getFirst(['name' => $itemname]); - if(!$item->id) { - return null; + $item = mfValuecache::get("wfBuilding-".$itemname); + if(!$item) { + $item = WorkflowitemModel::getFirst(['name' => $itemname]); + if(!$item->id) { + return null; + } + mfValuecache::set("wfBuilding-".$itemname, $item); } switch($item->type) { diff --git a/application/Termination/Termination.php b/application/Termination/Termination.php index a5b094073..1375ca2c0 100644 --- a/application/Termination/Termination.php +++ b/application/Termination/Termination.php @@ -36,9 +36,13 @@ class Termination extends mfBaseModel { } public function getWorkflowvalue($itemname, $type = false) { - $item = WorkflowitemModel::getFirst(['name' => $itemname]); - if(!$item->id) { - return null; + $item = mfValuecache::get("wfTerm-".$itemname); + if(!$item) { + $item = WorkflowitemModel::getFirst(['name' => $itemname]); + if(!$item->id) { + return null; + } + mfValuecache::set("wfTerm-".$itemname, $item); } switch($item->type) { diff --git a/lib/mvcfronk/mfValuecache/mfValuecache.php b/lib/mvcfronk/mfValuecache/mfValuecache.php new file mode 100644 index 000000000..7400fb464 --- /dev/null +++ b/lib/mvcfronk/mfValuecache/mfValuecache.php @@ -0,0 +1,32 @@ +cache)) { + return $instance->cache[$key]; + } + return null; + } + + public static function set($key, $value) { + $instance = self::singleton(); + $instance->cache[$key] = $value; + } +} \ No newline at end of file