Viewing file: common.inc.php (7.36 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /** * Common information needed by all portions of the application * * phpDocumentor :: automatic documentation generator * * PHP versions 4 and 5 * * Copyright (c) 2001-2006 Gregory Beaver * * LICENSE: * * This library is free software; you can redistribute it * and/or modify it under the terms of the GNU Lesser General * Public License as published by the Free Software Foundation; * either version 2.1 of the License, or (at your option) any * later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @package phpDocumentor * @author Greg Beaver <cellog@php.net> * @copyright 2001-2006 Gregory Beaver * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version CVS: $Id: common.inc.php,v 1.7 2006/10/18 18:52:12 cellog Exp $ * @filesource * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @see parserDocBlock, parserInclude, parserPage, parserClass * @see parserDefine, parserFunction, parserMethod, parserVar * @since 1.0rc1 */ /** phpDocumentor version */ if ('D:\xampp\php\pear' != '@'.'PEAR-DIR@') { define("PHPDOCUMENTOR_VER","1.3.1"); } else { define("PHPDOCUMENTOR_VER","1.3.1"); } /** phpDocumentor version */ define("PHPDOCUMENTOR_WEBSITE","http://www.phpdoc.org"); define('SMART_PATH_DELIMITER', DIRECTORY_SEPARATOR ); // set the correct path delimiter define('tokenizer_ext', extension_loaded('tokenizer') && version_compare(phpversion(),"4.3.0",">=")); // we just replace all the \ with / so that we can just operate on / define('PATH_DELIMITER', '/' ); // set the correct path delimiter define('PHPDOCUMENTOR_WINDOWS',substr(PHP_OS, 0, 3) == 'WIN'); define('_IN_PHP5', phpversion() == '5.0.0RC1-dev' || phpversion() == '5.0.0RC2-dev' || version_compare(phpversion(), '5.0.0', 'ge')); if ('1.3.1' != '@'.'VER@') { if (_IN_PHP5) { require_once 'PhpDocumentor/phpDocumentor/clone5.inc.php'; } else { require_once 'PhpDocumentor/phpDocumentor/clone.inc.php'; } } else { if (_IN_PHP5) { require_once dirname(__FILE__) . '/clone5.inc.php'; } else { require_once dirname(__FILE__) . '/clone.inc.php'; } } if (isset($_SERVER['argv'])) { $argv = $_SERVER['argv']; $argc = $_SERVER['argc']; }
/** used in phpdoc.php and new_phpdoc.php */ function phpDocumentor_ConfigFileList($directory) { $ret = array(); if (@is_dir($directory)) { $ret = array(); $d = @dir($directory); // thanks to Jason E Sweat (jsweat@users.sourceforge.net) for fix while($d && $entry=$d->read()) { $getentry = false; if (strcmp($entry,".") != 0 && strcmp($entry,"..") != 0) { if (substr($entry,0,1) != ".") $getentry = true; } if ($getentry == true) { if (strpos($entry,'.ini')) if (is_file($directory . PATH_DELIMITER . $entry)) { $ret[] = str_replace('.ini','',$entry); } } } if ($d) $d->close(); } else { } return $ret; }
/** * Parse an .ini file * * Works like {@link parse_ini_file}, except it will take a section like: * * <pre> * [MYVAR] * value1 * value2 * value3 * </pre> * * and return an associative array(MYVAR => array(value1, value2, value3)) * @return array * @param string full path to the ini file * @param boolean add an associative index for each section [in brackets] */ function phpDocumentor_parse_ini_file($filename, $process_sections = false) { $ini_array = array(); $sec_name = ""; $lines = @file($filename); if( !$lines) return $lines; foreach($lines as $line) { // code by Greg Beaver, ignore comments if ($line[0] == ';') continue; $line = trim($line); if($line == "") { continue; } if($line[0] == "[" && $line[strlen($line) - 1] == "]") { $sec_name = substr($line, 1, strlen($line) - 2); } else { if (strpos($line,"=")) { $pos = strpos($line, "="); $property = trim(substr($line, 0, $pos)); // code by Greg Beaver if (substr($property, 0, 1) == '"' && substr($property, -1) == '"') { $property = stripcslashes(substr($property,1,count($property) - 2)); } $value = trim(substr($line, $pos + 1)); if ($value == 'false') $value = false; if ($value == 'true') $value = true; if (substr($value, 0, 1) == '"' && substr($value,-1) == '"') { $value = stripcslashes(substr($value,1,count($value) - 2)); } // done additions if($process_sections) { if ($sec_name != '') $ini_array[$sec_name][$property] = $value; else $ini_array[$property] = $value; } else { $ini_array[$property] = $value; } } else { // code by Greg Beaver if (trim($line[0]) == ';') continue; if($process_sections) { $ini_array[$sec_name][] = trim($line); } // done additions } } } return $ini_array; }
if (!function_exists('array_key_exists')) { /** @ignore */ function array_key_exists($key, $search) { foreach($search as $keys => $nul) { if ($key == $keys) return true; } return false; } } if (!function_exists('is_a')) { /** @ignore */ function is_a($classname, $classquery) { $father = get_parent_class($classname); if (strtolower($father) == strtolower($classquery)) { return true; } elseif (!empty($father)) { return is_a($father, $classquery); } else { return false; } } }
/** Debugging output */ function debug($s) { echo "$s\n"; }
/** * Returns a formatted var_dump for debugging purposes. * @param string $s string to display * @param mixed $v variable to display with var_dump() * @param mixed $v... unlimited number of additional variables to display with var_dump() */ function fancy_debug($s,$v) { if (isset($GLOBALS['dont_debug']) && $GLOBALS['dont_debug']) return; debug($s."\n\n</pre><blockquote><pre>"); var_dump($v); if (func_num_args()>2) { for($i=2;$i<func_num_args();$i++) { $a = func_get_arg($i); // debug(" "); var_dump($a); } } debug("</pre></blockquote><pre>\n\n"); }
/** * Returns a lower-cased version of get_class for PHP 5 * * get_class() returns case as declared in the file in PHP 5 */ function phpDocumentor_get_class($object) { return strtolower(get_class($object)); }
?>
|