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

Documentation generated on Tue, 06 Dec 2011 07:18:27 -0600 by phpDocumentor 1.4.4