Example #1
0
require 'system/support.php';
/**
 * The Master class.
 * Contains all system-related functions like, class monitoring,
 * program flow and standards maintenance.
 */
require 'system/app.php';
App::$id = $appId;
// Contains all application-specific configurations.
App::initialize('application/config.ini');
// Contains URL redirection rules.
App::initialize('application/route.ini', 'route');
// Contains all application-specific database configurations.
App::initialize('application/database.ini', 'database');
// Corrects the configuration if the application is trying to overwrite the system configurations.
App::initialize('system/config.ini');
App::$includePath = explode(PATH_SEPARATOR, ini_get('include_path'));
// Automatically includes the required file when a class is being instantiated
spl_autoload_register(array('App', 'load'));
ini_set('unserialize_callback_func', 'spl_autoload_call');
File::defaultPath(App::conf('file.tmp'));
App::$sysroot = $ini['system_root'];
// For accurate date transactions.
date_default_timezone_set(App::conf('timezone'));
// Activates/Deactivates debug mode.
App::debug();
// Overwritting the error handler will the one in App Class.
set_error_handler(array('App', 'errorHandler'));
if (!RestRoute::parse(App::conf('route'))) {
    App::throwError('404');
}
Example #2
0
 function initialize()
 {
     // OS is Windows?
     if (substr(PHP_OS, 0, 3) == 'WIN') {
         self::$path_seperator = ";";
     }
     // set paths
     self::$app_path = ZNAP_ROOT . '/app';
     self::$controllers_path = self::$app_path . '/controllers';
     self::$helpers_path = self::$app_path . '/helpers';
     self::$models_path = self::$app_path . '/models';
     self::$prefs_path = self::$app_path . '/preferences';
     self::$snippets_path = self::$app_path . '/snippets';
     self::$snippet_helpers_path = self::$helpers_path . '/snippet_helpers';
     // display mode path
     if (ZNAP_MODE != 'web' && is_dir(self::$app_path . '/views-' . ZNAP_MODE)) {
         self::$views_path = self::$app_path . '/views-' . ZNAP_MODE;
     } else {
         self::$views_path = self::$app_path . '/views';
     }
     // set more paths
     self::$layouts_path = self::$views_path . '/__layouts';
     self::$errors_path = self::$views_path . '/__errors';
     self::$errors_default_path = self::$views_path . '/__errors/default';
     self::$snippet_views_path = self::$views_path . '/__snippets';
     self::$snippet_layouts_path = self::$views_path . '/__snippets/__layouts';
     self::$config_path = ZNAP_ROOT . '/config';
     self::$environments_path = self::$config_path . '/environments';
     self::$strings_path = self::$config_path . '/strings';
     self::$tmp_path = ZNAP_ROOT . '/tmp';
     self::$cache_path = self::$tmp_path . '/cache';
     self::$lib_path = ZNAP_ROOT . '/libs';
     self::$log_path = ZNAP_ROOT . '/logs';
     self::$public_path = ZNAP_ROOT . '/public';
     self::$vendor_path = ZNAP_ROOT . '/vendor';
     self::$shell_scripts_path = ZNAP_LIB_ROOT . '/shell_scripts';
     // logging setup
     if (ZNAP_ENABLE_LOGGING && !defined('ZNAP_SHELL_SCRIPT')) {
         ini_set('log_errors', 'On');
     } else {
         ini_set('log_errors', 'Off');
     }
     if (ZNAP_INTERNAL_LOGGING && !defined('ZNAP_SHELL_SCRIPT')) {
         ini_set('error_log', self::$log_path . '/' . ZNAP_ENV . '.log');
     }
     if (ZNAP_ENV == 'development') {
         // display errors in browser in development mode for easy debugging
         ini_set('display_errors', 'On');
         // ini_set('error_reporting', 'E_ALL'); //FIXME using ini_set() to change "error_reporting" stops error messages from displaying
     } else {
         // hide errors from browser if not in development mode
         ini_set('display_errors', 'Off');
     }
     // setup include paths
     ini_set('include_path', '.' . self::$path_seperator . ZNAP_LIB_ROOT . self::$path_seperator . ZNAP_LIB_ROOT . '/shell_scripts' . self::$path_seperator . self::$lib_path . self::$path_seperator . ini_get('include_path'));
     // load the zynapse libs
     require_once 'session.php';
     require_once 'preferences.php';
     // require_once('input_filter.php'); //TODO require InputFilter class when (if ever) it is created
     require_once 'active_record.php';
     require_once 'action_controller.php';
     require_once 'snippet_controller.php';
     require_once 'action_view.php';
     require_once 'dispatcher.php';
     require_once 'inflector.php';
     require_once 'router.php';
     require_once 'timer.php';
     require_once 'znap_error.php';
     if (defined('ZNAP_SHELL_SCRIPT')) {
         require_once 'shell_script.php';
     }
     // load and set database configuration
     if (file_exists(self::$config_path . '/database.php')) {
         include_once self::$config_path . '/database.php';
         if (!empty($database_settings)) {
             ActiveRecord::$settings = $database_settings;
         }
     }
     // set url prefix path if needed
     if (defined('URL_PREFIX')) {
         Znap::$url_prefix = URL_PREFIX;
     }
     // load default strings
     require_once 'strings.php';
     self::$strings = $strings;
     unset($strings);
     // load app's global strings
     if (is_file(self::$strings_path . '/_global.php')) {
         require_once self::$strings_path . '/_global.php';
         if (!empty($strings)) {
             self::$strings = $strings;
             unset($strings);
         }
     }
     // initialize preference system
     self::$prefs = new PreferenceCollection(array(self::$prefs_path, self::$tmp_path));
     self::$prefs->read('_internals');
     self::$prefs->read('application');
     self::$prefs->read('cache', true, self::$tmp_path);
     // initialize the App class - read the comment on the class for more info
     App::initialize();
 }