+++ /dev/null
-<?php
-
-namespace RedBeanPHP\BeanHelper;
-
-use RedBeanPHP\BeanHelper as BeanHelper;
-use RedBeanPHP\Facade as Facade;
-use RedBeanPHP\OODBBean as OODBBean;
-use RedBeanPHP\SimpleModelHelper as SimpleModelHelper;
-
-/**
- * Bean Helper.
- *
- * The Bean helper helps beans to access access the toolbox and
- * FUSE models. This Bean Helper makes use of the facade to obtain a
- * reference to the toolbox.
- *
- * @file RedBeanPHP/BeanHelperFacade.php
- * @author Gabor de Mooij and the RedBeanPHP Community
- * @license BSD/GPLv2
- *
- * @copyright
- * (c) copyright G.J.G.T. (Gabor) de Mooij and the RedBeanPHP Community
- * This source file is subject to the BSD/GPLv2 License that is bundled
- * with this source code in the file license.txt.
- */
-class SimpleFacadeBeanHelper implements BeanHelper
-{
- /**
- * Factory function to create instance of Simple Model, if any.
- *
- * @var \Closure
- */
- private static $factory = null;
-
- /**
- * Factory method using a customizable factory function to create
- * the instance of the Simple Model.
- *
- * @param string $modelClassName name of the class
- *
- * @return SimpleModel
- */
- public static function factory( $modelClassName )
- {
- $factory = self::$factory;
- return ( $factory ) ? $factory( $modelClassName ) : new $modelClassName();
- }
-
- /**
- * Sets the factory function to create the model when using FUSE
- * to connect a bean to a model.
- *
- * @param \Closure $factory factory function
- *
- * @return void
- */
- public static function setFactoryFunction( $factory )
- {
- self::$factory = $factory;
- }
-
- /**
- * @see BeanHelper::getToolbox
- */
- public function getToolbox()
- {
- return Facade::getToolBox();
- }
-
- /**
- * @see BeanHelper::getModelForBean
- */
- public function getModelForBean( OODBBean $bean )
- {
- $model = $bean->getMeta( 'type' );
- $prefix = defined( 'REDBEAN_MODEL_PREFIX' ) ? REDBEAN_MODEL_PREFIX : '\\Model_';
-
- if ( strpos( $model, '_' ) !== FALSE ) {
- $modelParts = explode( '_', $model );
- $modelName = '';
- foreach( $modelParts as $part ) {
- $modelName .= ucfirst( $part );
- }
- $modelName = $prefix . $modelName;
-
- if ( !class_exists( $modelName ) ) {
- //second try
- $modelName = $prefix . ucfirst( $model );
-
- if ( !class_exists( $modelName ) ) {
- return NULL;
- }
- }
-
- } else {
-
- $modelName = $prefix . ucfirst( $model );
- if ( !class_exists( $modelName ) ) {
- return NULL;
- }
- }
- $obj = self::factory( $modelName );
- $obj->loadBean( $bean );
-
- return $obj;
- }
-
- /**
- * @see BeanHelper::getExtractedToolbox
- */
- public function getExtractedToolbox()
- {
- return Facade::getExtractedToolbox();
- }
-}