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