define("PROTECTED_PATH",realpath(dirname(__FILE__)).'/protected/'); if(!file_exists(PROTECTED_PATH.'vendor/autoload.php')) { die('autoload.php not found. Composer update!'); } require_once(PROTECTED_PATH.'vendor/autoload.php'); require_once(PROTECTED_PATH.'environment.php'); if(isset($_SERVER['HTTP_ORIGIN'])) { if(in_array($_SERVER['HTTP_ORIGIN'],[....])) { header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']); header('Access-Control-Allow-Methods: GET, POST, OPTIONS, DELETE, PUT'); header('Access-Control-Max-Age: 1728000'); header('Access-Control-Allow-Credentials: true'); header("Access-Control-Allow-Headers: access-token, expiry, token-type, uid, client"); header("Access-Control-Expose-Headers: access-token, expiry, token-type, uid, client"); } } if($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { header("HTTP/1.0 204 No Content"); die(); } Environment::instance()->set(Environment::DEVELOPMENT); switch(Environment::getCurrent()) { case Environment::DEVELOPMENT: define('YII_DEBUG', false); define('YII_SKIP_AUTH', true); define('YII_KERNEL_LOG', true); define('DISPLAY_ERROR_TRACE', true); define('YII_TRACE_LEVEL', 0); define('MINIFY_INTERFACE', false); error_reporting(E_ALL); ini_set('display_errors','On'); break; case Environment::PRODUCTION: define('YII_DEBUG', false); define('YII_SKIP_AUTH', false); define('YII_KERNEL_LOG', false); define('DISPLAY_ERROR_TRACE', false); define('YII_TRACE_LEVEL', 3); define('MINIFY_INTERFACE', true); error_reporting(0); ini_set('display_errors','Off'); break; case Environment::STAGING: define('YII_DEBUG', true); define('YII_SKIP_AUTH', false); define('YII_KERNEL_LOG', true); define('DISPLAY_ERROR_TRACE', true); define('YII_TRACE_LEVEL', 0); error_reporting(E_ALL); ini_set('display_errors','On'); break; } Yii::$enableIncludePath = true;