Exemplo n.º 1
0
 public static function getTestByLectureLog()
 {
     $criteria = new CDbCriteria();
     $criteria->condition = 'user_id=:user_id and result=:result';
     $criteria->params = array(':user_id' => Yii::app()->user->id, ':result' => 'OK');
     $criteria->order = 'id DESC';
     $rs = WTrainingLog::model()->findAll($criteria);
     if ($rs) {
         $arrCL = array();
         foreach ($rs as $r) {
             $action = $r['action_url'];
             $arrAction = explode('&', $action);
             $stra = $arrAction[1];
             $course_lecture_id = explode('=', $stra);
             $arrCL[] = WCourseLecture::model()->find('id=:id ORDER BY id DESC', array(':id' => $course_lecture_id[1]));
         }
         return $arrCL;
     } else {
         return null;
     }
 }
Exemplo n.º 2
0
 public function actionEndLectureText()
 {
     $course_lecture_id = $_POST['course_lecture_id'];
     $idtraininglog = $_POST['idtraininglog'];
     $totalText = $_POST['totalText'];
     $totalViewText = $_POST['totalViewText'];
     $viewListText = $_POST['viewListText'];
     $user_id = Yii::app()->user->id;
     $timeOK = $totalViewText / $totalText * 100;
     $viewText = $totalViewText . ' / ' . $totalText;
     $check = 'NOK';
     if ($timeOK >= 90) {
         $check = 'OK';
     }
     //$des = ' View : ('. number_format($timeOK,2,',','.') .'% View pages '.$viewText.')';
     $des = ' Hoàn thành : (' . number_format($timeOK, 2, ',', '.') . '% Xem ' . $viewText . ')';
     $desNotifi = 'Học viên hoàn thành : (' . number_format($timeOK, 2, ',', '.') . '% Xem ' . $viewText . ')';
     $modelTrainingLog = WTrainingLog::model()->findByPk($idtraininglog);
     $modelTrainingLog->user_id = $user_id;
     $modelTrainingLog->description = $des;
     $modelTrainingLog->result = $check;
     $modelTrainingLog->data = $viewListText;
     if ($modelTrainingLog->save()) {
         if ($modelTrainingLog->result == 'OK') {
             $userinfo = WUser::getFullNameUser(Yii::app()->user->id);
             $couseDetails = WCourseLecture::getInfoCourse($course_lecture_id);
             $trainer = WUser::getFullNameUser($couseDetails["created_by"]);
             $title = "Học viên " . $userinfo . " hoàn thành bài giảng:" . $couseDetails["course_name"];
             $content = "Dear <strong>" . $trainer . "</strong>";
             $content .= "<br/>Học viên <strong>" . $userinfo . '</strong> hoàn thành Bài giảng: <a href="' . Yii::app()->createUrl("wCourse/view", array("id" => $couseDetails["id"])) . '"><strong>' . $couseDetails["course_name"] . " (" . date('H:i d/m/Y') . ")</strong></a>";
             //$content .="<br/>==> <a href='".Yii::app()->createUrl("wCourse/view",array("id" => $couseDetails["id"]))."'>".$couseDetails["course_name"]."</a>";
             //$content .="<br />Congratulations, you have completed the lesson. ";
             //$content .="<br />Xin chúc mừng, Bạn đã hoàn thành bài học. ";
             $content .= "<br />" . $modelTrainingLog->description;
             WMessage::SendMessage($title, $content, "notifi", WUser::getIDMinUser(), $couseDetails["created_by"]);
             $mess = 'Xin chúc mừng, Bạn đã hoàn thành bài học. <br />' . $modelTrainingLog->description;
             // Chúc mừng bạn đã hoàn thành bài học
         } else {
             //$mess = 'You need to learn the lesson. <br />'.$modelTrainingLog->description;//Bạn cần phải học lại bài học.
             $mess = 'Bạn chưa hoàn thành bài học. <br />' . $modelTrainingLog->description;
             //Bạn cần phải học lại bài học.
         }
         echo json_encode(array('status' => 'true', 'result' => $modelTrainingLog->result, 'mess' => $mess));
     } else {
         echo json_encode(array('status' => 'false'));
     }
 }
 /**
  * Displays a particular model.
  * @param integer $id the ID of the model to be displayed
  */
 public function actionLectureView($course_lecture_id)
 {
     if (empty(Yii::app()->user->id)) {
         $this->redirect(Yii::app()->createUrl(''));
     }
     $dataLectText = array();
     if (!empty($course_lecture_id)) {
         unset($_SESSION['listLectureText']);
         $db = Yii::app()->db;
         $today = date('Y-m-d H:i');
         $comm = $db->createCommand()->select('t.*,t2.course_name,t4.fullname,t4.id,t4.username,t3.id as lecture_id,t3.lecture_type,t3.avatar,t3.lecture_name,t3.intro,t3.training_minute,t3.files')->from('pls_course_lecture t')->leftJoin('pls_course t2', 't.course_id= t2.id')->leftJoin('pls_lecture t3', 't.lecture_id= t3.id')->leftJoin('pls_user t4', 't2.trainer_id= t4.id')->where('t.id=' . $course_lecture_id);
         $data = $comm->queryRow();
         $data = json_decode(json_encode($data), FALSE);
         if ($data->lecture_type == 1) {
             $dataLectureText = WLectureText::model()->findAll('lecture_id=' . $data->lecture_id . ' ORDER BY id ASC');
         } elseif ($data->lecture_type == 4) {
             $dataLectureText = WLectureText::model()->findAll('lecture_id=' . $data->lecture_id . ' ORDER BY sorder ASC');
         } else {
             $dataLectureText = WLectureText::model()->findAll('lecture_id=' . $data->lecture_id . ' ORDER BY id ASC');
         }
         $dataLectureText = CJSON::decode(CJSON::encode($dataLectureText));
         if (!empty($dataLectureText)) {
             foreach ($dataLectureText as $key => $item) {
                 $dataLectText[$item['id']] = array('lecture_text_title' => $item['title'], 'lecture_text_time' => $item['times'], 'lecture_text_content' => $item['content'], 'images' => $item['images'], 'times' => '', 'data' => 'data', 'lecture_id' => $item['lecture_id'], 'id' => $item['id']);
             }
         }
         Yii::app()->session->add('listLectureText', json_encode($dataLectText));
         $url = Yii::app()->getRequest()->getQueryString();
         $user_id = Yii::app()->user->id;
         $dataTrainingLog = WTrainingLog::model()->find('action_url="' . $url . '" AND user_id=' . $user_id);
         $dataTrainingLog = CJSON::decode(CJSON::encode($dataTrainingLog));
         if (!empty($dataTrainingLog)) {
             $itemRead = $dataTrainingLog['data'];
             if (!empty($itemRead)) {
                 $itemRead = explode(',', $itemRead);
                 foreach ($itemRead as $value) {
                     if (!empty($value)) {
                         $dataTrainingLog['itemActive'][] = $value;
                     }
                 }
             } else {
                 $dataTrainingLog['itemActive'] = array();
             }
         }
     }
     $this->render('view', array('model' => $data, 'text' => $dataLectText, 'dataTrainingLog' => (isset($dataTrainingLog) and !empty($dataTrainingLog)) ? $dataTrainingLog : array()));
 }
 /**
  * Displays a particular model.
  * @param integer $id the ID of the model to be displayed
  */
 public function actionLectureView($course_lecture_id)
 {
     if (empty(Yii::app()->user->id)) {
         $this->redirect(Yii::app()->createUrl(''));
     }
     $dataLectText = array();
     if (!empty($course_lecture_id)) {
         unset($_SESSION['listLectureText']);
         $db = Yii::app()->db;
         $today = date('Y-m-d H:i');
         $comm = $db->createCommand()->select('t.*,(SELECT COUNT(id) FROM pls_course_trainee WHERE course_id=t.course_id AND trainee_id=' . Yii::app()->user->id . ') as trainee,t.id as course_lecture_id,t2.id as course_id,t2.course_name,t4.fullname,t4.id,t4.username,t3.id as lecture_id,t3.lecture_type,t3.avatar,t3.lecture_name,t3.intro,t3.training_minute,t3.files,t3.seconds_question_vod')->from('pls_course_lecture t')->leftJoin('pls_course t2', 't.course_id= t2.id')->leftJoin('pls_lecture t3', 't.lecture_id= t3.id')->leftJoin('pls_user t4', 't2.trainer_id= t4.id')->where('t.id=' . $course_lecture_id);
         $data = $comm->queryRow();
         if (isset($data['trainee']) and $data['trainee'] == 0) {
             $this->redirect(Yii::app()->createUrl(''));
         }
         if (!empty($data['pre_test_id'])) {
             $checkEmptyTest = WTestParent::model()->find("id=" . $data["pre_test_id"]);
             if (!empty($checkEmptyTest)) {
                 $Pretest = WUserTest::model()->find('course_id=' . $data['course_id'] . ' AND test_kind=1 AND status=1 AND lecture_id=' . $data['lecture_id'] . ' AND test_id=' . $data['pre_test_id'] . ' AND user_id=' . Yii::app()->user->id);
                 if (empty($Pretest)) {
                     $this->redirect(Yii::app()->createUrl('wCourseLecture/introduce', array('course_id' => $data['course_id'], 'lecture_id' => $data['lecture_id'], 'test_id' => $data['pre_test_id'], 'kind' => 1)));
                 }
             }
         }
         if ($data['lecture_type'] == 3) {
             Yii::app()->session->add('idCourseLecture', $data['course_lecture_id']);
             $this->redirect(Yii::app()->createUrl('wLecture/WebinarDetails#primary'));
         }
         $data = json_decode(json_encode($data), FALSE);
         if ($data->lecture_type == 1) {
             $dataLectureText = WLectureText::model()->findAll('lecture_id=' . $data->lecture_id . ' ORDER BY id ASC');
         } elseif ($data->lecture_type == 4) {
             $dataLectureText = WLectureText::model()->findAll('lecture_id=' . $data->lecture_id . ' ORDER BY sorder ASC');
         } else {
             $dataLectureText = WLectureText::model()->findAll('lecture_id=' . $data->lecture_id . ' ORDER BY id ASC');
         }
         $dataLectureText = CJSON::decode(CJSON::encode($dataLectureText));
         if (!empty($dataLectureText)) {
             foreach ($dataLectureText as $key => $item) {
                 $dataLectText[$item['id']] = array('lecture_text_title' => $item['title'], 'lecture_text_time' => $item['times'], 'lecture_text_content' => $item['content'], 'images' => $item['images'], 'times' => '', 'data' => 'data', 'lecture_id' => $item['lecture_id'], 'id' => $item['id']);
             }
         }
         Yii::app()->session->add('listLectureText', json_encode($dataLectText));
         $url = Yii::app()->getRequest()->getQueryString();
         $user_id = Yii::app()->user->id;
         $dataTrainingLog = WTrainingLog::model()->find('action_url="' . $url . '" AND user_id=' . $user_id);
         $dataTrainingLog = CJSON::decode(CJSON::encode($dataTrainingLog));
         if (!empty($dataTrainingLog)) {
             $itemRead = $dataTrainingLog['data'];
             if (!empty($itemRead)) {
                 $itemRead = explode(',', $itemRead);
                 foreach ($itemRead as $value) {
                     if (!empty($value)) {
                         $dataTrainingLog['itemActive'][] = $value;
                     }
                 }
             } else {
                 $dataTrainingLog['itemActive'] = array();
             }
         }
     }
     $this->render('trainee/view', array('model' => $data, 'text' => $dataLectText, 'dataTrainingLog' => (isset($dataTrainingLog) and !empty($dataTrainingLog)) ? $dataTrainingLog : array()));
 }