/** * toggle_registration_status_for_default_approved_events * * @access public * @param EE_Registration $registration * @param bool $save TRUE will save the registration if the status is updated, FALSE will leave that up to client code * @return boolean */ public function toggle_registration_status_for_default_approved_events(EE_Registration $registration, $save = TRUE) { // set initial REG_Status $this->set_old_reg_status($registration->ID(), $registration->status_ID()); // if not already, toggle reg status to approved IF the event default reg status is approved if ($registration->status_ID() !== EEM_Registration::status_id_approved && $registration->event()->default_registration_status() == EEM_Registration::status_id_approved) { // set incoming REG_Status $this->set_new_reg_status($registration->ID(), EEM_Registration::status_id_approved); // toggle status to approved $registration->set_status(EEM_Registration::status_id_approved); if ($save) { $registration->save(); } // don't trigger notifications during IPNs because they will get triggered by EE_Payment_Processor if (!EE_Processor_Base::$IPN) { // otherwise, send out notifications add_filter('FHEE__EED_Messages___maybe_registration__deliver_notifications', '__return_true', 10); } // DEBUG LOG //$this->log( // __CLASS__, __FUNCTION__, __LINE__, // $registration->transaction(), // array( // 'IPN' => EE_Processor_Base::$IPN, // 'deliver_notifications' => has_filter( 'FHEE__EED_Messages___maybe_registration__deliver_notifications' ), // ) //); return TRUE; } return FALSE; }