This commit is contained in:
YJSoft 2015-06-12 18:48:15 +09:00
parent bf9ef78dcc
commit effc774640
29 changed files with 406 additions and 15 deletions

View file

@ -14,6 +14,164 @@ class pollModel extends poll
{
}
/**
* @brief returns poll infomation
*/
function getPollinfo()
{
$args = new stdClass;
$poll_srl = Context::get('poll_srl');
$logged_info = Context::get('logged_info');
if(!$poll_srl || $poll_srl=='') return new Object(-1,"poll_no_poll_srl");
$args->poll_srl = $poll_srl;
// Get the information related to the survey
$columnList = array('poll_count', 'stop_date','poll_type','member_srl');
$output = executeQuery('poll.getPoll', $args, $columnList);
$poll_member_srl = $output->data->member_srl;
if(!$output->data) return new Object(-1,"poll_no_poll_or_deleted_poll");
$poll = new stdClass;
$poll->is_polled = 0;
if($output->data->stop_date < date("Ymd")) $poll->is_polled = 1;
$poll->poll_count = (int)$output->data->poll_count;
$poll->poll_type = (int)$output->data->poll_type;
$poll->stop_date = zdate($output->data->stop_date, "Y-m-d");
$columnList = array('poll_index_srl', 'title', 'checkcount', 'poll_count');
$output = executeQueryArray('poll.getPollTitle', $args, $columnList);
if(!$output->data) return;
$poll->poll = array();
foreach($output->data as $key => $val)
{
$poll->poll[$val->poll_index_srl] = new stdClass;
$poll->poll[$val->poll_index_srl]->poll_index_srl = $val->poll_index_srl;
$poll->poll[$val->poll_index_srl]->title = $val->title;
$poll->poll[$val->poll_index_srl]->checkcount = $val->checkcount;
$poll->poll[$val->poll_index_srl]->poll_count = $val->poll_count;
}
$output = executeQueryArray('poll.getPollItem', $args);
foreach($output->data as $key => $val)
{
unset($val->upload_target_srl);
unset($val->poll_srl);
$val->my_item = false;
if(($val->add_user_srl==$logged_info->member_srl || $poll_member_srl == $logged_info->member_srl) && $val->add_user_srl!=0) $val->my_item = true;
$poll->poll[$val->poll_index_srl]->item[] = $val;
}
$poll->poll_srl = $poll_srl;
$caniadditem = $this->isCanAddItem($poll->poll_type) && !!$logged_info->member_srl;
$oPollModel = getModel('poll');
if($oPollModel->isPolled($poll_srl)) $poll->is_polled = 1;
$this->add('poll', $poll);
$this->add('caniadditem', $caniadditem);
}
/**
* @brief returns poll item infomation
*/
function getPollitemInfo()
{
$args = new stdClass;
$poll_srl = Context::get('poll_srl');
$poll_item = Context::get('poll_item');
if(!$poll_srl || $poll_srl=='') return new Object(-1,"poll_no_poll_srl");
$args->poll_srl = $poll_srl;
$args->poll_item_srl = $poll_item;
// Get the information related to the survey
$columnList = array('poll_type');
$output = executeQuery('poll.getPoll', $args, $columnList);
if(!$output->data) return new Object(-1,"poll_no_poll_or_deleted_poll");
$type = $output->data->poll_type;
$poll = new stdClass();
if($this->isCangetMemberInfo($type))
{
$pollvar = new stdClass;
$pollvar->poll_srl = $poll_srl;
$pollvar->poll_item = $poll_item;
$pollvar->poll_item_srl = $poll_item;
$pollvar->page = !!Context::get('page') ? Context::get('page') : 1;
$pollvar->list_count = !!Context::get('list_count') ? Context::get('list_count') : 5;
$output = executeQueryArray('poll.getMemberbyPollitem', $pollvar);
$output_item = executeQuery('poll.getPollItem', $args);
$poll->title = $output_item->data->title;
$oMemberModel = getModel('member');
$poll->member = array();
$count = 0;
foreach($output->data as $key=>$value)
{
$count++;
$vars = $oMemberModel->getMemberInfoByMemberSrl($value->member_srl);
if(!$value->member_srl)
{
if(Context::get('logged_info')->is_admin === "Y")
{
$ip = (int) str_replace(".","",$value->ip_address);
$poll->member[$ip] = new stdClass();
$poll->member[$ip]->member_srl = 0;
$poll->member[$ip]->nick_name = $value->ip_address;
$poll->member[$ip]->profile_image = "";
}
else
{
$ip = md5(str_replace(".","",$value->ip_address));
$poll->member[$ip] = new stdClass();
$poll->member[$ip]->member_srl = 0;
$poll->member[$ip]->nick_name = "Anonymous";
$poll->member[$ip]->profile_image = "";
}
}
else
{
$poll->member[$vars->member_srl] = new stdClass();
$poll->member[$vars->member_srl]->member_srl = $vars->member_srl;
$poll->member[$vars->member_srl]->nick_name = $vars->nick_name;
if($vars->profile_image->file!='') $poll->member[$vars->member_srl]->profile_image = $vars->profile_image->file;
else $poll->member[$vars->member_srl]->profile_image = "";
}
}
$poll->count = $count;
}
$this->add('item', $poll);
$this->add("dummy_profile","data:image/gif;base64,R0lGODdhFgAWAPQAAMHBwcDAwPr6+t/f3/v7+9HR0fj4+MrKyvz8/PLy8uvr68/Pz+Li4ubm5vT09ODg4M3Nzdra2uzs7MjIyPDw8N3d3dTU1Pb29sLCwv39/cPDw8bGxv7+/sXFxf///8TExCwAAAAAFgAWAAAF2WDXbWRpnuT3iZ3qvjDMxqpGiyqGrbMGfL6dK+ViiTAHRiLROABaH6KxhVlcPByPx1D4RXFG4MbhyXDO28Nug4NhIlhOxpwdBDTQGKARP6MVGBo2KlN7HghZcR4KKzxTHQEVZXRYHgxPjywaBwZ9WAQLg5kqABYGfhwEERhsPI4jghMSfh4UBwGNbS6CAwJyc2YCA4GuLxgMWqhoHg2BMytvlVrTihUBbBs1BwLSyageAhDFGg9xc1nKWQy4UBoUfenAHgnG2+nKcQQQNh0aBYjLzCXLgKXAjhAAOw==");
$this->add("page",$output->page_navigation);
}
/**
* @brief returns poll status
* @see this function uses isPolled function below
*/
function getPollstatus()
{
$poll_srl = Context::get('poll_srl');
if(!$poll_srl || $poll_srl=='') return new Object(-1,"poll_no_poll_srl");
$oPollModel = getModel('poll');
if($oPollModel->isPolled($poll_srl)) $is_polled = 1;
else $is_polled = 0;
$this->add('is_polled', $is_polled);
}
/**
* @brief The function examines if the user has already been polled
*/
@ -39,6 +197,7 @@ class pollModel extends poll
/**
* @brief Return the HTML data of the survey
* Return the result after checking if the poll has responses
* @deprecated this function uses poll skin, which will be removed
*/
function getPollHtml($poll_srl, $style = '', $skin = 'default')
{
@ -97,6 +256,7 @@ class pollModel extends poll
/**
* @brief Return the result's HTML
* @deprecated this function uses poll skin, which will be removed
*/
function getPollResultHtml($poll_srl, $skin = 'default')
{
@ -107,7 +267,7 @@ class pollModel extends poll
if(!$output->data) return '';
$poll = new stdClass;
$poll->style = $style;
$poll->style = $skin;
$poll->poll_count = (int)$output->data->poll_count;
$poll->stop_date = $output->data->stop_date;
@ -144,6 +304,7 @@ class pollModel extends poll
}
/** [TO REVIEW]
* @brief Selected poll - return the colorset of the skin
* @deprecated this function uses poll skin, which will be removed
*/
function getPollGetColorsetList()
{