'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 ]; } }