Current File : //opt/RZphp72/includes/PHP/DocBlockGenerator/License.php
<?php

/**
 * DocBlock Generator
 *
 * PHP version 5
 *
 * All rights reserved.
 * Redistribution and use in source and binary forms, with or without modification,
 * are permitted provided that the following conditions are met:
 * + Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * + Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation and/or
 * other materials provided with the distribution.
 * + The names of its contributors may not be used to endorse or promote
 * products derived from this software without specific prior written permission.
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * @category  PHP
 * @package   PHP_DocBlockGenerator
 * @author    Michel Corne <mcorne@yahoo.com>
 * @copyright 2007 Michel Corne
 * @license   http://www.opensource.org/licenses/bsd-license.php The BSD License
 * @version   SVN: $Id: License.php 30 2007-07-23 16:46:42Z mcorne $
 * @link      http://pear.php.net/package/PHP_DocBlockGenerator
 */

/**
 * License repository: license full name, text template and URL.
 *
 * @category  PHP
 * @package   PHP_DocBlockGenerator
 * @author    Michel Corne <mcorne@yahoo.com>
 * @copyright 2007 Michel Corne
 * @license   http://www.opensource.org/licenses/bsd-license.php The BSD License
 * @version   Release: @package_version@
 * @link      http://pear.php.net/package/PHP_DocBlockGenerator
 */

class PHP_DocBlockGenerator_License
{
    /**
     * The licenses full names, texts and URLs
     *
     * @var    array
     * @access private
     */
    private $license = array(// /
        'apache20' => array(// /
            'full_name' => 'The Apache License, Version 2.0',
            'url' => 'http://www.apache.org/licenses/LICENSE-2.0',
            'text' => array(),
            ),
        'bsd' => array(// /
            'full_name' => 'The BSD License',
            'url' => 'http://www.opensource.org/licenses/bsd-license.php',
            'text' => array(),
            ),
        'lgpl21' => array(// /
            'full_name' => 'The GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1',
            'url' => 'http://www.gnu.org/copyleft/lesser.html',
            'text' => array(),
            ),
        'mit' => array(// /
            'full_name' => 'The MIT License',
            'url' => 'http://www.opensource.org/licenses/mit-license.php',
            'text' => array(),
            ),
        'php301' => array(// /
            'full_name' => 'The PHP License, version 3.01',
            'url' => 'http://www.php.net/license/3_01.txt',
            'text' => array(),
            ),
        );

    /**
     * The class constructor
     *
     * @return void
     * @access public
     */
    public function __construct()
    {
        if ('/opt/RZphp72/includes/data' == '@'.'data_dir'.'@') {
            // This package hasn't been installed.  Use local files.
            $sPath = dirname(__FILE__) . '/../../licenses';
        } else {
            // It has been installed.  Use the configured path.
		    $sPath = '/opt/RZphp72/includes/data/PHP_DocBlockGenerator/licenses';
        }

        foreach ($this->license as $sId => &$aData) {
            $sFile = "$sPath/$sId.txt";
			if (is_readable($sFile)) {
				$this->license[$sId]['text'] = file($sFile,FILE_IGNORE_NEW_LINES);
			}
		}
    }

    /**
     * Gets the license full name
     *
     * @param  string $name the license name: apache20 | bsd | lgpl21 | mit | php301
     * @return string the license full name or null if invalid
     * @access public
     */
    public function getFullName($name)
    {
        return $this->isValid($name)? $this->license[$name]['full_name'] : '';
    }

    /**
     * Gets the license text
     *
     * @param  string $name the license name: apache20 | bsd | lgpl21 | mit | php301
     * @return string the license text or null if invalid
     * @access public
     */
    public function getText($name)
    {
        return $this->isValid($name)? $this->license[$name]['text'] : array();
    }

    /**
     * Gets the license URL
     *
     * @param  string $name the license name: apache20 | bsd | lgpl21 | mit | php301
     * @return string the license URL or null if invalid
     * @access public
     */
    public function getURL($name)
    {
        return $this->isValid($name)? $this->license[$name]['url'] : '';
    }

    /**
     * Verifies the license template is valid
     *
     * @param  string  $name the license name: apache20 | bsd | lgpl21 | mit | php301
     * @return boolean true if the license is valid, false otherwise
     * @access public
     */
    public function isValid($name)
    {
        return isset($this->license[$name]);
    }
}

?>