($i + 1), "order" => $current[$i]['order']]; } } return FALSE; } } if(!function_exists('includeOrReverseInMultiSort')) { function includeOrReverseInMultiSort($current, $key) { $found = false; $current = $current ? $current : []; for ($i = 0; $i < count($current); $i++) { if($current[$i]['key'] === $key) { // if exists, reverse $current[$i]['order'] = ($current[$i]['order'] === 'DESC' ? 'ASC' : 'DESC'); $found = true; break; } } if (!$found) { // if not exists, include $current[] = ["key" => $key, "order" => 'ASC']; } return $current; } } if(!function_exists('removeFromMultiSort')) { function removeFromMultiSort($current, $key) { $found = false; $current = $current ? $current : []; $current = array_filter($current, function($_x) use ($key) { return $_x['key'] !== $key; }); return array_values($current); } } if(!function_exists('toFeetAndInches')) { function toFeetAndInches($value, $ftLabel = ' ft.', $inLabel = ' in.') { if(!$value) return '-'; $value = round($value); $ft = round(floor($value / 12)); $in = $value % 12; return "$ft$ftLabel $in$inLabel"; } } if(!function_exists('callJava')) { function callJava($endPoint, $data, $sessionKey) { $url = config('stag.backendUrl') . $endPoint; $response = Http::asForm() ->withHeaders([ 'sessionKey' => $sessionKey ]) ->post($url, $data) ->body(); return $response; } } if(!function_exists('feetFromInches')) { function feetFromInches($value) { if(!$value) return 0; $value = round($value); return round(floor($value / 12)); } } if(!function_exists('inchesAfterFeetFromInches')) { function inchesAfterFeetFromInches($value) { if(!$value) return 0; $value = round($value); return round($value % 12); } } if(!function_exists('genericBills')) { function genericBills(Pro $performerPro, $patient,$careMonth, $entityType, $entityUid) { $genericBills = Bill::where('bill_service_type', 'GENERIC'); if($performerPro->pro_type !== 'ADMIN') { $genericBills = $genericBills->where('generic_pro_id', $performerPro->id); } if($patient) { $genericBills = $genericBills->where('client_id', $patient->id); } if($careMonth){ $genericBills = $genericBills->where('care_month_id', $careMonth->id); } if($entityType && $entityUid) { $genericBills = $genericBills ->where('generic_target_entity_type', $entityType) ->where('generic_target_entity_uid', $entityUid); } return $genericBills->orderBy('created_at', 'DESC')->get(); } } if(!function_exists('hasActiveGenericBill')) { function hasActiveGenericBill(Pro $performerPro, $patient, $entityType, $entityUid) { $genericBills = Bill::where('bill_service_type', 'GENERIC')->where('is_cancelled', false); if($performerPro->pro_type !== 'ADMIN') { $genericBills = $genericBills->where('generic_pro_id', $performerPro->id); } if($patient) { $genericBills = $genericBills->where('client_id', $patient->id); } if($entityType && $entityUid) { $genericBills = $genericBills ->where('generic_target_entity_type', $entityType) ->where('generic_target_entity_uid', $entityUid); } return $genericBills->count() > 0; } } if(!function_exists('queryLineExcept')) { function queryLineExcept($except = []) { $params = request()->all(); $final = []; foreach ($params as $k => $v) { if(in_array($k, $except) === FALSE) { if(is_array($v)) $v = implode(',', $v); $final[] = "$k=" . urlencode($v); } } return implode('&', $final); } } if(!function_exists('sortColumnHead')) { function sortColumnHead($url, $label, $sortKey, $defaultDirection = 'ASC') { $currentSortKey = request()->input('sort'); $currentDir = request()->input('dir'); $targetDir = $currentDir ? ($currentDir === 'ASC' ? 'DESC' : 'ASC') : $defaultDirection; echo '' . $label . ''; if($currentSortKey === $sortKey) { if($currentDir === 'ASC') { echo " ↑"; } elseif($currentDir === 'DESC') { echo " ↓"; } } } } if(!function_exists('html2Text')) { function html2Text($old, $new){ } } if(!function_exists('diff')) { function diff($old, $new){ // return Diff::toHTML(Diff::compare($old, $new)); } } if(!function_exists('get_current_session')) { function get_current_session(){ return AppSession::where('session_key', request()->cookie('sessionKey'))->first(); } } if(!function_exists('get_current_date')) { function get_current_date($timezone = null){ if(!$timezone){ $timezone = 'US\Eastern'; } $date = new DateTime("now", new DateTimeZone('US/Eastern') ); return $date->format('Y-m-d'); } } if(!function_exists('friendly_date_est')) { function friendly_date_est($value, $default = '-') { if(!$value || empty($value)) return $default; try { $realTimezone = resolve_timezone('EASTERN'); $date = new DateTime($value); $date->setTimezone(new DateTimeZone($realTimezone)); return $date->format("m/d/y"); } catch (Exception $e) { return $e->getMessage(); } } } if(!function_exists('friendly_date_est_compact')) { function friendly_date_est_compact($value, $default = '-') { if(!$value || empty($value)) return $default; try { $realTimezone = resolve_timezone('EASTERN'); $date = new DateTime($value); $date->setTimezone(new DateTimeZone($realTimezone)); return $date->format('y') === date('y') ? $date->format("m/d") : $date->format("m/d/y"); } catch (Exception $e) { return $e->getMessage(); } } } if(!function_exists('friendly_date_compact')) { function friendly_date_compact($value, $default = '-') { if(!$value || empty($value)) return $default; try { $date = new DateTime($value); return $date->format('y') === date('y') ? $date->format("m/d") : $date->format("m/d/y"); } catch (Exception $e) { return $e->getMessage(); } } } if(!function_exists('friendly_date_time')) { function friendly_date_time($value, $includeTime = true, $default = '-', $long_year=false) { if(!$value || empty($value)) return $default; try { if($includeTime) { $realTimezone = 'US/Eastern'; $date = new DateTime($value); $date->setTimezone(new DateTimeZone($realTimezone)); return $date->format("m/d/y" . ($includeTime ? ", h:ia" : "")) . ($includeTime ? ' EST' : ''); } else { $result = strtotime($value); if($long_year){ $result = date("m/d/Y" . ($includeTime ? ", h:ia" : ""), $result); }else{ $result = date("m/d/y" . ($includeTime ? ", h:ia" : ""), $result); } return $result; } } catch (Exception $e) { return $value; } } } if(!function_exists('friendly_date_time_with_seconds')) { function friendly_date_time_with_seconds($value, $includeTime = true, $default = '-', $long_year=false) { if(!$value || empty($value)) return $default; try { if($includeTime) { $realTimezone = 'US/Eastern'; $date = new DateTime($value); $date->setTimezone(new DateTimeZone($realTimezone)); return $date->format("m/d/y" . ($includeTime ? ", h:i:sa" : "")) . ($includeTime ? ' EST' : ''); } else { $result = strtotime($value); if($long_year){ $result = date("m/d/Y" . ($includeTime ? ", h:i:sa" : ""), $result); }else{ $result = date("m/d/y" . ($includeTime ? ", h:i:sa" : ""), $result); } return $result; } } catch (Exception $e) { return $value; } } } if(!function_exists('friendly_date_month_year')) { function friendly_date_month_year($value, $default = '-', $long_year=true) { if(!$value || empty($value)) return $default; try { $result = strtotime($value); if($long_year){ $result = date("m/Y", $result); }else{ $result = date("m/y", $result); } return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('friendlier_date_time')) { function friendlier_date_time($value, $includeTime = true, $default = '-') { return friendly_date_time($value, $includeTime, $default); } } if(!function_exists('friendly_date_time_short')) { function friendly_date_time_short($value, $includeTime = true, $default = '-') { if(!$value || empty($value)) return $default; try { $result = strtotime($value); $result = date("m/d/y" . ($includeTime ? ", h:ia" : ""), $result); return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('friendly_date_time_short_with_tz')) { function friendly_date_time_short_with_tz($value, $includeTime = true, $tz='UTC', $default = '-') { if(!$value || empty($value)) return $default; try { $realTimezone = resolve_timezone($tz); $date = new DateTime($value); $date->setTimezone(new DateTimeZone($realTimezone)); return $date->format("m/d/y" . ($includeTime ? ", h:iA" : "")); } catch (Exception $e) { return $e->getMessage(); } } } if(!function_exists('friendly_date_time_short_with_tz_from_timestamp')) { function friendly_date_time_short_with_tz_from_timestamp($value, $tz='UTC', $default = '-', $format = "m/d/y, h:iA") { if(!$value || empty($value)) return $default; try { $realTimezone = resolve_timezone($tz); $date = new DateTime("@$value"); $date->setTimezone(new DateTimeZone($realTimezone)); return $date->format($format); } catch (Exception $e) { return $e->getMessage(); } } } if(!function_exists('postgres_date_time_short_with_tz')) { function postgres_date_time_short_with_tz($value, $includeTime = true, $tz='UTC', $default = '-') { if(!$value || empty($value)) return $default; try { $realTimezone = resolve_timezone($tz); $date = new DateTime($value); $date->setTimezone(new DateTimeZone($realTimezone)); return $date->format("Y-m-d" . ($includeTime ? " h:i:s" : "")); } catch (Exception $e) { return $e->getMessage(); } } } if(!function_exists('postgres_date_time_short_with_tz_from_timestamp')) { function postgres_date_time_short_with_tz_from_timestamp($value, $tz='UTC', $default = '-') { if(!$value || empty($value)) return $default; try { $realTimezone = resolve_timezone($tz); $date = new DateTime("@$value"); $date->setTimezone(new DateTimeZone($realTimezone)); return $date->format("Y-m-d h:i:s"); } catch (Exception $e) { return $e->getMessage(); } } } if(!function_exists('friendly_date_time_short_with_tz_from_timestamp_divide1000')) { function friendly_date_time_short_with_tz_from_timestamp_divide1000($value, $tz='UTC', $default = '-') { if(!$value || empty($value)) return $default; try { $value = (floor($value / 1000)); $realTimezone = resolve_timezone($tz); $date = new DateTime("@$value"); $date->setTimezone(new DateTimeZone($realTimezone)); return $date->format("m/d/y, h:iA"); } catch (Exception $e) { return $e->getMessage(); } } } if(!function_exists('friendly_date_short_with_tz_from_timestamp_divide1000')) { function friendly_date_short_with_tz_from_timestamp_divide1000($value, $tz='EASTERN', $default = '-') { if(!$value || empty($value)) return $default; try { $value = (floor($value / 1000)); $realTimezone = resolve_timezone($tz); $date = new DateTime("@$value"); $date->setTimezone(new DateTimeZone($realTimezone)); return $date->format("m/d/y"); } catch (Exception $e) { return $e->getMessage(); } } } if(!function_exists('date_short_with_tz_from_timestamp_divide1000')) { function date_short_with_tz_from_timestamp_divide1000($value, $tz='EASTERN', $default = '-') { if(!$value || empty($value)) return $default; try { $value = (floor($value / 1000)); $realTimezone = resolve_timezone($tz); $date = new DateTime("@$value"); $date->setTimezone(new DateTimeZone($realTimezone)); return $date->format("Y-m-d"); } catch (Exception $e) { return $e->getMessage(); } } } if(!function_exists('friendly_date')) { function friendly_date($value) { if(!$value || empty($value)) return ''; try { $result = strtotime($value); $result = date("m/d/Y", $result); return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('friendly_date_short')) { function friendly_date_short($value) { if(!$value || empty($value)) return ''; try { $result = strtotime($value); $result = date("m/d/y", $result); return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('friendly_date_month_year')) { function friendly_date_month_year($value) { if(!$value || empty($value)) return ''; try { $result = strtotime($value); $result = date("M Y", $result); return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('friendlier_date')) { function friendlier_date($value) { if(!$value || empty($value)) return ''; try { $result = strtotime($value); $result = date("m/d/Y", $result); return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('relative_friendly_date')) { function relative_friendly_date($value) { if(!$value || empty($value)) return ''; try { $result = date_diff(date_create($value), date_create('now'))->days; if ($result > 30) $result = date('F Y', strtotime($value)); else if ($result > 1) $result .= ' days ago'; else if ($result === 1) $result = 'Yesterday'; else if ($result === 0) $result = 'Today'; return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('unfriendly_date')) { function unfriendly_date($value) { if(!$value || empty($value)) return ''; try { $result = strtotime($value); $result = date("Y-m-d", $result); return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('friendly_time')) { function friendly_time($value, $default = '-') { if(!$value || empty($value)) return $default; try { $result = strtotime($value); $result = date("h:i a", $result); return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('military_time')) { function military_time($value, $tz='UTC', $default = '-') { if(!$value || empty($value)) return $default; try { $realTimezone = resolve_timezone($tz); $date = new DateTime($value); $date->setTimezone(new DateTimeZone($realTimezone)); return $date->format("H:i"); } catch (Exception $e) { return $value; } } } if(!function_exists('resolve_timezone')) { function resolve_timezone($value) { try { switch ($value) { case 'ALASKA': { return 'US/Alaska'; } case 'CENTRAL': { return 'US/Central'; } case 'EASTERN': { return 'US/Eastern'; } case 'HAWAII': { return 'US/Hawaii'; } case 'MOUNTAIN': { return 'US/Mountain'; } case 'PACIFIC': { return 'US/Pacific'; } case 'PUERTO_RICO': { return 'America/Puerto_Rico'; } case 'UTC': { return 'UTC'; } } } catch (Exception $e) { return $value; } } } // $date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru')); // echo $date->format('Y-m-d H:i:sP') . "\n"; if(!function_exists('friendly_month')) { function friendly_month($value) { if(!$value || empty($value)) return "-"; try { $result = strtotime($value); $result = date("F o", $result); return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('friendly_month_short')) { function friendly_month_short($value) { if(!$value || empty($value)) return "-"; try { $result = strtotime($value); $result = date("M y", $result); return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('day_part_from_date')) { function day_part_from_date($value) { if(!$value || empty($value)) return "-"; try { $result = strtotime($value); $result = date("d", $result); return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('month_part_from_date')) { function month_part_from_date($value) { if(!$value || empty($value)) return "-"; try { $result = strtotime($value); $result = date("m", $result); return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('year_part_from_date')) { function year_part_from_date($value) { if(!$value || empty($value)) return "-"; try { $result = strtotime($value); $result = date("Y", $result); return $result; } catch (Exception $e) { return $value; } } } if(!function_exists('friendly_money')){ function friendly_money($value, $decimals = 2) { // if($decimals === 0) return intval($value); return number_format((float)$value, $decimals, '.', ''); } } if(!function_exists('time_in_hrminsec')) { function time_in_hrminsec($value, $default = '-') { if(!$value || empty($value)) return $default; $value = intval($value); $minutes = intval($value / 60); $seconds = $value % 60; $hours = 0; if($minutes >= 60) { $hours = intval($minutes / 60); $minutes = $minutes % 60; } $output = []; if($hours > 0) { $output[] = "{$hours}h"; } if($minutes > 0) { $output[] = "{$minutes}m"; } if($seconds > 0) { $output[] = "{$seconds}s"; } return implode(" ", $output); } } if(!function_exists('sanitize_field_name')) { function sanitize_field_name($name) { $result = strtolower($name); return preg_replace("/[^0-9a-z]/i", "_", $result); } } if(!function_exists('sanitize_state_name')) { function sanitize_state_name($name) { $result = strtolower($name); return ucwords(preg_replace("/_/i", " ", $result)); } } if(!function_exists('renderNoteTemplate')) { function renderNoteTemplate($template, $topLevel) { echo '
" . toHumanReadable($k) . " | "; echo ""; if(is_object($v)) { parseRender($v); } elseif(is_array($v)) { foreach($v as $k2 => $v2) { parseRender($v2); } } else { echo $v; } echo " | "; echo "