// NOTE the js for processing forms is in widgets.js and is invoked when form_ class exists on the webpage
// Remember: this widget is included by WebPageX the response array is already initiated and will be echoed by WebPageX
//session_start($_POST['z_session']); this forces the session id to be the same as the session id on the remote server, (or the hub server if being served from there)
$interimHTML=ob_get_contents();
$divs=explode('
0){
$div=array_pop($divs); // the last div before this routine was included
$interfaceBlockId=explode('id="ctf_ib',$div);
if(count($interfaceBlockId)==1){// we have a div inside the ctf_ div. Keep going until we find the ctf_div
continue;
}
if(!$class){
$class=explode('class="',$div);
$class=array_pop($class);
$class=' '.explode('"',$class)[0].' '; // the class name of the last div before this routine was included
$classes=explode(' ',$class);
$placeholders=in_array('ctf_ph',$classes);
}
$interfaceBlockId=array_pop($interfaceBlockId);
$interfaceBlockId=explode('"',$interfaceBlockId)[0];// this gives us the number on the end of the id, if that number was used to make the form and form field id's unique on the page. e.g. ctf_ib1, ctf_ib2
break;
}
echo '';
echo '';
echo '';
echo '';
//if(ZDEF_TEST==1){echo '';}
// ********** READ SPECS FROM form div ******
$interimHTML=ob_get_contents();
$form=explode('