'expressoCalendar', 'nonavbar' => true, 'noheader' => true ); } require_once '../../header.session.inc.php'; // Explode action from cExecuteForm function $cExecuteFormReturn = false; $returnMode = $_REQUEST['returnMode']; if($_POST['_action']) { if($_FILES) { $count_files = $_POST['countFiles']; $array_files = array(); for($idx = 1; $idx <= $count_files; $idx++) { if($_FILES['file_'.$idx] && !$_FILES['file_'.$idx]['error']) $array_files[] = $_FILES['file_'.$idx]; } $_POST['FILES'] = $array_files; } list($app,$class,$method) = explode('.',@$_POST['_action']); $cExecuteFormReturn = true; } // Explode action from cExecute function else if($_GET['action']) { unset($_GET['returnMode']); list($app,$class,$method) = explode('.',@$_GET['action']); } // NO ACTION else return $_SESSION['response'] = 'false'; // Load dinamically class file. if($app == '$this') $filename = 'class.'.$class.'.inc.php'; else $filename = '../'.$app.'/class.'.$class.'.inc.php'; include_once($filename); // Create new Object (class loaded). $obj = new $class; // Prepare parameters for execution. $params = array(); // If array $_POST is not null , the submit method is POST. if($_POST) { $params = $_POST; } // If array $_POST is null , and the array $_GET > 1, the submit method is GET. else if(count($_GET) > 1) { array_shift($_GET); $params = $_GET; } $result = array(); // if params is not empty, then class method with parameters. if($params) $result = $obj -> $method($params); else $result = $obj -> $method(); // Return result json string into xml object. if(!$cExecuteFormReturn) { $dom = new DOMDocument;//('1.0', 'UTF-8'); if ( $returnMode == 'JSON') { $root = $dom->appendChild(new DOMElement('retorno')); encode($result, 'encode'); $result = ( !is_object($result) && !is_array($result) ) ? $result : json_encode($result); $root->appendChild($dom->createCDATASection($result)); } else { $dom->loadXML(''.utf8_encode($result).''); } $dom->normalizeDocument(); $retorno = $dom->saveXML(); header('Pragma: anytextexeptno-cache', true); header('Content-type: text/xml, charset=UTF-8'); print $retorno; } else $_SESSION['response'] = $result; function encode(&$item, $val = 'encode') { switch( gettype($item) ) { case 'object' : $item = get_object_vars($item); encode($item); break; case 'array' : array_walk_recursive($item, 'encode'); break; default : $item = utf8_encode($item); } } ?>