X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=doc%2Fconvert.php;h=1894c2f38a591d83705840cb1c2623f724f690f9;hb=e885361eab7c181fe3b2e6923ced3de43ba3e285;hp=3e80791a172c4564d16089b003a6a6e05ab5cc03;hpb=05102eb7d8c0faad30ae3719e2045c1af72b9e9d;p=plcapi.git diff --git a/doc/convert.php b/doc/convert.php index 3e80791..1894c2f 100644 --- a/doc/convert.php +++ b/doc/convert.php @@ -2,21 +2,21 @@ /** * Script used to convert docbook source to human readable docs * - * @copyright (c) 2007-2013 G. Giunta + * @copyright (c) 2007-2014 G. Giunta */ if ($_SERVER['argc'] < 4) - die("Usage: php convert.php docbook.xml \path\\to\stylesheet.xsl output-dir|output_file\n"); + die("Usage: php convert.php docbook.xml \path\\to\stylesheet.xsl output-dir|output_file\n"); else - echo "Starting xsl conversion process...\n"; + echo "Starting xsl conversion process...\n"; $doc = $_SERVER['argv'][1]; $xss = $_SERVER['argv'][2]; if (!file_exists($doc)) - die("KO: file $doc cannot be found\n"); + die("KO: file $doc cannot be found\n"); if (!file_exists($xss)) - die("KO: file $xss cannot be found\n"); + die("KO: file $xss cannot be found\n"); // Load the XML source $xml = new DOMDocument; @@ -26,23 +26,39 @@ $xsl->load($xss); // Configure the transformer $proc = new XSLTProcessor; +if (version_compare(PHP_VERSION,'5.4',"<")) +{ + if(defined('XSL_SECPREF_WRITE_FILE')) + ini_set("xsl.security_prefs", XSL_SECPREF_CREATE_DIRECTORY | XSL_SECPREF_WRITE_FILE); +} +else +{ + if(is_callable(array($proc, 'setSecurityPreferences'))) + { + $proc->setSecurityPreferences(XSL_SECPREF_CREATE_DIRECTORY | XSL_SECPREF_WRITE_FILE); + } + else + { + $proc->setSecurityPrefs(XSL_SECPREF_CREATE_DIRECTORY | XSL_SECPREF_WRITE_FILE); + } +} $proc->importStyleSheet($xsl); // attach the xsl rules //if ($_SERVER['argc'] >= 4) //{ - if (is_dir($_SERVER['argv'][3])) - { - - if (!$proc->setParameter('', 'base.dir', $_SERVER['argv'][3])) - echo "setting param base.dir KO\n"; - } - else - { - //echo "{$_SERVER['argv'][3]} is not a dir\n"; - } + if (is_dir($_SERVER['argv'][3])) + { + if (!$proc->setParameter('', 'base.dir', realpath($_SERVER['argv'][3]))) + echo "setting param base.dir KO\n"; + } + else + { + //echo "{$_SERVER['argv'][3]} is not a dir\n"; + } //} - $out = $proc->transformToXML($xml); - if (!is_dir($_SERVER['argv'][3])) + +$out = $proc->transformToXML($xml); +if (!is_dir($_SERVER['argv'][3])) file_put_contents($_SERVER['argv'][3], $out); echo "OK\n";