merge nils' changes into 3.2.x (i am still not sure if we want to have them in 3.0.x - therefore i suggest we test them in 3.2.x)

The default search plugin in 3.0.x will not change, but if the test goes well we may allow this to be installed in 3.0.x through the "contrib method"

git-svn-id: file:///svn/phpbb/trunk@9558 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen 2009-06-07 18:07:13 +00:00
parent f6fd198de2
commit ac6469ab7d
3 changed files with 161 additions and 0 deletions

View file

@ -0,0 +1,30 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @category Zend
* @package Zend
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Exception extends Exception
{}

View file

@ -0,0 +1,58 @@
<?php
/**
*
* @package zend
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (version_compare(PHP_VERSION, '5.2.4', '<') || !function_exists('spl_autoload_register'))
{
trigger_error('PHP >= 5.2.4 and spl_autoload_register() required', E_USER_ERROR);
}
/**
* Autoload function for Zend framework classes
*/
function phpbb_zend_autoload($class_name)
{
global $phpbb_root_path;
if (strpos($class_name, '_') !== false)
{
$path = str_replace('_', '/', $class_name) . '.php';
require("{$phpbb_root_path}includes/" . $path);
return true;
}
}
/**
* @ignore
*/
// make sure Zend is in the include path
ini_set( 'include_path', ini_get( 'include_path' ) . PATH_SEPARATOR . $phpbb_root_path . 'includes' );
// check whether a regular autoload function already exists, so we can load it into the spl stack afterwards
$register_autoload = false;
if (function_exists('__autoload'))
{
$register_autoload = true;
}
spl_autoload_register('phpbb_zend_autoload');
// load the old autoload function into the spl stack if necessary
if ($register_autoload)
{
spl_autoload_register('__autoload');
}

View file

@ -0,0 +1,73 @@
<?php
/**
*
* @package ezcomponents
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* eZ components class loader
* Replaces the autoload mechanism eZ Components normally use
* @package ezcomponents
*/
class phpbb_ezcomponents_loader
{
var $loaded;
/**
* Constructor which makes sure the PHP version requirement is met.
*/
function phpbb_ezcomponents_loader()
{
$this->loaded = array();
if (version_compare(PHP_VERSION, '5.2.1', '<'))
{
trigger_error('PHP >= 5.2.1 required', E_USER_ERROR);
}
}
/**
* Loads all classes of a particular component.
* The base component is always loaded first.
*
* @param $component string Lower case component name
*/
function load_component($component)
{
global $phpbb_root_path;
// don't allow loading the same component twice
if (isset($this->loaded[$component]) && $this->loaded[$component])
{
return;
}
// make sure base is always loaded first
if ($component != 'base' && !isset($this->loaded['base']))
{
$this->load_component('base');
}
$ezc_path = $phpbb_root_path . 'includes/ezcomponents/';
// retrieve the autoload list
$classes = include($ezc_path . ucfirst($component) . '/' . $component . '_autoload.php');
// include all files related to this component
foreach ($classes as $class => $path)
{
include($ezc_path . $path);
}
}
}