|
|
- <?php
- if (!defined('__PREPEND_INCLUDED__')) {
- // Ensure prepend.inc is only executed once
- define('__PREPEND_INCLUDED__', 1);
-
-
- ///////////////////////////////////
- // Define Server-specific constants
- ///////////////////////////////////
- /*
- * This assumes that the configuration include file is in the same directory
- * as this prepend include file. For security reasons, you can feel free
- * to move the configuration file anywhere you want. But be sure to provide
- * a relative or absolute path to the file.
- */
- require(dirname(__FILE__) . '/configuration.inc.php');
-
-
- //////////////////////////////
- // Include the Qcodo Framework
- //////////////////////////////
- require(__QCODO_CORE__ . '/qcodo.inc.php');
-
- ///////////////////////////////
- // Define the Application Class
- ///////////////////////////////
- /**
- * The Application class is an abstract class that statically provides
- * information and global utilities for the entire web application.
- *
- * Custom constants for this webapp, as well as global variables and global
- * methods should be declared in this abstract class (declared statically).
- *
- * This Application class should extend from the ApplicationBase class in
- * the framework.
- */
- abstract class QApplication extends QApplicationBase
- {
- /**
- * This is called by the PHP5 Autoloader. This method overrides the
- * one in ApplicationBase.
- *
- * @return void
- */
- public static function Autoload($strClassName)
- {
- // First use the Qcodo Autoloader
- if (!parent::Autoload($strClassName))
- {
- // @todo Run any custom autoloading functionality (if any) here...
- }
- }
-
- ////////////////////////////
- // QApplication Customizations (e.g. EncodingType, etc.)
- ////////////////////////////
- // public static $EncodingType = 'ISO-8859-1';
-
- ////////////////////////////
- // Additional Static Methods
- ////////////////////////////
- //Define any other custom global WebApplication functions (if any) here...
-
- }
- //////////////////////////
- // Custom Global Functions
- //////////////////////////
- // @todo Define any custom global functions (if any) here...
-
-
- ////////////////
- // Include Files
- ////////////////
- // @todo Include any other include files (if any) here...
-
-
- ///////////////////////
- // Setup Error Handling
- ///////////////////////
- /*
- * Set Error/Exception Handling to the default
- * Qcodo HandleError and HandlException functions
- * (Only in non CLI mode)
- *
- * Feel free to change, if needed, to your own
- * custom error handling script(s).
- */
- if (array_key_exists('SERVER_PROTOCOL', $_SERVER)) {
- set_error_handler('QcodoHandleError');
- set_exception_handler('QcodoHandleException');
- }
-
-
- ////////////////////////////////////////////////
- // Initialize the Application and DB Connections
- ////////////////////////////////////////////////
- QApplication::Initialize();
- QApplication::InitializeDatabaseConnections();
-
-
- /////////////////////////////
- // Start Session Handler (if required)
- /////////////////////////////
-
- if( ! isset($_SESSION))
- session_start();
-
-
- //////////////////////////////////////////////
- // Setup Internationalization and Localization (if applicable)
- // Note, this is where you would implement code to do Language Setting discovery, as well, for example:
- // * Checking against $_GET['language_code']
- // * checking against session (example provided below)
- // * Checking the URL
- // * etc.
- // @todo options to do this are left to the developer
- //////////////////////////////////////////////
- if (isset($_SESSION)) {
- if (array_key_exists('country_code', $_SESSION))
- QApplication::$CountryCode = $_SESSION['country_code'];
- if (array_key_exists('language_code', $_SESSION))
- QApplication::$LanguageCode = $_SESSION['language_code'];
- }
-
- // Initialize I18n if QApplication::$LanguageCode is set
- if (QApplication::$LanguageCode)
- QI18n::Initialize();
- else {
- // QApplication::$CountryCode = 'us';
- // QApplication::$LanguageCode = 'en';
- // QI18n::Initialize();
- }
- }
-
- ?>
|