#19685832 Syndication query 'getSiteUpdateTime' from 'not in' partial modification

#19723832 Syndication bug fixed that 'except module' registered



git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8343 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
devjin 2011-04-29 09:40:45 +00:00
parent 315345a566
commit 84aba4c8fc
4 changed files with 39 additions and 10 deletions

View file

@ -0,0 +1,8 @@
<query id="getExceptModuleSrls" action="select">
<tables>
<table name="syndication_except_modules" />
</tables>
<columns>
<column name="module_srl" />
</columns>
</query>

View file

@ -1,7 +1,6 @@
<query id="getSiteUpdatedTime" action="select">
<tables>
<table name="documents" alias="doc" />
<table name="syndication_except_modules" alias="except_module"/>
</tables>
<columns>
<column name="max(doc.last_update)" alias="last_update" />
@ -10,6 +9,6 @@
<condition operation="equal" column="doc.module_srl" var="module_srl" filter="number" />
<condition operation="more" column="doc.last_update" var="start_date" filter="number" pipe="and" />
<condition operation="less" column="doc.last_update" var="end_date" filter="number" pipe="and" />
<condition operation="notin" column="doc.module_srl" default="except_module.module_srl" pipe="and" />
<condition operation="notin" column="doc.module_srl" var="except_modules" pipe="and" />
</conditions>
</query>

View file

@ -27,12 +27,14 @@
$output = executeQuery('syndication.deleteExceptModules');
if(!$output->toBool()) return $output;
$modules = explode(',',$except_module);
for($i=0,$c=count($modules);$i<$c;$i++) {
$args->module_srl = $modules[$i];
$output = executeQuery('syndication.insertExceptModule',$args);
if(!$output->toBool()) return $output;
}
if ($except_module){
$modules = explode(',',$except_module);
for($i=0,$c=count($modules);$i<$c;$i++) {
$args->module_srl = $modules[$i];
$output = executeQuery('syndication.insertExceptModule',$args);
if(!$output->toBool()) return $output;
}
}
$this->setMessage('success_applied');
}

View file

@ -121,7 +121,17 @@
$site_info->id = $this->getID('site');
$site_info->title = $this->handleLang($site_module_info->browser_title, $site_module_info->site_srl);
$output = executeQuery('syndication.getSiteUpdatedTime');
$except_module_output = executeQueryArray('syndication.getExceptModuleSrls');
if (is_array($except_module_output->data))
{
$except_module_srls = array();
foreach($except_module_output->data as $val)
{
$except_module_srls[] = $val->module_srl;
}
$args->except_modules = implode(',',$except_module_srls);
}
$output = executeQuery('syndication.getSiteUpdatedTime', $args);
if($output->data) $site_info->updated = date("Y-m-d\\TH:i:s", ztime($output->data->last_update)).$time_zone;
$site_info->self_href = $this->getSelfHref($site_info->id,$type);
$site_info->alternative_href =$this->getAlternativeHref();
@ -159,7 +169,17 @@
{
$channel_info->type = "web";
}
$output = executeQuery('syndication.getSiteUpdatedTime');
$except_module_output = executeQueryArray('syndication.getExceptModuleSrls');
if (is_array($except_module_output->data))
{
$except_module_srls = array();
foreach($except_module_output->data as $val)
{
$except_module_srls[] = $val->module_srl;
}
$args->except_modules = implode(',',$except_module_srls);
}
$output = executeQuery('syndication.getSiteUpdatedTime', $args);
if($output->data) $channel_info->updated = date("Y-m-d\\TH:i:s", ztime($output->data->last_update)).$time_zone;
Context::set('channel_info', $channel_info);