/** * Displays a particular model. * @param integer $id the ID of the model to be displayed */ public function actionView($id) { $course = Course::model()->with('user')->findByPk($id); if ($course === null) { throw new CHttpException(404, 'The requested page does not exist.'); } // $member = $course->findMember(array('userId'=>Yii::app()->user->id)); if (!Yii::app()->user->isGuest) { $member = CourseMember::model()->findByAttributes(array('courseId' => $course->id, 'userId' => Yii::app()->user->id)); } // 公告数据提供者 $announcementDataProvider = new CActiveDataProvider('Announcement', array('criteria' => array('condition' => "courseId=" . intval($id), 'order' => 'upTime DESC'), 'pagination' => array('pageSize' => '2'))); // $member = $course->findMember(array('userId'=>Yii::app()->user->id)); if (!Yii::app()->user->isGuest) { $member = CourseMember::model()->findByAttributes(array('courseId' => $course->id, 'userId' => Yii::app()->user->id)); } else { $member = new CourseMember(); } $studentDataProvider = new CActiveDataProvider('CourseMember', array('criteria' => array('condition' => 'find_in_set("student",roles) and courseId=' . $course->id, 'order' => 'startTime desc'), 'pagination' => array('pageSize' => 14))); $teacherDataProvider = new CActiveDataProvider('CourseMember', array('criteria' => array('condition' => 'find_in_set("teacher",roles) and courseId=' . $course->id))); //如果尚未处于发布状态 if ($course->status != Course::STATUS_OK && $member && $member->inRoles(array('superAdmin', 'admin'))) { $this->redirect(array('manage/index/setBasic', 'id' => $course->id)); Yii::app()->end(); } $criteria = new CDbCriteria(); $criteria->condition = "courseId=:courseId and status=:status"; $criteria->params = array(':courseId' => $course->id, ':status' => Course::STATUS_OK); $criteria->order = "weight asc"; $lessons = Lesson::model()->findAll($criteria); $criteria->condition = "courseId=:courseId"; $criteria->params = array(':courseId' => $course->id); $chapters = Chapter::model()->findAll($criteria); $lessonsAndChapters = array_merge($lessons, $chapters); usort($lessonsAndChapters, array(new LessonSorter(), 'sortByWeight')); //作为已购买用户 if (Yii::app()->user->checkAccess('courseOwner', array('course' => $course)) || $member && $member->inRoles(array('superAdmin', 'admin', 'member', 'teacher', 'student'))) { $this->render('view', array('course' => $course, 'member' => $member, 'lessonDataProvider' => $course->getLessonDataProvider(array('pagination' => array('pageSize' => 15))), 'studentDataProvider' => $studentDataProvider, 'teacherDataProvider' => $teacherDataProvider, 'rateDataProvider' => $course->getRateDataProvider(), 'announcementDataProvider' => $announcementDataProvider, 'lessonsAndChapters' => $lessonsAndChapters)); //作为未购买用户 } else { $this->render('nopaying_user_view', array('course' => $course, 'lessonDataProvider' => $course->getLessonDataProvider(), 'studentDataProvider' => $studentDataProvider, 'teacherDataProvider' => $teacherDataProvider, 'rateDataProvider' => $course->getRateDataProvider(), 'lessonsAndChapters' => $lessonsAndChapters)); } /* * modified by lsy 20130807 */ }
/** * 课程评价页 */ public function actionIndex($courseId) { $model = $this->loadCourse($courseId); // 教师数据提供者 $teacherDataProvider = new CActiveDataProvider('CourseMember', array('criteria' => array('condition' => 'find_in_set("teacher",roles) and courseId=' . $model->id))); // 回复光荣榜数据提供者 $memberDataProvider = new CActiveDataProvider('CourseMember', array('criteria' => array('condition' => 'commentNum>0', 'order' => 'commentNum DESC'), 'pagination' => array('pageSize' => 5))); // 课程讨论数据提供者 $postDataProvider = new CActiveDataProvider('CoursePost', array('criteria' => array('condition' => "courseId={$model->id}", 'order' => 'isTop DESC, addTime DESC'))); // CourseMember 对象 if (!Yii::app()->user->isGuest) { $courseMember = CourseMember::model()->findByAttributes(array('courseId' => $model->id, 'userId' => Yii::app()->user->id)); } else { $courseMember = new CourseMember(); } // 用户是否购买课程,使用不同的header视图 if (Yii::app()->user->checkAccess('courseOwner', array('course' => $model)) || $courseMember && $courseMember->inRoles(array('superAdmin', 'admin', 'member', 'teacher', 'student'))) { $this->viewMenuName = '/index/_view_menu'; $this->viewHeaderName = '/index/_view_header'; } $this->render('index', array('model' => $model, 'teacherDataProvider' => $teacherDataProvider, 'memberDataProvider' => $memberDataProvider, 'postDataProvider' => $postDataProvider, 'courseMember' => $courseMember)); }
/** * 课程主页 课程列表 */ public function actionView($id) { $model = $this->loadModel($id); // 教师数据提供者 $teacherDataProvider = new CActiveDataProvider('CourseMember', array('criteria' => array('condition' => 'find_in_set("teacher",roles) and courseId=' . $model->id))); // 学生数据提供者 $studentDataProvider = new CActiveDataProvider('CourseMember', array('criteria' => array('condition' => 'find_in_set("student",roles) and courseId=' . $model->id, 'order' => 'startTime desc'), 'pagination' => array('pageSize' => 9))); // 课时数据提供者 $lessonDataProvider = $model->getLessonDataProvider(); // CourseMember 对象 if (!Yii::app()->user->isGuest) { $courseMember = CourseMember::model()->findByAttributes(array('courseId' => $model->id, 'userId' => Yii::app()->user->id)); } else { $courseMember = new CourseMember(); } // 用户是否购买课程,使用不同的header视图 if (Yii::app()->user->checkAccess('courseOwner', array('course' => $model)) || $courseMember && $courseMember->inRoles(array('superAdmin', 'admin', 'member', 'teacher', 'student'))) { $this->viewMenuName = '_view_menu'; $this->viewHeaderName = '_view_header'; } $this->render('view', array('model' => $model, 'courseMember' => $courseMember, 'teacherDataProvider' => $teacherDataProvider, 'studentDataProvider' => $studentDataProvider, 'lessonDataProvider' => $lessonDataProvider, 'courseMember' => $courseMember)); }