示例#1
0
 public function addFillInfo()
 {
     $reqResult = new Result();
     $arr = FillConvert::convertFillFromPost();
     $arr['addtime'] = date('Y-m-d H:i:s');
     $arr['creator'] = $_SESSION['user_id'];
     $fillId = FillBaseModel::instance()->insertData($arr);
     if ($fillId) {
         for ($i = 1; $i <= $arr['answernum']; $i++) {
             $answer = test_input($_POST["answer{$i}"]);
             $arr2['fill_id'] = $fillId;
             $arr2['answer_id'] = $i;
             $arr2['answer'] = $answer;
             M('fill_answer')->add($arr2);
         }
         $pointIds = I('post.point', array());
         KeyPointService::instance()->saveExamPoint($pointIds, $fillId, FillBaseModel::FILL_PROBLEM_TYPE);
         $reqResult->setMessage("填空题添加成功!");
         $reqResult->setData("fill");
     } else {
         $reqResult->setStatus(false);
         $reqResult->setMessage("填空题添加失败!");
     }
     return $reqResult;
 }
示例#2
0
 public function fill()
 {
     $tmp = FillBaseModel::instance()->getById($this->id, array('creator', 'isprivate'));
     if (!$this->isProblemCanDelete($tmp['isprivate'], $tmp['creator'])) {
         $this->echoError('You have no privilege!');
     } else {
         FillBaseModel::instance()->delById($this->id);
         $sql = "DELETE FROM `fill_answer` WHERE `fill_id`={$this->id}";
         M()->execute($sql);
         $sql = "DELETE FROM `exp_question` WHERE `question_id`={$this->id} and `type`=3";
         M()->execute($sql);
         $sql = "DELETE FROM `ex_stuanswer` WHERE `question_id`={$this->id} and `type`=3";
         M()->execute($sql);
         QuestionPointBaseModel::instance()->delByQuestion($this->id, 3);
         $this->success("填空题删除成功", U("Teacher/Index/fill", array('page' => $this->page)), 2);
     }
 }
示例#3
0
 public function getProblemsAndAnswer4Exam($eid, $problemType)
 {
     switch ($problemType) {
         case ChooseBaseModel::CHOOSE_PROBLEM_TYPE:
             return ChooseBaseModel::instance()->getChooseProblems4Exam($eid);
             break;
         case JudgeBaseModel::JUDGE_PROBLEM_TYPE:
             return JudgeBaseModel::instance()->getJudgeProblems4Exam($eid);
             break;
         case FillBaseModel::FILL_PROBLEM_TYPE:
             return FillBaseModel::instance()->getFillProblems4Exam($eid);
             break;
         case self::PROGRAM_PROBLEM_TYPE:
             return $this->getProgramProblems4Exam($eid);
             break;
         case self::PROBLEMANS_TYPE_FILL:
             return FillBaseModel::instance()->getFillAnswerByFillId($eid);
             break;
     }
 }
示例#4
0
 public function fill()
 {
     if (IS_POST) {
         if (!check_post_key()) {
             $this->echoError('发生错误!');
         }
         $reqResult = null;
         if (isset($_POST['fillid'])) {
             $reqResult = FillService::instance()->updateFillInfo();
         } else {
             if (isset($_POST['fill_des'])) {
                 $reqResult = FillService::instance()->addFillInfo();
             }
         }
         $this->checkReqResult($reqResult);
     } else {
         if (IS_GET && I('get.id') != '') {
             $id = I('get.id', 0, 'intval');
             $page = I('get.page', 1, 'intval');
             $problemType = I('get.problem', 0, 'intval');
             $key = set_post_key();
             $row = FillBaseModel::instance()->getById($id);
             if (empty($row)) {
                 $this->echoError('No Such Problem!');
             }
             if ($this->checkProblemPrivate($row['isprivate'], $row['creator']) == -1) {
                 $this->echoError('You have no privilege!');
             }
             if ($row['answernum'] != 0) {
                 $ansrow = FillBaseModel::instance()->getFillAnswerByFillId($id);
                 $this->zadd('ansrow', $ansrow);
             }
             $pnt = KeyPointService::instance()->getQuestionPoints($id, FillBaseModel::FILL_PROBLEM_TYPE);
             $this->zadd('page', $page);
             $this->zadd('row', $row);
             $this->zadd('mykey', $key);
             $this->zadd('pnt', $pnt);
             $this->zadd('problemType', $problemType);
             $this->auto_display();
         } else {
             $page = I('get.page', 1, 'intval');
             $key = set_post_key();
             $problemType = I('get.problem', 0, 'intval');
             $this->zadd('page', $page);
             $this->zadd('mykey', $key);
             $this->zadd('problemType', $problemType);
             $this->auto_display();
         }
     }
 }