global $CTX; if(!session_id()) @session_start(); $data = &$_SESSION['_']; if( !is_array($data) ){ $data = array(); } if( !is_array($data['post']) ){ $data = array(); } if( !is_array($data['field_values']) ){ $data = array(); } $total_pages = intval( $CTX->get('total_pages', 1) ); if( !$CTX->get('k_submitted', 1) ){ $current_page = intval( $_POST['k_current_step'] ); if( $current_page>$total_pages ) $current_page = $total_pages; if( $current_page<1 ) $current_page = 1; // Check if saved data available for current page if( !isset($_POST['k_hid_']) ){ if( isset($data['post'][$current_page]) ){ $_POST = $data['post'][$current_page]; } } else{ if( isset($_POST['back']) && $current_page>1 ){ $current_page--; if( isset($data['post'][$current_page]) ){ $_POST = $data['post'][$current_page]; } } } $CTX->set( 'k_current_step', $current_page ); } else{ if( $CTX->get('k_success', 1) ){ $current_page = intval( $CTX->get('k_current_step', 1) ) + 1; // Persist data $data = &$_SESSION['_']; unset( $_POST['k_hid_'] ); $data['post'][$current_page-1] = $_POST; if( isset($data['post'][$current_page]) ){ $_POST = $data['post'][$current_page]; } $html =<< EOS; $regex = '/
  • (frm_.+?)\: <\/b>(.*?)<\/LI>/is'; $cnt = preg_match_all( $regex, $html, $matches, PREG_SET_ORDER ); if( $cnt ){ foreach( $matches as $match ){ $data['field_values'][$match[1]] = $match[2]; } } $CTX->set( 'k_current_step', $current_page ); // Uncomment the following line if saved data is to be discarded at final submission if( $current_page>$total_pages ){ $data=array(); } } } if( isset($data['field_values']) ){ foreach( $data['field_values'] as $k=>$v ){ $CTX->set( $k, $v ); } } echo "";