phpDocumentor
[ class tree: phpDocumentor ] [ index: phpDocumentor ] [ all elements ]

Source for file file_dialog.php

Documentation is available at file_dialog.php

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <?php
  3. /**
  4.  * phpDocumentor :: docBuilder Web Interface
  5.  * 
  6.  * Advanced Web Interface to phpDocumentor
  7.  *
  8.  * PHP versions 4 and 5
  9.  *
  10.  * Copyright (c) 2003-2006 Andrew Eddie, Greg Beaver
  11.  * 
  12.  * LICENSE:
  13.  * 
  14.  * This library is free software; you can redistribute it
  15.  * and/or modify it under the terms of the GNU Lesser General
  16.  * Public License as published by the Free Software Foundation;
  17.  * either version 2.1 of the License, or (at your option) any
  18.  * later version.
  19.  * 
  20.  * This library is distributed in the hope that it will be useful,
  21.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  22.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  23.  * Lesser General Public License for more details.
  24.  * 
  25.  * You should have received a copy of the GNU Lesser General Public
  26.  * License along with this library; if not, write to the Free Software
  27.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  28.  *
  29.  * @category   ToolsAndUtilities
  30.  * @package    phpDocumentor
  31.  * @author     Andrew Eddie
  32.  * @author     Greg Beaver <cellog@php.net>
  33.  * @copyright  2003-2006 Andrew Eddie, Greg Beaver
  34.  * @license    http://www.opensource.org/licenses/lgpl-license.php LGPL
  35.  * @version    CVS: $Id$
  36.  * @filesource
  37.  * @see phpdoc.php
  38.  */
  39. if (!function_exists'version_compare' )) {
  40.     print "phpDocumentor requires PHP version 4.1.0 or greater to function";
  41.     exit;
  42. }
  43.  
  44. if ('@WEB-DIR@' != '@'.'WEB-DIR@')
  45. {
  46.     /**
  47.     * common file information
  48.     */
  49.     require_once 'PhpDocumentor/phpDocumentor/common.inc.php';
  50.     require_once 'PhpDocumentor/HTML_TreeMenu-1.1.2/TreeMenu.php';
  51.     require_once'@WEB-DIR@' . PATH_DELIMITER . 'PhpDocumentor/docbuilder/includes/utilities.php' );
  52.  
  53.     define(PHPDOC_WEBROOT_DIR'PhpDocumentor');
  54.  
  55.     // set up include path so we can find all files, no matter what
  56.     $GLOBALS['_phpDocumentor_install_dir'PHPDOC_WEBROOT_DIR;
  57.  
  58.     // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir]
  59.     $ini phpDocumentor_parse_ini_file('@DATA-DIR@' PATH_DELIMITER . 'PhpDocumentor/phpDocumentor.ini'true);
  60.     if (isset($ini['_phpDocumentor_options']['userdir'])) {
  61.         $configdir $ini['_phpDocumentor_options']['userdir'];
  62.     else {
  63.         $configdir '@DATA-DIR@' PATH_DELIMITER . 'PhpDocumentor/user';
  64.     }
  65. else {
  66.  
  67.     /** @ignore */
  68.     define(PHPDOC_WEBROOT_DIRdirname(dirname(__FILE__)));
  69.     /**
  70.     * common file information
  71.     */
  72.     include_once(PHPDOC_WEBROOT_DIR . "/phpDocumentor/common.inc.php");
  73.     include_once(PHPDOC_WEBROOT_DIR . "/HTML_TreeMenu-1.1.2/TreeMenu.php");
  74.     include_once(PHPDOC_WEBROOT_DIR . "/docbuilder/includes/utilities.php" );
  75.  
  76.     // set up include path so we can find all files, no matter what
  77.     $GLOBALS['_phpDocumentor_install_dir'dirname(dirnamerealpath__FILE__ ) ));
  78.     // add my directory to the include path, and make it first, should fix any errors
  79.     if (substr(PHP_OS03== 'WIN'{
  80.         ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].';'.ini_get('include_path'));
  81.     else {
  82.         ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].':'.ini_get('include_path'));
  83.     }
  84.  
  85.     // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir]
  86.     $ini phpDocumentor_parse_ini_file($_phpDocumentor_install_dir PATH_DELIMITER . 'phpDocumentor.ini'true);
  87.     if (isset($ini['_phpDocumentor_options']['userdir'])) {
  88.         $configdir $ini['_phpDocumentor_options']['userdir'];
  89.     else {
  90.         $configdir $_phpDocumentor_install_dir '/user';
  91.     }
  92. }
  93.  
  94. // allow the user to change this at runtime
  95. if (!empty$_REQUEST['altuserdir')) {
  96.     $configdir $_REQUEST['altuserdir'];
  97. }
  98. ?>
  99. <html>
  100. <head>
  101.     <title>
  102.         File browser
  103.     </title>
  104.     <style type="text/css">
  105.         body, td, th, select, input {
  106.             font-family: verdana,sans-serif;
  107.             font-size: 9pt;
  108.         }
  109.         .text {
  110.             font-family: verdana,sans-serif;
  111.             font-size: 9pt;
  112.             border: solid 1px #000000;
  113.         }
  114.         .button {
  115.             border: solid 1px #000000;
  116.         }
  117.         .small {
  118.             font-size: 7pt;
  119.         }
  120.     </style>
  121.  
  122.     <script src="../HTML_TreeMenu-1.1.2/TreeMenu.js" language="JavaScript" type="text/javascript"></script>
  123.  
  124. <?php
  125.     set_time_limit(0);    // six minute timeout
  126.     ini_set("memory_limit","256M");
  127.  
  128.     /**
  129.      * Directory Node
  130.      * @package HTML_TreeMenu
  131.      */
  132.     class DirNode extends HTML_TreeNode
  133.     {
  134.         /**
  135.         * full path to this node
  136.         * @var string 
  137.         */
  138.         var $path;
  139.         
  140.         function DirNode($text = false$link = false$icon = false$path$events = array())
  141.         {
  142.             $this->path = $path;
  143.             $options = array();
  144.             if ($text$options['text'$text;
  145.             if ($link$options['link'$link;
  146.             if ($icon$options['icon'$icon;
  147.             HTML_TreeNode::HTML_TreeNode($options,$events);
  148.         }
  149.     }
  150.  
  151.  
  152.     $menu  = new HTML_TreeMenu();
  153.     $filename '';
  154.     if (isset($_GET&& isset($_GET['fileName'])) {
  155.         $filename $_GET['fileName'];
  156.     }
  157.     $filename realpath($filename);
  158.     $pd (substr(PHP_OS03== 'WIN''\\' '/';
  159.     $test ($pd == '/''/' 'C:\\';
  160.     if (empty($filename|| ($filename == $test)) {
  161.         $filename ($pd == '/''/' 'C:\\';
  162.         $node = false;
  163.         getDir($filename,$node);
  164.     else {
  165.         flush();
  166. //            if ($pd != '/') $pd = $pd.$pd;
  167.         $anode = false;
  168.         switchDirTree($filename,$anode);
  169. //            recurseDir($filename,$anode);
  170.         $node = new HTML_TreeNode(array('text' => "Click to view ".addslashes($filename),'link' => "",'icon' => 'branchtop.gif'));
  171.         $node->addItem($anode);
  172.     };
  173.     $menu->addItem($node);
  174.     if ('@WEB-DIR@' != '@'.'WEB-DIR@')
  175.     {
  176.         $DHTMLmenu &new HTML_TreeMenu_DHTML($menu,
  177.                         array('images' => '../HTML_TreeMenu-1.1.2/images'));
  178.     else {
  179.        $DHTMLmenu &new HTML_TreeMenu_DHTML($menu,
  180.                         array('images' => str_replace('/docbuilder/file_dialog.php','',$_SERVER['PHP_SELF'].
  181.                               '/HTML_TreeMenu-1.1.2/images'));
  182.     }
  183. ?>
  184. <script type="text/javascript" language="Javascript">
  185. /**
  186.    Creates some global variables
  187. */
  188. function initializate() {
  189. //
  190. //The "platform independent" newLine
  191. //
  192. //Taken from http://developer.netscape.com/docs/manuals/communicator/jsref/brow1.htm#1010426
  193.     if (navigator.appVersion.lastIndexOf( 'Win' ) != -1) {
  194.         $pathdelim="\\";
  195.         $newLine="\r\n";
  196.     } else {
  197.         $newLine="\n";
  198.         $pathdelim="/";
  199.     }
  200.     /* for($a=0;$a<document.dataForm.elements.length;$a++) {
  201.      alert("The name is '"+document.dataForm.elements[$a].name+"' "+$a);
  202.      }
  203.     */
  204. }
  205. /** Sets the contents of the help box, and submits the form
  206. */
  207. function setHelp( $str ) {
  208.     document.helpForm.fileName.value = $str;
  209.     document.helpForm.submit();
  210. }
  211.  
  212. /** Sets the contents of the help box only
  213. */
  214. function setHelpVal( $str ) {
  215.     document.helpForm.fileName.value = $str;
  216. }
  217. /**Takes a given string and leaves it ready to add a new string
  218.    That is, puts the comma and the new line if needed
  219. */
  220. function prepareString($myString) {
  221.  //First verify that a comma is not at the end
  222.  if($myString.lastIndexOf(",") >= $myString.length-2) {
  223.   //We have a comma at the end
  224.   return $myString;
  225.  }
  226.  if($myString.length > 0) {
  227.   $myString+=","+$newLine;
  228.  }
  229.  return $myString;
  230. }
  231.  
  232.  
  233.  function myReplace($string,$text,$by) {
  234.  // Replaces text with by in string
  235.      var $strLength = $string.length, $txtLength = $text.length;
  236.      if (($strLength == 0) || ($txtLength == 0)) return $string;
  237.  
  238.      var $i = $string.indexOf($text);
  239.      if ((!$i) && ($text != $string.substring(0,$txtLength))) return $string;
  240.      if ($i == -1) return $string;
  241.  
  242.      var $newstr = $string.substring(0,$i) + $by;
  243.  
  244.      if ($i+$txtLength < $strLength)
  245.          $newstr += myReplace($string.substring($i+$txtLength,$strLength),$text,$by);
  246.  
  247.      return $newstr;
  248.  }
  249. </script>
  250.  
  251. </head>
  252.  
  253. <body bgcolor="#ffffff" onload="javascript:initializate()">
  254. <strong>Directory Browser</strong>
  255.  
  256. <table cellpadding="1" cellspacing="1" border="0" width="100%">
  257.  
  258. <form name="helpForm" action="<?php print $_SERVER['PHP_SELF']?>" method="get" enctype="multipart/form-data">
  259. <tr>
  260.     <td colspan="2" width="100%">
  261.         Use this to find directories and files which can be used below:
  262.     </td>
  263. </tr>
  264. <tr>
  265.     <td align="right">
  266.         <a href="javascript:document.helpForm.submit();" title="browse tree">
  267. <?php
  268.     echo showImage'images/rc-gui-install-24.png''24''24' );
  269. ?>
  270.         </a>
  271.     </td>
  272.     <td>
  273.         <input size="60" type="text" name="fileName" value="<?php print $filename;?>" class="text" />
  274.     </td>
  275. </tr>
  276. <tr>
  277.     <td>
  278.         <input type="submit" name="helpdata" value="close" class="button" onclick="window.close();" />
  279.     </td>
  280.     <td align="right">
  281.         <input type="submit" name="helpdata" value="accept" class="button" onclick="opener.setFile(document.helpForm.fileName.value);window.close();" />
  282.     </td>
  283. </tr>
  284. <tr>
  285.     <td colspan="2">
  286.         <div id='menuLayer'></div>
  287.         <?php $DHTMLmenu->printMenu()?>
  288.     </td>
  289. </tr>
  290. </form>
  291.  
  292. </table>
  293.  
  294. </body>
  295. </html>

Documentation generated on Mon, 11 Mar 2019 15:50:19 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.