diff --git a/app/Http/Admin/Controllers/ReviewController.php b/app/Http/Admin/Controllers/ReviewController.php index b76c569e..1434f9b9 100644 --- a/app/Http/Admin/Controllers/ReviewController.php +++ b/app/Http/Admin/Controllers/ReviewController.php @@ -56,8 +56,10 @@ class ReviewController extends Controller $reviewService = new ReviewService(); $review = $reviewService->getReview($id); + $publishTypes = $reviewService->getPublishTypes(); $this->view->setVar('review', $review); + $this->view->setVar('publish_types', $publishTypes); } /** diff --git a/app/Http/Admin/Services/Review.php b/app/Http/Admin/Services/Review.php index 14bc5aa7..efd5a2cc 100644 --- a/app/Http/Admin/Services/Review.php +++ b/app/Http/Admin/Services/Review.php @@ -91,6 +91,10 @@ class Review extends Service $data['rating3'] = $validator->checkRating($post['rating3']); } + if (isset($post['anonymous'])) { + $data['anonymous'] = $validator->checkAnonymous($post['anonymous']); + } + if (isset($post['published'])) { $data['published'] = $validator->checkPublishStatus($post['published']); $this->recountCourseReviews($course); diff --git a/app/Http/Admin/Views/review/edit.volt b/app/Http/Admin/Views/review/edit.volt index eff64270..d7ff6bd6 100644 --- a/app/Http/Admin/Views/review/edit.volt +++ b/app/Http/Admin/Views/review/edit.volt @@ -33,6 +33,22 @@ +
+ +
+ {% for value,title in publish_types %} + {% set checked = value == review.published ? 'checked="checked"' : '' %} + + {% endfor %} +
+
+
+ +
+ + +
+
diff --git a/app/Http/Admin/Views/review/search.volt b/app/Http/Admin/Views/review/search.volt index 048436df..b2f0271f 100644 --- a/app/Http/Admin/Views/review/search.volt +++ b/app/Http/Admin/Views/review/search.volt @@ -32,6 +32,13 @@ {% endfor %}
+
+ +
+ + +
+
diff --git a/app/Http/Home/Views/course/reviews.volt b/app/Http/Home/Views/course/reviews.volt index 352573c3..0949507d 100644 --- a/app/Http/Home/Views/course/reviews.volt +++ b/app/Http/Home/Views/course/reviews.volt @@ -3,18 +3,24 @@ {% if pager.total_pages > 0 %}
{% for item in pager.items %} - {% set owner_url = url({'for':'home.user.show','id':item.owner.id}) %} + {% if item.anonymous == 0 %} + {% set owner_url = url({'for':'home.user.show','id':item.owner.id}) %} + {% set owner_name = item.owner.name %} + {% else %} + {% set owner_url = 'javascript:' %} + {% set owner_name = '匿名用户' %} + {% endif %} {% set like_url = url({'for':'home.review.like','id':item.id}) %}
{{ star_info(item.rating) }}
{{ item.content }}
+
+ +
+ + +
+
diff --git a/app/Http/Home/Views/review/edit.volt b/app/Http/Home/Views/review/edit.volt index 5a46d685..a6056c66 100644 --- a/app/Http/Home/Views/review/edit.volt +++ b/app/Http/Home/Views/review/edit.volt @@ -29,6 +29,13 @@
+
+ +
+ + +
+
diff --git a/app/Services/Logic/Course/ReviewList.php b/app/Services/Logic/Course/ReviewList.php index f3a1c270..a41acbba 100644 --- a/app/Services/Logic/Course/ReviewList.php +++ b/app/Services/Logic/Course/ReviewList.php @@ -69,6 +69,7 @@ class ReviewList extends LogicService 'id' => $review['id'], 'rating' => $review['rating'], 'content' => $review['content'], + 'anonymous' => $review['anonymous'], 'like_count' => $review['like_count'], 'create_time' => $review['create_time'], 'update_time' => $review['update_time'], diff --git a/app/Services/Logic/Review/ReviewInfo.php b/app/Services/Logic/Review/ReviewInfo.php index 7a2ac9c9..6e3cd18f 100644 --- a/app/Services/Logic/Review/ReviewInfo.php +++ b/app/Services/Logic/Review/ReviewInfo.php @@ -44,6 +44,7 @@ class ReviewInfo extends LogicService 'rating1' => $review->rating1, 'rating2' => $review->rating2, 'rating3' => $review->rating3, + 'anonymous' => $review->anonymous, 'published' => $review->published, 'deleted' => $review->deleted, 'like_count' => $review->like_count,