Viewing file: Maintainer.php (3.36 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /** * PECL specific Maintainer extensions * * PHP versions 5 * * LICENSE: This source file is subject to version 3.0 of the PHP license * that is available through the world-wide-web at the following URI: * http://www.php.net/license/3_0.txt. If you did not receive a copy of * the PHP License and are unable to obtain it through the web, please * send a note to license@php.net so we can mail you a copy immediately. * * @category Tools and Utilities * @package CodeGen * @author Hartmut Holzgraefe <hartmut@php.net> * @copyright 2005 Hartmut Holzgraefe * @license http://www.php.net/license/3_0.txt PHP License 3.0 * @version CVS: $Id: Maintainer.php,v 1.4 2006/02/17 19:07:53 hholzgra Exp $ * @link http://pear.php.net/package/CodeGen */
/** * includes */ require_once "CodeGen/Maintainer.php";
/** * PECL specific Maintainer extensions * * @category Tools and Utilities * @package CodeGen * @author Hartmut Holzgraefe <hartmut@php.net> * @copyright 2005 Hartmut Holzgraefe * @license http://www.php.net/license/3_0.txt PHP License 3.0 * @version Release: @package_version@ * @link http://pear.php.net/package/CodeGen */ class CodeGen_PECL_Maintainer extends CodeGen_Maintainer { /** * Generate a phpinfo line for this author * * @access public * @return string phpinfo() line */ function phpinfoCode() { return " php_printf(\"<p>{$this->name} <{$this->email}> ({$this->role})</p>\\n\");\n"; }
/** * Generate a package.xml <maintainer> entry for this author * * @access public * @return string phpinfo() line */ function packageXml() { $code = " <maintainer>\n"; $code.= " <user>{$this->user}</user>\n"; $code.= " <name>{$this->name}</name>\n"; $code.= " <email>{$this->email}</email>\n"; $code.= " <role>{$this->role}</role>\n"; $code.= " </maintainer>\n"; return $code; }
/** * Generate a package.xml 2.0 <maintainer> entry for this author * * @access public * @return string phpinfo() line */ function packageXml2() { $code = "";
$code.= " <{$this->role}>\n"; $code.= " <name>{$this->name}</name>\n"; $code.= " <user>{$this->user}</user>\n"; $code.= " <email>{$this->email}</email>\n"; $code.= " <active>yes</active>\n"; // TODO add something like this on the input side, too $code.= " </{$this->role}>\n"; return $code; }
/** * Comparison function * * We need to sort maintainers by role as package.xml 2.0 * requires this. This callback can be used by usort() to * sort an array of Maintainer objects * * @param object maintainer #1 * @param object maintainer #2 * @return int the usual -1, 0, 1 */ static function comp($m1, $m2) { $ranking = array("lead"=>1, "developer"=>2, "contributor"=>3, "helper"=>4);
$r1 = $ranking[$m1->role]; $r2 = $ranking[$m2->role];
if ($r1 < $r2) return -1; if ($r1 > $r2) return 1; return 0; } }
/* * Local variables: * tab-width: 4 * c-basic-offset: 4 * indent-tabs-mode:nil * End: */
?>
|