Example #1
0
function PageMaker($xmlfile, $xslfile)
{
    global $options, $id, $df, $cacheLifeTime;
    # Инициализация системы кэширования
    // Подключаем класс вывода PEAR::Cache_Lite
    require_once 'cache/output.php';
    // Создаем объект класса Cache_Lite_Output
    $cache = new Cache_Lite_Output($options);
    // Устанавливаем время жизни кэша для данной части
    $cache->setLifeTime($cacheLifeTime[$id]);
    if (!$cache->start($id)) {
        # Передаем путь к запрошенному документу на вход модуля анализа и преобразования XML+XSLT,
        # формирующего на выходе запрошенный документ в XHTML-формате.
        require_once "inc/nstoxhtml.inc";
        require_once "inc/setformat.inc";
        require_once "inc/nocache.inc";
        $outputformat = 'xml';
        //if ($xslfile !== "xsl/rbcrss.xsl") $xslfile = "xsl/layout.xsl";
        $domxml = new DOMDocument();
        $domxml->substituteEntities = true;
        $domxml->load($xmlfile);
        @fclose($df);
        # Снимаем блокировку с файла *
        $domxsl = new DOMDocument();
        $domxsl->load($xslfile);
        setOutputFormat($domxsl, $outputformat);
        $xsl = new xsltProcessor();
        $xsl->importStylesheet($domxsl);
        $outdom = $xsl->transformtoDOC($domxml);
        $outdom = nstoxhtml($outdom);
        $outdom->formatoutput = true;
        nocache();
        $page = $outdom->saveXML();
        echo TrimStr($page);
        $cache->end();
    }
}
Example #2
0
    makeDirs($szMapCacheDir);
}
/* get the various request parameters 
 * also need to make sure inputs are clean, especially those used to
 * build paths and filenames
 */
$top = isset($_REQUEST['t']) ? intval($_REQUEST['t']) : 0;
$left = isset($_REQUEST['l']) ? intval($_REQUEST['l']) : 0;
$scale = isset($_REQUEST['s']) ? $_REQUEST['s'] : $anScales[0];
$bForce = isset($_REQUEST['force']) ? true : false;
$groups = isset($_REQUEST['g']) ? $_REQUEST['g'] : "";
$layers = isset($_REQUEST['layers']) ? $_REQUEST['layers'] : "";
// dynamic imageformat ----------------------------------------------
//use the function in config.php to set the output format
if (isset($_REQUEST['i'])) {
    setOutputFormat($_REQUEST['i']);
}
//----------------------------------------------------------------
/* tileid=t#####l#### can be used instead of t+l parameters. Useful in
 * regenerating the cache for instance.
 */
if (isset($_REQUEST['tileid']) && preg_match("/t(-?\\d+)l(-?\\d+)/", $_REQUEST['tileid'], $aMatch)) {
    $top = intval($aMatch[1]);
    $left = intval($aMatch[2]);
}
/* Calculate the metatile's top-left corner coordinates.
 * Include the $metaBuffer around the metatile to account for various
 * rendering issues happening around the edge of a map
 */
$metaLeft = floor($left / ($tileWidth * $metaWidth)) * $tileWidth * $metaWidth;
$metaTop = floor($top / ($tileHeight * $metaHeight)) * $tileHeight * $metaHeight;