Viewing File: /home/ubuntu/todaykat-backend-base/app/Helpers/viewHelper.php
<?php
use Carbon\Carbon;
use App\Helpers\Helper;
use Illuminate\Support\Str;
/**
* @method tr()
*
* Description: used to convert the string to language based string
*
* @created Vidhya R
*
* @updated
*
* @param string $key
*
* @return string value
*/
function tr($key , $additional_key = "" , $lang_path = "messages.") {
if (!Session::has('locale')) {
$locale = Session::put('locale', config('app.locale'));
}else {
$locale = Session::get('locale');
}
return \Lang::choice('messages.'.$key, 0, Array('other_key' => $additional_key), $locale);
}
function common_date($date , $timezone , $format = "d M Y h:i A") {
if(!$date) {
return "";
}
if($timezone) {
$date = convertTimeToUSERzone($date , $timezone , $format);
}
return date($format , strtotime($date));
}
function convertTimeToUSERzone($str, $userTimezone, $format = 'Y-m-d H:i:s') {
if(empty($str)){
return '';
}
try {
$new_str = new DateTime($str, new DateTimeZone('UTC') );
$new_str->setTimeZone(new DateTimeZone( $userTimezone ));
}
catch(\Exception $e) {
// Do Nothing
}
return $new_str->format( $format);
}
function routefreestring($string) {
$string = preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $string));
$search = [' ', '&', '%', "?",'=','{','}','$'];
$replace = ['-', '-', '-' , '-', '-', '-' , '-','-'];
$string = str_replace($search, $replace, $string);
return $string;
}
function shrink_text($text, $end_position) {
return strlen($text) > $end_position ? substr($text, 0, $end_position).'...' : $text;
}
function formatted_amount($amount = 0.00, $currency_code = "") {
$amount = str_replace(',', '', $amount);
$symbol = Setting::get('token_symbol', 'PSCN');
// $amount = round($amount);
$amount = number_format((float)$amount, 2, '.', '');
$formatted_amount = Setting::get('symbol_position') == PREFIX ? $symbol." ".($amount) : ($amount)." ".$symbol;
return $formatted_amount;
// $currency_code = $currency_code ? : Setting::get('currency_code', 'USD');
// $currency = Setting::get('currency', '$');
// $amount = number_format((float)$amount, 2, '.', '');
// $formatted_amount = $amount.' '.$currency ? : "0.00";
// return $formatted_amount;
}
function formatted_duration_type($duration, $duration_type) {
return $formatted_duration_type = $duration > 1 ? "$duration $duration_type" : "$duration ".substr($duration_type, 0, -1);
}
function api_success($key , $other_key = "" , $lang_path = "messages.") {
if (!\Session::has('locale')) {
$locale = \Session::put('locale', config('app.locale'));
} else {
$locale = \Session::get('locale');
}
return \Lang::choice('api-success.'.$key, 0, Array('other_key' => $other_key), $locale);
}
function api_error($key , $other_key = "" , $lang_path = "messages.") {
if (!\Session::has('locale')) {
$locale = \Session::put('locale', config('app.locale'));
} else {
$locale = \Session::get('locale');
}
return \Lang::choice('api-error.'.$key, 0, Array('other_key' => $other_key), $locale);
}
function formatted_day($date, $userTimezone) {
$user_time_zone = convertTimeToUSERzone($date, $userTimezone);
$formatted_date = date('Y-m-d', strtotime($user_time_zone));
switch($formatted_date) {
case (Carbon::now()->format('Y-m-d')) :
$formatted_day = "Today";
break;
case (Carbon::yesterday()->format('Y-m-d')) :
$formatted_day = "Yesterday";
break;
case ($formatted_date < Carbon::now()) :
$formatted_day = date("M jS - g:i A" , strtotime($user_time_zone));
break;
default:
$formatted_day = date("l - g:i A" , strtotime($user_time_zone));
}
return $formatted_day;
}
function get_status_code($status) {
$status_code = [ PENDING => 'badge-light-primary', CANCELLED => 'badge-light-warning', REJECTED => 'badge-light-danger', PAID => 'badge-light-success' ];
return isset($status_code[$status]) ? $status_code[$status] : 'badge-light-primary';
}
/**
* @method envfile()
*
* @uses get the configuration value from .env file
*
* @created Vidhya R
*
* @updated
*
* @param string $key
*
* @return string value
*/
function envfile($key) {
$data = getEnvValues();
if($data) {
return $data[$key];
}
return "";
}
function getEnvValues() {
$data = [];
$path = base_path('.env');
if(file_exists($path)) {
$values = file_get_contents($path);
$values = explode("\n", $values);
foreach ($values as $key => $value) {
$var = explode('=',$value);
if(count($var) == 2 ) {
if($var[0] != "")
$data[$var[0]] = $var[1] ? $var[1] : null;
} else if(count($var) > 2 ) {
$keyvalue = "";
foreach ($var as $i => $imp) {
if ($i != 0) {
$keyvalue = ($keyvalue) ? $keyvalue.'='.$imp : $imp;
}
}
$data[$var[0]] = $var[1] ? $keyvalue : null;
}else {
if($var[0] != "")
$data[$var[0]] = null;
}
}
array_filter($data);
}
return $data;
}
function formatted_token($amount = 0.00, $token = "") {
$amount = str_replace(',', '', $amount);
$formatted_amount = $amount." ".Setting::get('token', "HNS");
return $formatted_amount;
}
function emptyObject() {
return (Object)[];
}
function order_status_badge($status) {
$order_status_badge = [
ORDER_RECEIVED => 'badge-light-primary', ORDER_AWAITING_PICKUP => 'badge-light-dark', ORDER_AWAITING_SHIPMENT => 'badge-light-warning', ORDER_SHIPPED => 'badge-light-info', ORDER_COMPLETED => 'badge-light-success', ORDER_CANCELLED => 'badge-light-danger'
];
return isset($order_status_badge[$status]) ? $order_status_badge[$status] : 'badge-light-primary';
}
function generate_payment_id() {
return strtoupper(sha1(time().rand()));
}
function common_server_date($date , $timezone = "" , $format = "d M Y h:i A") {
if($date == "0000-00-00 00:00:00" || $date == "0000-00-00" || !$date) {
return $date = '';
}
if($timezone) {
$date = convertTimeToUTCzone($date, $timezone, $format);
}
return $timezone ? $date : date($format, strtotime($date));
}
function withdrawal_status_formatted($status) {
$status_formattd = [ PENDING => tr('requested'), PAID => tr('paid'), REJECTED => tr('rejected'), CANCELLED => tr('cancelled')];
return isset($status_formattd[$status]) ? $status_formattd[$status] : tr('na');
}
function formatted_wallet_transaction_amount($amount, $amount_type) {
return $amount_type == AMOUNT_TYPE_ADD ? "+ ".formatted_amount($amount) : "- ".formatted_amount($amount);
}
/**
* @method formatted_discount()
*
* @uses to formate the discount type & amount
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function formatted_discount($discount_type, $discount) {
$formatted_discount = '';
if($discount_type == DISCOUNT_TYPE_PERCENTAGE) {
$formatted_discount = "$discount % OFF";
} elseif($discount_type == DISCOUNT_TYPE_FLAT_PRICE) {
$formatted_discount = formatted_amount($discount)." Flat Discount";
}
return $formatted_discount;
}
/**
* @method checkout_type_formatted()
*
* @uses to formate the checkout type
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function checkout_type_formatted($checkout_type) {
$status_formattd = [ DIRECT_CHECKOUT => tr('direct'), CART_CHECKOUT => tr('cart')];
return isset($status_formattd[$checkout_type]) ? $status_formattd[$checkout_type] : tr('na');
}
/**
* @method order_status_formatted()
*
* @uses to formate the order status
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function order_status_formatted($status) {
$status_formattd = [ ORDER_RECEIVED => tr('received'), ORDER_AWAITING_PICKUP => tr('awaiting_pickup'), ORDER_AWAITING_SHIPMENT => tr('awaiting_shipment'), ORDER_SHIPPED => tr('shipped'), ORDER_COMPLETED => tr('completed'), ORDER_CANCELLED => tr('cancelled'), ORDER_RETURN_INITIATED => tr('return_initiated'), ORDER_RETURN_REJECTED => tr('return_rejected'), ORDER_RETURN_ACCEPTED => tr('return_accepted'), ORDER_RETURN_USER_DAMAGE => tr('return_user_damage'), ORDER_RETURN_SUCCESS => tr('return_success'), ORDER_REFUND_INITIATED => tr('refund_initiated'), ORDER_REFUND_SUCCESS => tr('refund_success'), ORDER_REFUND_FAILED => tr('refund_failed')];
return isset($status_formattd[$status]) ? $status_formattd[$status] : tr('na');
}
/**
* @method stock_availablity_formatted()
*
* @uses to formate the stock availablity status formatted
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function stock_availablity_formatted($quantity) {
if(!$quantity) {
$stock_availablity_formatted = tr('product_out_of_stock');
} elseif($quantity < STOCK_AVAILABILITY_STATUS_COUNT) {
$stock_availablity_formatted = tr('hurry_only').$quantity.' '.Str::of(tr('unit'))->plural($quantity)." ".tr('left_in_stock');
} else {
$stock_availablity_formatted = $quantity.' '.Str::of(tr('unit'))->plural($quantity)." ".tr('left_in_stock');
}
return $stock_availablity_formatted;
}
/**
* @method payment_status_formatted()
*
* @uses to formate the payment status
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function payment_status_formatted($status) {
$status_formattd = [ PENDING => tr('pending'), PAID => tr('paid'), REJECTED => tr('rejected'), CANCELLED => tr('cancelled')];
return isset($status_formattd[$status]) ? $status_formattd[$status] : tr('na');
}
/**
* @method get_units()
*
* @uses to get all units
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function get_units() {
return [MILLIGRAM, GRAM, KILOGRAM, MILLILITRE, LITRE, UNIT, ITEM, OZ];
}
/**
* @method payment_status_badge()
*
* @uses to get bootstrap badge for payment status
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function payment_status_badge($status) {
$payment_status_badge = [
PENDING => 'badge-light-primary', REJECTED => 'badge-light-warning', CANCELLED => 'badge-light-danger', PAID => 'badge-light-success'
];
return isset($payment_status_badge[$status]) ? $payment_status_badge[$status] : 'badge-light-danger';
}
function order_popup_status($order_status) {
return '';
}
/**
* @method add_days()
*
* @uses to get bootstrap badge for payment status
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function add_days($ordered_at, $timezone, $days) {
return common_date(Carbon::parse($ordered_at)->addDays($days), $timezone, 'd M Y');
}
/**
* @method order_status_badge_email()
*
* @uses to get background color for order status for email.
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function order_status_badge_email($status) {
$order_status_badge = [
ORDER_RECEIVED => 'badge-light-primary', ORDER_AWAITING_PICKUP => 'badge-light-dark', ORDER_AWAITING_SHIPMENT => 'badge-light-warning', ORDER_SHIPPED => 'badge-light-info', ORDER_COMPLETED => 'badge-light-success', ORDER_CANCELLED => 'badge-light-danger'
];
return isset($order_status_badge[$status]) ? $order_status_badge[$status] : 'badge-light-info';
}
/**
* @method get_order_email_subject()
*
* @uses to the subject for order email
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function get_order_email_subject($status, $order_unique_id) {
$order_status_subject = [
ORDER_RECEIVED => tr('order_subject_received', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_AWAITING_PICKUP => tr('order_subject_awaiting_pickup', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_AWAITING_SHIPMENT => tr('order_subject_awaiting_shipment', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_SHIPPED => tr('order_subject_shipped', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_COMPLETED => tr('order_subject_completed', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_CANCELLED => tr('order_subject_cancelled', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_RETURN_INITIATED => tr('order_subject_return_initiated', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_RETURN_REJECTED => tr('order_subject_return_rejected', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_RETURN_ACCEPTED => tr('order_subject_return_accepted', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_RETURN_USER_DAMAGE => tr('order_subject_return_user_damage', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_RETURN_SUCCESS => tr('order_subject_return_success', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_REFUND_INITIATED => tr('order_subject_refund_initiated', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_REFUND_SUCCESS => tr('order_subject_refund_success', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_REFUND_FAILED => tr('order_subject_refund_failed', $order_unique_id).' - '.Setting::get('site_name'),
];
return isset($order_status_subject[$status]) ? $order_status_subject[$status] : tr('na');
}
/**
* @method get_order_email_content()
*
* @uses to the content for order email
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function get_order_email_content($status, $order_unique_id) {
$order_status_content = [
ORDER_RECEIVED => tr('order_content_received', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_AWAITING_PICKUP => tr('order_content_awaiting_pickup', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_AWAITING_SHIPMENT => tr('order_content_awaiting_shipment', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_SHIPPED => tr('order_content_shipped', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_COMPLETED => tr('order_content_completed', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_CANCELLED => tr('order_content_cancelled', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_RETURN_INITIATED => tr('order_content_return_initiated', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_RETURN_REJECTED => tr('order_content_return_rejected', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_RETURN_ACCEPTED => tr('order_content_return_accepted', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_RETURN_USER_DAMAGE => tr('order_content_return_user_damage', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_RETURN_SUCCESS => tr('order_content_return_success', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_REFUND_INITIATED => tr('order_content_refund_initiated', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_REFUND_SUCCESS => tr('order_content_refund_success', $order_unique_id).' - '.Setting::get('site_name'),
ORDER_REFUND_FAILED => tr('order_content_refund_failed', $order_unique_id).' - '.Setting::get('site_name'),
];
return isset($order_status_content[$status]) ? $order_status_content[$status] : tr('na');
}
/**
* @method get_orders_sub_page()
*
* @uses to get sub page name for orders in sidebar.
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function get_orders_sub_page($status) {
$order_status_badge = [
ORDER_STATUS_PENDING => 'ongoing', ORDER_STATUS_CANCELLED => 'cancelled', ORDER_STATUS_RETURNED => 'returned', ORDER_STATUS_COMPLETED => 'completed'
];
return isset($order_status_badge[$status]) ? $order_status_badge[$status] : 'orders-ongoing';
}
/**
* @method cannabidiol_per_formatted()
*
* @uses to formate the thc & cbd values
*
* @created Karthick
*
* @updated
*
* @param float, float
*
* @return
*/
function cannabidiol_per_formatted($from, $to, $unit, $decimal = 0) {
$cannabidiol_per_formatted = $from || $to ? number_format($from, $decimal, '.', '') : '';
if($to) {
$separation = $decimal ? " - " : "-";
$cannabidiol_per_formatted = $from || $to ? $cannabidiol_per_formatted.' '.$separation.number_format($to, $decimal, '.', '') : '';
}
return $cannabidiol_per_formatted ? $cannabidiol_per_formatted.($decimal ? " $unit" : "%") : '';
}
/**
* @method cannabidiol_formatted()
*
* @uses to formate the thc & cbd values in mg / g format
*
* @created Karthick
*
* @updated
*
* @param float, float, int
*
* @return string
*/
function cannabidiol_formatted($from, $to, $unit, $decimal = 0) {
$cannabidiol_formatted = $from || $to ? number_format($from, $decimal, '.', '') : '';
if($to) {
$cannabidiol_formatted = $from || $to ? $cannabidiol_formatted." - ".number_format($to, $decimal, '.', '') : '';
}
return $cannabidiol_formatted ? $cannabidiol_formatted.($decimal ? " $unit" : "%") : '';
}
/**
* @method cannabidiol_avg()
*
* @uses to get the average of cannabidiol content in product (from, to values avg).
*
* @created Karthick
*
* @updated
*
* @param float, float
*
* @return int
*/
function cannabidiol_avg($from, $to) {
if($to == 0) {
return round($from);
}
$cannabidiol_avg = ($from + $to) / 2;
return round($cannabidiol_avg);
}
/**
* @method removeSpecialCharacters()
*
* @uses to remove special characters from string
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function removeSpecialCharacters($string, $symbol) {
$string = preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', $symbol, $string));
$search = [' ', '&', '%', "?",'=','{','}','$'];
$replace = ['-', '-', '-' , '-', '-', '-' , '-','-'];
$string = str_replace($search, $replace, $string);
return strtolower($string);
}
/**
* @method get_cannabidiol_units()
*
* @uses to get all cannabidiol units
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function get_cannabidiol_units() {
return [UNIT_PERCENTAGE, UNIT_MG, UNIT_MG_PER_G, UNIT_MG_PER_CAPSULE, UNIT_MG_PER_SPRAY];
}
/**
* @method get_order_push_notification_content()
*
* @uses to the content for order push_notification
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
function get_order_push_notification_content($status, $order_unique_id) {
$order_status_content = [
ORDER_RECEIVED => tr('order_content_received').'- '.$order_unique_id,
ORDER_AWAITING_PICKUP => tr('order_content_awaiting_pickup').'- '.$order_unique_id,
ORDER_AWAITING_SHIPMENT => tr('order_content_awaiting_shipment').'- '.$order_unique_id,
ORDER_SHIPPED => tr('order_content_shipped').'- '.$order_unique_id,
ORDER_COMPLETED => tr('order_content_completed').'- '.$order_unique_id,
ORDER_CANCELLED => tr('order_content_cancelled').'- '.$order_unique_id,
ORDER_RETURN_INITIATED => tr('order_content_return_initiated').'- '.$order_unique_id,
ORDER_RETURN_REJECTED => tr('order_content_return_rejected').'- '.$order_unique_id,
ORDER_RETURN_ACCEPTED => tr('order_content_return_accepted').'- '.$order_unique_id,
ORDER_RETURN_USER_DAMAGE => tr('order_content_return_user_damage').'- '.$order_unique_id,
ORDER_RETURN_SUCCESS => tr('order_content_return_success').'- '.$order_unique_id,
ORDER_REFUND_INITIATED => tr('order_content_refund_initiated').'- '.$order_unique_id,
ORDER_REFUND_SUCCESS => tr('order_content_refund_success').'- '.$order_unique_id,
ORDER_REFUND_FAILED => tr('order_content_refund_failed').'- '.$order_unique_id,
];
return isset($order_status_content[$status]) ? $order_status_content[$status] : tr('na');
}
?>
Back to Directory
File Manager