[prev in list] [next in list] [prev in thread] [next in thread] 

List:       phpdoc
Subject:    [PHP-DOC] cvs: phd / build.php  /formats xhtml.php  /themes/php phpdotnet.php
From:       "Hannes Magnusson" <bjori () php ! net>
Date:       2007-08-30 13:54:16
Message-ID: cvsbjori1188482056 () cvsserver
[Download RAW message or body]

bjori		Thu Aug 30 13:54:16 2007 UTC

  Modified files:              
    /phd	build.php 
    /phd/formats	xhtml.php 
    /phd/themes/php	phpdotnet.php 
  Log:
  Add acronym lookup support
  
  
http://cvs.php.net/viewvc.cgi/phd/build.php?r1=1.24&r2=1.25&diff_format=u
Index: phd/build.php
diff -u phd/build.php:1.24 phd/build.php:1.25
--- phd/build.php:1.24	Sun Aug 19 13:19:47 2007
+++ phd/build.php	Thu Aug 30 13:54:15 2007
@@ -1,5 +1,5 @@
 <?php
-/*  $Id: build.php,v 1.24 2007/08/19 13:19:47 bjori Exp $ */
+/*  $Id: build.php,v 1.25 2007/08/30 13:54:15 bjori Exp $ */
 
 function err($no, $str, $file, $line) {
     global $notify;
@@ -79,7 +79,12 @@
             require "./themes/$theme/$themename.php";
             switch($theme) {
                 case "php":
-                    $themes[$themename] = new $themename($IDs, \
$OPTIONS["xml_root"]."/phpbook/phpbook-xsl/version.xml"); +                    \
$themes[$themename] = new $themename($IDs, +                        array(
+                            "version" => \
$OPTIONS["xml_root"]."/phpbook/phpbook-xsl/version.xml", +                            \
"acronym" => $OPTIONS["xml_root"]."/entities/acronyms.xml", +                        \
) +                    );
                     break;
                 default:
                     $themes[$themename] = new $themename($IDs);
http://cvs.php.net/viewvc.cgi/phd/formats/xhtml.php?r1=1.19&r2=1.20&diff_format=u
Index: phd/formats/xhtml.php
diff -u phd/formats/xhtml.php:1.19 phd/formats/xhtml.php:1.20
--- phd/formats/xhtml.php:1.19	Fri Aug 24 09:10:21 2007
+++ phd/formats/xhtml.php	Thu Aug 30 13:54:15 2007
@@ -1,8 +1,9 @@
 <?php
-/*  $Id: xhtml.php,v 1.19 2007/08/24 09:10:21 bjori Exp $ */
+/*  $Id: xhtml.php,v 1.20 2007/08/30 13:54:15 bjori Exp $ */
 
 class XHTMLPhDFormat extends PhDFormat {
     protected $elementmap = array( /* {{{ */
+        'acronym'               => 'acronym',
         'article'               => 'format_container_chunk',
         'author'                => 'div',
         'authorgroup'           => 'div', /* DocBook-xsl prints out "by" (i.e. "PHP \
Manual by ...") */ http://cvs.php.net/viewvc.cgi/phd/themes/php/phpdotnet.php?r1=1.11&r2=1.12&diff_format=u
                
Index: phd/themes/php/phpdotnet.php
diff -u phd/themes/php/phpdotnet.php:1.11 phd/themes/php/phpdotnet.php:1.12
--- phd/themes/php/phpdotnet.php:1.11	Sat Aug 25 13:24:10 2007
+++ phd/themes/php/phpdotnet.php	Thu Aug 30 13:54:16 2007
@@ -1,8 +1,9 @@
 <?php
-/*  $Id: phpdotnet.php,v 1.11 2007/08/25 13:24:10 bjori Exp $ */
+/*  $Id: phpdotnet.php,v 1.12 2007/08/30 13:54:16 bjori Exp $ */
 
 class phpdotnet extends PhDHelper {
     protected $elementmap = array(
+        'acronym'               => 'format_suppressed_tags',
         'function'              => 'format_suppressed_tags',
         'link'                  => 'format_link',
         'refpurpose'            => 'format_refpurpose',
@@ -53,6 +54,7 @@
         'setindex'              => 'format_chunk',
     );
     protected $textmap =        array(
+        'acronym'               => 'format_acronym_text',
         'function'              => 'format_function_text',
         'type'                  => array(
             /* DEFAULT */          'format_type_text',
@@ -63,15 +65,19 @@
         'titleabbrev'           => 'format_suppressed_tags',
     );
     private   $versions = array();
+    private   $acronyms = array();
     protected $chunked = true;
 
     protected $CURRENT_ID = "";
     protected $refname;
 
-    public function __construct(array $IDs, $filename, $ext = "php", $chunked = \
true) { +    public function __construct(array $IDs, array $filenames, $ext = "php", \
$chunked = true) {  parent::__construct($IDs, $ext);
         $this->ext = $ext;
-        $this->versions = self::generateVersionInfo($filename);
+        if (isset($filenames["version"], $filenames["acronym"])) {
+            $this->versions = self::generateVersionInfo($filenames["version"]);
+            $this->acronyms = self::generateAcronymInfo($filenames["acronym"]);
+        }
         $this->chunked = $chunked;
     }
     public static function generateVersionInfo($filename) {
@@ -102,6 +108,32 @@
         $info = $versions;
         return $versions;
     }
+    public static function generateAcronymInfo($filename) {
+        static $info;
+        if ($info) {
+            return $info;
+        }
+        $r = new XMLReader;
+        if (!$r->open($filename)) {
+            throw new Exception("Could not open $filename");
+        }
+        $acronyms = array();
+        while ($r->read()) {
+            if ($r->nodeType != XMLReader::ELEMENT) {
+                continue;
+            }
+            if ($r->name == "term") {
+                $r->read();
+                $k = $r->value;
+                $acronyms[$k] = "";
+            } else if ($r->name == "simpara") {
+                $r->read();
+                $acronyms[$k] = $r->value;
+            }
+        }
+        $info = $acronyms;
+        return $acronyms;
+    }
     public function format_link($open, $name, $attrs, $props) {
         if ($open) {
             $content = $fragment = "";
@@ -142,6 +174,17 @@
                 strtolower($funcname));
         return isset($this->versions[$funcname]) ? $this->versions[$funcname] : "No \
version information available, might be only in CVS";  }
+    public function acronymInfo($acronym) {
+        return isset($this->acronyms[$acronym]) ? $this->acronyms[$acronym] : false;
+    }
+
+    public function format_acronym_text($value, $tag) {
+        $resolved = $this->acronymInfo($value);
+        if ($resolved) {
+            return '<acronym title="' .$resolved. '">' .$value. '</acronym>';
+        }
+        return '<acronym>'.$value.'</acronym>';
+    }
     public function format_refpurpose($open, $tag, $attrs) {
         if ($open) {
             return sprintf('<p class="verinfo">(%s)</p><p class="refpurpose">%s — \
', $this->versionInfo($this->refname), $this->refname);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic