__('time.months.01'), '02' => __('time.months.02'), '03' => __('time.months.03'), '04' => __('time.months.04'), '05' => __('time.months.05'), '06' => __('time.months.06'), '07' => __('time.months.07'), '08' => __('time.months.08'), '09' => __('time.months.09'), '10' => __('time.months.10'), '11' => __('time.months.11'), '12' => __('time.months.12'), ]; } function getYears() { $yearRange = range(2014, date('Y')); foreach ($yearRange as $year) { $years[$year] = $year; } return $years; } function str_split_ucwords($string) { return ucwords(str_replace('_', ' ', $string)); } /** * Convert file size to have unit string. * * @param int $bytes File size. * * @return string Converted file size with unit. */ function formatSizeUnits($bytes) { if ($bytes >= 1073741824) { $bytes = number_format($bytes / 1073741824, 2).' GB'; } elseif ($bytes >= 1048576) { $bytes = number_format($bytes / 1048576, 2).' MB'; } elseif ($bytes >= 1024) { $bytes = number_format($bytes / 1024, 2).' KB'; } elseif ($bytes > 1) { $bytes = $bytes.' bytes'; } elseif ($bytes == 1) { $bytes = $bytes.' byte'; } else { $bytes = '0 bytes'; } return $bytes; } /** * Overide Laravel Collective link_to_route helper function. * * @param string $name Name of route * @param string $title Text that displayed on view * @param array $parameters URL Parameter * @param array $attributes The anchor tag atributes */ function html_link_to_route($name, $title = null, $parameters = [], $attributes = []) { if (array_key_exists('icon', $attributes)) { $title = ' '.$title; } return app('html')->decode(link_to_route($name, $title, $parameters, $attributes)); } function dateDifference($date1, $date2, $differenceFormat = '%a') { $datetime1 = date_create($date1); $datetime2 = date_create($date2); $interval = date_diff($datetime1, $datetime2); return $interval->format($differenceFormat); } function appLogoImage($attributes = []) { return Html::image( appLogoPath(), 'Logo '.Option::get('agency_name', 'Laravel'), $attributes ); } function appLogoPath() { $defaultLogoImagePath = 'default-logo.png'; $optionLogoImagePath = Option::get('agency_logo_path'); if (is_file(public_path('assets/imgs/'.$optionLogoImagePath))) { return asset('assets/imgs/'.$optionLogoImagePath); } return asset('assets/imgs/'.$defaultLogoImagePath); } function monthDateArray($year, $month) { $dateCount = Carbon::parse($year.'-'.$month)->format('t'); $dates = []; foreach (range(1, $dateCount) as $dateNumber) { $dates[] = str_pad($dateNumber, 2, '0', STR_PAD_LEFT); } return $dates; } /** * Function helper to add flash notification. * * @param null|string $message The flashed message. * @param string $level Level/type of message * * @return void */ function flash($message = null, $level = 'info') { $session = app('session'); if (!is_null($message)) { $session->flash('flash_notification.message', $message); $session->flash('flash_notification.level', $level); } }