goba            Thu Sep  2 12:45:33 2004 EDT

  Modified files:              
    /livedocs   livedoc.php 
  Log:
  make a function out of the aliases array, so we can mass alias things like the 
function reference groups (which have no corresponding files)
  
http://cvs.php.net/diff.php/livedocs/livedoc.php?r1=1.108&r2=1.109&ty=u
Index: livedocs/livedoc.php
diff -u livedocs/livedoc.php:1.108 livedocs/livedoc.php:1.109
--- livedocs/livedoc.php:1.108  Sat Aug 14 17:43:08 2004
+++ livedocs/livedoc.php        Thu Sep  2 12:45:33 2004
@@ -18,7 +18,7 @@
 // | Generate an HTML version of a phpdoc/docbook page on the fly         |
 // +----------------------------------------------------------------------+
 //
-// $Id: livedoc.php,v 1.108 2004/08/14 21:43:08 iliaa Exp $
+// $Id: livedoc.php,v 1.109 2004/09/02 16:45:33 goba Exp $
 
 define('LIVEDOC_SOURCE', dirname(__FILE__));
 include LIVEDOC_SOURCE . '/livedoc_funcs.php';
@@ -49,48 +49,51 @@
 
 /*****************************************************************************
  * Aliases and XML -> style mapping
- * Please keep the arrays sorted by keys
+ * Please keep the stuff sorted by keys
  */
 
-if (BUILD_TYPE == 'smarty') {
-       $aliases = array(
-                       // For Smarty
-                       'smarty.for.programmers' => 'smarty.constants',
-                       'smarty.for.designers' => 'language.basic.syntax',
-                       'api.functions' => 'handle_appendixes_funcref',
-                       'language.custom.functions' => 'handle_appendixes_funcref',
-                       'language.basic.syntax' => 'handle_appendixes_funcref',
-                       'language.variables' => 'handle_appendixes_funcref',
-                       'manual' => 'handle_contents'
-                       );
-} elseif (BUILD_TYPE == 'phpdoc') {
-       $aliases = array(
-                       // For PHPdoc
-                       'api'             => 'streams',
-                       'appendixes'      => 'handle_appendixes_funcref',
-                       'faq'             => 'handle_appendixes_funcref',
-                       'features'        => 'handle_appendixes_funcref',
-                       'funcref'         => 'handle_appendixes_funcref',
-                       'getting-started' => 'introduction',
-                       'install'         => 'handle_appendixes_funcref',
-                       'langref'         => 'handle_appendixes_funcref',
-                       'manual'          => 'handle_contents',
-                       'security'        => 'handle_appendixes_funcref',
-                       'indexes'         => 'handle_index'
-                       );
-} else {
-       $aliases = array();
+function manual_page_alias($key) {
+       if (BUILD_TYPE == 'smarty') {
+               switch($key) {
+                       case 'smarty.for.programmers': return 'smarty.constants';
+                       case 'smarty.for.designers':   return 'language.basic.syntax';
+                       case 'api.functions':
+                       case 'language.custom.functions':
+                       case 'language.basic.syntax':
+                       case 'language.variables':     return 
'handle_appendixes_funcref';
+                       case 'manual':                 return 'handle_contents';
+               }
+       } elseif (BUILD_TYPE == 'phpdoc') {
+               switch($key) {
+                       case 'api':             return 'streams';
+                       case 'appendixes':
+                       case 'faq':
+                       case 'features':
+                       case 'funcref':         return 'handle_appendixes_funcref';
+                       case 'getting-started': return 'introduction';
+                       case 'install':
+                       case 'langref':         return 'handle_appendixes_funcref';
+                       case 'manual':          return 'handle_contents';
+                       case 'security':        return 'handle_appendixes_funcref';
+                       case 'indexes':         return 'handle_index';
+               }
+               // Handle all reference groups
+               if (strncmp($key, "refs.", 5) == 0) {
+                       return 'handle_appendixes_funcref';
+               }
+       }
+       return false;
 }
 
 /*****************************************************************************
  * Handle some special pages in a special way with special code
  */
 $special_content = false;
-if (isset($aliases[$current_page])) {
-       if (is_callable($aliases[$current_page])) {
+if (($current_alias = manual_page_alias($current_page)) !== false) {
+       if (is_callable($current_alias)) {
                $special_content = true;
        } else {
-               $current_page = $aliases[$current_page];
+               $current_page = $current_alias;
        }
 }
 
@@ -118,7 +121,7 @@
 echo manual_page_header();
 
 if ($special_content) {
-       echo call_user_func($aliases[$current_page]);
+       echo call_user_func($current_alias);
 } else {
        echo $page->transform($map, $current_page);
        if ($NOTESDB) {

Reply via email to