示例#1
0
 public function create()
 {
     $survey_code = $_GET['code'];
     $sv_type = $_GET['type'];
     $sv_type_sub = $_GET['typesub'];
     $user_code = cookie('user_code');
     // 先判断是否有调查编码参数
     if ($survey_code) {
         // 有调查编码转入修改模式
         $survey = surveyInfoFind($survey_code);
         // 查询调查基本信息
         if ($survey) {
             if ($survey[survey_state] > 1) {
                 // 已发布调查直接转到调查分析页面
                 $url = U('survey/analyse') . '?code=' . $survey_code . '#svContent';
                 redirect($url);
             } else {
                 // 用户权限判断
                 if ($user_code == $survey['user_code']) {
                     // 取调查问题相关信息
                     $question = questionInfoSelect($survey_code);
                     $option = optionInfoSelect($survey_code);
                     cookie('survey_code', $survey_code, 3600);
                     $this->assign('survey', $survey);
                     $this->assign('question', $question);
                     $this->assign('option', $option);
                 } else {
                     $this->error('您不是该调查创建者没有权限修改该调查', '__ROOT__');
                 }
             }
         } else {
             // 查不到调查编码对应的信息重新转入到新建调查页面
             redirect(U());
         }
     } else {
         // 无调查编码转入创建模式
         cookie('survey_code', null);
     }
     $survey_type = M(TB_DET_SURVEY_TYPE)->select();
     $survey_class = M(TB_DET_SURVEY_CLASS)->select();
     $province = M(TB_DET_AREA_PROVINCE)->select();
     $career = M(TB_DET_USER_CAREER)->select();
     $edu = M(TB_DET_USER_EDU)->select();
     $level = M(TB_DET_USER_LEVEL)->select();
     $this->assign('survey_code', $survey_code);
     $this->assign('sv_type', $sv_type);
     $this->assign('sv_type_sub', $sv_type_sub);
     $this->assign('survey_type', $survey_type);
     $this->assign('survey_class', $survey_class);
     $this->assign('province', $province);
     $this->assign('career', $career);
     $this->assign('edu', $edu);
     $this->assign('level', $level);
     $this->display();
 }
示例#2
0
function surveyInfoSelect($survey_code, $url)
{
    $survey['info'] = M(TB_BAS_SURVEY_INFO)->where("survey_code = '{$survey_code}'")->find();
    if ($survey['info']) {
        // $survey['info']['survey_desc'] = str_replace("\n", "<br/>", $survey['info']['survey_desc']) ;           // 调查说明输出前换行符转换
        $survey['url']['url_user'] = U('user/user/visit') . '?code=' . $survey['info']['user_code'];
        // 调查创建者访问地址
        $survey['url']['url_create'] = U('survey/survey/create') . '?code=' . $survey['info']['survey_code'];
        // 调查参与地址
        $survey['url']['url_visit'] = U('survey/survey/visit') . '?code=' . $survey['info']['survey_code'];
        // 调查参与地址
        $survey['url']['url_answer'] = U('survey/survey/answer') . '?code=' . $survey['info']['survey_code'];
        // 调查参与地址
        $survey['url']['url_analyse'] = U('survey/survey/analyse') . '?code=' . $survey['info']['survey_code'];
        // 调查分析地址
        $survey['stats']['answer_count'] = M(TB_BAS_SURVEY_ACTION)->where("survey_code = '{$survey_code}'")->count();
        // 参与统计
        $survey['stats']['follow_count'] = M(TB_BAS_USER_FOLLOW_SURVEY)->where("follow_code = '{$survey_code}'")->count();
        // 收藏统计
        $survey['stats']['share_count'] = M(TB_BAS_USER_SHARE_SURVEY)->where("share_code = '{$survey_code}'")->count();
        // 分享统计
        $option = optionInfoSelect($survey_code);
        $question = M(TB_BAS_QUESTION_INFO)->where("survey_code = '{$survey_code}'")->order('question_code')->select();
        // 自定义推荐规则查询
        if ($survey['info']['recomm_type'] == 2) {
            $survey['recommend'] = M(TB_BAS_SURVEY_RECOMMEND_RULE)->where("survey_code = '{$survey_code}'")->select();
        }
        for ($q = 0; $q < count($question); $q++) {
            $survey['question'][$q] = $question[$q];
            if ($question[$q]['question_type'] != 'textarea') {
                for ($o = 0, $i = 0; $o < count($option); $o++) {
                    if ($question[$q]['question_code'] == $option[$o]['question_code']) {
                        $survey['question'][$q]['option'][$i] = arrayExtract($option[$o], array('option_code', 'option_name', 'option_seq', 'option_type'));
                        $i++;
                    }
                }
            }
        }
        return $survey;
    } else {
        return false;
    }
}