diff --git a/modules/board/board.admin.controller.php b/modules/board/board.admin.controller.php index f325252c5..12b06a098 100644 --- a/modules/board/board.admin.controller.php +++ b/modules/board/board.admin.controller.php @@ -30,12 +30,24 @@ class boardAdminController extends board { if(is_array($args->use_status)) $args->use_status = implode('|@|', $args->use_status); unset($args->board_name); + // setup extra_order_target + $extra_order_target = array(); + if($args->module_srl) + { + $oDocumentModel = getModel('document'); + $module_extra_vars = $oDocumentModel->getExtraKeys($args->module_srl); + foreach($module_extra_vars as $oExtraItem) + { + $extra_order_target[$oExtraItem->eid] = $oExtraItem->name; + } + } + // setup other variables if($args->except_notice != 'Y') $args->except_notice = 'N'; if($args->use_anonymous != 'Y') $args->use_anonymous = 'N'; if($args->consultation != 'Y') $args->consultation = 'N'; if($args->protect_content!= 'Y') $args->protect_content = 'N'; - if(!in_array($args->order_target,$this->order_target)) $args->order_target = 'list_order'; + if(!in_array($args->order_target,$this->order_target) && !in_array($args->order_target, $extra_order_target)) $args->order_target = 'list_order'; if(!in_array($args->order_type, array('asc', 'desc'))) $args->order_type = 'asc'; // if there is an existed module diff --git a/modules/board/board.admin.view.php b/modules/board/board.admin.view.php index 3f53e5e7d..bdf9068da 100644 --- a/modules/board/board.admin.view.php +++ b/modules/board/board.admin.view.php @@ -168,11 +168,21 @@ class boardAdminView extends board { $oBoardModel = getModel('board'); // setup the extra vaiables - Context::set('extra_vars', $oBoardModel->getDefaultListConfig($this->module_info->module_srl)); + $extra_vars = $oBoardModel->getDefaultListConfig($this->module_info->module_srl); + Context::set('extra_vars', $extra_vars); // setup the list config (install the default value if there is no list config) Context::set('list_config', $oBoardModel->getListConfig($this->module_info->module_srl)); + // setup extra_order_target + $module_extra_vars = $oDocumentModel->getExtraKeys($this->module_info->module_srl); + $extra_order_target = array(); + foreach($module_extra_vars as $oExtraItem) + { + $extra_order_target[$oExtraItem->eid] = $oExtraItem->name; + } + Context::set('extra_order_target', $extra_order_target); + $security = new Security(); $security->encodeHTML('extra_vars..name','list_config..name'); diff --git a/modules/board/tpl/board_insert.html b/modules/board/tpl/board_insert.html index 0ffb2ccfb..2466bb9b1 100644 --- a/modules/board/tpl/board_insert.html +++ b/modules/board/tpl/board_insert.html @@ -129,6 +129,9 @@