Reduce unnecessary use of site_srl

This commit is contained in:
Kijin Sung 2018-12-29 10:45:37 +09:00
parent e25e2df6a8
commit f844d30690
9 changed files with 38 additions and 99 deletions

View file

@ -2389,7 +2389,7 @@ jQuery(function($){
for(var i=0; i<nLen; i++){ for(var i=0; i<nLen; i++){
$SiteSelector.append($("<option>").val(aSiteList[i].site_srl).html(aSiteList[i].domain)); $SiteSelector.append($("<option>").val(aSiteList[i].site_srl).html(aSiteList[i].domain));
} }
$SiteSelector.show(); $SiteSelector.hide();
} }
$.xeShowMenuSelector($container, "0"); $.xeShowMenuSelector($container, "0");
} }

View file

@ -140,7 +140,7 @@ xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}';
<h1>{$lang->msg_select_menu}</h1> <h1>{$lang->msg_select_menu}</h1>
<p>{$lang->selected_document_move}</p> <p>{$lang->selected_document_move}</p>
<div class="tree _menuSelector"> <div class="tree _menuSelector">
<select class="site_selector" style="width:100%;display:none"></select><div class="tree" style="height:250px;overflow-y:scroll;border:1px solid #aaa"></div> <div class="tree" style="height:250px;overflow-y:scroll;border:1px solid #aaa"></div>
</div> </div>
</section> </section>
</div> </div>

View file

@ -166,7 +166,7 @@ xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}';
<h1>{$lang->msg_select_menu}</h1> <h1>{$lang->msg_select_menu}</h1>
<p>{$lang->selected_document_move}</p> <p>{$lang->selected_document_move}</p>
<div class="tree _menuSelector"> <div class="tree _menuSelector">
<select class="site_selector" style="width:100%;display:none"></select><div class="tree" style="height:250px;overflow-y:scroll;border:1px solid #aaa"></div> <div class="tree" style="height:250px;overflow-y:scroll;border:1px solid #aaa"></div>
</div> </div>
</section> </section>
</div> </div>
@ -218,9 +218,6 @@ jQuery(function($){
$('#manageForm input[name=module_srl]').val(aSelected[0].module_srl); $('#manageForm input[name=module_srl]').val(aSelected[0].module_srl);
}); });
$('._menuSelector').bind('site_changed', function(){
$('#manageForm input[name=module_srl]').val('');
});
} }
} }
}); });

View file

@ -27,13 +27,7 @@ class menuAdminModel extends menu
*/ */
function getMenuList($obj) function getMenuList($obj)
{ {
if(!$obj->site_srl)
{
$site_module_info = Context::get('site_module_info');
$obj->site_srl = (int)$site_module_info->site_srl;
}
$args = new stdClass; $args = new stdClass;
$args->site_srl = $obj->site_srl;
$args->sort_index = $obj->sort_index; $args->sort_index = $obj->sort_index;
$args->page = $obj->page?$obj->page:1; $args->page = $obj->page?$obj->page:1;
$args->list_count = $obj->list_count?$obj->list_count:20; $args->list_count = $obj->list_count?$obj->list_count:20;
@ -48,19 +42,12 @@ class menuAdminModel extends menu
/** /**
* Return all menus * Return all menus
* @param int $site_srl
* @return array * @return array
*/ */
function getMenus($site_srl = null) function getMenus()
{ {
if(!isset($site_srl))
{
$site_module_info = Context::get('site_module_info');
$site_srl = (int)$site_module_info->site_srl;
}
// Get information from the DB // Get information from the DB
$args = new stdClass(); $args = new stdClass();
$args->site_srl = $site_srl ;
$args->menu_srl = $menu_srl; $args->menu_srl = $menu_srl;
$output = executeQueryArray('menu.getMenus', $args); $output = executeQueryArray('menu.getMenus', $args);
if(!$output->data) return; if(!$output->data) return;
@ -94,7 +81,7 @@ class menuAdminModel extends menu
* @param string $title * @param string $title
* @return object * @return object
*/ */
function getMenuByTitle($title, $site_srl = 0) function getMenuByTitle($title)
{ {
// Get information from the DB // Get information from the DB
if(!is_array($title)) if(!is_array($title))
@ -103,7 +90,6 @@ class menuAdminModel extends menu
} }
$args = new stdClass(); $args = new stdClass();
$args->title = $title; $args->title = $title;
$args->site_srl = $site_srl;
$output = executeQuery('menu.getMenuByTitle', $args); $output = executeQuery('menu.getMenuByTitle', $args);
if(!$output->data) return; if(!$output->data) return;
@ -264,19 +250,13 @@ class menuAdminModel extends menu
/** /**
* Return menu name in each language to support multi-language * Return menu name in each language to support multi-language
* @param string $source_name * @param string $source_name
* @param int $site_srl
* @return array * @return array
*/ */
function getMenuItemNames($source_name, $site_srl = null) function getMenuItemNames($source_name)
{ {
if(!$site_srl)
{
$site_module_info = Context::get('site_module_info');
$site_srl = (int)$site_module_info->site_srl;
}
// Get language code // Get language code
$oModuleAdminModel = getAdminModel('module'); $oModuleAdminModel = getAdminModel('module');
return $oModuleAdminModel->getLangCode($site_srl, $source_name, TRUE); return $oModuleAdminModel->getLangCode(0, $source_name, TRUE);
} }
/** /**
@ -397,15 +377,14 @@ class menuAdminModel extends menu
/** /**
* @brief when menu add in sitemap, select module list * @brief when menu add in sitemap, select module list
* this menu showing with trigger * this menu showing with trigger
* @param int $site_srl
* @return array * @return array
*/ */
function getModuleListInSitemap($site_srl = 0) function getModuleListInSitemap()
{ {
$oModuleModel = getModel('module'); $oModuleModel = getModel('module');
$moduleList = array('page'); $moduleList = array('page');
$output = $oModuleModel->getModuleListByInstance($site_srl); $output = $oModuleModel->getModuleListByInstance();
if(is_array($output->data)) if(is_array($output->data))
{ {
foreach($output->data as $value) foreach($output->data as $value)
@ -481,14 +460,7 @@ class menuAdminModel extends menu
public function getMenuAdminSiteMap() public function getMenuAdminSiteMap()
{ {
$siteSrl = Context::get('site_srl'); $menuSrl = intval(Context::get('menu_srl'));
$menuSrl = Context::get('menu_srl');
if(!isset($siteSrl))
{
$site_module_info = Context::get('site_module_info');
$siteSrl = (int)$site_module_info->site_srl;
}
$oModuleModel = getModel('module'); $oModuleModel = getModel('module');
$oMenuAdminController = getAdminController('menu'); $oMenuAdminController = getAdminController('menu');
@ -521,7 +493,7 @@ class menuAdminModel extends menu
{ {
foreach($menu->list AS $key=>$value) foreach($menu->list AS $key=>$value)
{ {
$this->_menuInfoSetting($menu->list[$key], $start_module, $isMenuFixed, $menuSrl,$siteSrl); $this->_menuInfoSetting($menu->list[$key], $start_module, $isMenuFixed, $menuSrl);
} }
$menu->list = array_values($menu->list); $menu->list = array_values($menu->list);
} }
@ -543,7 +515,7 @@ class menuAdminModel extends menu
} }
else else
{ {
$menuListFromDB = $this->getMenus($siteSrl); $menuListFromDB = $this->getMenus();
if(is_array($menuListFromDB)) if(is_array($menuListFromDB))
{ {
$oAdmin = getClass('admin'); $oAdmin = getClass('admin');
@ -572,7 +544,7 @@ class menuAdminModel extends menu
{ {
foreach($menu->list AS $key2=>$value2) foreach($menu->list AS $key2=>$value2)
{ {
$this->_menuInfoSetting($menu->list[$key2], $start_module, $isMenuFixed, $value->menu_srl,$siteSrl); $this->_menuInfoSetting($menu->list[$key2], $start_module, $isMenuFixed, $value->menu_srl);
} }
$menu->list = array_values($menu->list); $menu->list = array_values($menu->list);
} }
@ -661,7 +633,7 @@ class menuAdminModel extends menu
* @param array $menu * @param array $menu
* @return void * @return void
*/ */
private function _menuInfoSetting(&$menu, &$start_module, &$isMenuFixed, $menuSrl,$siteSrl = 0) private function _menuInfoSetting(&$menu, &$start_module, &$isMenuFixed, $menuSrl)
{ {
$oModuleModel = getModel('module'); $oModuleModel = getModel('module');
if(!is_array($start_module)) if(!is_array($start_module))
@ -689,7 +661,7 @@ class menuAdminModel extends menu
if($menu['is_shortcut'] != 'Y') if($menu['is_shortcut'] != 'Y')
{ {
unset($midInfo, $moduleInfo); unset($midInfo, $moduleInfo);
$midInfo = $oModuleModel->getModuleInfoByMid($menu['url'], $siteSrl); $midInfo = $oModuleModel->getModuleInfoByMid($menu['url']);
$moduleInfo = $oModuleModel->getModuleInfoXml($midInfo->module); $moduleInfo = $oModuleModel->getModuleInfoXml($midInfo->module);
if($midInfo) if($midInfo)
@ -740,7 +712,7 @@ class menuAdminModel extends menu
{ {
foreach($menu['list'] as $key=>$value) foreach($menu['list'] as $key=>$value)
{ {
$this->_menuInfoSetting($menu['list'][$key], $start_module, $isMenuFixed, $menuSrl, $siteSrl); $this->_menuInfoSetting($menu['list'][$key], $start_module, $isMenuFixed, $menuSrl);
} }
$menu['list'] = array_values($menu['list']); $menu['list'] = array_values($menu['list']);
} }

View file

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

View file

@ -6,7 +6,7 @@
<column name="*" /> <column name="*" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="site_srl" var="site_srl" filter="number" default="0" notnull="notnull" /> <condition operation="equal" column="site_srl" var="site_srl" filter="number" />
</conditions> </conditions>
<navigation> <navigation>
<index var="sort_index" default="listorder" order="asc" /> <index var="sort_index" default="listorder" order="asc" />

View file

@ -17,7 +17,7 @@ class moduleModel extends module
/** /**
* @brief Check if mid, vid are available * @brief Check if mid, vid are available
*/ */
function isIDExists($id, $site_srl = 0) function isIDExists($id)
{ {
if (!preg_match('/^[a-z]{1}([a-z0-9_]+)$/i', $id)) if (!preg_match('/^[a-z]{1}([a-z0-9_]+)$/i', $id))
{ {
@ -40,18 +40,8 @@ class moduleModel extends module
// mid test // mid test
$args = new stdClass(); $args = new stdClass();
$args->mid = $id; $args->mid = $id;
$args->site_srl = $site_srl;
$output = executeQuery('module.isExistsModuleName', $args); $output = executeQuery('module.isExistsModuleName', $args);
if($output->data->count) return true; if($output->data->count) return true;
// vid test (check mid != vid if site_srl=0, which means it is not a virtual site)
if(!$site_srl)
{
$site_args = new stdClass();
$site_args->domain = $id;
$output = executeQuery('module.isExistsSiteDomain', $site_args);
if($output->data->count) return true;
}
return false; return false;
} }
@ -227,9 +217,8 @@ class moduleModel extends module
$args = new stdClass(); $args = new stdClass();
$args->mid = $mid; $args->mid = $mid;
$args->site_srl = (int)$site_srl;
$module_srl = Rhymix\Framework\Cache::get('site_and_module:module_srl:' . $mid . '_' . $site_srl); $module_srl = Rhymix\Framework\Cache::get('site_and_module:module_srl:' . $mid);
if($module_srl) if($module_srl)
{ {
$module_info = Rhymix\Framework\Cache::get('site_and_module:mid_info:' . $module_srl); $module_info = Rhymix\Framework\Cache::get('site_and_module:mid_info:' . $module_srl);
@ -245,7 +234,7 @@ class moduleModel extends module
$module_info = $output->data; $module_info = $output->data;
if($module_info) if($module_info)
{ {
Rhymix\Framework\Cache::set('site_and_module:module_srl:' . $mid . '_' . $site_srl, $module_info->module_srl, 0, true); Rhymix\Framework\Cache::set('site_and_module:module_srl:' . $mid, $module_info->module_srl, 0, true);
Rhymix\Framework\Cache::set('site_and_module:mid_info:' . $module_info->module_srl, $module_info, 0, true); Rhymix\Framework\Cache::set('site_and_module:mid_info:' . $module_info->module_srl, $module_info, 0, true);
} }
} }
@ -282,15 +271,14 @@ class moduleModel extends module
$moduleInfo = $output->data; $moduleInfo = $output->data;
$mid = $moduleInfo->mid; $mid = $moduleInfo->mid;
$site_srl = $moduleInfo->site_srl;
$moduleInfo->designSettings = new stdClass(); $moduleInfo->designSettings = new stdClass();
$moduleInfo->designSettings->layout = new stdClass(); $moduleInfo->designSettings->layout = new stdClass();
$moduleInfo->designSettings->skin = new stdClass(); $moduleInfo->designSettings->skin = new stdClass();
$oLayoutAdminModel = getAdminModel('layout'); $oLayoutAdminModel = getAdminModel('layout');
$layoutSrlPc = ($moduleInfo->layout_srl == -1) ? $oLayoutAdminModel->getSiteDefaultLayout('P', $moduleInfo->site_srl) : $moduleInfo->layout_srl; $layoutSrlPc = ($moduleInfo->layout_srl == -1) ? $oLayoutAdminModel->getSiteDefaultLayout('P') : $moduleInfo->layout_srl;
$layoutSrlMobile = ($moduleInfo->mlayout_srl == -1) ? $oLayoutAdminModel->getSiteDefaultLayout('M', $moduleInfo->site_srl) : $moduleInfo->mlayout_srl; $layoutSrlMobile = ($moduleInfo->mlayout_srl == -1) ? $oLayoutAdminModel->getSiteDefaultLayout('M') : $moduleInfo->mlayout_srl;
$skinNamePc = ($moduleInfo->is_skin_fix == 'N') ? $this->getModuleDefaultSkin($moduleInfo->module, 'P') : $moduleInfo->skin; $skinNamePc = ($moduleInfo->is_skin_fix == 'N') ? $this->getModuleDefaultSkin($moduleInfo->module, 'P') : $moduleInfo->skin;
$skinNameMobile = ($moduleInfo->is_mskin_fix == 'N') ? $this->getModuleDefaultSkin($moduleInfo->module, $moduleInfo->mskin === '/USE_RESPONSIVE/' ? 'P' : 'M') : $moduleInfo->mskin; $skinNameMobile = ($moduleInfo->is_mskin_fix == 'N') ? $this->getModuleDefaultSkin($moduleInfo->module, $moduleInfo->mskin === '/USE_RESPONSIVE/' ? 'P' : 'M') : $moduleInfo->mskin;
@ -319,7 +307,7 @@ class moduleModel extends module
$moduleInfo->designSettings->skin->mobileIsDefault = ($moduleInfo->is_mskin_fix == 'N' && $moduleInfo->mskin !== '/USE_RESPONSIVE/') ? 1 : 0; $moduleInfo->designSettings->skin->mobileIsDefault = ($moduleInfo->is_mskin_fix == 'N' && $moduleInfo->mskin !== '/USE_RESPONSIVE/') ? 1 : 0;
$moduleInfo->designSettings->skin->mobile = $skinInfoMobile->title; $moduleInfo->designSettings->skin->mobile = $skinInfoMobile->title;
$module_srl = Rhymix\Framework\Cache::get('site_and_module:module_srl:' . $mid . '_' . $site_srl); $module_srl = Rhymix\Framework\Cache::get('site_and_module:module_srl:' . $mid);
if($module_srl) if($module_srl)
{ {
$mid_info = Rhymix\Framework\Cache::get('site_and_module:mid_info:' . $module_srl); $mid_info = Rhymix\Framework\Cache::get('site_and_module:mid_info:' . $module_srl);
@ -331,7 +319,7 @@ class moduleModel extends module
if($mid_info === null) if($mid_info === null)
{ {
Rhymix\Framework\Cache::set('site_and_module:module_srl:' . $mid . '_' . $site_srl, $output->data->module_srl, 0, true); Rhymix\Framework\Cache::set('site_and_module:module_srl:' . $mid, $output->data->module_srl, 0, true);
Rhymix\Framework\Cache::set('site_and_module:mid_info:' . $output->data->module_srl, $moduleInfo, 0, true); Rhymix\Framework\Cache::set('site_and_module:mid_info:' . $output->data->module_srl, $moduleInfo, 0, true);
} }
else else
@ -493,12 +481,12 @@ class moduleModel extends module
*/ */
function getMidList($args = null, $columnList = array()) function getMidList($args = null, $columnList = array())
{ {
$list = Rhymix\Framework\Cache::get('site_and_module:module:mid_list_' . $args->site_srl); $list = Rhymix\Framework\Cache::get('site_and_module:module:mid_list');
if($list === null) if($list === null)
{ {
$argsCount = countobj($args); $argsCount = countobj($args);
if($argsCount === 1 && isset($args->site_srl)) if(!$argsCount || ($argsCount === 1 && isset($args->site_srl)))
{ {
$columnList = array(); $columnList = array();
} }
@ -507,9 +495,9 @@ class moduleModel extends module
if(!$output->toBool()) return $output; if(!$output->toBool()) return $output;
$list = $output->data; $list = $output->data;
if($argsCount === 1 && isset($args->site_srl) && !$columnList) if((!$argsCount || ($argsCount === 1 && isset($args->site_srl))) && !$columnList)
{ {
Rhymix\Framework\Cache::set('site_and_module:module:mid_list_' . $args->site_srl, $list, 0, true); Rhymix\Framework\Cache::set('site_and_module:module:mid_list', $list, 0, true);
} }
} }
@ -547,11 +535,8 @@ class moduleModel extends module
if($mid && !is_array($mid)) $mid = explode(',',$mid); if($mid && !is_array($mid)) $mid = explode(',',$mid);
if(is_array($mid)) $mid = "'".implode("','",$mid)."'"; if(is_array($mid)) $mid = "'".implode("','",$mid)."'";
$site_module_info = Context::get('site_module_info');
$args = new stdClass; $args = new stdClass;
$args->mid = $mid; $args->mid = $mid;
if($site_module_info) $args->site_srl = $site_module_info->site_srl;
$output = executeQuery('module.getModuleSrlByMid', $args); $output = executeQuery('module.getModuleSrlByMid', $args);
if(!$output->toBool()) return $output; if(!$output->toBool()) return $output;
@ -1119,7 +1104,7 @@ class moduleModel extends module
$siteInfo = Context::get('site_module_info'); $siteInfo = Context::get('site_module_info');
$oMenuAdminModel = getAdminModel('menu'); $oMenuAdminModel = getAdminModel('menu');
$installedMenuTypes = $oMenuAdminModel->getModuleListInSitemap($siteInfo->site_srl); $installedMenuTypes = $oMenuAdminModel->getModuleListInSitemap();
$moduleName = $module; $moduleName = $module;
if($moduleName === 'page') if($moduleName === 'page')
{ {
@ -1391,10 +1376,9 @@ class moduleModel extends module
/** /**
* @brief Return the number of modules which are registered on a virtual site * @brief Return the number of modules which are registered on a virtual site
*/ */
function getModuleCount($site_srl, $module = null) function getModuleCount($site_srl = 0, $module = null)
{ {
$args = new stdClass; $args = new stdClass;
$args->site_srl = $site_srl;
if(!is_null($module)) $args->module = $module; if(!is_null($module)) $args->module = $module;
$output = executeQuery('module.getModuleCount', $args); $output = executeQuery('module.getModuleCount', $args);
return $output->data->count; return $output->data->count;
@ -1406,14 +1390,14 @@ class moduleModel extends module
*/ */
function getModuleConfig($module, $site_srl = 0) function getModuleConfig($module, $site_srl = 0)
{ {
$site_srl = 0;
if(!isset($GLOBALS['__ModuleConfig__'][$site_srl][$module])) if(!isset($GLOBALS['__ModuleConfig__'][$site_srl][$module]))
{ {
$config = Rhymix\Framework\Cache::get('site_and_module:module_config:' . $module . '_' . $site_srl); $config = Rhymix\Framework\Cache::get('site_and_module:module_config:' . $module);
if($config === null) if($config === null)
{ {
$args = new stdClass; $args = new stdClass;
$args->module = $module; $args->module = $module;
$args->site_srl = $site_srl;
$output = executeQuery('module.getModuleConfig', $args); $output = executeQuery('module.getModuleConfig', $args);
// Only object type // Only object type
@ -1429,7 +1413,7 @@ class moduleModel extends module
// Set cache // Set cache
if($output->toBool()) if($output->toBool())
{ {
Rhymix\Framework\Cache::set('site_and_module:module_config:' . $module . '_' . $site_srl, $config, 0, true); Rhymix\Framework\Cache::set('site_and_module:module_config:' . $module, $config, 0, true);
} }
} }
$GLOBALS['__ModuleConfig__'][$site_srl][$module] = $config; $GLOBALS['__ModuleConfig__'][$site_srl][$module] = $config;
@ -1489,7 +1473,6 @@ class moduleModel extends module
{ {
$args = new stdClass(); $args = new stdClass();
$args->module = $module; $args->module = $module;
if($site_srl) $args->site_srl = $site_srl;
$output = executeQueryArray('module.getModulePartConfigs', $args); $output = executeQueryArray('module.getModulePartConfigs', $args);
if(!$output->toBool() || !$output->data) if(!$output->toBool() || !$output->data)
@ -1908,7 +1891,7 @@ class moduleModel extends module
function getModuleDefaultSkin($module_name, $skin_type = 'P', $site_srl = 0, $updateCache = true) function getModuleDefaultSkin($module_name, $skin_type = 'P', $site_srl = 0, $updateCache = true)
{ {
$target = ($skin_type == 'M') ? 'mskin' : 'skin'; $target = ($skin_type == 'M') ? 'mskin' : 'skin';
if(!$site_srl) $site_srl = 0; $site_srl = 0;
$designInfoFile = sprintf(_XE_PATH_.'files/site_design/design_%s.php', $site_srl); $designInfoFile = sprintf(_XE_PATH_.'files/site_design/design_%s.php', $site_srl);
if(is_readable($designInfoFile)) if(is_readable($designInfoFile))
@ -2170,22 +2153,10 @@ class moduleModel extends module
// Log-in member only // Log-in member only
if($member_info->member_srl) if($member_info->member_srl)
{ {
if($item->default == 'member') if($item->default == 'member' || $item->default == 'site')
{ {
$grant->{$name} = true; $grant->{$name} = true;
} }
else if($item->default == 'site')
{
// Grant if no information of the currently connected site exists
if(!Context::get('site_module_info')->site_srl)
{
$grant->{$name} = true;
}
else if(count($member_group))
{
$grant->{$name} = true;
}
}
} }
} }
} }
@ -2497,7 +2468,6 @@ class moduleModel extends module
function getModuleListByInstance($site_srl = 0, $columnList = array()) function getModuleListByInstance($site_srl = 0, $columnList = array())
{ {
$args = new stdClass(); $args = new stdClass();
$args->site_srl = $site_srl;
$output = executeQueryArray('module.getModuleListByInstance', $args, $columnList); $output = executeQueryArray('module.getModuleListByInstance', $args, $columnList);
return $output; return $output;
} }

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" notnull="notnull" /> <condition operation="equal" column="site_srl" var="site_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

@ -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" notnull="notnull" default="0" /> <condition operation="equal" column="site_srl" var="site_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>