/** * 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; }