diff --git a/modules/comment/queries/getModuleList.xml b/modules/comment/queries/getModuleList.xml index 35c3b1c85..3e380a1dd 100644 --- a/modules/comment/queries/getModuleList.xml +++ b/modules/comment/queries/getModuleList.xml @@ -3,6 +3,7 @@ + diff --git a/modules/comment/tpl/comment_list.html b/modules/comment/tpl/comment_list.html index 6b71dce04..50fac2eda 100644 --- a/modules/comment/tpl/comment_list.html +++ b/modules/comment/tpl/comment_list.html @@ -50,7 +50,7 @@ xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}'; {@ $comment = $val->getContentText(200)} diff --git a/modules/document/queries/getModuleList.xml b/modules/document/queries/getModuleList.xml index f674afea2..e57b94b5f 100644 --- a/modules/document/queries/getModuleList.xml +++ b/modules/document/queries/getModuleList.xml @@ -3,6 +3,7 @@
- {$module_list[$val->module_srl]->browser_title} - + {$module_list[$val->module_srl]->browser_title} - {$comment}{$lang->no_text_comment}
+ diff --git a/modules/document/tpl/document_list.html b/modules/document/tpl/document_list.html index db538d2ee..143c08a51 100644 --- a/modules/document/tpl/document_list.html +++ b/modules/document/tpl/document_list.html @@ -50,11 +50,15 @@ xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}'; + {escape($oDocument->getTitleText(), false)}{$lang->no_title_document} + + + - {$module_list[$oDocument->get('module_srl')]->browser_title} + + - {$module_list[$oDocument->get('module_srl')]->browser_title} + + +
- {escape($oDocument->getTitleText(), false)}{$lang->no_title_document} - - - - {$module_list[$oDocument->get('module_srl')]->browser_title} - {$oDocument->getNickName()} ({$member_nick_name[abs($oDocument->get('member_srl'))]}) diff --git a/modules/file/queries/getModuleList.xml b/modules/file/queries/getModuleList.xml index f03e896b4..0fbffa3b7 100644 --- a/modules/file/queries/getModuleList.xml +++ b/modules/file/queries/getModuleList.xml @@ -3,6 +3,7 @@ + diff --git a/modules/file/tpl/file_list.html b/modules/file/tpl/file_list.html index 06fb7bd02..e26b18459 100644 --- a/modules/file/tpl/file_list.html +++ b/modules/file/tpl/file_list.html @@ -85,7 +85,7 @@ xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}'; [{$lang->cmd_temp_save}] [{$lang->cmd_trash}] - {$module_list[$val->module_srl]->browser_title} + {$module_list[$val->module_srl]->browser_title} - {$document_list[$document_srl]->getTitle()}{$document_list[$document_srl]->getTitle()} diff --git a/modules/module/module.model.php b/modules/module/module.model.php index 32f7d0479..8e4632bdb 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -12,6 +12,7 @@ class ModuleModel extends Module */ public static $_mid_map = []; public static $_module_srl_map = []; + public static $_domain_map = []; /** * @brief Initialization @@ -708,13 +709,13 @@ class ModuleModel extends Module $mid = Rhymix\Framework\Cache::get('site_and_module:module_srl_mid:' . $module_srl); if (isset($mid)) { - return $mid; + return self::$_module_srl_map[$module_srl] = $mid; } $args = new stdClass; $args->module_srls = $module_srl; $output = executeQuery('module.getModuleInfoByModuleSrl', $args, ['mid']); - if ($output->data) + if (is_object($output->data)) { $mid = self::$_module_srl_map[$module_srl] = $output->data->mid; Rhymix\Framework\Cache::set('site_and_module:module_srl_mid:' . $module_srl, $mid, 0, true); @@ -726,6 +727,63 @@ class ModuleModel extends Module } } + /** + * Return the domain (including scheme and port) by module_srl + * + * @param int $module_srl + * @return ?string + */ + public static function getDomainByModuleSrl(int $module_srl): ?string + { + $module_srl = intval($module_srl); + if (isset(self::$_domain_map[$module_srl])) + { + return self::$_domain_map[$module_srl]; + } + + $prefix = Rhymix\Framework\Cache::get('site_and_module:module_srl_prefix:' . $module_srl); + if (isset($prefix)) + { + self::$_domain_map[$module_srl] = $prefix; + return $prefix; + } + + $args = new stdClass; + $args->module_srls = $module_srl; + $args->include_domain_info = true; + $output = executeQuery('module.getModuleInfoByModuleSrl', $args); + if (is_object($output->data)) + { + $info = self::$_module_srl_map[$module_srl] = $output->data; + if (!$info->domain_srl || $info->domain_srl == -1 || !isset($info->domain)) + { + $prefix = ''; + } + else + { + $prefix = $info->security === 'always' ? 'https://' : 'http://'; + $prefix .= $info->domain; + if ($info->security === 'always' && $info->https_port) + { + $prefix .= ':' . $info->https_port; + } + if ($info->security !== 'always' && $info->http_port) + { + $prefix .= ':' . $info->http_port; + } + } + Rhymix\Framework\Cache::set('site_and_module:module_srl_prefix:' . $module_srl, $prefix, 0, true); + return $prefix; + } + else + { + return null; + } + + $domain = $module_info->domain ?: Context::getCurrentDomain(); + return sprintf('%s://%s/%s', $module_info->scheme, $domain, $module_info->path); + } + /** * @brief Get forward value by the value of act */ diff --git a/modules/module/queries/getModuleInfoByModuleSrl.xml b/modules/module/queries/getModuleInfoByModuleSrl.xml index f00824f94..83c1064a6 100644 --- a/modules/module/queries/getModuleInfoByModuleSrl.xml +++ b/modules/module/queries/getModuleInfoByModuleSrl.xml @@ -1,8 +1,20 @@
+
+ + + +
+ + + + + + + - +