/** * @brief document의 확장 변수 키값을 가져오는 함수 * $form_include : 글 작성시에 필요한 확장변수의 input form 추가 여부 **/ function getExtraKeys($module_srl) { if (is_null($GLOBALS['XE_EXTRA_KEYS'][$module_srl])) { $oExtraVar =& ExtraVar::getInstance($module_srl); $obj->module_srl = $module_srl; $obj->sort_index = 'var_idx'; $obj->order = 'asc'; $output = executeQueryArray('document.getDocumentExtraKeys', $obj); $oExtraVar->setExtraVarKeys($output->data); $keys = $oExtraVar->getExtraVars(); if (!$keys) { $keys = array(); } $GLOBALS['XE_EXTRA_KEYS'][$module_srl] = $keys; } return $GLOBALS['XE_EXTRA_KEYS'][$module_srl]; }
/** * Function to retrieve the key values of the extended variable document * $Form_include: writing articles whether to add the necessary extensions of the variable input form * @param int $module_srl * @return array */ function getExtraKeys($module_srl) { if (!isset($GLOBALS['XE_EXTRA_KEYS'][$module_srl])) { $keys = false; $oCacheHandler = CacheHandler::getInstance('object', null, true); if ($oCacheHandler->isSupport()) { $object_key = 'module_document_extra_keys:' . $module_srl; $cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key); $keys = $oCacheHandler->get($cache_key); } $oExtraVar = ExtraVar::getInstance($module_srl); if ($keys === false) { $obj = new stdClass(); $obj->module_srl = $module_srl; $obj->sort_index = 'var_idx'; $obj->order = 'asc'; $output = executeQueryArray('document.getDocumentExtraKeys', $obj); // correcting index order $isFixed = FALSE; if (is_array($output->data)) { $prevIdx = 0; foreach ($output->data as $no => $value) { // case first if ($prevIdx == 0 && $value->idx != 1) { $args = new stdClass(); $args->module_srl = $module_srl; $args->var_idx = $value->idx; $args->new_idx = 1; executeQuery('document.updateDocumentExtraKeyIdx', $args); executeQuery('document.updateDocumentExtraVarIdx', $args); $prevIdx = 1; $isFixed = TRUE; continue; } // case others if ($prevIdx > 0 && $prevIdx + 1 != $value->idx) { $args = new stdClass(); $args->module_srl = $module_srl; $args->var_idx = $value->idx; $args->new_idx = $prevIdx + 1; executeQuery('document.updateDocumentExtraKeyIdx', $args); executeQuery('document.updateDocumentExtraVarIdx', $args); $prevIdx += 1; $isFixed = TRUE; continue; } $prevIdx = $value->idx; } } if ($isFixed) { $output = executeQueryArray('document.getDocumentExtraKeys', $obj); } $oExtraVar->setExtraVarKeys($output->data); $keys = $oExtraVar->getExtraVars(); if (!$keys) { $keys = array(); } if ($oCacheHandler->isSupport()) { $oCacheHandler->put($cache_key, $keys); } } $GLOBALS['XE_EXTRA_KEYS'][$module_srl] = $keys; } return $GLOBALS['XE_EXTRA_KEYS'][$module_srl]; }
/** * Function to retrieve the key values of the extended variable document * $Form_include: writing articles whether to add the necessary extensions of the variable input form * @param int $module_srl * @return array */ function getExtraKeys($module_srl) { if (is_null($GLOBALS['XE_EXTRA_KEYS'][$module_srl])) { $oExtraVar =& ExtraVar::getInstance($module_srl); $obj->module_srl = $module_srl; $obj->sort_index = 'var_idx'; $obj->order = 'asc'; $output = executeQueryArray('document.getDocumentExtraKeys', $obj); // correcting index order $isFixed = FALSE; if (is_array($output->data)) { $prevIdx = 0; foreach ($output->data as $no => $value) { // case first if ($prevIdx == 0 && $value->idx != 1) { $args = new stdClass(); $args->module_srl = $module_srl; $args->var_idx = $value->idx; $args->new_idx = 1; executeQuery('document.updateDocumentExtraKeyIdx', $args); executeQuery('document.updateDocumentExtraVarIdx', $args); $prevIdx = 1; $isFixed = TRUE; continue; } // case others if ($prevIdx > 0 && $prevIdx + 1 != $value->idx) { $args = new stdClass(); $args->module_srl = $module_srl; $args->var_idx = $value->idx; $args->new_idx = $prevIdx + 1; executeQuery('document.updateDocumentExtraKeyIdx', $args); executeQuery('document.updateDocumentExtraVarIdx', $args); $prevIdx += 1; $isFixed = TRUE; continue; } $prevIdx = $value->idx; } } if ($isFixed) { $output = executeQueryArray('document.getDocumentExtraKeys', $obj); } $oExtraVar->setExtraVarKeys($output->data); $keys = $oExtraVar->getExtraVars(); if (!$keys) { $keys = array(); } $GLOBALS['XE_EXTRA_KEYS'][$module_srl] = $keys; } return $GLOBALS['XE_EXTRA_KEYS'][$module_srl]; }