From 8041e2dc32049f89df9a0077d43883a2fdc47095 Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Thu, 3 Sep 2020 10:47:43 +0800 Subject: [PATCH] * Fix edit a block error. --- module/block/control.php | 21 ++++++++++++++------- module/block/model.php | 4 ++-- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/module/block/control.php b/module/block/control.php index e4a4b5b6c6..04519d1343 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -415,16 +415,25 @@ class block extends control if($mode == 'getblocklist') { - $program = ''; + $template = ''; + $block = $this->block->getByID($id); $dashboard = $this->get->dashboard; + /* Create a program block. */ if($dashboard == 'program') { - $programID = $this->session->program; - $program = $this->loadModel('project')->getByID($programID); + $program = $this->loadModel('project')->getByID($this->session->program); + $template = $program->template; } - $blocks = $this->block->getAvailableBlocks($module, $dashboard, $program); + /* Edit a program block. */ + if($id and $block->module == 'program') + { + $template = $block->type; + $dashboard = 'program'; + } + + $blocks = $this->block->getAvailableBlocks($module, $dashboard, $template); if(!$this->selfCall) { echo $blocks; @@ -434,12 +443,10 @@ class block extends control $blocks = json_decode($blocks, true); $blockPairs = array('' => '') + $blocks; - $block = $this->block->getByID($id); - echo '
'; echo ''; echo '
'; - if(isset($program->template)) echo html::hidden('type', $program->template); + if($template) echo html::hidden('type', $template); echo html::select('moduleBlock', $blockPairs, ($block and $block->source != '') ? $block->block : '', "class='form-control chosen'"); echo '
'; } diff --git a/module/block/model.php b/module/block/model.php index 0889d4dfd5..92ae204637 100644 --- a/module/block/model.php +++ b/module/block/model.php @@ -264,12 +264,12 @@ class blockModel extends model * @access public * @return string */ - public function getAvailableBlocks($module = '', $dashboard = '', $program = null) + public function getAvailableBlocks($module = '', $dashboard = '', $template = '') { $blocks = $this->lang->block->availableBlocks; if($dashboard == 'program') { - $blocks = $this->lang->block->modules[$program->template]['index']->availableBlocks; + $blocks = $this->lang->block->modules[$template]['index']->availableBlocks; } else {