Merge pull request #227 from smaker/upstream

설문조사가 추가되지 않는 문제 수정
This commit is contained in:
sungbum hong 2014-01-06 17:22:12 -08:00
commit 794436592a

View file

@ -20,9 +20,9 @@ class pollController extends poll
function procInsert() function procInsert()
{ {
$stop_date = Context::get('stop_date'); $stop_date = Context::get('stop_date');
if($stop_date < date("Ymd")) if($stop_date < date('Ymd'))
{ {
$stop_date = date("YmdHis", $_SERVER['REQUEST_TIME']+60*60*24*365); $stop_date = date('YmdHis', $_SERVER['REQUEST_TIME']+60*60*24*365);
} }
$logged_info = Context::get('logged_info'); $logged_info = Context::get('logged_info');
@ -30,28 +30,70 @@ class pollController extends poll
$args = new stdClass; $args = new stdClass;
$tmp_args = array(); $tmp_args = array();
unset($vars->_filter);
unset($vars->error_return_url);
unset($vars->stop_date);
foreach($vars as $key => $val) foreach($vars as $key => $val)
{ {
if(strpos($key,'tidx')) continue; if(stripos($key, 'tidx'))
if(!preg_match("/^(title|checkcount|item)_/i", $key)) continue; {
if(!trim($val)) continue; continue;
}
$tmp_arr = explode('_', $key); $tmp_arr = explode('_', $key);
$poll_index = $tmp_arr[1]; $poll_index = $tmp_arr[1];
if(!$poll_index)
{
continue;
}
if($logged_info->is_admin != 'Y') $val = htmlspecialchars($val, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); if(!trim($val))
{
continue;
}
if($tmp_args[$poll_index] == NULL)
{
$tmp_args[$poll_index] = new stdClass; $tmp_args[$poll_index] = new stdClass;
if($tmp_arr[0]=='title') $tmp_args[$poll_index]->title = $val; }
else if($tmp_arr[0]=='checkcount') $tmp_args[$poll_index]->checkcount = $val;
else if($tmp_arr[0]=='item') $tmp_args[$poll_index]->item[] = $val; if(!is_array($tmp_args[$poll_index]->item))
{
$tmp_args[$poll_index]->item = array();
}
if($logged_info->is_admin != 'Y')
{
$val = htmlspecialchars($val, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
}
switch($tmp_arr[0])
{
case 'title':
$tmp_args[$poll_index]->title = $val;
break;
case 'checkcount':
$tmp_args[$poll_index]->checkcount = $val;
break;
case 'item':
$tmp_args[$poll_index]->item[] = $val;
break;
}
} }
foreach($tmp_args as $key => $val) foreach($tmp_args as $key => $val)
{ {
if(!$val->checkcount) $val->checkcount = 1; if(!$val->checkcount)
if($val->title && count($val->item)) $args->poll[] = $val; {
$val->checkcount = 1;
}
if($val->title && count($val->item))
{
$args->poll[] = $val;
}
} }
if(!count($args->poll)) return new Object(-1, 'cmd_null_item'); if(!count($args->poll)) return new Object(-1, 'cmd_null_item');