function _registerFileResolvers()
  {
    $resolvers_dir = LIMB_DIR . '/core/file_resolvers/';

    include_once($resolvers_dir . 'PackageFileResolver.class.php');
    include_once($resolvers_dir . 'CachingFileResolver.class.php');
    include_once($resolvers_dir . 'IniFileResolver.class.php');
    include_once($resolvers_dir . 'StringsFileResolver.class.php');
    include_once($resolvers_dir . 'TemplateFileResolver.class.php');
    include_once($resolvers_dir . 'ServiceFileResolver.class.php');
    include_once($resolvers_dir . 'DbTableFileResolver.class.php');
    include_once($resolvers_dir . 'DAOFileResolver.class.php');
    include_once($resolvers_dir . 'ObjectFileResolver.class.php');

    registerFileResolver('ini',                 new CachingFileResolver(new IniFileResolver(new PackageFileResolver())));
    registerFileResolver('strings',             new CachingFileResolver(new StringsFileResolver(new PackageFileResolver())));
    registerFileResolver('template',            new CachingFileResolver(new TemplateFileResolver(new PackageFileResolver())));
    registerFileResolver('service',             new CachingFileResolver(new ServiceFileResolver(new PackageFileResolver())));
    registerFileResolver('db_table',            new CachingFileResolver(new DbTableFileResolver(new PackageFileResolver())));
    registerFileResolver('dao',                 new CachingFileResolver(new DAOFileResolver(new PackageFileResolver())));
    registerFileResolver('object',              new CachingFileResolver(new ObjectFileResolver(new PackageFileResolver())));
  }
  protected function _registerFileResolvers()
  {
    $resolvers_dir = LIMB_DIR . '/class/core/file_resolvers/';

    include_once($resolvers_dir . 'PackageFileResolver.class.php');
    include_once($resolvers_dir . 'CachingFileResolver.class.php');
    include_once($resolvers_dir . 'IniFileResolver.class.php');
    include_once($resolvers_dir . 'ActionFileResolver.class.php');
    include_once($resolvers_dir . 'StringsFileResolver.class.php');
    include_once($resolvers_dir . 'TemplateFileResolver.class.php');
    include_once($resolvers_dir . 'ControllerFileResolver.class.php');
    include_once($resolvers_dir . 'DbTableFileResolver.class.php');
    include_once($resolvers_dir . 'DatasourceFileResolver.class.php');
    include_once($resolvers_dir . 'SiteObjectFileResolver.class.php');

    registerFileResolver('ini',                 new CachingFileResolver(new IniFileResolver(new PackageFileResolver())));
    registerFileResolver('action',              new CachingFileResolver(new ActionFileResolver(new PackageFileResolver())));
    registerFileResolver('strings',             new CachingFileResolver(new StringsFileResolver(new PackageFileResolver())));
    registerFileResolver('template',            new CachingFileResolver(new TemplateFileResolver(new PackageFileResolver())));
    registerFileResolver('controller',          new CachingFileResolver(new ControllerFileResolver(new PackageFileResolver())));
    registerFileResolver('db_table',            new CachingFileResolver(new DbTableFileResolver(new PackageFileResolver())));
    registerFileResolver('datasource',          new CachingFileResolver(new DatasourceFileResolver(new PackageFileResolver())));
    registerFileResolver('site_object',         new CachingFileResolver(new SiteObjectFileResolver(new PackageFileResolver())));
  }
/**********************************************************************************
* Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com
*
* Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
***********************************************************************************
*
* $Id$
*
***********************************************************************************/
require_once(LIMB_DIR . '/core/system/objects_support.inc.php');

if(!isRegisteredResolver('object'))
{
  include_once(LIMB_DIR . '/core/file_resolvers/PackageFileResolver.class.php');
  include_once(LIMB_DIR . '/core/file_resolvers/ObjectFileResolver.class.php');
  registerFileResolver('object', new ObjectFileResolver(new PackageFileResolver()));
}

class ObjectFactory
{
  function create($class_name, $args = array())
  {
    ObjectFactory :: _includeClassFile($class_name);
    $handle =& new Handle($class_name, $args);

    return Handle :: resolve($handle);
  }

  function _includeClassFile($class_name)
  {
    if(class_exists($class_name))
Exemple #4
0
require_once(LIMB_DIR . '/class/core/file_resolvers/file_resolvers_registry.inc.php');
include_once(LIMB_DIR . '/class/core/file_resolvers/PackageFileResolver.class.php');
include_once(LIMB_DIR . '/class/core/file_resolvers/DbTableFileResolver.class.php');
include_once(LIMB_DIR . '/class/core/file_resolvers/BehaviourFileResolver.class.php');
include_once(LIMB_DIR . '/class/core/file_resolvers/DatasourceFileResolver.class.php');
include_once(LIMB_DIR . '/class/core/file_resolvers/SiteObjectFileResolver.class.php');
include_once(LIMB_DIR . '/class/core/file_resolvers/TemplateFileResolver.class.php');

registerFileResolver('ini',         LIMB_DIR . '/tests/lib/testsIniFileResolver');
registerFileResolver('action',      LIMB_DIR . '/tests/lib/testsActionFileResolver');
registerFileResolver('strings',     LIMB_DIR . '/tests/lib/testsStringsFileResolver');
registerFileResolver('db_table',    new DbTableFileResolver(new PackageFileResolver()));
registerFileResolver('template',    new TemplateFileResolver(new PackageFileResolver()));
registerFileResolver('behaviour',   new BehaviourFileResolver(new PackageFileResolver()));
registerFileResolver('datasource',  new DatasourceFileResolver(new PackageFileResolver()));
registerFileResolver('site_object', new SiteObjectFileResolver(new PackageFileResolver()));

require_once(LIMB_DIR . '/tests/setup_SimpleTest.inc.php');
require_once(LIMB_DIR . '/tests/lib/test_utils.php');
require_once(LIMB_DIR . '/tests/cases/LimbTestCase.class.php');
require_once(LIMB_DIR . '/tests/lib/TestFinder.class.php');
require_once(LIMB_DIR . '/class/lib/error/error.inc.php');
require_once(LIMB_DIR . '/class/core/PackagesInfo.class.php');
require_once(LIMB_DIR . '/class/core/Limb.class.php');
require_once(LIMB_DIR . '/class/core/BaseLimbToolkit.class.php');

Limb :: registerToolkit(new BaseLimbToolkit());

PackagesInfo :: instance()->loadPackages();//???

set_time_limit(0);
Exemple #5
0
<?php

/**********************************************************************************
* Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com
*
* Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
***********************************************************************************
*
* $Id$
*
***********************************************************************************/
if (file_exists(dirname(__FILE__) . '/constants.php')) {
    include_once dirname(__FILE__) . '/constants.php';
}
require_once LIMB_DIR . '/tests/setup.php';
require_once LIMB_DIR . '/class/core/PackagesInfo.class.php';
registerFileResolver('ini', $r = array(LIMB_DIR . '/tests/lib/PackageTestsIniFileResolver', dirname(__FILE__) . '/../'));
$info =& PackagesInfo::instance();
$info->loadPackages();
* Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com
*
* Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
***********************************************************************************
*
* $Id$
*
***********************************************************************************/
require_once(LIMB_DIR . '/core/util/Ini.class.php');
require_once(LIMB_DIR . '/core/file_resolvers/file_resolvers_registry.inc.php');

if(!isRegisteredResolver('ini'))
{
  include_once(LIMB_DIR . '/core/file_resolvers/PackageFileResolver.class.php');
  include_once(LIMB_DIR . '/core/file_resolvers/IniFileResolver.class.php');
  registerFileResolver('ini', new IniFileResolver(new PackageFileResolver()));
}

function getIniOption($file_path, $var_name, $group_name = 'default', $use_cache = null)
{
  $ini =& getIni($file_path, $use_cache);
  return $ini->getOption($var_name, $group_name);
}

function getIni($file_name, $use_cache = null, $resolver_name = 'ini')
{
  if (isset($GLOBALS['testing_ini'][$file_name]))
  {
    $resolved_file = VAR_DIR . '/' . $file_name;
    $use_cache = false;
  }
/**********************************************************************************
* Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com
*
* Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
***********************************************************************************
*
* $Id$
*
***********************************************************************************/
require_once(LIMB_DIR . '/core/error/Debug.class.php');

if(!isRegisteredResolver('dao'))
{
  include_once(LIMB_DIR . '/core/file_resolvers/PackageFileResolver.class.php');
  include_once(LIMB_DIR . '/core/file_resolvers/DAOFileResolver.class.php');
  registerFileResolver('dao', new DAOFileResolver(new PackageFileResolver()));
}

class DAOFactory
{
  var $daos = array();

  function & instance()
  {
    if (!isset($GLOBALS['DAOFactoryGlobalInstance']) || !is_a($GLOBALS['DAOFactoryGlobalInstance'], 'DAOFactory'))
      $GLOBALS['DAOFactoryGlobalInstance'] =& new DAOFactory();

    return $GLOBALS['DAOFactoryGlobalInstance'];
  }

  function & create($class_path)
Exemple #8
0
<?php

/**********************************************************************************
* Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com
*
* Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
***********************************************************************************
*
* $Id$
*
***********************************************************************************/
if (file_exists(dirname(__FILE__) . '/constants.php')) {
    include_once dirname(__FILE__) . '/constants.php';
}
require_once LIMB_DIR . '/tests/setup.php';
require_once LIMB_DIR . '/class/core/PackagesInfo.class.php';
registerFileResolver('ini', $r = array(LIMB_DIR . '/tests/lib/package_tests_ini_file_resolver', dirname(__FILE__) . '/../'));
$info =& PackagesInfo::instance();
$info->loadPackages();
/**********************************************************************************
* Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com
*
* Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
***********************************************************************************
*
* $Id: DataMapperFactory.class.php 1352 2005-06-07 15:35:29Z pachanga $
*
***********************************************************************************/
require_once(LIMB_DIR . '/core/system/objects_support.inc.php');

if(!isRegisteredResolver('mapper'))
{
  include_once(LIMB_DIR . '/core/file_resolvers/PackageFileResolver.class.php');
  include_once(LIMB_DIR . '/core/file_resolvers/DataMapperFileResolver.class.php');
  registerFileResolver('mapper', new DataMapperFileResolver(new PackageFileResolver()));
}

class DataMapperFactory
{
  function create($class_name)
  {
    DataMapperFactory :: _includeClassFile($class_name);

    $mapper =& new $class_name();
    if(!is_a($mapper, 'AbstractDataMapper'))
      die($class_name . ' does not implement AbstractDataMapper interface');

    return $mapper;
  }
/**********************************************************************************
* Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com
*
* Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
***********************************************************************************
*
* $Id$
*
***********************************************************************************/
require_once(LIMB_DIR . '/core/system/objects_support.inc.php');

if(!isRegisteredResolver('db_table'))
{
  include_once(LIMB_DIR . '/core/file_resolvers/PackageFileResolver.class.php');
  include_once(LIMB_DIR . '/core/file_resolvers/DbTableFileResolver.class.php');
  registerFileResolver('db_table', new DbTableFileResolver(new PackageFileResolver()));
}

class LimbDbTableFactory
{
  var $_tables;

  function & instance()
  {
    if (!isset($GLOBALS['LimbDbTableFactoryGlobalInstance']) || !is_a($GLOBALS['LimbDbTableFactoryGlobalInstance'], 'LimbDbTableFactory'))
      $GLOBALS['LimbDbTableFactoryGlobalInstance'] =& new LimbDbTableFactory();

    return $GLOBALS['LimbDbTableFactoryGlobalInstance'];
  }

  function & create($db_table_name)
/**********************************************************************************
* Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com
*
* Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
***********************************************************************************
*
* $Id$
*
***********************************************************************************/
require_once(LIMB_DIR . '/class/lib/system/objects_support.inc.php');

if(!isRegisteredResolver('finder'))
{
  include_once(LIMB_DIR . '/class/core/file_resolvers/PackageFileResolver.class.php');
  include_once(LIMB_DIR . '/class/core/file_resolvers/FinderFileResolver.class.php');
  registerFileResolver('finder', new FinderFileResolver(new PackageFileResolver()));
}

abstract class FinderFactory
{
  static function create($class_name)
  {
    self :: _includeClassFile($class_name);

    return new $class_name();
  }

  static protected function _includeClassFile($class_name)
  {
    if(class_exists($class_name))
      return;
/**********************************************************************************
* Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com
*
* Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
***********************************************************************************
*
* $Id$
*
***********************************************************************************/
require_once(LIMB_DIR . '/class/lib/error/Debug.class.php');

if(!isRegisteredResolver('datasource'))
{
  include_once(LIMB_DIR . '/class/core/file_resolvers/PackageFileResolver.class.php');
  include_once(LIMB_DIR . '/class/core/file_resolvers/DatasourceFileResolver.class.php');
  registerFileResolver('datasource', new DatasourceFileResolver(new PackageFileResolver()));
}

class DatasourceFactory
{
  static protected $datasources = array();

  static public function create($class_path)
  {
    $class_name = end(explode('/', $class_path));

    if(isset(self :: $datasources[$class_name]))
      return self :: $datasources[$class_name];

    if(!class_exists($class_name))
    {