'Egypt (+20)',
'968' => 'Oman (+968)',
'966' => 'Saudi Arabia (+966)',
];
}
public static function normalizeWhatsAppCountryCode($countryCode)
{
$countryCode = preg_replace('/\D+/', '', (string) $countryCode);
if (!array_key_exists($countryCode, self::whatsappCountryOptions())) {
return self::DEFAULT_COMPANY_WHATSAPP_COUNTRY_CODE;
}
return $countryCode;
}
const S_DISPLAY_SHOW_LOGO_ON_LOGIN = 's_display_show_logo_on_login';
const S_DISPLAY_SHOW_LOGO_IN_APPLICATION = 's_display_show_logo_in_application';
const S_DISPLAY_SHOW_LOGO_IN_PDF = 's_display_show_logo_in_pdf';
const S_DISPLAY_APPLICATION_NAME = 's_display_application_name';
const S_DISPLAY_LOGO_UPLOAD = 's_display_logo_upload';
const S_DISPLAY_PDF_LOGO_UPLOAD = 's_display_pdf_logo_upload';
const S_DISPLAY_LOGIN_BACKGROUND_IMAGE = 's_display_login_background_image';
const S_DISPLAY_SIDEBAR_BACKGROUND = 's_display_sidebar_background';
const S_ANNOUNCEMENT_MESSAGE = 's_announcement_message';
const S_ANNOUNCEMENT_DISPLAY_CLASS = 's_announcement_display_class';
const CONST_LOGO_UPLOAD_PATH = 'storage/files/logo/';
/**
* Return company settings
* @return array
*/
public static function companySettings($asString = false, $glue = "\n")
{
$data = [
'company_name' => CompanySettings::get(SettingsHelper::S_COMPANY_NAME),
'address' => CompanySettings::get(SettingsHelper::S_COMPANY_ADDRESS_),
'city' => CompanySettings::get(SettingsHelper::S_COMPANY_CITY),
'state' => CompanySettings::get(SettingsHelper::S_COMPANY_STATE),
'postal_code' => CompanySettings::get(SettingsHelper::S_COMPANY_POSTAL_CODE),
'country_id' => CompanySettings::get(SettingsHelper::S_COMPANY_COUNTRY),
'phone' => CompanySettings::get(SettingsHelper::S_COMPANY_PHONE),
'fax' => CompanySettings::get(SettingsHelper::S_COMPANY_FAX),
'companyDomain' => CompanySettings::get(SettingsHelper::S_COMPANY_DOMAIN),
'multiCompany' => CompanySettings::get(SettingsHelper::S_COMPANY_MULTI_COMPANY),
's3Storage' => CompanySettings::get(SettingsHelper::S_COMPANY_S3_STORAGE),
'autoAnswer' => CompanySettings::get(SettingsHelper::S_COMPANY_SOFTPHONE_AUTO_ANSWER),
'autoAnswerTimeout' => self::normalizeSoftphoneAutoAnswerTimeout(CompanySettings::get(SettingsHelper::S_COMPANY_SOFTPHONE_AUTO_ANSWER_TIMEOUT)),
'whatsAppCountryCode' => self::normalizeWhatsAppCountryCode(CompanySettings::get(SettingsHelper::S_COMPANY_WHATSAPP_COUNTRY_CODE)),
'companyServerType' => CompanySettings::get(SettingsHelper::S_COMPANY_SERVERTYPE),
'smsApiLink' => CompanySettings::get(SettingsHelper::S_COMPANY_SMSAPI_LINK),
'smsSender' => CompanySettings::get(SettingsHelper::S_COMPANY_SMSSENDER),
'smsUser' => CompanySettings::get(SettingsHelper::S_COMPANY_SMSUSER),
'smsPass' => CompanySettings::get(SettingsHelper::S_COMPANY_SMSPASS),
'userLimit' => CompanySettings::get(SettingsHelper::S_COMPANY_USERLIMIT),
'website' => CompanySettings::get(SettingsHelper::S_COMPANY_WEBSITE),
'vat_id' => CompanySettings::get(SettingsHelper::S_COMPANY_VAT_ID)
];
if ($asString) {
return implode($glue, $data);
}
return $data;
}
public static function getApplicationTitle()
{
$context = CompanySettings::getContext();
if (!empty($context)) {
return CompanySettings::get(\Modules\Platform\Core\Helper\SettingsHelper::S_DISPLAY_APPLICATION_NAME, config('app.name'));
}
return config('app.name');
}
/**
* @return string
*/
public static function siebarBackground()
{
$styles = '';
$backgroundImage = CompanySettings::get(SettingsHelper::S_DISPLAY_SIDEBAR_BACKGROUND, 'orange.jpg');
if ($backgroundImage != '') {
$styles = "background: url('/bg/sidebar/" . $backgroundImage . "') no-repeat no-repeat; background-size: cover;";
}
return $styles;
}
/**
* Display application logo if exist
*/
public static function displayLogo()
{
$logo = CompanySettings::get(SettingsHelper::S_DISPLAY_LOGO_UPLOAD);
if ($logo != '') {
if(file_exists($logo)){
return '
';
}else{
return '
';
}
}
}
public static function logoPath()
{
$logo = CompanySettings::get(SettingsHelper::S_DISPLAY_LOGO_UPLOAD);
if ($logo != '') {
return '
';
}
}
public static function pdfLogoPath()
{
$logo = CompanySettings::get(SettingsHelper::S_DISPLAY_PDF_LOGO_UPLOAD);
if ($logo != '') {
return '
';
}
}
function format_time($t,$f=':') // t = seconds, f = separator
{
return sprintf("%02d%s%02d%s%02d", floor($t/3600), $f, ($t/60)%60, $f, $t%60);
}
function defaultConds($from = NULL, $to = NULL){
$resetTime = CompanySettings::get('reports_reset_time', '00:00');
$resetParts = explode(':', $resetTime);
$resetHour = isset($resetParts[0]) ? $resetParts[0] : '00';
$resetMinute = isset($resetParts[1]) ? $resetParts[1] : '00';
$now = Carbon::now();
if ($now->hour < (int)$resetHour || ($now->hour == (int)$resetHour && $now->minute < (int)$resetMinute)) {
$startTime = Carbon::yesterday()->setHour((int)$resetHour)->setMinute((int)$resetMinute)->setSecond(0);
} else {
$startTime = Carbon::today()->setHour((int)$resetHour)->setMinute((int)$resetMinute)->setSecond(0);
}
// Set end time to 23:59:59 after start time (i.e., next day at reset time minus 1 second)
$endTime = $startTime->copy()->addDay()->subSecond();
return [
'from' => $startTime,
'to' => $endTime
];
}
}