public function addExtra() { $extra_id = JFactory::getApplication()->input->get('extra_id', 0, 'int'); $membership_id = JFactory::getApplication()->input->get('cid', 0, 'int'); $my_membership_model = JModelLegacy::getInstance('MyMembership', 'RSMembershipModel'); $add_extra_model = JModelLegacy::getInstance('AddExtra', 'RSMembershipModel'); $bought_extras = $my_membership_model->getBoughtExtras(); $current_extra = $add_extra_model->getExtra(); // check if extra is already purchased if (empty($current_extra) || $current_extra->type != 'checkbox' && isset($bought_extras[$current_extra->extra_id])) { JError::raiseWarning(500, JText::_('COM_RSMEMBERSHIP_ALREADY_BOUGHT_EXTRA')); $this->setRedirect(JRoute::_(RSMembershipRoute::MyMembership($membership_id), false)); } JFactory::getApplication()->input->set('view', 'addextra'); JFactory::getApplication()->input->set('layout', 'default'); parent::display(); }