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; } }
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())); }