Source for file common.inc.php
Documentation is available at common.inc.php
 * Common information needed by all portions of the application  
 * phpDocumentor :: automatic documentation generator  
 * Copyright (c) 2001-2008 Gregory Beaver  
 * 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  
 * 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  
 * @category  ToolsAndUtilities  
 * @copyright 2001-2008 Gregory Beaver  
 * @license   http://www.opensource.org/licenses/lgpl-license.php LGPL  
 * @version   CVS: $Id: common.inc.php 288074 2009-09-05 02:16:26Z ashnazg $  
 * @link      http://www.phpdoc.org  
 * @link      http://pear.php.net/PhpDocumentor  
 * @see       parserDocBlock, parserInclude, parserPage, parserClass  
 * @see       parserDefine, parserFunction, parserMethod, parserVar  
 * @todo      CS cleanup - change package to PhpDocumentor  
 * @todo      CS cleanup - rename constant to TOKENIZER_EXT  
/* phpDocumentor version */  
if ('@PEAR-DIR@' != 
'@'.
'PEAR-DIR@') {  
    define("PHPDOCUMENTOR_VER", "@VER@");  
    define("PHPDOCUMENTOR_VER", "1.4.3");  
define("PHPDOCUMENTOR_WEBSITE", "http://www.phpdoc.org");  
// set the correct path delimiter  
define('SMART_PATH_DELIMITER', DIRECTORY_SEPARATOR);   
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');  
    phpversion() == 
'5.0.0RC1-dev' || 
phpversion() == 
'5.0.0RC2-dev'   
    || 
version_compare(phpversion(), '5.0.0', 'ge')); 
// determine which "clone" class to set, based on PHP major version  
$cloneClassDir  = 
'PhpDocumentor' . 
DIRECTORY_SEPARATOR . 
'phpDocumentor';  
$cloneClassFile = 
'clone.inc.php';  
if ('@VER@' == 
'@'.
'VER@') {  
    // we're _not_ in a PEAR installation  
    $cloneClassDir = 
dirname(__FILE__
);  
    $cloneClassFile = 
'clone5.inc.php';  
require_once $cloneClassDir . 
DIRECTORY_SEPARATOR . 
$cloneClassFile;  
// make arg arrays available  
if (isset
($_SERVER['argv'])) {  
    $argv = 
$_SERVER['argv'];  
    $argc = 
$_SERVER['argc'];  
 * used in phpdoc.php and new_phpdoc.php  
 * @param string $directory a directory string  
 * @return array an array of directory contents  
 * @todo CS cleanup - rename function to PhpDocumentor_ConfigFileList  
        while ($d && 
$entry=
$d->read()) {  
            if (strcmp($entry, ".") != 
0 && 
strcmp($entry, "..") != 
0) {  
                if (substr($entry, 0, 1) != 
".") $getentry = 
true;  
 * Works like {@link parse_ini_file}, except it will take a section like:  
 * and return an associative array(MYVAR => array(value1, value2, value3))  
 * @param string $filename         full path to the ini file  
 * @param bool   $process_sections add an associative index  
 *                                  for each section [in brackets]  
 * @todo CS cleanup - rename function to PhpDocumentor_parse_ini_file  
    $lines     = 
@file($filename);  
    if (!$lines) return $lines;  
    foreach ($lines as $line) {  
        // code by Greg Beaver, ignore comments  
        if ($line[0] == 
';') continue;  
        if ($line[0] == 
"[" && 
$line[strlen($line) - 
1] == 
"]") {  
                if (substr($property, 0, 1) == 
'"' && 
substr($property, -
1) == 
'"') {  
                if ($value == 
'false') $value = 
false;  
                if ($value == 
'true') $value = 
true;  
                if (substr($value, 0, 1) == 
'"' && 
substr($value, -
1) == 
'"') {  
                    $ini_array[$sec_name][$property] = 
$value;  
                    $ini_array[$property] = 
$value;  
                    $ini_array[$property] = 
$value;  
                if (trim($line[0]) == 
';') continue;  
                    $ini_array[$sec_name][] = 
trim($line);  
 * construct an "array_key_exists()" method  
 * if the runtime PHP version doesn't have one  
 * @todo CS Cleanup - can't avoid "prefixed by package" error  
 * @todo depend on PHP_Compat for this?  
     * Determines if a given key exists in a given array  
     * @param mixed $key    key to search for  
     * @param array $search the array of keys to search  
     * @return bool whether or not the key was found  
        foreach ($search as $keys => 
$nul) {  
            if ($key == 
$keys) return true;  
 * construct an "is_a()" method  
 * if the runtime PHP version doesn't have one  
 * @todo CS Cleanup - can't avoid "prefixed by package" error  
 * @todo depend on PHP_Compat for this?  
     * Determines if one item "is" an object of the other item  
     * @param string $classname  the class in question  
     * @param string $classquery the "is it a" class  
     * @return bool whether or not the class "is" one  
    function is_a($classname, $classquery)  
        } elseif (!empty($father)) {  
            return is_a($father, $classquery);  
 * @param string $s the "debug message" string to echo out  
 * @todo CS Cleanup - can't avoid "prefixed by package" error  
 * Returns a formatted var_dump for debugging purposes.  
 * @param string $s string to display  
 * @param mixed  $v unlimited number of variables to display with var_dump()  
    if (isset
($GLOBALS['dont_debug']) && 
$GLOBALS['dont_debug']) return;  
    debug($s.
"\n\n</pre><blockquote><pre>");  
    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  
 * @param object $object the object to get the classname for  
 * @return string the class name of the given object  
 * @todo CS cleanup - rename function to PhpDocumentor_get_class  
 
 
	
		Documentation generated on Mon, 05 Dec 2011 21:19:30 -0600 by phpDocumentor 1.4.4