<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://htyp.org/mw/index.php?action=history&amp;feed=atom&amp;title=VbzCart%2Fv1%2Fclass%2FvcPageContent_ckout%2FHandlePageRequest</id>
	<title>VbzCart/v1/class/vcPageContent ckout/HandlePageRequest - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://htyp.org/mw/index.php?action=history&amp;feed=atom&amp;title=VbzCart%2Fv1%2Fclass%2FvcPageContent_ckout%2FHandlePageRequest"/>
	<link rel="alternate" type="text/html" href="https://htyp.org/mw/index.php?title=VbzCart/v1/class/vcPageContent_ckout/HandlePageRequest&amp;action=history"/>
	<updated>2026-06-27T07:59:00Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://htyp.org/mw/index.php?title=VbzCart/v1/class/vcPageContent_ckout/HandlePageRequest&amp;diff=24882&amp;oldid=prev</id>
		<title>Woozle: Created page with &quot;{{page/code/class/method}} ==Calls== * {{l/version/method|vcPageContent_ckout|ProcessPage}}() calls ** {{hilite|{{l/version/method|vcPageContent_ckout|HandlePageRequest}}()}}...&quot;</title>
		<link rel="alternate" type="text/html" href="https://htyp.org/mw/index.php?title=VbzCart/v1/class/vcPageContent_ckout/HandlePageRequest&amp;diff=24882&amp;oldid=prev"/>
		<updated>2019-04-27T22:29:52Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{page/code/class/method}} ==Calls== * {{l/version/method|vcPageContent_ckout|ProcessPage}}() calls ** {{hilite|{{l/version/method|vcPageContent_ckout|HandlePageRequest}}()}}...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{page/code/class/method}}&lt;br /&gt;
==Calls==&lt;br /&gt;
* {{l/version/method|vcPageContent_ckout|ProcessPage}}() calls&lt;br /&gt;
** {{hilite|{{l/version/method|vcPageContent_ckout|HandlePageRequest}}()}}&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
    /*----&lt;br /&gt;
      ACTION: Based on what page the user is *requesting* (as determined by DetectPageRequest())&lt;br /&gt;
	and the current conditions (mainly: was the previous page&amp;#039;s form filled out properly?),&lt;br /&gt;
	determine what page to display next.&lt;br /&gt;
    */&lt;br /&gt;
    protected function HandlePageRequest() {&lt;br /&gt;
	// figure out if user is trying to advance, and if so whether to allow it:&lt;br /&gt;
	$sPgShow = $this-&amp;gt;GetPageKey_forShow();	// 2018-07-22 This probably needs to come from the Content object now.&lt;br /&gt;
&lt;br /&gt;
	// DEBUGGING&lt;br /&gt;
	//echo &amp;quot;PAGE KEY FOR SHOW = [$sPgShow]&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	// TODO: why don&amp;#039;t we just say $formSeqShow = $sPgShow, after checking for a valid $sPgShow?&lt;br /&gt;
	switch ($sPgShow) {&lt;br /&gt;
	  case KSQ_PAGE_CART:	$formSeqShow = KI_SEQ_CART;	break;&lt;br /&gt;
	  case KSQ_PAGE_SHIP:	$formSeqShow = KI_SEQ_SHIP;	break;&lt;br /&gt;
	  case KSQ_PAGE_PAY:	$formSeqShow = KI_SEQ_PAY;	break;&lt;br /&gt;
	  case KSQ_PAGE_CONF:	$formSeqShow = KI_SEQ_CONF;	break;&lt;br /&gt;
	  case KSQ_PAGE_RCPT:	$formSeqShow = KI_SEQ_RCPT;	break;&lt;br /&gt;
//	  default: $formSeqShow = 0;	break;&lt;br /&gt;
	  default: throw new exception(&amp;quot;Page key is [$sPgShow]. How did we get here?&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
	//echo &amp;quot;FORMSEQDATA=[&amp;quot;.$this-&amp;gt;formSeqData.&amp;quot;] FORMSEQSHOW=[$formSeqShow]&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
	//$didRequestAdvance = !is_null($this-&amp;gt;formSeqData) &amp;amp;&amp;amp; ($formSeqShow &amp;gt; $this-&amp;gt;GetFormSeqData());&lt;br /&gt;
	$didRequestAdvance = $this-&amp;gt;IsFormSeq_AnAdvanceRequest($formSeqShow);&lt;br /&gt;
	//$this-&amp;gt;DidRequestAdvance($didRequestAdvance);&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	$arMissed = $this&lt;br /&gt;
	  -&amp;gt;GetCartRecord()&lt;br /&gt;
	  -&amp;gt;FieldsManager()		// object that manages checkout data forms&lt;br /&gt;
	  -&amp;gt;GetMissingArray()		// array of required fields the user hasn&amp;#039;t filled in, so we can complain&lt;br /&gt;
	  ;&lt;br /&gt;
	if (count($arMissed) &amp;gt; 0) {&lt;br /&gt;
	    $okToAdvance = FALSE;&lt;br /&gt;
	    if ($didRequestAdvance) {&lt;br /&gt;
		// The user tried to advance, so alert user to any missing fields:&lt;br /&gt;
		$sList = NULL;&lt;br /&gt;
		foreach ($arMissed as $ctrl) {&lt;br /&gt;
		    $sAlias = $ctrl-&amp;gt;DisplayAlias();&lt;br /&gt;
		    if (!is_null($sList)) {&lt;br /&gt;
			$sList .= &amp;#039;, &amp;#039;;&lt;br /&gt;
		    }&lt;br /&gt;
		    $sList .= $sAlias;&lt;br /&gt;
		}&lt;br /&gt;
		$sMsg = &amp;#039;&amp;lt;b&amp;gt;Some information is missing&amp;lt;/b&amp;gt; &amp;amp;ndash; we really need the following items in order to process your order correctly: &amp;lt;b&amp;gt;&amp;#039;&lt;br /&gt;
		  .$sList&lt;br /&gt;
		  .&amp;#039;&amp;lt;/b&amp;gt;&amp;#039;&lt;br /&gt;
		  ;&lt;br /&gt;
		  //echo &amp;#039;ARMISSED:&amp;#039;.fcArray::Render($arMissed);&lt;br /&gt;
		  //echo &amp;#039;COUNT: &amp;#039;.count($arMissed).&amp;#039;&amp;lt;br&amp;gt;&amp;#039;;&lt;br /&gt;
		//die(&amp;#039;MISSED STUFF: &amp;#039;.$sMsg);&lt;br /&gt;
		$this-&amp;gt;FormAlertMessage($sMsg);&lt;br /&gt;
	    }&lt;br /&gt;
	} else {&lt;br /&gt;
	    // For now, we can move on if there aren&amp;#039;t any fields missing.&lt;br /&gt;
	    $okToAdvance = TRUE;&lt;br /&gt;
	    // Later there might be other reasons not to advance.&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	//echo &amp;quot;REQ ADVANCE?[$didRequestAdvance] OK TO ADVANCE?[$okToAdvance]&amp;quot;;&lt;br /&gt;
	if ($didRequestAdvance &amp;amp;&amp;amp; !$okToAdvance) {&lt;br /&gt;
	    // user tried to advance when it wasn&amp;#039;t ok -- stay on the same page&lt;br /&gt;
	    $this-&amp;gt;SetPageKey_forShow($this-&amp;gt;GetPageKey_forData());&lt;br /&gt;
	}&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Woozle</name></author>
	</entry>
</feed>