$_SESSION['goal'] = $goal = $_POST['goal']; $spec = isset($_POST['submit']) && $_POST['submit'] == 'Create GX' ? 2 : 1; $tempdir = get_directory(); $file = fopen("{$tempdir}/{$filename}", "w"); fwrite($file, $_SESSION['plfile']); fclose($file); $file = fopen("{$tempdir}/{$filename}.ann", "w"); fwrite($file, $annfile); fclose($file); chronometer(); if ($spec == 1) { $retarray = specialise($filename, $goal, $tempdir, $watch_opts, $logging, $safe); } else { $retarray = create_gx($filename, $tempdir, $watch_opts, $logging); } $time = chronometer(); if ($retarray[0] == 0) { // No error $_SESSION['specerror'] = ''; html_start('Specialising : ' . $_SESSION['filename'], 'prolog.css', '', 4, ''); echo '<div class="codeframe" style="height: 490px">'; echo process_xml($retarray[1], 'prologtohtml.xsl'); echo '</div>'; $log = $retarray[2]; print_save_link_and_save_output_to_session($filename, $spec, $tempdir); global $ecce_url; ?> <script type="text/javascript" src="getText.js"></script> <script type="text/javascript"> function setprogram(name)
function process_xml($xml, $stylesheet) { global $backend_dir; chronometer(); if (function_exists('xslt_create')) { $arguments = array('/_xml' => $xml); $xh = xslt_create(); $result = xslt_process($xh, 'arg:/_xml', "{$backend_dir}/{$stylesheet}", NULL, $arguments); } else { if (class_exists('XSLTProcessor')) { $xsl = new XSLTProcessor(); $xsl->importStyleSheet(DOMDocument::load("{$backend_dir}/{$stylesheet}")); $result = $xsl->transformToXML(DOMDocument::loadXML($xml)); } else { ?> <h1>XSL support not present</h1> <p>To use weblogen, you need to recompile PHP with either:</p> <ul> <li><a href="http://www.php.net/manual/ref.xslt.php">php4_xslt under php4.</a></li> <li><a href="http://www.php.net/manual/ref.xsl.php">XSL and XML under php5.</a></li> </ul> </body></html><?php exit(1); } } //echo 'Time taken by xslt : ', chronometer(), '<br>'; return $result; }