<?php if (!defined('ABSPATH')) die('Forbidden');
if ( defined( 'WP_CLI' ) && WP_CLI && ! isset( $_SERVER['HTTP_HOST'] ) ) {
$_SERVER['HTTP_HOST'] = 'unyson.io';
$_SERVER['SERVER_NAME'] = 'unyson';
$_SERVER['SERVER_PORT'] = '80';
}
if (defined('FW')) {
/**
* The framework is already loaded.
*/
} else {
define('FW', true);
/**
* Load the framework on 'after_setup_theme' action when the theme information is available
* To prevent `undefined constant TEMPLATEPATH` errors when the framework is used as plugin
*/
add_action('after_setup_theme', '_action_init_framework');
function _action_init_framework() {
if (did_action('fw_init')) {
return;
}
do_action('fw_before_init');
$dir = dirname(__FILE__);
require $dir .'/autoload.php';
// Load helper functions
foreach (array('general', 'meta', 'fw-storage', 'database') as $file) {
require $dir .'/helpers/'. $file .'.php';
}
// Load core
{
require $dir .'/core/Fw.php';
fw();
}
require $dir .'/includes/hooks.php';
/**
* Init components
*/
{
$components = array(
/**
* Load the theme's hooks.php first, to give users the possibility to add_action()
* for `extensions` and `backend` components actions that can happen while their initialization
*/
'theme',
/**
* Load extensions before backend, to give extensions the possibility to add_action()
* for the `backend` component actions that can happen while its initialization
*/
'extensions',
'backend'
);
foreach ($components as $component) {
fw()->{$component}->_init();
}
foreach ($components as $component) {
fw()->{$component}->_after_components_init();
}
}
/**
* The framework is loaded
*/
do_action('fw_init');
}
}