65 lines
1.9 KiB
PHP
65 lines
1.9 KiB
PHP
<?php
|
|
|
|
class Controller_api_config extends Crunchbutton_Controller_Rest {
|
|
public function init() {
|
|
switch ($this->method()) {
|
|
case 'get':
|
|
|
|
$user = c::user()->exports();
|
|
if( c::user()->id_admin ){
|
|
$user[ 'invite_code' ] = c::user()->inviteCode();
|
|
$user['working'] = c::user()->isWorking();
|
|
$user[ 'hours_since_last_shift' ] = c::user()->getLastWorkedTimeHours();
|
|
$user['isMarketingRep'] = c::user()->isMarketingRep();
|
|
}
|
|
|
|
$reward = new Crunchbutton_Reward();
|
|
$settings = $reward->loadSettings();
|
|
|
|
$user['referral_customer_credit'] = ( c::user()->referral_customer_credit ? c::user()->referral_customer_credit : $settings[ Crunchbutton_Reward::CONFIG_KEY_GET_REFERRED_DISCOUNT_AMOUNT ] );
|
|
$user['referral_admin_credit'] = ( c::user()->referral_admin_credit ? c::user()->referral_admin_credit : $settings[ Crunchbutton_Reward::CONFIG_KEY_ADMIN_REFER_USER_AMOUNT ] );
|
|
$user['isMarketingRep'] = c::user()->isMarketingRep();
|
|
|
|
$payment_type = c::user()->payment_type();
|
|
if( $payment_type->using_pex ){
|
|
$user[ 'using_pex' ] = true;
|
|
}
|
|
|
|
// $user[ 'using_pex' ] = true;
|
|
|
|
|
|
$config = [
|
|
'user' => $user,
|
|
'env' => c::env(),
|
|
'version' => Deploy_Server::currentVersion(),
|
|
'site' => c::config()->site->exposedConfig()
|
|
];
|
|
|
|
if ($this->request()['init']) {
|
|
$config['timezones'] = json_decode(file_get_contents(c::config()->dirs->www.'assets/cockpit/js/moment-timezone-db.json'));
|
|
}
|
|
|
|
echo json_encode($config);
|
|
break;
|
|
|
|
case 'post':
|
|
$key = strtolower($this->request()['key']);
|
|
$value = $this->request()['value'];
|
|
if (!$key) {
|
|
echo json_encode(['error' => 'nothing to save']);
|
|
exit;
|
|
}
|
|
switch ($key) {
|
|
case 'push-ios':
|
|
case 'push-android':
|
|
c::admin()->setPush($value, $key == 'push-ios' ? 'ios' : 'android');
|
|
break;
|
|
default:
|
|
c::admin()->setConfig($key, $value, 1);
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|