small configuration refactoring git-svn-id: https://svn.apache.org/repos/asf/shindig/branches/php_namespace_refactoring@1201264 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/php/config/container.php b/php/config/container.php index 95664d7..8679648 100644 --- a/php/config/container.php +++ b/php/config/container.php
@@ -44,7 +44,7 @@ * ); * */ -$shindigConfig = array( +return array( // Show debug backtrace's. Disable this on a production site 'debug' => true, // do real file_exist checks? Turning this off can be a big performance gain on prod servers but also risky & less verbose errors
diff --git a/php/config/test.php b/php/config/test.php index 2a07f51..6343fca 100644 --- a/php/config/test.php +++ b/php/config/test.php
@@ -22,7 +22,7 @@ * this configuration overrides some values for unit testing purposes * you should not use these settings in production */ -$shindigConfig = array( +return array( 'compress_javascript' => false, 'private_key_file' => realpath(dirname(__FILE__) . '/../test/certs') . '/private.key', 'public_key_file' => realpath(dirname(__FILE__) . '/../test/certs') . '/public.crt',
diff --git a/php/index.php b/php/index.php index a9b9066..91d1324 100644 --- a/php/index.php +++ b/php/index.php
@@ -21,4 +21,5 @@ include 'src/apache/shindig/bootstrap.php'; $frontController = new \apache\shindig\FrontController(); +$frontController->setLocalConfig(__DIR__ . '/config/local.php'); $frontController->run(); \ No newline at end of file
diff --git a/php/src/apache/shindig/FrontController.php b/php/src/apache/shindig/FrontController.php index ffe2ba2..2642fc4 100644 --- a/php/src/apache/shindig/FrontController.php +++ b/php/src/apache/shindig/FrontController.php
@@ -23,7 +23,15 @@ */ class FrontController { + private $localConfig; + + public function setLocalConfig($localConfig) { + $this->localConfig = $localConfig; + } + public function run() { + Config::loadConfig($this->localConfig); + $this->checkServerConfig(); //get servlet map and prefix the servlet paths
diff --git a/php/src/apache/shindig/bootstrap.php b/php/src/apache/shindig/bootstrap.php index db5c293..8f363d8 100644 --- a/php/src/apache/shindig/bootstrap.php +++ b/php/src/apache/shindig/bootstrap.php
@@ -57,10 +57,10 @@ $mapperLoader->register(); -$extensionClassPaths = \apache\shindig\common\Config::get('extension_class_paths'); - -if (! is_array($extensionClassPaths)) { - $extensionClassPaths = array($extensionClassPaths); -} - -$loader->registerPrefixFallbacks($extensionClassPaths); \ No newline at end of file +//$extensionClassPaths = \apache\shindig\common\Config::get('extension_class_paths'); +// +//if (! is_array($extensionClassPaths)) { +// $extensionClassPaths = array($extensionClassPaths); +//} +// +//$loader->registerPrefixFallbacks($extensionClassPaths); \ No newline at end of file
diff --git a/php/src/apache/shindig/common/Config.php b/php/src/apache/shindig/common/Config.php index 280875d..db272eb 100644 --- a/php/src/apache/shindig/common/Config.php +++ b/php/src/apache/shindig/common/Config.php
@@ -27,7 +27,7 @@ class Config { /** * - * @var boolean + * @var array */ private static $config = false; @@ -36,19 +36,16 @@ * @global array $shindigConfig * @param string $local */ - static public function loadConfig($local = 'local') { - global $shindigConfig; + public static function loadConfig($localConfigPath = null) { if (! self::$config) { // load default configuration - require realpath(dirname(__FILE__) . "/../../../../config") . '/container.php'; - self::$config = $shindigConfig; - if ($local) { - $localConfigPath = realpath(dirname(__FILE__) . "/../../../../config") . '/' . $local . '.php'; + self::$config = require realpath(dirname(__FILE__) . "/../../../../config") . '/container.php'; + if ($localConfigPath) { if (file_exists($localConfigPath)) { // include local.php if it exists and merge the config arrays. // the second array values overwrites the first one's - require $localConfigPath; - self::$config = array_merge(self::$config, $shindigConfig); + $localConfig = require $localConfigPath; + self::$config = array_merge(self::$config, $localConfig); } } } @@ -59,10 +56,7 @@ * * @param array $tconfig */ - static function setConfig($tconfig) { - if (!is_array(self::$config)) - self::loadConfig(); - + public static function setConfig($tconfig) { self::$config = array_merge(self::$config, $tconfig); } @@ -72,10 +66,7 @@ * @return array * @throws ConfigException */ - static function get($key) { - if (! self::$config) { - self::loadConfig(); - } + public static function get($key) { if (isset(self::$config[$key])) { return self::$config[$key]; } else { @@ -92,10 +83,7 @@ * @param $key string Configuration key to set the value of. * @param $value string Value to assign to the specified key. */ - static function set($key, $value) { - if (! self::$config) { - self::loadConfig(); - } + public static function set($key, $value) { self::$config[$key] = $value; } }
diff --git a/php/src/apache/shindig/gadgets/GadgetFeatureRegistry.php b/php/src/apache/shindig/gadgets/GadgetFeatureRegistry.php index 1e0f51c..48c9d22 100644 --- a/php/src/apache/shindig/gadgets/GadgetFeatureRegistry.php +++ b/php/src/apache/shindig/gadgets/GadgetFeatureRegistry.php
@@ -24,8 +24,6 @@ * under the License. */ -require_once 'external/jsmin-php/jsmin.php'; - /** * Class that deals with the processing, loading and dep resolving of the gadget features * Features are javascript libraries that provide an API, like 'opensocial' or 'settitle'