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">&nbsp;</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

Reply via email to