a bunch of env stuff

partial #8613
This commit is contained in:
Devin Smith 2016-10-28 19:46:56 +09:00
parent 3487962b96
commit 4ad31e8b44
27 changed files with 245 additions and 298 deletions

View File

@ -1,5 +1,5 @@
web: vendor/bin/heroku-php-nginx -C conf/nginx.conf www/
cron: cd cli && php _master_cron.php
queue: cd cli && php _queue.php 0 15
cron: cd cli && php -d variables_order=ES _master_cron.php
queue: cd cli && php -d variables_order=ES _queue.php 0 15
build: cd cli && mkdir /tmp/min && sh build.sh && php _build_upload.php -e=live
local: cd www && php -d short_open_tag=On -S localhost:8000 index.php
local: cd www && php -d variables_order=EGPCS -d short_open_tag=On -S localhost:8000 index.php

View File

@ -2,11 +2,19 @@
[![Build Status](https://travis-ci.com/youbeo/crunchbutton.svg?token=hxz6fVTQWxPXmgzxg8Yb&branch=master)](https://travis-ci.com/youbeo/crunchbutton)
For repository tips and best practices, check out [the wiki](https://github.com/crunchbutton/crunchbutton/wiki).
For detailed info check out [the wiki](https://github.com/youbeo/crunchbutton/wiki).
---
#### Local Setup
1. Create a file called `.env` with `DATABASE_URL` and `DEBUG` set
2. Run `heroku local local`
3. Open http://localhost:8000
---
#### Standalone Deployment
Deploy cockpit on heroku
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/youbeo/crunchbutton&env[THEME]=cockpit2&env[DATABASE_URL]=null&env[USE_ENCRYPTION_KEY]=true&env[ADMIN_LOGIN]=admin&env[ADMIN_PASSWORD]=password&env[ADMIN_NAME]=Super Admin)

View File

@ -5,12 +5,10 @@ error_reporting(E_ERROR | E_PARSE);
ini_set('display_errors', true);
set_time_limit(100);
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
echo "Boot cron...\n";
}
print_r($_ENV);
require_once('../include/crunchbutton.php');
$start = time();

View File

@ -51,7 +51,7 @@ class Controller_api_config extends Crunchbutton_Controller_Rest {
$config = [
'user' => $user,
'env' => c::env(),
'version' => getenv('HEROKU_SLUG_COMMIT'),
'version' => $_ENV['HEROKU_SLUG_COMMIT'],
'site' => c::config()->site->exposedConfig()
];

View File

@ -2,7 +2,7 @@
class Controller_assets_css_bundle_css extends Crunchbutton_Controller_AssetBundle {
public function init() {
$v = $_REQUEST['v'] ? $_REQUEST['v'] : getenv('HEROKU_SLUG_COMMIT');
$v = $_REQUEST['v'] ? $_REQUEST['v'] : $_ENV['HEROKU_SLUG_COMMIT'];
$id = 'crunchr-bundle-node-css';

View File

@ -33,7 +33,7 @@ $GLOBALS['config'] = [
//'Cana:../../vendor/arzynik/cana/src',
if (getenv('DOCKER')) {
if ($_ENV['DOCKER']) {
$GLOBALS['config']['dirs']['cache'] = '/tmp/';
}
@ -84,7 +84,7 @@ spl_autoload_register(function ($className) {
}
}
if (!getenv('PHPUNIT')) {
if (!$_ENV['PHPUNIT']) {
throw new \Exception('The file '.$GLOBALS['config']['dirs']['library'] . $className . '.php'.' does not exist');
exit;
}

View File

@ -20,73 +20,18 @@ class Crunchbutton_App extends Cana_App {
if ($a->e) {
$cliEnv = $a->e;
}
// set hostname by path
if (preg_match('/^\/Users\//',dirname(__FILE__))) {
$_SERVER['SERVER_NAME'] = 'crunchbutton.localhost';
} elseif ( $_SERVER[ 'USER' ] == 'vagrant' ){
$_SERVER['SERVER_NAME'] = 'dev.la';
} elseif (preg_match('/^\/home\/beta.crunchbutton/',dirname(__FILE__))) {
$_SERVER['SERVER_NAME'] = 'beta.crunchr.co';
} elseif (preg_match('/^\/home\/dev.crunchbutton/',dirname(__FILE__))) {
$_SERVER['SERVER_NAME'] = 'dev.crunchr.co';
} elseif (preg_match('/^\/home\/(crunchbutton|cockpit.crunchbutton)|/',dirname(__FILE__))) {
$_SERVER['SERVER_NAME'] = '_DOMAIN_';
} elseif (preg_match('/^\/home\/staging.crunchbutton/',dirname(__FILE__))) {
$_SERVER['SERVER_NAME'] = 'staging.crunchr.co';
} elseif (preg_match('/^\/home\/staging2.crunchbutton/',dirname(__FILE__))) {
$_SERVER['SERVER_NAME'] = 'staging2.crunchr.co';
} elseif (preg_match('/^\/app/',dirname(__FILE__))) {
$_SERVER['SERVER_NAME'] = 'heroku.crunchr.co';
} elseif (preg_match('/^\/home\/beta.cockpit.la/',dirname(__FILE__))) {
$_SERVER['SERVER_NAME'] = 'beta.crunchr.co';
}
}
//if (getenv('DOCKER') || getenv('TUTUM_CONTAINER_HOSTNAME') || getenv('HEROKU_SLUG_COMMIT')) {
$_SERVER['SERVER_NAME'] = $_SERVER['HTTP_HOST'];
//}
$_SERVER['SERVER_NAME'] = $_SERVER['HTTP_HOST'];
// db by hostname
// travis
if ($travis && getenv('TRAVISPOSTGRES')) {
$db = 'travispostgres';
} elseif ($travis && getenv('TRAVIS')) {
if ($_ENV['TRAVIS']) {
$db = 'travis';
// anything local or dev
} elseif (preg_match('/192\.168\.99|192\.168\.0|localhost$|^(crunch|cockpit|cockpitla).dev$|^dev.(pit|la|crunch|seven)$|^pererinha.dyndns-web.com$/',$_SERVER['SERVER_NAME'])) {
$db = 'local';
// anything by heroku use its own db
} elseif (preg_match('/^(heroku.*)|(.*.herokuapp.com)$/',$_SERVER['SERVER_NAME'])) {
$db = 'heroku';
// time to time we need to use beta.cockpit.la over beta db
} elseif (preg_match('/(beta.cockpit.la)|((^beta\.|^dev\.).*)/',$_SERVER['SERVER_NAME'])) {
$db = 'beta';
// any one of our cull live urls, or staging prefixes
} elseif (preg_match('/^(.*?arzynik.svc.tutum.io)|(.*?crunchbutton.nody.co)|(.*?cockpit.nody.co)|cockpit.la|cbtn.io|_DOMAIN_|cockpit._DOMAIN_|spicywithdelivery.com|(staging[0-9]?.(cockpit.la|crunchr.co))|((live\.)?cockpit1.crunchr.co)|((live\..*)?crunchbutton.crunchr.co)|((live\.*)?cockpit.crunchr.co)$/',$_SERVER['SERVER_NAME'])) {
$db = 'live';
// anything ._DOMAIN_ fails
} elseif (preg_match('/_DOMAIN_$/',$_SERVER['SERVER_NAME'])) {
$db = 'fail';
// anything prefixed with beta or dev
} elseif (preg_match('/(ui1\.nody\.co)|(ui1\.crunchr\.co)/',$_SERVER['SERVER_NAME'])) {
$db = 'ui1archive';
// anything prefixed with beta or dev
} elseif (preg_match('/crunchr\.co$/',$_SERVER['SERVER_NAME'])) {
$db = 'beta';
// anything else (should be nothing)
} elseif ($_ENV['ENV']) {
$db = $_ENV['ENV'];
} else {
$db = 'fail';
$db = null;
}
// overwrite if we specify the db
if ($cliEnv) {
$db = $cliEnv;
}
@ -97,16 +42,7 @@ class Crunchbutton_App extends Cana_App {
public function init($params = null) {
set_exception_handler([$this, 'exception']);
if (file_exists('../.env')) {
$envs = file('../.env');
foreach ($envs as $env) {
$e = explode('=',$env);
putenv($env);
$_ENV[$e[0]] = $e[1];
}
}
if (!getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('start init...');
}
@ -114,20 +50,14 @@ class Crunchbutton_App extends Cana_App {
$db = $this->envByHost();
if (function_exists('php_sapi_name') && php_sapi_name() == 'cli-server') {
$params['config']->db->local->host = '127.0.0.1';
$db = 'local';
}
// redirect bad urls
if ($db == 'fail' || $_SERVER['SERVER_NAME'] == 'crunchr.co') {
if ($db === null) {
//header('HTTP/1.1 301 Moved Permanently');
header('Location: https://_DOMAIN_/');
die('bad configuration. check your .env');
exit;
}
// special settings for live web views
if ($db != 'heroku' && !getenv('DOCKER') && !getenv('TUTUM_CONTAINER_HOSTNAME') && preg_match('/^cockpit.la|cbtn.io|_DOMAIN_|spicywithdelivery.com$/',$_SERVER['SERVER_NAME']) && !$this->cli && !isset($_REQUEST['__host']) && $_SERVER['SERVER_NAME'] != 'old.cockpit._DOMAIN_' && $_SERVER['SERVER_NAME'] != 'cockpit._DOMAIN_') {
if ($db != 'heroku' && !$_ENV['DOCKER'] && preg_match('/^cockpit.la|cbtn.io|_DOMAIN_|spicywithdelivery.com$/',$_SERVER['SERVER_NAME']) && !$this->cli && !isset($_REQUEST['__host']) && $_SERVER['SERVER_NAME'] != 'old.cockpit._DOMAIN_' && $_SERVER['SERVER_NAME'] != 'cockpit._DOMAIN_') {
error_reporting(E_ERROR | E_PARSE);
if ((!$_SERVER['HTTP_X_FORWARDED_PROTO'] && $_SERVER['HTTPS'] != 'on') || ($_SERVER['HTTP_X_FORWARDED_PROTO'] && $_SERVER['HTTP_X_FORWARDED_PROTO'] != 'https')) {
@ -141,10 +71,13 @@ class Crunchbutton_App extends Cana_App {
header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit;
}
// if we have jawsdb_url but not database_url
if ((!$_ENV['DATABASE_URL'] || $_ENV['DATABASE_URL'] == 'null') && $_ENV['JAWSDB_MARIA_URL']) {
$_ENV['DATABASE_URL'] = $_ENV['JAWSDB_MARIA_URL'];
}
// create a default+read database config
if ($_ENV['DATABASE_URL']) {
$params['config']->db->readDB = (object)[
'url' => $_ENV['DATABASE_URL'],
@ -153,13 +86,7 @@ class Crunchbutton_App extends Cana_App {
$db = 'readDB';
}
if (getenv('REDIS_URL')) {
$params['config']->cache->default = $params['config']->cache->redis;
$params['config']->cache->default->url = getenv('REDIS_URL');
} else {
$params['config']->cache->default = $params['config']->cache->{$params['config']->cache->default};
}
// create a write database config
if ($_ENV['DATABASE_URL_WRITE']) {
$params['config']->db->writeDB = (object)[
'url' => $_ENV['DATABASE_URL_WRITE'],
@ -167,6 +94,13 @@ class Crunchbutton_App extends Cana_App {
];
}
if ($_ENV['REDIS_URL']) {
$params['config']->cache->default = $params['config']->cache->redis;
$params['config']->cache->default->url = $_ENV['REDIS_URL'];
} else {
$params['config']->cache->default = $params['config']->cache->{$params['config']->cache->default};
}
if (!$write && $params['config']->db->{$db}->hostWrite) {
$params['config']->db->writeDB = clone $params['config']->db->{$db};
$params['config']->db->writeDB->host = $params['config']->db->writeDB->hostWrite;
@ -175,7 +109,7 @@ class Crunchbutton_App extends Cana_App {
$params['postInitSkip'] = true;
$params['env'] = $db;
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('>> INITING using DB: '.$db);
@ -210,8 +144,8 @@ class Crunchbutton_App extends Cana_App {
exit;
}
if (getenv('THEME')) {
$config->site->theme = getenv('THEME');
if ($_ENV['THEME']) {
$config->site->theme = $_ENV['THEME'];
}
if ($config->site->name == 'Cockpit' || $config->site->theme == 'cockpit2' || $config->site->name == 'Cockpit2' || $this->cli) {
@ -222,15 +156,15 @@ class Crunchbutton_App extends Cana_App {
$config->host_callback = ($db == 'local' || $db == 'travis' || $db == 'travispostgres' || !$_SERVER['SERVER_NAME']) ? 'dev.crunchr.co' : $_SERVER['SERVER_NAME'];
// set facebook config by hostname
if ($config->facebook->{$_SERVER['SERVER_NAME']}) {
$config->facebook->app = $config->facebook->{$_SERVER['SERVER_NAME']}->app;
$config->facebook->secret = $config->facebook->{$_SERVER['SERVER_NAME']}->secret;
if ($config->facebook->{$_SERVER['SERVER_NAME'] || 'cli'}) {
$config->facebook->app = $config->facebook->{$_SERVER['SERVER_NAME'] || 'cli'}->app;
$config->facebook->secret = $config->facebook->{$_SERVER['SERVER_NAME'] || 'cli'}->secret;
}
$this->config($config);
if ($params['config']->db->writeDB) {
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('>> WRITEDB');
}
$write = $this->buildDb('writeDB');
@ -305,7 +239,7 @@ class Crunchbutton_App extends Cana_App {
}
}
if (getenv('HEROKU')) {
if ($_ENV['HEROKU']) {
$stderr = fopen('php://stderr', 'w');
fwrite($stderr, 'PHP EXCEPTION: '.$e->getMessage()."\n");
@ -330,9 +264,16 @@ class Crunchbutton_App extends Cana_App {
mail('_EMAIL','CRUNCHBUTTON CRITICAL ERROR',$e->getMessage());
exit;
} else {
echo "\n<br />".$e->getMessage()."\n<br /><pre>";
foreach ($backtracels as $l) {
echo $l.'<br>';
if (php_sapi_name() === 'cli') {
echo "\n\nFATAL ERROR\n\n".$e->getMessage()."\n";
foreach ($backtracels as $l) {
echo $l."\n";
}
} else {
echo "\n<br />".$e->getMessage()."\n<br /><pre>";
foreach ($backtracels as $l) {
echo $l.'<br>';
}
}
exit(1);
}
@ -354,7 +295,7 @@ class Crunchbutton_App extends Cana_App {
if ($admin !== null) {
$this->_admin = $admin;
}
if (!$admin && !$this->_admin && getenv('CLI')) {
if (!$admin && !$this->_admin && $_ENV['CLI']) {
$this->_admin = new Admin;
}
return $this->_admin;
@ -378,7 +319,7 @@ class Crunchbutton_App extends Cana_App {
$pageName = $page;
}
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('>> DISPLAYING PAGE: '.$pageName);
}
@ -538,8 +479,8 @@ class Crunchbutton_App extends Cana_App {
$config['loc']['city'] = $this->auth()->get('city');
$config['loc']['region'] = $this->auth()->get('region');
if(getenv('HEROKU_SLUG_COMMIT')){
$config['version'] = getenv('HEROKU_SLUG_COMMIT');
if($_ENV['HEROKU_SLUG_COMMIT']){
$config['version'] = $_ENV['HEROKU_SLUG_COMMIT'];
} else {
$config['version'] = Deploy_Server::currentVersion();
}
@ -627,11 +568,11 @@ class Crunchbutton_App extends Cana_App {
}
public function getEnv($d = true) {
if (getenv('ENV')) {
$env = getenv('ENV');
if ($_ENV['ENV']) {
$env = $_ENV['ENV'];
} elseif (c::user()->debug) {
$env = 'dev';
} elseif (c::env() == 'live' || c::env() == 'crondb') {
} elseif (c::env() == 'live') {
$env = 'live';
} elseif ($d === true) {
$env = 'dev';

View File

@ -57,7 +57,7 @@ class Crunchbutton_Auth extends Crunchbutton_Auth_Base {
$this->session()->adapter()->id_user_auth = $auth->id_user_auth;
$this->session()->adapter()->save();
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('lost in debugging...'.$this->session()->adapter()->id_user);
}
@ -70,7 +70,7 @@ class Crunchbutton_Auth extends Crunchbutton_Auth_Base {
$auth = User_Auth::localLogin( $params['email'], $params['password'] );
if ( $auth->user()->active ) {
$this->_user = $auth->user();
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log(' -- user: '. $this->user()->id_user);
error_log(' -- auth: '. $auth->id_user_auth);
error_log(' -- other user: '. $this->_user);

View File

@ -10,7 +10,7 @@ class Crunchbutton_Auth_Base extends Cana_Model {
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('>> SKIPING BECAUSE OF OPTIONS...');
}
$this->init();
@ -31,12 +31,12 @@ class Crunchbutton_Auth_Base extends Cana_Model {
// set token for app requests
$headers = apache_request_headers();
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('>> PROCESSING TOKEN AND AUTH');
}
if ($headers['App-Token']) {
$_COOKIE['token'] = $headers['App-Token'];
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('>> FOUND TOKEN '.$_COOKIE['token']);
}
}
@ -70,7 +70,7 @@ class Crunchbutton_Auth_Base extends Cana_Model {
$this->session()->adapter()->save();
*/
} else {
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('>> DELETING TOKEN...'.$_COOKIE['token']);
}
// if no id_user in session, delete cookie and session in DB as it's not used, see #624

View File

@ -17,7 +17,7 @@ class Crunchbutton_Controller_AssetBundle extends Cana_Controller {
public function cacheServe($id) {
$git = getenv('HEROKU_SLUG_COMMIT');
$git = $_ENV['HEROKU_SLUG_COMMIT'];
$v = $git ? $git : $_REQUEST['v'];
$headrs = apache_request_headers();

View File

@ -63,7 +63,7 @@ class Crunchbutton_Controller_Rest extends Cana_Controller_Rest {
}
if ($this->method() == 'options') {
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('>> ENDING OPTIONS CORS');
}
http_response_code(200);

View File

@ -23,7 +23,7 @@ class Crunchbutton_Session {
// only do this if the adapter doesnt support its own token handling
if (($this->adapter()->id_user || $this->adapter()->id_admin) && !$this->adapter()->token) {
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('saving DEFAULT user '. $this->adapter()->id_user);
error_log('saving DEFAULT user '. $this->id_user);
}

View File

@ -72,7 +72,7 @@ class Crunchbutton_Session_Adapter_Sql extends Cana_Table implements SessionHand
*/
$sess = new Session_Adapter_Sql($id);
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('>> SAVING USER...'.$this->id_user);
}
@ -98,7 +98,7 @@ class Crunchbutton_Session_Adapter_Sql extends Cana_Table implements SessionHand
public function generateAndSaveToken() {
if (($this->id_user || $this->id_admin) && !$this->token) {
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('saving SQL user '. $this->id_user);
error_log('saving SQL token '. $this->token);
}

View File

@ -302,5 +302,5 @@ $( document ).ready( function(){
} );
} );
</script>
<script type="text/javascript" src="/assets/js/admin.support.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script type="text/javascript" src="/assets/js/jquery.autosize-min.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script type="text/javascript" src="/assets/js/admin.support.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script type="text/javascript" src="/assets/js/jquery.autosize-min.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>

View File

@ -33,7 +33,7 @@ var _gmtServer = '<?php echo $utc_str;?>';
<? if (1==2 && c::config()->bundle) : ?>
<script src="/assets/js/bundle.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>&s=admin"></script>
<script src="/assets/js/bundle.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>&s=admin"></script>
<? else : ?>
<?=$this->display('bundle/js', ['set' => ['scripts' => ['datepicker/eye','datepicker/layout','datepicker/utils','datepicker/datepicker','admin','chosen.jquery','highcharts.src']]])?>
<? endif ; ?>

View File

@ -1378,8 +1378,8 @@
</div>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&key=AIzaSyDNJ0f3yxbeksuiQh0iG1_drBO1Mmhg_Bg"></script>
<script type="text/javascript" src="/assets/js/admin_restaurant.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script type="text/javascript" src="/assets/js/intro.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script type="text/javascript" src="/assets/js/admin_restaurant.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script type="text/javascript" src="/assets/js/intro.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script>
$( document ).ready( function(){
$('.modal-hour_override').click(function(e) {

View File

@ -140,4 +140,4 @@ $( function() {
border: 1px solid #CCC;
}
</style>
<script type="text/javascript" src="/assets/js/admin.support.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script type="text/javascript" src="/assets/js/admin.support.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>

View File

@ -370,5 +370,5 @@ function linkOrder(){
border: 1px solid #CCC;
}
</style>
<script type="text/javascript" src="/assets/js/admin.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script type="text/javascript" src="/assets/js/admin.support.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script type="text/javascript" src="/assets/js/admin.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script type="text/javascript" src="/assets/js/admin.support.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>

View File

@ -1,5 +1,5 @@
<link rel="stylesheet" type="text/css" href="/assets/cockpit/scss/cockpit.scss?v=<?=getenv('HEROKU_SLUG_COMMIT')?>">
<link rel="stylesheet" type="text/css" href="/assets/cockpit/css/ladda.min.css?v=<?=getenv('HEROKU_SLUG_COMMIT')?>">
<link rel="stylesheet" type="text/css" href="/assets/css/magnific-popup.css?v=<?=getenv('HEROKU_SLUG_COMMIT')?>">
<link rel="stylesheet" type="text/css" href="/assets/cockpit/css/angular-chart.css?v=<?=getenv('HEROKU_SLUG_COMMIT')?>">
<link rel="stylesheet" type="text/css" href="/assets/cockpit/scss/select.scss?v=<?=getenv('HEROKU_SLUG_COMMIT')?>">
<link rel="stylesheet" type="text/css" href="/assets/cockpit/scss/cockpit.scss?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>">
<link rel="stylesheet" type="text/css" href="/assets/cockpit/css/ladda.min.css?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>">
<link rel="stylesheet" type="text/css" href="/assets/css/magnific-popup.css?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>">
<link rel="stylesheet" type="text/css" href="/assets/cockpit/css/angular-chart.css?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>">
<link rel="stylesheet" type="text/css" href="/assets/cockpit/scss/select.scss?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>">

View File

@ -51,121 +51,121 @@
<script src="/assets/js/location.js"></script>
<script src="/assets/js/howler-min.js"></script>
<script src="/assets/cockpit/js/cockpit.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/cockpit.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/base.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/util.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/tokenizeCard.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/base.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/util.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/tokenizeCard.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<!-- AngularJS Controllers -->
<script src="/assets/cockpit/js/controllers.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.quote.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.resource.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.drivers.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.staff.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.settlement.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.restaurant.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.customer.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.maps.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.support.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.ticket.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.call.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.deploy.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.order.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.config.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.community.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.pexcard.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.tools.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.marketing.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.blast.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.tv.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.report.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.metrics.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.promo.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.dashboard.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.credit.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.suggestion.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.permission.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.group.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.dispute.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.blocked.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.deliverysignup.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.shift.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.update.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.chain.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.marketingmaterials.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/controllers.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.quote.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.resource.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.drivers.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.staff.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.settlement.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.restaurant.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.customer.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.maps.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.support.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.ticket.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.call.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.deploy.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.order.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.config.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.community.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.pexcard.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.tools.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.marketing.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.blast.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.tv.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.report.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.metrics.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.promo.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.dashboard.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.credit.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.suggestion.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.permission.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.group.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.dispute.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.blocked.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.deliverysignup.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.shift.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.update.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.chain.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/controllers.marketingmaterials.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<!-- AngularJS Filters -->
<script src="/assets/js/filters.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/filters.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<!-- AngularJS Directives -->
<script src="/assets/js/directives.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/directives.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/select.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/directives.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/directives.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/select.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/angular-file-upload.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/angular-file-upload.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<!-- AngularJS Services -->
<script src="/assets/cockpit/js/service.navigation.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.account.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.driverorders.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.settlement.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.driver.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.config.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.navigation.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.account.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.driverorders.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.settlement.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.driver.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.config.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.preonboarding.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.driveronboarding.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.drivershifts.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.staff.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.community.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.restaurant.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.location.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.customer.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.support.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.ticket.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.call.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.heartbeat.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.push.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.notification.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.deploy.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.call.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.datetime.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.socket.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.order.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.view.list.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.tabs.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.maps.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.pexcard.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.marketing.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.favico.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.blast.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.tv.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.report.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/angular-cached-resource.min.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.feedback.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.metrics.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.quote.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.resource.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.promo.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.giftcard.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.dashboard.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.credit.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.suggestion.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.permission.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.group.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.csv.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.twilio.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.dispute.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.blocked.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.profile.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.deliverysignup.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.shift.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.drivercommunity.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.appavailability.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.chain.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.marketingmaterials.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.customerserviceconfig.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.fax.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/cockpit/js/service.preonboarding.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.driveronboarding.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.drivershifts.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.staff.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.community.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.restaurant.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.location.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.customer.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.support.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.ticket.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.call.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.heartbeat.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.push.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.notification.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.deploy.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.call.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.datetime.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.socket.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.order.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.view.list.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.tabs.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.maps.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.pexcard.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.marketing.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.favico.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.blast.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.tv.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.report.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/angular-cached-resource.min.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.feedback.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.metrics.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.quote.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.resource.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.promo.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.giftcard.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.dashboard.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.credit.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.suggestion.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.permission.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.group.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.csv.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.twilio.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.dispute.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.blocked.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.profile.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.deliverysignup.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.shift.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.drivercommunity.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.appavailability.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.chain.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.marketingmaterials.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.customerserviceconfig.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/cockpit/js/service.fax.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script type="text/javascript">
var _current_bundle = '<?=getenv('HEROKU_SLUG_COMMIT')?>';
var _current_bundle = '<?=$_ENV['HEROKU_SLUG_COMMIT']?>';
</script>

View File

@ -22,63 +22,63 @@
?>
<? foreach ($scripts as $script) : ?>
<script src="/assets/js/<?=$script?>.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/<?=$script?>.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<? endforeach ; ?>
<script src="/assets/js/angular-lettering.js"></script>
<script src="/assets/js/datetime.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/base.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/util.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/ngmask.min.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/datetime.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/base.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/util.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/ngmask.min.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/orm.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/location.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/ab.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/community.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/restaurant.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/dish.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/option.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/category.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/notification.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/order.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/log.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/tokenizeCard.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/orm.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/location.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/ab.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/community.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/restaurant.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/dish.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/option.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/category.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/notification.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/order.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/log.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/tokenizeCard.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<!-- AngularJS Controllers -->
<script src="/assets/js/controllers.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/controller.cafe.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/controllers.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/controller.cafe.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<!-- AngularJS Filters -->
<script src="/assets/js/filters.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/filters.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<!-- AngularJS Animations
<script src="/assets/js/animations.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/animations.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
-->
<!-- AngularJS Directives -->
<script src="/assets/js/directives.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/directives.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<!-- AngularJS Services -->
<script src="/assets/js/services.account.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.navigation.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.restaurant.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.community.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.recommend.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.support.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.order.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.twitter.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.facebook.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.giftcard.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.position.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.cart.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.creditcard.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.referral.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.cordova.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.apply.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.push.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/service.deliverysignup.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.suggestion.js?v=<?=getenv('HEROKU_SLUG_COMMIT')?>"></script>
<script src="/assets/js/services.account.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.navigation.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.restaurant.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.community.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.recommend.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.support.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.order.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.twitter.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.facebook.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.giftcard.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.position.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.cart.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.creditcard.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.referral.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.cordova.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.apply.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.push.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/service.deliverysignup.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script src="/assets/js/services.suggestion.js?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>"></script>
<script type="application/x-javascript">
addEventListener('touchstart',function(){}); addEventListener('load', function(event) {setTimeout(scrollTo, 80, 0, 1);}, false);
</script>

View File

@ -24,7 +24,7 @@ window.twttr = ( function(d, s, id) {
<script type="text/javascript" src="//js.stripe.com/v2/"></script>
<? if (c::config()->bundle) : ?>
<? $js = c::config()->site->config('s3-bundle')->val() ? 'https://'.c::config()->s3->buckets->build->cache.'/'.getenv('HEROKU_SLUG_COMMIT').'/js/crunchbutton.js' : '/assets/js/bundle.js?v='.getenv('HEROKU_SLUG_COMMIT').'&s=app' ?>
<? $js = c::config()->site->config('s3-bundle')->val() ? 'https://'.c::config()->s3->buckets->build->cache.'/'.$_ENV['HEROKU_SLUG_COMMIT'].'/js/crunchbutton.js' : '/assets/js/bundle.js?v='.getenv('HEROKU_SLUG_COMMIT').'&s=app' ?>
<script src="<?=$js?>"></script>
<? else : ?>
<?=$this->display('bundle/js', ['set' => ['scripts' => ['app']]])?>

View File

@ -3,7 +3,7 @@
<head>
<title>♥ Crunchbutton, Like us!!! ♥</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0" />
<link rel="stylesheet" type="text/css" href="/assets/css/micro.css?v=<?=getenv('HEROKU_SLUG_COMMIT')?>">
<link rel="stylesheet" type="text/css" href="/assets/css/micro.css?v=<?=$_ENV['HEROKU_SLUG_COMMIT']?>">
<link rel="shortcut icon" href="/favicon.ico">
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,300,700" rel="stylesheet" type="text/css">

View File

@ -8,10 +8,10 @@ class CockpitAuthTest extends PHPUnit_Framework_TestCase {
protected static $login = 'root';
protected static $password = 'password';
public static function setUpBeforeClass() {
if (!getenv('TRAVIS')) {
if (!$_ENV['TRAVIS']) {
$a = Admin::login(self::$login);
}
@ -23,7 +23,7 @@ class CockpitAuthTest extends PHPUnit_Framework_TestCase {
'pass' => Crunchbutton_Admin_Auth::passwordEncrypt(self::$password)
]);
$a->save();
$p = new Crunchbutton_Admin_Permission([
'id_admin' => $a->id_admin,
'permission' => 'global',

View File

@ -5,7 +5,7 @@ echo "\nRunning db migrate scripts...\n";
$dirs = ['db/migrate'];
if (getenv('TRAVISPOSTGRES')) {
if ($_ENV['TRAVISPOSTGRES']) {
echo "Running db migrate scripts for Postgres...\n";
$dirs[] = 'db/migratepostgres';
}

View File

@ -46,10 +46,10 @@ $getDb = function($args) {
};
$dbRead = $getDb((object)['url' => getenv('DATABASE_URL_READER')]);
$dbWrite = $getDb((object)['url' => getenv('DATABASE_URL_WRITER')]);
$dbRead = $getDb((object)['url' => $_ENV['DATABASE_URL_READER']]);
$dbWrite = $getDb((object)['url' => $_ENV['DATABASE_URL_WRITER']]);
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('>> CONNECTED');
}

View File

@ -67,20 +67,20 @@ if (preg_match('/^www\..*$/',$_SERVER['HTTP_HOST'])) {
exit;
}
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('>> PAGE START >> '.$_SERVER['REQUEST_URI']);
}
require_once '../include/crunchbutton.php';
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
error_log('>> DISPLAYING PAGE...');
}
Cana::app()->displayPage();
if (getenv('DEBUG')) {
if ($_ENV['DEBUG']) {
register_shutdown_function(function() {
error_log('<< PAGE FINISHED << '.$_SERVER['REQUEST_URI']);
});