function get_image($url) { $checksum = calculate_checksum($url); if (is_cached($checksum)) { return get_image_from_cache($checksum); } fetch_image($url); return get_image_from_cache($checksum); }
} $html .= "</ul>"; } # # The LaTeX Preamble # $preamble = sprintf("\n\\documentclass[a4paper]{article}\n\\usepackage[utf8]{inputenc}\n\\usepackage[pdftex]{graphicx}\n\\usepackage[usenames]{color}\n\\usepackage{fancyhdr}\n\\definecolor{wborder}{rgb}{1,0,0}\n\\definecolor{wback}{rgb}{0.9,0.9,0.7}\n\\definecolor{nborder}{rgb}{1,0,0}\n\\definecolor{nback}{rgb}{0.7,0.7,0.9}\n\\title{%s -- rev. %d}\n\\date{%s}\n\\author{%s}\n\\pagestyle{fancy}\n\\fancyhead[LO]{\\bfseries %s -- rev. %d}\n\\fancyhead[RO]{%s}\n", $page_data['pageName'], $page_data['version'], date("d. M Y @ H:i:s", $page_data['lastModif']), $page_data['user'], $page_data['pageName'], $page_data['version'], date("d. M Y", $page_data['lastModif'])); // Pear's most verbose log level is PEAR_LOG_DEBUG (=7) so "20" gives us some // breathing room if other levels will be added in the future. $texer = new TikiTexer($preamble, $tmpfname . "_imgs/", $_REQUEST['output'] == 'debug' ? 20 : 0); $texer->parse_html($html); # # Fetch images # foreach ($texer->images() as $url) { fetch_image($url, $tmpimgfolder); } # # Store the Tex document # $handle = fopen($tmpfname, "w"); fwrite($handle, $texer->tex()); fclose($handle); $current_dir = getcwd(); chdir(dirname($tmpfname)); # # Convert to pdf and respond. (Or output debug info) # switch ($_REQUEST['output']) { case "debug": header("Content-Type: text/plain");