momo Mon Jun 23 05:29:34 2003 EDT
Modified files:
/phpdoc/chm make_chm_fancy.php
Log:
fancy the hebrew
Index: phpdoc/chm/make_chm_fancy.php
diff -u phpdoc/chm/make_chm_fancy.php:1.7 phpdoc/chm/make_chm_fancy.php:1.8
--- phpdoc/chm/make_chm_fancy.php:1.7 Sun May 11 22:46:12 2003
+++ phpdoc/chm/make_chm_fancy.php Mon Jun 23 05:29:34 2003
@@ -10,6 +10,12 @@
include_once('common.php');
include_once('chm_settings.php');
+if($LANGUAGE == "he") {
+ include_once("./scripts/rtlpatch/HtmlParser.class.php");
+ include_once("./scripts/rtlpatch/HtmlExtParser.class.php");
+
+}
+
// This script takes much time to run
set_time_limit(0);
@@ -23,7 +29,11 @@
$handle = opendir($HTML_PATH);
while (false !== ($filename = readdir($handle))) {
if (strpos($filename, ".html") && ($filename != "fancy-index.html")) {
- fancy_design($filename);
+ if($LANGUAGE == "he") {
+ fancy_parser_design($filename);
+ } else {
+ fancy_design($filename);
+ }
}
}
closedir($handle);
@@ -131,5 +141,119 @@
$counter++;
} // fancy_design() function end
+
+
+// Convert one file from HTML => fancy HTML using CHtmlParser
+function fancy_parser_design($fname)
+{
+ global $HTML_PATH, $FANCY_PATH, $LANGUAGE, $LANGUAGES, $counter, $original_index,
$publication_date;
+
+ global $EHType,$HEType;
+
+ // Get the contents of the file from $HTML_PATH
+ //TODO: iconv stuff, for when charset element > byte
+ $content = file_get_contents("$HTML_PATH/$fname");
+ $tree = new CHtmlExtParse($content);
+
+ // CSS file linking
+ $head = $HEType["head"];
+ if(isset($tree->EBT[$head][0]))
+ $tree->ATE[$tree->EBT[$head][0]]["chaintoend"] = '<LINK
REL="stylesheet" HREF="style.css">';
+
+ // Charset:
+ $meta = $HEType["meta"];
+ if(isset($tree->EBT[$meta])){
+ for($a=0;$a<count($tree->EBT[$meta]);$a++){
+ $elem = &$tree->ATE[$tree->EBT[$meta][$a]];
+ if(isset($elem["http-equiv"]) &&
$elem["http-equiv"]=="Content-type")
+ $elem["content"] = "text/html;
{$LANGUAGES[$LANGUAGE]['mime_charset_name']}";
+ }
+ }
+
+ // No margins around
+ $body = $HEType["body"];
+ if(isset($tree->EBT[$body][0])){
+ $tree->ATE[$tree->EBT[$body][0]]["TOPMARGIN"] ="0";
+ $tree->ATE[$tree->EBT[$body][0]]["LEFTMARGIN"] ="0";
+ }
+
+
+ // HR dropout
+ $tmp=0;
+ do{
+ if($tmp =
$tree->get_element_id_by_rule(array("tag"=>"hr","properties"=>array("align","LEFT","width","100%"),"offset"=>($tmp+1)))){
+ $tree->change_tag_type($tmp,__HTML_FREE_ENGLISH__);
+ }
+ } while($tmp);
+
+ // Whole page table and backgrounds
+ $wpbegin = '<TABLE BORDER="0" WIDTH="100%" HEIGHT="100%" CELLSPACING="0"
CELLPADDING="0"><TR><TD COLSPAN="3">';
+ $bnavt = '<TABLE BGCOLOR="#CCCCFF" BORDER="0" CELLPADDING="0" CELLSPACING="0"
WIDTH="100%">';
+ $lnavt = '<TR BGCOLOR="#333366"><TD><IMG SRC="spacer.gif" BORDER="0" WIDTH="1"
HEIGHT="1"><BR></TD></TR>';
+ $space = '<IMG SRC="spacer.gif" WIDTH="10" HEIGHT="1">';
+
+ // Navheader backgound
+ if($tmp =
$tree->get_element_id_by_rule(array("tag"=>"div","properties"=>array("class","NAVHEADER")))){
+ $tree->ATE[$tmp]["data"] = "$wpbegin<DIV
CLASS=\"NAVHEADER\">$bnavt<TR><TD>";
+ $tree->ATE[$tree->ECE[$tmp]]["data"] =
"</TD></TR>$lnavt</TABLE></DIV></TD></TR><TR><TD>$space</TD><TD HEIGHT=\"100%\"
VALIGN=\"TOP\" WIDTH=\"100%\"><BR>";
+ $tree->ATE[$tmp+1]["cellpadding"] = "3";
+ $tree->change_tag_type($tmp,__HTML_FREE_ENGLISH__);
+ }
+
+ // Navfooter backgound
+ if($tmp =
$tree->get_element_id_by_rule(array("tag"=>"div","properties"=>array("class","NAVFOOTER")))){
+ $tree->ATE[$tmp]["data"] = "<BR></TD><TD>$space</TD></TR><TR><TD
COLSPAN=\"3\"><DIV CLASS=\"NAVFOOTER\">{$bnavt}{$lnavt}<TR><TD>";
+ $tree->ATE[$tree->ECE[$tmp]]["data"] =
"</TD></TR></TABLE></DIV></TD></TR></TABLE>";
+ $tree->ATE[$tmp+1]["cellpadding"] = "3";
+ $tree->change_tag_type($tmp,__HTML_FREE_ENGLISH__);
+ }
+
+ // Fix copyright page fault...
+ if ($fname == "copyright.html") {
+ // it just looks that no more need to fix the copyright.
+ }
+
+ // Fix the original manual index to look far better...
+ elseif ($fname == "$original_index") {
+ // Find out manual generation date
+ if($tmp =
$tree->get_element_id_by_rule(array("tag"=>"p","properties"=>array("class","pubdate")))){
+ $publication_date = $tree->ATE[$tmp+1]["data"];
+ } else {
+ $publication_date = 'n/a';
+ }
+
+
+ // Modify the index file to meet our needs
+ $tmp =
$tree->get_element_id_by_rule(array("tag"=>"h1","properties"=>array("class","title")));
+ $tit = isset($tree->ATE[$tmp+2]["data"])?$tree->ATE[$tmp+2]["data"]:"";
+ $tit2 ="";
+
+ $tmp =
$tree->get_element_id_by_rule(array("tag"=>"div","properties"=>array("class","BOOK")));
+ $tree->ATE[$tmp-1]["chaintoend"] =
+ '<TABLE BORDER="0" WIDTH="100%" HEIGHT="100%" CELLSPACING="0"
CELLPADDING="0"><TR><TD COLSPAN="3"><DIV CLASS="NAVHEADER"><TABLE BGCOLOR="#CCCCFF"
BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%"><TR><TD><TABLE
+ WIDTH="100%" BORDER="0" CELLPADDING="3" CELLSPACING="0"><TR><TH
COLSPAN="3">'.$tit2.'</TH></TR><TR><TD COLSPAN="3"
ALIGN="center"> </TD></TR></TABLE></TD></TR><TR BGCOLOR="#333366"><TD><IMG
SRC="spacer.gif" BORDER="0" WIDTH="1" HEIGHT="1"><BR></TD></TR></TABLE>
+ </DIV></TD></TR><TR><TD><IMG SRC="spacer.gif" WIDTH="10" HEIGHT="1"></TD><TD
HEIGHT="100%" VALIGN="TOP" WIDTH="100%"><BR>';
+
+ /** TODO complete this:
+ $content = preg_replace("/(<DIV\\s+CLASS=\"author\").*<HR>/Us", "", $content);
+ preg_match('|<DIV\\s+CLASS="TOC"\\s*><DL\\s*><DT\\s*><B\\s*>(.*)</B\\s*>|U',
$content, $match);
+ $content =
preg_replace("|(CLASS=\"title\"\\s+><A\\s+NAME=\"manual\"\\s*>).*(</A\\s*>).*(</H1)|U",
"\\1$match[1]\\2\\3", $content);
+ $content = preg_replace("|<DT\\s*><B\\s*>(.*)</B\\s*></DT\\s*>|U", "",
$content);
+ /**/
+ }
+
+ // Print out that new file to $FANCY_PATH
+ $fp = fopen("$FANCY_PATH/$fname", "w");
+
+ $content = $tree->get();
+ $tree->unsetme();
+ //TODO: iconv stuff, for when charset element > byte
+ fputs($fp, $content);
+ fclose($fp);
+
+ // Print out a message to see the progress
+ echo "$FANCY_PATH/$fname ready...\n";
+ $counter++;
+} // fancy_parser_design() function end
?>
--
PHP Documentation Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php