original_string: public function Gdn_Dispatcher_AppStartup_Handler($Sender) {
        header('P3P: CP="CAO PSA OUR"', TRUE);
        
        if (!Gdn::Session()->IsValid() && $SSO = Gdn::Request()->Get('sso')) {
           SaveToConfig('Garden.Registration.SendConnectEmail', FALSE, FALSE);
           
           $UserID = FALSE;
           try {
              $UserID = Gdn::UserModel()->SSO($SSO);
           } catch (Exception $Ex) {
              Trace($Ex, TRACE_ERROR);
           }
           
           if ($UserID) {
              Gdn::Session()->Start($UserID, TRUE, TRUE);
              Gdn::UserModel()->FireEvent('AfterSignIn');
           } else {
              // There was some sort of error. Let's print that out.
              Trace(Gdn::UserModel()->Validation->ResultsText(), TRACE_WARNING);
           }
        }
     }
code: public function Gdn_Dispatcher_AppStartup_Handler($Sender) {
        header('P3P: CP="CAO PSA OUR"', TRUE);
        
        if (!Gdn::Session()->IsValid() && $SSO = Gdn::Request()->Get('sso')) {
           SaveToConfig('Garden.Registration.SendConnectEmail', FALSE, FALSE);
           
           $UserID = FALSE;
           try {
              $UserID = Gdn::UserModel()->SSO($SSO);
           } catch (Exception $Ex) {
              Trace($Ex, TRACE_ERROR);
           }
           
           if ($UserID) {
              Gdn::Session()->Start($UserID, TRUE, TRUE);
              Gdn::UserModel()->FireEvent('AfterSignIn');
           } else {
              // There was some sort of error. Let's print that out.
              Trace(Gdn::UserModel()->Validation->ResultsText(), TRACE_WARNING);
           }
        }
     }
code_tokens: public function Gdn_Dispatcher_AppStartup_Handler ( $ Sender ) { header ( 'P3P: CP="CAO PSA OUR"' , TRUE ) ; if ( ! Gdn :: Session ( ) -> IsValid ( ) && $ SSO = Gdn :: Request ( ) -> Get ( 'sso' ) ) { SaveToConfig ( 'Garden.Registration.SendConnectEmail' , FALSE , FALSE ) ; $ UserID = FALSE ; try { $ UserID = Gdn :: UserModel ( ) -> SSO ( $ SSO ) ; } catch ( Exception $ Ex ) { Trace ( $ Ex , TRACE_ERROR ) ; } if ( $ UserID ) { Gdn :: Session ( ) -> Start ( $ UserID , TRUE , TRUE ) ; Gdn :: UserModel ( ) -> FireEvent ( 'AfterSignIn' ) ; } else { // There was some sort of error. Let's print that out. Trace ( Gdn :: UserModel ( ) -> Validation -> ResultsText ( ) , TRACE_WARNING ) ; } } }
docstring: Set P3P header because IE won't allow cookies thru the iFrame without it.
  
  This must be done in the Dispatcher because of PrivateCommunity.
  That precludes using Controller->SetHeader.
  This is done so comment & forum embedding can work in old IE.
docstring_tokens: Set P3P header because IE won t allow cookies thru the iFrame without it .