From d43f045584c192bfd0b838ba215a5a6a2d5d2f71 Mon Sep 17 00:00:00 2001 From: Josh Sherman Date: Thu, 9 Oct 2008 18:41:31 +0000 Subject: [PATCH] Windows sucks and isn't case sensitive, doing a commit so I can rename it to pickles.php git-svn-id: http://svn.cleancode.org/svn/pickles@63 4d10bc64-7434-11dc-a737-d2d0f8310089 --- Pickles2.php | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100755 Pickles2.php diff --git a/Pickles2.php b/Pickles2.php new file mode 100755 index 0000000..0749c3b --- /dev/null +++ b/Pickles2.php @@ -0,0 +1,83 @@ +. + * + * @author Joshua John Sherman + * @copyright Copyright 2007, 2008 Joshua John Sherman + * @link http://phpwithpickles.org + * @license http://www.gnu.org/copyleft/lesser.html + * @package PICKLES + * @usage require_once 'Pickles.php'; + */ + +/** + * @todo Allow users to override the timezone from their configuration file. + */ +// Sets the timezone to avoid Smarty warnings +if (ini_get('date.timezone') == '') { + ini_set('date.timezone', 'America/New_York'); +} + +// Establishes our paths +define('SITE_PATH', getcwd() . '/'); +define('PICKLES_PATH', dirname(__FILE__) . '/'); +define('TEMP_PATH', PICKLES_PATH . 'tmp/'); +define('SMARTY_PATH', TEMP_PATH . 'smarty/' . $_SERVER['SERVER_NAME'] . '/'); + +// Loads the appropriately named configuration file +Config::load(SITE_PATH . '../config.xml'); + +/** + * Magic function to automatically load classes + * + * Determines if the system needs to load a PICKLES core class or + * a PICKLES shared model (not to be confused with site level models). + * + * @param string $class Name of the class to be loaded + * @return boolean Return value of require_once() or false (default) + */ +function __autoload($class) { + $filename = str_replace('_', '/', $class) . '.php'; + + $class_file = PICKLES_PATH . 'classes/' . $filename; + $model_file = PICKLES_PATH . 'models/' . $filename; + + // Loads the class file + if (file_exists($class_file)) { + return require_once $class_file; + } + // Loads the shared model + else if (file_exists($model_file)) { + return require_once $model_file; + } + // Loads Smarty + else if ($class == 'Smarty') { + return require_once 'contrib/smarty/libs/Smarty.class.php'; + } + // Loads nothing + else { + return false; + } +} + +?>