cvs: php4 /pear/PHPDoc/core PhpdocSetupHandler.php

From: Date: Mon, 16 Oct 2000 11:13:46 +0000
Subject: cvs: php4 /pear/PHPDoc/core PhpdocSetupHandler.php
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-2069@lists.php.net to get a copy of this message
subjective Mon Oct 16 04:13:46 2000 EDT Modified files: /php4/pear/PHPDoc/core PhpdocSetupHandler.php Log: Small change to allow empty file extensions Index: php4/pear/PHPDoc/core/PhpdocSetupHandler.php diff -u php4/pear/PHPDoc/core/PhpdocSetupHandler.php:1.2 php4/pear/PHPDoc/core/PhpdocSetupHandler.php:1.3 --- php4/pear/PHPDoc/core/PhpdocSetupHandler.php:1.2 Sun Oct 15 06:33:12 2000 +++ php4/pear/PHPDoc/core/PhpdocSetupHandler.php Mon Oct 16 04:13:42 2000 @@ -1,224 +1,218 @@ -<?php -/** -* Handles the "setup". -* -* This class provides all methods neccessary to "setup" Phpdoc and check the -* current setup. -* -* @version 0.2alpha -* @author Ulf Wendel <ulf@redsys.de> -*/ -class PhpdocSetupHandler extends PhpdocArgvHandler { - - /** - * Name of the target directory. - * @var string $target - * @access private - */ - var $target = ""; - - /** - * Name of the application parsed - * @var string $application - * @see setApplication() - */ - var $application = "PHPDoc"; - - /** - * Basedir for all file operations - * @var string $basedir - * @see setApplication(), setBasedir() - */ - var $basedir = ""; - - /** - * Suffix for all rendered files in the application (not for the xml files) - * If you used an other file suffix than ".html" in you have to override this - * variable using setTargetFileSuffix() - * @var string targetFileSuffix - * @see setTargetFileSuffix() - */ - var $targetFileSuffix = ".html"; - - /** - * Suffix of all source code files in the application - * If you used other file suffixes than ".php" in you have to override this - * variable using setSourceFileSuffix() - * @var array sourceFileSuffix - * @see setSourceFileSuffix() - */ - var $sourceFileSuffix = array ( "php" ); - - /** - * Directory with the php sources to parse. - * @var string - * @see setSourceDir() - */ - var $sourceDirectory = ""; - - /** - * Directory with the templates. - * @var string - * @see setTemplateDirectory() - */ - - /** - * Sets the name of the directory with the source to scan. - * @param string - * @access public - */ - function setSourceDirectory($sourcedir) { - $this->sourceDirectory = $this->getCheckedDirname($sourcedir); - } // end end func setSourceDirectory - - /** - * Sets the name of the directory with the templates. - * @param string - * @access public - */ - function setTemplateDirectory($sourcedir) { - $this->templateRoot = $this->getCheckedDirname($sourcedir); - } // end func setTemplateDirectory - - /** - * Sets the name of your application. - * - * The application name gets used on many places in the default templates. - * - * @param string $application name of the application - * @return bool $ok - * @throws PhpdocError - * @access public - */ - function setApplication($application) { - if (""==$application) { - $this->err[] = new PhpdocError("No application name given.", __FILE__, __LINE__); - return false; - } - - $this->application = $application; - return true; - } // end func setApplication - - /** - * Suffix for all rendered files in the application (not for the xml files) - * By default the the suffix is set to ".html". - * - * @param string $suffix string with the suffix - * @return bool $ok - * @access private - * @see targetFileSuffix - * @author Thomas Weinert <subjective@subjective.de> - */ - - function setTargetFileSuffix($suffix) { - if (ereg("^\.[a-zA-Z0-9]+$",$suffix)) { - $this->targetFileSuffix = $suffix; - $ok = true; - } else { - if (ereg("^[a-zA-Z0-9]+$",$suffix)) { - $this->targetFileSuffix = ".".$suffix; - $ok = true; - } else { - $ok = false; - } - } - return $ok; - } - - /** - * Suffix of all source code files in the application - * By default only files with the suffix ".php" are recognized as - * php source code files and parsed. If you used other - * suffixes such as ".inc" you have to tell phpdoc to parse - * them. - * - * @param mixed $suffix string with one suffix or array of suffixes - * @return bool $ok - * @throws PhpdocError - * @access private - * @see sourceFileSuffix - */ - function setSourceFileSuffix($suffix) { - if ( (!is_array($suffix) && ""==$suffix) || (is_array($suffix) && 0==count($suffix)) ) { - $this->err[] = new PhpdocError("No suffix specified.", __FILE__, __LINE__); - return false; - } - if (!is_array($suffix)) - $suffix = array($suffix); - - $this->sourceFileSuffix = $suffix; - return true; - } // end func setSourceFileSuffix - - /** - * Sets the target where the generated files are saved. - * - * @param string $target - * @return bool $ok - * @throws PhpdocError - * @access public - */ - function setTarget($target) { - if (""==$target) { - $this->err[] = new PhpdocError("No target specified.", __FILE__, __LINE__); - return false; - } - - if (!is_dir($target)) { - $ok = @mkdir($target, 0755); - if (!$ok) { - $this->err[] = new PhpdocError("setTarget(), can't create a directory '$target'.", __FILE__, __LINE__); - return false; - } - } - - $this->target = $this->getCheckedDirname($target); - return true; - } // end func setTarget - - /** - * Checks the current status of the object. Are all necessary informations - * to start parsing available? - * @param array $errors - * @access private - * @return array $errors - */ - function checkStatus($errors="") { - if (!is_array($errors)) - $errors = array(); -/* - - if (0==count($this->files) && ""==$this->directory) - $errors[] = array ( - "msg" => "No source files or source directory specified.", - "type" => "misconfiguration", - "errno" => 6 - ); - - if (0!=count($this->files) && ""!=$this->directory) - $errors[] = array( - "msg" => "Define eighter some files or a diretory.", - "type" => "misconfiguration", - "errno" => 7 - ); - */ - return $errors; - } // end func checkStatus - - /** - * Adds a slash at the end of the given filename if neccessary. - * - * @param string Directoryname - * @return string Directoryname - */ - function getCheckedDirname($dirname) { - - if (""!=$dirname && "/"!=substr($dirname, -1)) - $dirname.="/"; - - return $dirname; - } // end func getCheckedDirname - -} // end class PhpdocSetupHandler +<?php +/** +* Handles the "setup". +* +* This class provides all methods neccessary to "setup" Phpdoc and check the +* current setup. +* +* @version 0.2alpha +* @author Ulf Wendel <ulf@redsys.de> +*/ +class PhpdocSetupHandler extends PhpdocArgvHandler { + + /** + * Name of the target directory. + * @var string $target + * @access private + */ + var $target = ""; + + /** + * Name of the application parsed + * @var string $application + * @see setApplication() + */ + var $application = "PHPDoc"; + + /** + * Basedir for all file operations + * @var string $basedir + * @see setApplication(), setBasedir() + */ + var $basedir = ""; + + /** + * Suffix for all rendered files in the application (not for the xml files) + * If you used an other file suffix than ".html" in you have to override this + * variable using setTargetFileSuffix() + * @var string targetFileSuffix + * @see setTargetFileSuffix() + */ + var $targetFileSuffix = ".html"; + + /** + * Suffix of all source code files in the application + * If you used other file suffixes than ".php" in you have to override this + * variable using setSourceFileSuffix() + * @var array sourceFileSuffix + * @see setSourceFileSuffix() + */ + var $sourceFileSuffix = array ( "php" ); + + /** + * Directory with the php sources to parse. + * @var string + * @see setSourceDir() + */ + var $sourceDirectory = ""; + + /** + * Directory with the templates. + * @var string + * @see setTemplateDirectory() + */ + + /** + * Sets the name of the directory with the source to scan. + * @param string + * @access public + */ + function setSourceDirectory($sourcedir) { + $this->sourceDirectory = $this->getCheckedDirname($sourcedir); + } // end end func setSourceDirectory + + /** + * Sets the name of the directory with the templates. + * @param string + * @access public + */ + function setTemplateDirectory($sourcedir) { + $this->templateRoot = $this->getCheckedDirname($sourcedir); + } // end func setTemplateDirectory + + /** + * Sets the name of your application. + * + * The application name gets used on many places in the default templates. + * + * @param string $application name of the application + * @return bool $ok + * @throws PhpdocError + * @access public + */ + function setApplication($application) { + if (""==$application) { + $this->err[] = new PhpdocError("No application name given.", __FILE__, __LINE__); + return false; + } + + $this->application = $application; + return true; + } // end func setApplication + + /** + * Suffix for all rendered files in the application (not for the xml files) + * By default the the suffix is set to ".html". + * + * @param string $suffix string with the suffix + * @return bool $ok + * @access private + * @see targetFileSuffix + * @author Thomas Weinert <subjective@subjective.de> + */ + + function setTargetFileSuffix($suffix) { + if (!( ereg("^\.",$suffix) || ($suffix == "") )) { + $this->err[] = new PhpdocError("The file extension contains no point at begin.", __FILE__, __LINE__); + return false; + } + $this->targetFileSuffix = $suffix; + return true; + } + + /** + * Suffix of all source code files in the application + * By default only files with the suffix ".php" are recognized as + * php source code files and parsed. If you used other + * suffixes such as ".inc" you have to tell phpdoc to parse + * them. + * + * @param mixed $suffix string with one suffix or array of suffixes + * @return bool $ok + * @throws PhpdocError + * @access private + * @see sourceFileSuffix + */ + function setSourceFileSuffix($suffix) { + if ( (!is_array($suffix) && ""==$suffix) || (is_array($suffix) && 0==count($suffix)) ) { + $this->err[] = new PhpdocError("No suffix specified.", __FILE__, __LINE__); + return false; + } + if (!is_array($suffix)) + $suffix = array($suffix); + + $this->sourceFileSuffix = $suffix; + return true; + } // end func setSourceFileSuffix + + /** + * Sets the target where the generated files are saved. + * + * @param string $target + * @return bool $ok + * @throws PhpdocError + * @access public + */ + function setTarget($target) { + if (""==$target) { + $this->err[] = new PhpdocError("No target specified.", __FILE__, __LINE__); + return false; + } + + if (!is_dir($target)) { + $ok = @mkdir($target, 0755); + if (!$ok) { + $this->err[] = new PhpdocError("setTarget(), can't create a directory '$target'.", __FILE__, __LINE__); + return false; + } + } + + $this->target = $this->getCheckedDirname($target); + return true; + } // end func setTarget + + /** + * Checks the current status of the object. Are all necessary informations + * to start parsing available? + * @param array $errors + * @access private + * @return array $errors + */ + function checkStatus($errors="") { + if (!is_array($errors)) + $errors = array(); +/* + + if (0==count($this->files) && ""==$this->directory) + $errors[] = array ( + "msg" => "No source files or source directory specified.", + "type" => "misconfiguration", + "errno" => 6 + ); + + if (0!=count($this->files) && ""!=$this->directory) + $errors[] = array( + "msg" => "Define eighter some files or a diretory.", + "type" => "misconfiguration", + "errno" => 7 + ); + */ + return $errors; + } // end func checkStatus + + /** + * Adds a slash at the end of the given filename if neccessary. + * + * @param string Directoryname + * @return string Directoryname + */ + function getCheckedDirname($dirname) { + + if (""!=$dirname && "/"!=substr($dirname, -1)) + $dirname.="/"; + + return $dirname; + } // end func getCheckedDirname + +} // end class PhpdocSetupHandler ?>

« previous php.cvs (#2069) next »