exit; } elseif ($action == 'filter' && ($js_tab == 'stats' || $js_tab == 'instances') && !empty($survey_id)) { # Update the survey filter if (!empty($StartMonth) && !empty($StartDay) && !empty($StartYear) && !empty($EndMonth) && !empty($EndDay) && !empty($EndYear)) { $filter_surveys[$survey_id] = array('date_from' => mktime(0, 0, 0, $StartMonth, $StartDay, $StartYear), 'date_to' => mktime(23, 59, 59, $EndMonth, $EndDay, $EndYear)); } cw_header_location("index.php?target={$target}&survey_id={$survey_id}&js_tab={$js_tab}"); } elseif ($action == 'reset_filter' && ($js_tab == 'stats' || $js_tab == 'instances') && !empty($survey_id)) { # Reset the survey filter if (isset($filter_surveys[$survey_id])) { unset($filter_surveys[$survey_id]); } cw_header_location("index.php?target={$target}&survey_id={$survey_id}&js_tab={$js_tab}"); } $surveys_count = cw_query_first_cell("SELECT COUNT(*) FROM {$tables['surveys']}"); $survey = cw_get_survey($survey_id, $edited_language); $survey = cw_get_survey_results($survey_id, true, $filter_surveys[$survey_id]); if (empty($survey)) { if ($mode == 'preview') { cw_close_window(); } $top_message = array('type' => 'E', 'content' => cw_get_langvar_by_name('txt_survey_not_found')); cw_header_location("index.php?target={$targets}"); } if ($js_tab == "maillist") { # Get maillist (with pagination) $total_items = cw_query_first_cell("SELECT COUNT(survey_id) FROM {$tables['survey_maillist']} WHERE survey_id = '{$survey_id}'"); $navigation = cw_core_get_navigation($target, $total_items, $page); $navigation['script'] = "index.php?target={$target}&js_tab=maillist&survey_id=" . $survey_id; $smarty->assign('navigation', $navigation); if ($total_items > 0) {
} $completed = empty($quids) ? "Y" : (count($quids) == $quids_count ? 'E' : 'N'); cw_array2update("survey_results", array("completed" => $completed), "survey_result_id = '{$survey_result_id}'"); $filled_surveys[$survey_result_id] = $survey_id; $top_message = array('content' => !empty($survey['complete']) ? $survey['complete'] : cw_get_langvar_by_name('txt_survey_default_complete_message')); if ($survey['publish_results']) { cw_header_location("index.php?target=surveys&survey_id=" . $survey_id . "&mode=view"); } cw_header_location("index.php"); } if ((!empty($survey_id) || !empty($survey_key)) && empty($mode)) { # Display survey if (!empty($survey_key)) { $survey_id = cw_query_first_cell("SELECT survey_id FROM {$tables['survey_maillist']} WHERE access_key = '{$survey_key}'"); } $survey = cw_get_survey($survey_id); if (!empty($survey) && $survey['valid'] && ($survey['survey_type'] != 'R' || !empty($customer_id) || !empty($survey_key))) { if ($check_res = cw_check_survey_filling($survey_id)) { $top_message = array("type" => "W"); if ($check_res == 1) { $top_message['content'] = cw_get_langvar_by_name("txt_survey_is_already_filling_sess"); } elseif ($check_res == 2) { $top_message['content'] = cw_get_langvar_by_name("txt_survey_is_already_filling_ip"); } elseif ($check_res == 3) { $top_message['content'] = cw_get_langvar_by_name("txt_survey_is_already_filling_customer_id"); } cw_header_location("index.php?target=survey"); } $smarty->assign('survey', $survey); $smarty->assign('survey_key', $survey_key); } else {
function cw_get_survey_instance($survey_result_id) { global $tables; $result = cw_query_first("SELECT {$tables['survey_results']}.*, {$tables['customers']}.usertype FROM {$tables['survey_results']} LEFT JOIN {$tables['customers']} ON {$tables['survey_results']}.customer_id={$tables['customers']}.customer_id WHERE {$tables['survey_results']}.survey_result_id = '{$survey_result_id}'"); if (empty($result)) { return false; } $survey = cw_get_survey($result['survey_id']); $survey['result'] = $result; if (!empty($survey['questions'])) { foreach ($survey['questions'] as $qid => $q) { if (empty($q['answers']) && $q['answers_type'] != 'N') { continue; } if (empty($q['answers'])) { $survey['questions'][$qid]['comment'] = cw_query_first_cell("SELECT comment FROM {$tables['survey_result_answers']} WHERE question_id = '{$qid}' AND survey_result_id = '{$survey_result_id}'"); continue; } foreach ($q['answers'] as $aid => $a) { $tmp = cw_query_first("SELECT answer_id, comment FROM {$tables['survey_result_answers']} WHERE question_id = '{$qid}' AND survey_result_id = '{$survey_result_id}' AND answer_id = '{$aid}'"); $q['answers'][$aid]['selected'] = $tmp['answer_id'] == $aid; $q['answers'][$aid]['comment'] = $tmp['comment']; } $survey['questions'][$qid] = $q; } } return $survey; }