Example #1
0
 /**
  * Edit a review
  *
  * @return  void
  */
 public function editreview()
 {
     // Is the user logged in?
     if (User::isGuest()) {
         $this->setError(Lang::txt('PLG_PUBLICATIONS_REVIEWS_LOGIN_NOTICE'));
         return;
     }
     $publication =& $this->publication;
     // Do we have an ID?
     if (!$publication->exists()) {
         // No - fail! Can't do anything else without an ID
         $this->setError(Lang::txt('PLG_PUBLICATIONS_REVIEWS_NO_RESOURCE_ID'));
         return;
     }
     // Incoming
     $myr = Request::getInt('myrating', 0);
     $database = App::get('db');
     $review = new \Components\Publications\Tables\Review($database);
     $review->loadUserReview($publication->get('id'), User::get('id'), $publication->get('version_id'));
     if (!$review->id) {
         // New review, get the user's ID
         $review->created_by = User::get('id');
         $review->publication_id = $publication->get('id');
         $review->publication_version_id = $publication->get('version_id');
         $review->tags = '';
         $review->rating = 3;
     } else {
         // Editing a review, do some prep work
         $review->comment = str_replace('<br />', '', $review->comment);
         $this->publication->getTagsForEditing($review->created_by);
         $review->tags = $this->publication->_tagsForEditing ? $this->publication->_tagsForEditing : '';
     }
     $review->rating = $myr ? $myr : $review->rating;
     // Store the object in our registry
     $this->myreview = $review;
     return;
 }