Add option to make pages available only on one domain

- 2021년에 next 브랜치 적용을 목표로 작업했던 것 가져옴
- modules 테이블에 domain_srl을 추가하여 특정 도메인에서만 유효하도록 설정 가능
- site_srl 변수를 사용하던 곳 중 삭제할 수 있는 곳은 모두 삭제함
This commit is contained in:
Kijin Sung 2023-06-18 02:40:09 +09:00
parent ded3b97208
commit f596947d0e
57 changed files with 163 additions and 197 deletions

View file

@ -193,6 +193,15 @@ class ModuleHandler extends Handler
if(!$module_info && $this->mid) if(!$module_info && $this->mid)
{ {
$module_info = ModuleModel::getModuleInfoByMid($this->mid); $module_info = ModuleModel::getModuleInfoByMid($this->mid);
if($module_info && isset($module_info->domain_srl) && $module_info->domain_srl > -1)
{
if($module_info->domain_srl != $site_module_info->domain_srl)
{
$this->error = 'msg_module_is_not_exists';
$this->httpStatusCode = 404;
return true;
}
}
} }
// Set module info as the default module for the domain. // Set module info as the default module for the domain.

View file

@ -106,6 +106,7 @@ $lang->cmd_https_port = 'HTTPS Port';
$lang->cmd_index_module_srl = 'Main Module'; $lang->cmd_index_module_srl = 'Main Module';
$lang->cmd_index_document_srl = 'Main Document'; $lang->cmd_index_document_srl = 'Main Document';
$lang->cmd_default_language = 'Default Language'; $lang->cmd_default_language = 'Default Language';
$lang->cmd_any_domain = 'Any Domain';
$lang->cmd_new_domain = 'Add New Domain'; $lang->cmd_new_domain = 'Add New Domain';
$lang->cmd_edit_domain = 'Edit Domain'; $lang->cmd_edit_domain = 'Edit Domain';
$lang->cmd_is_default_domain = 'Default Domain'; $lang->cmd_is_default_domain = 'Default Domain';

View file

@ -105,6 +105,7 @@ $lang->cmd_https_port = 'HTTPS 포트';
$lang->cmd_index_module_srl = '메인 모듈'; $lang->cmd_index_module_srl = '메인 모듈';
$lang->cmd_index_document_srl = '메인 문서'; $lang->cmd_index_document_srl = '메인 문서';
$lang->cmd_default_language = '기본 언어'; $lang->cmd_default_language = '기본 언어';
$lang->cmd_any_domain = '모든 도메인';
$lang->cmd_new_domain = '새 도메인 추가'; $lang->cmd_new_domain = '새 도메인 추가';
$lang->cmd_edit_domain = '도메인 정보 수정'; $lang->cmd_edit_domain = '도메인 정보 수정';
$lang->cmd_is_default_domain = '기본 도메인'; $lang->cmd_is_default_domain = '기본 도메인';

View file

@ -2338,6 +2338,19 @@ html[lang="id"] .x .g11n.active>[disabled],
width: 14px; width: 14px;
height: 14px; height: 14px;
} }
.x .x_table th.domain_prefix {
text-align: right;
padding-right: 0;
}
.x .x_table td.domain_prefix {
color: #888;
text-align: right;
padding-right: 0;
}
.x .x_table .domain_prefix + th,
.x .x_table .domain_prefix + td {
padding-left: 4px;
}
/* language specific styles */ /* language specific styles */
/* English admin_en.css */ /* English admin_en.css */

View file

@ -1,9 +1,16 @@
<query id="getBoardList" action="select"> <query id="getBoardList" action="select">
<tables> <tables>
<table name="modules" /> <table name="modules" />
<table name="domains" type="left join">
<conditions>
<condition operation="equal" column="modules.domain_srl" default="domains.domain_srl" />
<condition operation="notequal" column="modules.domain_srl" default="-1" />
</conditions>
</table>
</tables> </tables>
<columns> <columns>
<column name="*" /> <column name="modules.*" />
<column name="domains.domain" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="module" default="board" /> <condition operation="equal" column="module" default="board" />

View file

@ -15,11 +15,17 @@
<section class="section"> <section class="section">
<h1>{$lang->subtitle_primary}</h1> <h1>{$lang->subtitle_primary}</h1>
<div cond="$logged_info->is_admin == 'Y'" class="x_control-group"> <div cond="$logged_info->is_admin == 'Y'" class="x_control-group">
<label class="x_control-label" for="board_name">{$lang->mid}</label> <label class="x_control-label" for="board_name">{$lang->url}</label>
<div class="x_controls"> <div class="x_controls">
<select name="domain_srl" id="domain_srl">
<option value="-1" selected="selected"|cond="!isset($module_info->domain_srl) || $module_info->domain_srl == -1">{$lang->cmd_any_domain}</option>
<!--@foreach(ModuleModel::getAllDomains(100)->data as $domain)-->
<option value="{$domain->domain_srl}" selected="selected"|cond="$domain->domain_srl == $module_info->domain_srl">{$domain->domain}</option>
<!--@endif-->
</select>
<span class="baseurl">{\RX_BASEURL}</span>
<input type="text" name="board_name" id="board_name" value="{$module_info->mid}" /> <input type="text" name="board_name" id="board_name" value="{$module_info->mid}" />
<a href="#module_name_help" class="x_icon-question-sign" data-toggle>{$lang->help}</a> <p class="x_help-block">{$lang->about_mid}</p>
<p id="module_name_help" class="x_help-block" hidden>{$lang->about_mid}</p>
</div> </div>
</div> </div>
<div class="x_control-group"> <div class="x_control-group">

View file

@ -12,7 +12,8 @@
<tr> <tr>
<th scope="col">{$lang->no}</th> <th scope="col">{$lang->no}</th>
<th scope="col">{$lang->module_category}</th> <th scope="col">{$lang->module_category}</th>
<th scope="col">{$lang->mid}</th> <th scope="col" class="domain_prefix">{$lang->domain} /</th>
<th scope="col">{$lang->url}</th>
<th scope="col">{$lang->browser_title}</th> <th scope="col">{$lang->browser_title}</th>
<th scope="col">{$lang->regdate}</th> <th scope="col">{$lang->regdate}</th>
<th scope="col">{$lang->cmd_edit}</th> <th scope="col">{$lang->cmd_edit}</th>
@ -29,6 +30,7 @@
</block> </block>
<block cond="$val->module_category_srl">{$module_category[$val->module_category_srl]->title}</block> <block cond="$val->module_category_srl">{$module_category[$val->module_category_srl]->title}</block>
</td> </td>
<td class="domain_prefix">{$val->domain ?? '*'}{\RX_BASEURL}</td>
<td>{$val->mid}</td> <td>{$val->mid}</td>
<td><a href="{getSiteUrl($val->domain,'','mid',$val->mid)}">{$val->browser_title}</a></td> <td><a href="{getSiteUrl($val->domain,'','mid',$val->mid)}">{$val->browser_title}</a></td>
<td>{zdate($val->regdate,"Y-m-d")}</td> <td>{zdate($val->regdate,"Y-m-d")}</td>

View file

@ -77,8 +77,7 @@ $lang->msg_cannot_delete_for_child = 'Cannot delete a category which has child c
$lang->msg_limit_mid = 'Only alphanumeric can be used in the module name.'; $lang->msg_limit_mid = 'Only alphanumeric can be used in the module name.';
$lang->msg_extra_name_exists = 'Already registered field ID. Please input another name.'; $lang->msg_extra_name_exists = 'Already registered field ID. Please input another name.';
$lang->about_browser_title = 'It will be shown in the browser title. It will be also used in a RSS/Trackback.'; $lang->about_browser_title = 'It will be shown in the browser title. It will be also used in a RSS/Trackback.';
$lang->about_mid = 'The module name will be used like http://address/?mid=ModuleName. $lang->about_mid = 'The module name must begin with a Latin alphabet, and only consist of Latin alphabets, numerals, and underscores.';
(Only english alphabet letters, numbers and underscore can be used. The maximum length is 40.)';
$lang->about_default = 'If checked, this module will be shown when users access the site without mid value (mid=NoValue).'; $lang->about_default = 'If checked, this module will be shown when users access the site without mid value (mid=NoValue).';
$lang->about_module_category = 'It enables you to manage it through a module category. $lang->about_module_category = 'It enables you to manage it through a module category.
The URL for the module manager is <a href="./?module=admin&amp;act=dispModuleAdminCategory">Module category </a>.'; The URL for the module manager is <a href="./?module=admin&amp;act=dispModuleAdminCategory">Module category </a>.';

View file

@ -77,7 +77,7 @@ $lang->msg_cannot_delete_for_child = '하부 분류가 있는 분류는 삭제
$lang->msg_limit_mid = '모듈 이름은 영문+[영문+숫자+_] 만 가능합니다.'; $lang->msg_limit_mid = '모듈 이름은 영문+[영문+숫자+_] 만 가능합니다.';
$lang->msg_extra_name_exists = '이미 존재하는 확장 변수 ID입니다. 다른 ID를 입력해주세요.'; $lang->msg_extra_name_exists = '이미 존재하는 확장 변수 ID입니다. 다른 ID를 입력해주세요.';
$lang->about_browser_title = '브라우저 제목에 나타나는 값입니다. RSS/Trackback에서도 사용됩니다.'; $lang->about_browser_title = '브라우저 제목에 나타나는 값입니다. RSS/Trackback에서도 사용됩니다.';
$lang->about_mid = '모듈 이름은 http://주소/?mid=모듈이름 처럼 직접 호출할 수 있는 값입니다. (영문+[영문+숫자+_] 만 가능. 최대 40 글자)'; $lang->about_mid = 'URL상의 모듈 이름은 영문, 숫자, _ 만으로 이루어져야 하며, 첫 글자는 반드시 영문 알파벳이어야 합니다.';
$lang->about_default = '선택하면 사이트에 mid값 없이 접속하였을 경우 기본으로 보여줍니다.'; $lang->about_default = '선택하면 사이트에 mid값 없이 접속하였을 경우 기본으로 보여줍니다.';
$lang->about_module_category = '분류를 통한 관리를 할 수 있도록 합니다. 모듈 분류 관리는 <a href="./?module=admin&amp;act=dispModuleAdminCategory">모듈분류</a>에서 할 수 있습니다.'; $lang->about_module_category = '분류를 통한 관리를 할 수 있도록 합니다. 모듈 분류 관리는 <a href="./?module=admin&amp;act=dispModuleAdminCategory">모듈분류</a>에서 할 수 있습니다.';
$lang->about_description = '관리용으로 사용되는 설명입니다.'; $lang->about_description = '관리용으로 사용되는 설명입니다.';

View file

@ -12,12 +12,6 @@ class Module extends ModuleObject
*/ */
function moduleInstall() function moduleInstall()
{ {
// Register action forward (to use in administrator mode)
$oModuleController = getController('module');
$oDB = DB::getInstance();
$oDB->addIndex("modules","idx_site_mid", array("site_srl","mid"), true);
// Insert new domain // Insert new domain
if(!getModel('module')->getDefaultDomainInfo()) if(!getModel('module')->getDefaultDomainInfo())
{ {
@ -66,6 +60,19 @@ class Module extends ModuleObject
return true; return true;
} }
// Remove site_srl column from tables
if ($oDB->isIndexExists('lang', 'idx_lang')) return true;
if ($oDB->getColumnInfo('lang', 'site_srl')->default_value === null) return true;
if ($oDB->isIndexExists('modules', 'idx_site_mid')) return true;
if ($oDB->getColumnInfo('modules', 'site_srl')->default_value === null) return true;
if ($oDB->getColumnInfo('module_config', 'site_srl')->default_value === null) return true;
if ($oDB->isTableExists('site_admin')) return true;
// Add domain_srl column
if (!$oDB->isColumnExists('modules', 'domain_srl')) return true;
if (!$oDB->isIndexExists('modules', 'idx_domain_srl')) return true;
if (!$oDB->isIndexExists('modules', 'idx_mid')) return true;
// check fix mskin // check fix mskin
if(!$oDB->isColumnExists("modules", "is_mskin_fix")) return true; if(!$oDB->isColumnExists("modules", "is_mskin_fix")) return true;
@ -111,7 +118,6 @@ class Module extends ModuleObject
{ {
return true; return true;
} }
if(!$oDB->isIndexExists('lang', 'idx_site_srl')) return true;
if(!$oDB->isIndexExists('lang', 'idx_name')) return true; if(!$oDB->isIndexExists('lang', 'idx_name')) return true;
if(!$oDB->isIndexExists('lang', 'idx_lang_code')) return true; if(!$oDB->isIndexExists('lang', 'idx_lang_code')) return true;
if(!$oDB->isIndexExists('lang', 'idx_lang')) return true; if(!$oDB->isIndexExists('lang', 'idx_lang')) return true;
@ -132,7 +138,7 @@ class Module extends ModuleObject
} }
// check deprecated lang code // check deprecated lang code
$output = executeQuery('module.getLangCount', ['site_srl' => 0, 'lang_code' => 'jp']); $output = executeQuery('module.getLangCount', ['lang_code' => 'jp']);
if ($output->data->count > 0) if ($output->data->count > 0)
{ {
return true; return true;
@ -152,6 +158,48 @@ class Module extends ModuleObject
$this->migrateDomains(); $this->migrateDomains();
} }
// Set default value as 0 for site_srl columns that are no longer used.
if ($oDB->isIndexExists('lang', 'idx_lang'))
{
$oDB->dropIndex('lang', 'idx_lang');
}
if ($oDB->getColumnInfo('lang', 'site_srl')->default_value === null)
{
$oDB->modifyColumn('lang', 'site_srl', 'number', null, 0, true, 'lang_code');
}
if ($oDB->isIndexExists('modules', 'idx_site_mid'))
{
$oDB->dropIndex('modules', 'idx_site_mid');
}
if ($oDB->getColumnInfo('modules', 'site_srl')->default_value === null)
{
$oDB->modifyColumn('modules', 'site_srl', 'number', null, 0, true, 'menu_srl');
}
if ($oDB->getColumnInfo('module_config', 'site_srl')->default_value === null)
{
$oDB->modifyColumn('module_config', 'site_srl', 'number', null, 0, true, 'module');
}
// Remove the site_admin table.
if ($oDB->isTableExists('site_admin'))
{
$oDB->dropTable('site_admin');
}
// Add domain_srl column to relevant tables.
if (!$oDB->isColumnExists('modules', 'domain_srl'))
{
$oDB->addColumn('modules', 'domain_srl', 'number', null, -1, true, 'site_srl');
}
if (!$oDB->isIndexExists('modules', 'idx_domain_srl'))
{
$oDB->addIndex('modules', 'idx_domain_srl', array('domain_srl'));
}
if (!$oDB->isIndexExists('modules', 'idx_mid'))
{
$oDB->addIndex('modules', 'idx_mid', array('mid'));
}
// check ruleset directory // check ruleset directory
FileHandler::makeDir(RX_BASEDIR . 'files/ruleset'); FileHandler::makeDir(RX_BASEDIR . 'files/ruleset');
@ -213,10 +261,6 @@ class Module extends ModuleObject
{ {
$oDB->modifyColumn('lang', 'name', 'varchar', 100, null, true); $oDB->modifyColumn('lang', 'name', 'varchar', 100, null, true);
} }
if(!$oDB->isIndexExists('lang', 'idx_site_srl'))
{
$oDB->addIndex('lang', 'idx_site_srl', array('site_srl'), false);
}
if(!$oDB->isIndexExists('lang', 'idx_name')) if(!$oDB->isIndexExists('lang', 'idx_name'))
{ {
$oDB->addIndex('lang', 'idx_name', array('name'), false); $oDB->addIndex('lang', 'idx_name', array('name'), false);
@ -227,7 +271,7 @@ class Module extends ModuleObject
} }
if(!$oDB->isIndexExists('lang', 'idx_lang')) if(!$oDB->isIndexExists('lang', 'idx_lang'))
{ {
$oDB->addIndex('lang', 'idx_lang', array('site_srl', 'name', 'lang_code'), false); $oDB->addIndex('lang', 'idx_lang', array('name', 'lang_code'), false);
} }
// check module_trigger table // check module_trigger table
@ -251,7 +295,7 @@ class Module extends ModuleObject
} }
// check deprecated lang code // check deprecated lang code
$output = executeQuery('module.getLangCount', ['site_srl' => 0, 'lang_code' => 'jp']); $output = executeQuery('module.getLangCount', ['lang_code' => 'jp']);
if ($output->data->count > 0) if ($output->data->count > 0)
{ {
$output = executeQuery('module.updateLangCode', ['lang_code' => 'jp', 'new_lang_code' => 'ja']); $output = executeQuery('module.updateLangCode', ['lang_code' => 'jp', 'new_lang_code' => 'ja']);

View file

@ -345,6 +345,7 @@ class ModuleController extends Module
unset($extra_vars->module_srl); unset($extra_vars->module_srl);
unset($extra_vars->module); unset($extra_vars->module);
unset($extra_vars->module_category_srl); unset($extra_vars->module_category_srl);
unset($extra_vars->domain_srl);
unset($extra_vars->layout_srl); unset($extra_vars->layout_srl);
unset($extra_vars->mlayout_srl); unset($extra_vars->mlayout_srl);
unset($extra_vars->use_mobile); unset($extra_vars->use_mobile);
@ -614,20 +615,13 @@ class ModuleController extends Module
} }
/** /**
* @brief Change the module's virtual site * Change the module's virtual site
*
* @deprecated
*/ */
function updateModuleSite($module_srl, $site_srl = 0, $layout_srl = 0) function updateModuleSite($module_srl, $site_srl = 0, $layout_srl = 0)
{ {
$args = new stdClass;
$args->module_srl = $module_srl;
$args->layout_srl = $layout_srl;
$output = executeQuery('module.updateModuleSite', $args);
if(!$output->toBool()) return $output;
//remove from cache
Rhymix\Framework\Cache::clearGroup('site_and_module');
ModuleModel::$_mid_map = ModuleModel::$_module_srl_map = [];
return $output;
} }
/** /**
@ -1276,15 +1270,12 @@ class ModuleController extends Module
return $output; return $output;
} }
/**
* @deprecated
*/
function updateModuleInSites($site_srls, $args) function updateModuleInSites($site_srls, $args)
{ {
$args = new stdClass;
$args->site_srls = $site_srls;
$output = executeQuery('module.updateModuleInSites', $args);
Rhymix\Framework\Cache::clearGroup('site_and_module');
ModuleModel::$_mid_map = ModuleModel::$_module_srl_map = [];
return $output;
} }
/** /**

View file

@ -1310,7 +1310,7 @@ class ModuleModel extends Module
/** /**
* @brief Get all of module configurations for each mid * @brief Get all of module configurations for each mid
*/ */
public static function getModulePartConfigs($module, $site_srl = 0) public static function getModulePartConfigs($module)
{ {
$args = new stdClass(); $args = new stdClass();
$args->module = $module; $args->module = $module;

View file

@ -3,7 +3,6 @@
<table name="lang" /> <table name="lang" />
</tables> </tables>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" default="0" /> <condition operation="equal" column="name" var="name" notnull="notnull" />
<condition operation="equal" column="name" var="name" notnull="notnull" pipe="and" />
</conditions> </conditions>
</query> </query>

View file

@ -3,6 +3,5 @@
<table name="lang" /> <table name="lang" />
</tables> </tables>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" default="0" />
</conditions> </conditions>
</query> </query>

View file

@ -4,6 +4,5 @@
</tables> </tables>
<conditions> <conditions>
<condition operation="equal" column="module" var="module" notnull="notnull" /> <condition operation="equal" column="module" var="module" notnull="notnull" />
<condition operation="equal" column="site_srl" var="site_srl" default="0" pipe="and" />
</conditions> </conditions>
</query> </query>

View file

@ -1,8 +0,0 @@
<query id="deleteSiteAdmin" action="delete">
<tables>
<table name="site_admin" />
</tables>
<conditions>
<condition operation="equal" column="site_srl" var="site_srl" filter="number" notnull="notnull" />
</conditions>
</query>

View file

@ -6,7 +6,7 @@
<column name="*" /> <column name="*" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" default="0" notnull="notnull" /> <condition operation="equal" column="domain_srl" var="domain_srl" default="0" notnull="notnull" />
<condition operation="equal" column="is_default" default="Y" pipe="and" /> <condition operation="equal" column="is_default" default="Y" pipe="and" />
</conditions> </conditions>
</query> </query>

View file

@ -8,7 +8,7 @@
</table> </table>
</tables> </tables>
<columns> <columns>
<column name="modules.site_srl" /> <column name="modules.domain_srl" />
<column name="modules.module" /> <column name="modules.module" />
<column name="modules.mid" /> <column name="modules.mid" />
<column name="modules.browser_title" /> <column name="modules.browser_title" />
@ -16,7 +16,7 @@
<column name="modules.module_srl" /> <column name="modules.module_srl" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="modules.site_srl" var="site_srl" default="0" notnull="notnull" /> <condition operation="equal" column="modules.domain_srl" var="domain_srl" />
</conditions> </conditions>
<navigation> <navigation>
<index var="sort_index" default="modules.module" order="asc" /> <index var="sort_index" default="modules.module" order="asc" />

View file

@ -6,8 +6,7 @@
<column name="*" /> <column name="*" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" default="0" /> <condition operation="equal" column="name" var="name" />
<condition operation="equal" column="name" var="name" pipe="and" />
<condition operation="equal" column="lang_code" var="lang_code" pipe="and" /> <condition operation="equal" column="lang_code" var="lang_code" pipe="and" />
</conditions> </conditions>
</query> </query>

View file

@ -6,8 +6,7 @@
<column name="COUNT(*)" alias="count" /> <column name="COUNT(*)" alias="count" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" default="0" /> <condition operation="equal" column="name" var="name" />
<condition operation="equal" column="name" var="name" pipe="and" />
<condition operation="equal" column="lang_code" var="lang_code" pipe="and" /> <condition operation="equal" column="lang_code" var="lang_code" pipe="and" />
</conditions> </conditions>
</query> </query>

View file

@ -6,7 +6,6 @@
<column name="name" /> <column name="name" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" default="0" />
</conditions> </conditions>
<navigation> <navigation>
<index var="sort_index" default="list_order" order="order_type" /> <index var="sort_index" default="list_order" order="order_type" />

View file

@ -7,7 +7,7 @@
<column name="value" /> <column name="value" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" default="0" filter="number" /> <condition operation="in" column="lang_code" var="lang_code" />
<condition operation="in" column="lang_code" var="langCode" pipe="and" /> <condition operation="in" column="lang_code" var="langCode" pipe="and" />
<condition operation="like" column="value" var="search_keyword" pipe="and" /> <condition operation="like" column="value" var="search_keyword" pipe="and" />
<condition operation="equal" column="name" var="name" pipe="and" /> <condition operation="equal" column="name" var="name" pipe="and" />

View file

@ -6,7 +6,7 @@
<column name="*" /> <column name="*" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" default="0" /> <condition operation="in" column="name" var="name" />
<condition operation="in" column="name" var="langName" pipe="and" /> <condition operation="in" column="name" var="langName" pipe="and" />
</conditions> </conditions>
<navigation> <navigation>

View file

@ -6,8 +6,7 @@
<column name="*" /> <column name="*" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" default="0" /> <condition operation="like_prefix" column="value" var="value" />
<condition operation="like_prefix" column="value" var="value" pipe="and" />
</conditions> </conditions>
<groups> <groups>
<group column="name" /> <group column="name" />

View file

@ -8,6 +8,6 @@
<conditions> <conditions>
<condition operation="equal" column="mid" var="mid" /> <condition operation="equal" column="mid" var="mid" />
<condition operation="equal" column="module_srl" var="module_srl" pipe="and" /> <condition operation="equal" column="module_srl" var="module_srl" pipe="and" />
<condition operation="equal" column="site_srl" var="site_srl" pipe="and" /> <condition operation="equal" column="domain_srl" var="domain_srl" pipe="and" />
</conditions> </conditions>
</query> </query>

View file

@ -10,6 +10,7 @@
<condition operation="in" column="module_srl" var="module_srls" pipe="and" /> <condition operation="in" column="module_srl" var="module_srls" pipe="and" />
<condition operation="equal" column="module" var="module" pipe="and" /> <condition operation="equal" column="module" var="module" pipe="and" />
<condition operation="equal" column="module_category_srl" var="module_category_srl" /> <condition operation="equal" column="module_category_srl" var="module_category_srl" />
<condition operation="in" column="domain_srl" var="domain_srls" pipe="and" />
</conditions> </conditions>
<navigation> <navigation>
<index var="sort_index" default="browser_title" order="asc" /> <index var="sort_index" default="browser_title" order="asc" />

View file

@ -7,6 +7,5 @@
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="module" var="module" /> <condition operation="equal" column="module" var="module" />
<condition operation="equal" column="site_srl" var="site_srl" pipe="and" />
</conditions> </conditions>
</query> </query>

View file

@ -6,7 +6,7 @@
<column name="count(*)" alias="count" /> <column name="count(*)" alias="count" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" /> <condition operation="equal" column="domain_srl" var="domain_srl" />
<condition operation="equal" column="module" var="module" pipe="and" /> <condition operation="equal" column="module" var="module" pipe="and" />
</conditions> </conditions>
</query> </query>

View file

@ -7,7 +7,7 @@
<column name="count(*)" alias="instanceCount" /> <column name="count(*)" alias="instanceCount" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" filter="number" /> <condition operation="equal" column="domain_srl" var="domain_srl" filter="number" />
</conditions> </conditions>
<groups> <groups>
<group column="module" /> <group column="module" />

View file

@ -7,7 +7,7 @@
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="module" var="module" notnull="notnull" /> <condition operation="equal" column="module" var="module" notnull="notnull" />
<condition operation="in" column="site_srl" var="site_srl" default="0" notnull="notnull" pipe="and" /> <condition operation="in" column="domain_srl" var="domain_srl" pipe="and" />
<condition operation="in" column="module_srl" var="module_srl" pipe="and" /> <condition operation="in" column="module_srl" var="module_srl" pipe="and" />
<group pipe="and"> <group pipe="and">
<condition operation="like" column="mid" var="s_mid" pipe="or" /> <condition operation="like" column="mid" var="s_mid" pipe="or" />

View file

@ -10,6 +10,5 @@
<conditions> <conditions>
<condition operation="equal" column="module_part_config.module" var="module" notnull="notnull" /> <condition operation="equal" column="module_part_config.module" var="module" notnull="notnull" />
<condition operation="equal" column="modules.module_srl" default="module_part_config.module_srl" pipe="and" /> <condition operation="equal" column="modules.module_srl" default="module_part_config.module_srl" pipe="and" />
<condition operation="equal" column="modules.site_srl" var="site_srl" pipe="and" />
</conditions> </conditions>
</query> </query>

View file

@ -1,14 +1,14 @@
<query id="getModuleSites" action="select"> <query id="getModuleSites" action="select">
<tables> <tables>
<table name="modules" /> <table name="modules" />
<table name="sites" /> <table name="domains" />
</tables> </tables>
<columns> <columns>
<column name="modules.module_srl" alias="module_srl" /> <column name="modules.module_srl" alias="module_srl" />
<column name="sites.domain" alias="domain" /> <column name="domains.domain" alias="domain" />
</columns> </columns>
<conditions> <conditions>
<condition operation="in" column="modules.module_srl" var="module_srls" notnull="notnull" /> <condition operation="in" column="modules.module_srl" var="module_srls" notnull="notnull" />
<condition operation="equal" column="sites.site_srl" default="modules.site_srl" notnull="notnull" pipe="and" /> <condition operation="equal" column="domains.domain_srl" default="modules.domain_srl" notnull="notnull" pipe="and" />
</conditions> </conditions>
</query> </query>

View file

@ -7,7 +7,7 @@
<column name="mid" /> <column name="mid" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" /> <condition operation="in" column="domain_srl" var="domain_srl" />
<condition operation="in" column="mid" var="mid" notnull="notnull" pipe="and" /> <condition operation="in" column="mid" var="mid" notnull="notnull" pipe="and" />
</conditions> </conditions>
</query> </query>

View file

@ -7,6 +7,5 @@
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="menu_srl" default="0" /> <condition operation="equal" column="menu_srl" default="0" />
<condition operation="equal" column="site_srl" var="site_srl" default="0" notnull="notnull" pipe="and" />
</conditions> </conditions>
</query> </query>

View file

@ -1,14 +0,0 @@
<query id="getSiteAdmin" action="select">
<tables>
<table name="site_admin" />
<table name="member" />
</tables>
<columns>
<column name="site_admin.site_srl" />
<column name="member.*" />
</columns>
<conditions>
<condition operation="equal" column="site_admin.site_srl" var="site_srl" notnull="notnull" />
<condition operation="equal" column="member.member_srl" default="site_admin.member_srl" notnull="notnull" pipe="and" />
</conditions>
</query>

View file

@ -1,14 +0,0 @@
<query id="getSiteInfoByDomain" action="select">
<tables>
<table name="sites" />
</tables>
<columns>
<column name="*" />
</columns>
<conditions>
<condition operation="equal" column="sites.domain" var="domain" notnull="notnull" />
</conditions>
<navigation>
<index var="sort_index" default="site_srl" order="desc" />
</navigation>
</query>

View file

@ -8,7 +8,7 @@
</table> </table>
</tables> </tables>
<columns> <columns>
<column name="modules.site_srl" alias="module_site_srl" /> <column name="sites.site_srl" alias="module_site_srl" />
<column name="modules.module_srl" alias="module_srl" /> <column name="modules.module_srl" alias="module_srl" />
<column name="modules.module" alias="module" /> <column name="modules.module" alias="module" />
<column name="modules.module_category_srl" alias="module_category_srl" /> <column name="modules.module_category_srl" alias="module_category_srl" />

View file

@ -1,17 +0,0 @@
<query id="getSiteInfoByDomain" action="select">
<tables>
<table name="sites" />
<table name="modules" />
</tables>
<columns>
<column name="sites.site_srl" alias="site_srl" />
<column name="sites.domain" alias="domain" />
<column name="sites.index_module_srl" alias="index_module_srl" />
<column name="sites.default_language" alias="default_language" />
<column name="modules.*" />
</columns>
<conditions>
<condition operation="equal" column="sites.domain" var="domain" notnull="notnull" />
<condition operation="equal" column="modules.module_srl" default="sites.index_module_srl" notnull="notnull" pipe="and" />
</conditions>
</query>

View file

@ -8,7 +8,7 @@
</table> </table>
</tables> </tables>
<columns> <columns>
<column name="modules.site_srl" /> <column name="modules.domain_srl" />
<column name="modules.module" /> <column name="modules.module" />
<column name="modules.module_category_srl" /> <column name="modules.module_category_srl" />
<column name="modules.layout_srl" /> <column name="modules.layout_srl" />

View file

@ -3,7 +3,6 @@
<table name="lang" /> <table name="lang" />
</tables> </tables>
<columns> <columns>
<column name="site_srl" var="site_srl" default="0" />
<column name="name" var="name" notnull="notnull" /> <column name="name" var="name" notnull="notnull" />
<column name="lang_code" var="lang_code" notnull="notnull" /> <column name="lang_code" var="lang_code" notnull="notnull" />
<column name="value" var="value" notnull="notnull" /> <column name="value" var="value" notnull="notnull" />

View file

@ -8,6 +8,7 @@
<column name="module_category_srl" var="module_category_srl" default="0" /> <column name="module_category_srl" var="module_category_srl" default="0" />
<column name="menu_srl" var="menu_srl" filter="number" /> <column name="menu_srl" var="menu_srl" filter="number" />
<column name="site_srl" var="site_srl" default="0" /> <column name="site_srl" var="site_srl" default="0" />
<column name="domain_srl" var="domain_srl" default="-1" />
<column name="mid" var="mid" notnull="notnull" minlength="1" maxlength="40" /> <column name="mid" var="mid" notnull="notnull" minlength="1" maxlength="40" />
<column name="layout_srl" var="layout_srl" /> <column name="layout_srl" var="layout_srl" />
<column name="mlayout_srl" var="mlayout_srl" /> <column name="mlayout_srl" var="mlayout_srl" />

View file

@ -5,7 +5,6 @@
<columns> <columns>
<column name="module" var="module" notnull="notnull" /> <column name="module" var="module" notnull="notnull" />
<column name="config" var="config" /> <column name="config" var="config" />
<column name="site_srl" var="site_srl" default="0" />
<column name="regdate" default="curdate()" /> <column name="regdate" default="curdate()" />
</columns> </columns>
</query> </query>

View file

@ -1,10 +0,0 @@
<query id="insertSiteAdmin" action="insert">
<tables>
<table name="site_admin" />
</tables>
<columns>
<column name="site_srl" var="site_srl" notnull="notnull" />
<column name="member_srl" var="member_srl" notnull="notnull" />
<column name="regdate" default="curdate()" />
</columns>
</query>

View file

@ -6,7 +6,7 @@
<column name="count(*)" alias="count" /> <column name="count(*)" alias="count" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" /> <condition operation="equal" column="domain_srl" var="domain_srl" />
<condition operation="equal" column="mid" var="mid" notnull="notnull" pipe="and" /> <condition operation="equal" column="mid" var="mid" notnull="notnull" pipe="and" />
<condition operation="notequal" column="module_srl" var="module_srl" default="0" notnull="notnull" pipe="and" /> <condition operation="notequal" column="module_srl" var="module_srl" default="0" notnull="notnull" pipe="and" />
</conditions> </conditions>

View file

@ -1,11 +0,0 @@
<query id="isExistsSiteDomain" action="select">
<tables>
<table name="sites" />
</tables>
<columns>
<column name="count(*)" alias="count" />
</columns>
<conditions>
<condition operation="equal" column="domain" var="domain" notnull="notnull" />
</conditions>
</query>

View file

@ -1,12 +0,0 @@
<query id="isSiteAdmin" action="select">
<tables>
<table name="site_admin" />
</tables>
<columns>
<column name="member_srl" />
</columns>
<conditions>
<condition operation="equal" column="site_srl" var="site_srl" filter="number" />
<condition operation="equal" column="member_srl" var="member_srl" pipe="and" />
</conditions>
</query>

View file

@ -1,4 +1,4 @@
<query id="updateModule" action="update"> <query id="updateAllModuleSkinInSiteWithTheme" action="update">
<tables> <tables>
<table name="modules" /> <table name="modules" />
</tables> </tables>
@ -6,7 +6,7 @@
<column name="skin" var="skin" notnull="notnull" /> <column name="skin" var="skin" notnull="notnull" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" filter="number" notnull="notnull" /> <condition operation="equal" column="domain_srl" var="domain_srl" />
<condition operation="equal" column="module" var="module" notnull="notnull" pipe="and" /> <condition operation="equal" column="module" var="module" notnull="notnull" pipe="and" />
<condition operation="equal" column="is_skin_fix" default="N" pipe="and" /> <condition operation="equal" column="is_skin_fix" default="N" pipe="and" />
<condition operation="in" column="module_srl" var="module_srls" pipe="and" /> <condition operation="in" column="module_srl" var="module_srls" pipe="and" />

View file

@ -5,6 +5,7 @@
<columns> <columns>
<column name="module" var="module" notnull="notnull" maxlength="80" /> <column name="module" var="module" notnull="notnull" maxlength="80" />
<column name="module_category_srl" var="module_category_srl" /> <column name="module_category_srl" var="module_category_srl" />
<column name="domain_srl" var="domain_srl" />
<column name="layout_srl" var="layout_srl" /> <column name="layout_srl" var="layout_srl" />
<column name="skin" var="skin" minlength="0" maxlength="250" /> <column name="skin" var="skin" minlength="0" maxlength="250" />
<column name="is_skin_fix" var="is_skin_fix" default="N" /> <column name="is_skin_fix" var="is_skin_fix" default="N" />

View file

@ -1,12 +0,0 @@
<query id="updateModuleInSites" action="update">
<tables>
<table name="modules" />
</tables>
<columns>
<column name="mlayout_srl" var="mlayout_srl" />
<column name="use_mobile" var="use_mobile" />
</columns>
<conditions>
<condition operation="in" column="site_srl" var="site_srls" filter="number" notnull="notnull" />
</conditions>
</query>

View file

@ -1,12 +0,0 @@
<query id="updateModuleSite" action="update">
<tables>
<table name="modules" />
</tables>
<columns>
<column name="site_srl" var="site_srl" default="0" />
<column name="layout_srl" var="layout_srl" notnull="notnull" default="0" />
</columns>
<conditions>
<condition operation="equal" column="module_srl" var="module_srl" filter="number" notnull="notnull" pipe="and" />
</conditions>
</query>

View file

@ -1,7 +1,7 @@
<table name="lang"> <table name="lang">
<column name="site_srl" type="number" size="11" notnull="notnull" index="idx_site_srl" />
<column name="name" type="varchar" size="100" notnull="notnull" index="idx_name" /> <column name="name" type="varchar" size="100" notnull="notnull" index="idx_name" />
<column name="lang_code" type="varchar" size="10" notnull="notnull" index="idx_lang_code" /> <column name="lang_code" type="varchar" size="10" notnull="notnull" index="idx_lang_code" />
<column name="site_srl" type="number" notnull="notnull" default="0" />
<column name="value" type="text" /> <column name="value" type="text" />
<index name="idx_lang" columns="site_srl,name,lang_code" /> <index name="idx_lang" columns="name,lang_code" />
</table> </table>

View file

@ -1,6 +1,6 @@
<table name="module_config"> <table name="module_config">
<column name="module" type="varchar" size="80" notnull="notnull" primary_key="primary_key" charset="latin1" /> <column name="module" type="varchar" size="80" notnull="notnull" primary_key="primary_key" charset="latin1" />
<column name="site_srl" type="number" size="11" notnull="notnull" /> <column name="site_srl" type="number" notnull="notnull" default="0" />
<column name="config" type="bigtext" /> <column name="config" type="bigtext" />
<column name="regdate" type="date" /> <column name="regdate" type="date" />
</table> </table>

View file

@ -2,8 +2,9 @@
<column name="module_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" /> <column name="module_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
<column name="module" type="varchar" size="80" notnull="notnull" index="idx_module" /> <column name="module" type="varchar" size="80" notnull="notnull" index="idx_module" />
<column name="module_category_srl" type="number" size="11" default="0" index="idx_module_category" /> <column name="module_category_srl" type="number" size="11" default="0" index="idx_module_category" />
<column name="menu_srl" type="number" size="11" default="0" /> <column name="menu_srl" type="number" size="11" notnull="notnull" default="0" />
<column name="site_srl" type="number" size="11" notnull="notnull" default="0" /> <column name="site_srl" type="number" size="11" notnull="notnull" default="0" />
<column name="domain_srl" type="number" size="11" notnull="notnull" default="-1" index="idx_domain_srl" />
<column name="mid" type="varchar" size="40" notnull="notnull" /> <column name="mid" type="varchar" size="40" notnull="notnull" />
<column name="layout_srl" type="number" size="11" default="0" /> <column name="layout_srl" type="number" size="11" default="0" />
<column name="mlayout_srl" type="number" size="11" default="0" /> <column name="mlayout_srl" type="number" size="11" default="0" />

View file

@ -1,5 +0,0 @@
<table name="site_admin">
<column name="site_srl" type="number" size="11" notnull="notnull" unique="idx_site_admin" />
<column name="member_srl" type="number" size="11" notnull="notnull" unique="idx_site_admin" />
<column name="regdate" type="date" />
</table>

View file

@ -1,9 +1,16 @@
<query id="getPageList" action="select"> <query id="getPageList" action="select">
<tables> <tables>
<table name="modules" /> <table name="modules" />
<table name="domains" type="left join">
<conditions>
<condition operation="equal" column="modules.domain_srl" default="domains.domain_srl" />
<condition operation="notequal" column="modules.domain_srl" default="-1" />
</conditions>
</table>
</tables> </tables>
<columns> <columns>
<column name="*" /> <column name="modules.*" />
<column name="domains.domain" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="module" default="page" /> <condition operation="equal" column="module" default="page" />

View file

@ -47,7 +47,8 @@ jQuery(function($){
<th scope="col">{$lang->no}</th> <th scope="col">{$lang->no}</th>
<th scope="col">{$lang->module_category}</th> <th scope="col">{$lang->module_category}</th>
<th scope="col">{$lang->page_type}</th> <th scope="col">{$lang->page_type}</th>
<th scope="col">{$lang->mid}</th> <th scope="col" class="domain_prefix">{$lang->domain} /</th>
<th scope="col">{$lang->url}</th>
<th scope="col">{$lang->browser_title}</th> <th scope="col">{$lang->browser_title}</th>
<th scope="col">{$lang->regdate}</th> <th scope="col">{$lang->regdate}</th>
<th scope="col">&nbsp;</th> <th scope="col">&nbsp;</th>
@ -70,6 +71,7 @@ jQuery(function($){
<!--@end--> <!--@end-->
</td> </td>
<td>{$val->page_type}</td> <td>{$val->page_type}</td>
<td class="domain_prefix">{$val->domain ?? '*'}{\RX_BASEURL}</td>
<td>{$val->mid}</td> <td>{$val->mid}</td>
<td><a href="{getSiteUrl($val->domain,'','mid',$val->mid)}" target="_blank">{$val->browser_title}</a></td> <td><a href="{getSiteUrl($val->domain,'','mid',$val->mid)}" target="_blank">{$val->browser_title}</a></td>
<td>{zdate($val->regdate,"Y-m-d")}</td> <td>{zdate($val->regdate,"Y-m-d")}</td>

View file

@ -15,8 +15,15 @@
<div class="x_controls" style="padding-top:4px">{$lang->page_type_name[$module_info->page_type]}</div> <div class="x_controls" style="padding-top:4px">{$lang->page_type_name[$module_info->page_type]}</div>
</div> </div>
<div class="x_control-group"> <div class="x_control-group">
<label class="x_control-label" for="page_name">{$lang->mid}</label> <label class="x_control-label" for="page_name">{$lang->url}</label>
<div class="x_controls"> <div class="x_controls">
<select name="domain_srl" id="domain_srl">
<option value="-1" selected="selected"|cond="!isset($module_info->domain_srl) || $module_info->domain_srl == -1">{$lang->cmd_any_domain}</option>
<!--@foreach(ModuleModel::getAllDomains(100)->data as $domain)-->
<option value="{$domain->domain_srl}" selected="selected"|cond="$domain->domain_srl == $module_info->domain_srl">{$domain->domain}</option>
<!--@endif-->
</select>
<span class="baseurl">{\RX_BASEURL}</span>
<input type="text" name="page_name" id="page_name" value="{$module_info->mid}" /> <input type="text" name="page_name" id="page_name" value="{$module_info->mid}" />
<p class="x_help-block" id="aboutMid">{$lang->about_mid}</p> <p class="x_help-block" id="aboutMid">{$lang->about_mid}</p>
</div> </div>