parsePackageInfo($message, $order_details); return [ 'subject' => get_static_option('package_order_reminder_mail_' . LanguageHelper::user_lang_slug() . '_subject'), 'message' => $message ]; } /** * send packageOrderPaymentApproveMail * */ public function packageOrderPaymentApproveMail($order_details) { $message = get_static_option('package_order_payment_accept_' . LanguageHelper::user_lang_slug() . '_message'); $message = $this->parsePackageInfo($message, $order_details); return [ 'subject' => get_static_option('package_order_payment_accept_' . LanguageHelper::user_lang_slug() . '_subject'), 'message' => $message ]; } /** * send packageOrderStatusChangeMail * */ public function packageOrderStatusChangeMail($order_details) { $message = get_static_option('package_order_status_change_' . LanguageHelper::user_lang_slug() . '_message'); $message = $this->parsePackageInfo($message, $order_details); return [ 'subject' => get_static_option('package_order_status_change_' . LanguageHelper::user_lang_slug() . '_subject'), 'message' => $message ]; } /** * send packageOrderUserMail * */ public function packageOrderUserMail($order_details) { $message = get_static_option('package_order_user_mail_' . LanguageHelper::user_lang_slug() . '_message'); $message = $this->parsePackageInfo($message, $order_details); return [ 'subject' => get_static_option('package_order_user_mail_' . LanguageHelper::user_lang_slug() . '_subject'), 'message' => $message, 'attachments' => unserialize($order_details->attachment,['class' => false]) ]; } /** * send packageOrderAdminMail * */ public function packageOrderAdminMail($order_details) { $message = get_static_option('package_order_admin_mail_' . LanguageHelper::user_lang_slug() . '_message'); $message = $this->parsePackageInfo($message, $order_details); return [ 'subject' => get_static_option('package_order_admin_mail_' . LanguageHelper::user_lang_slug() . '_subject'), 'message' => $message, 'attachments' => unserialize($order_details->attachment,['class' => false]) ]; } private function parsePackageInfo($message, $order_details) { $message = str_replace( [ '@order_price_plan', '@order_billing_info', '@payment_status', '@order_id', '@order_payment_gateway', '@order_date', '@billing_name', '@billing_email', '@site_title', '@order_status', '@user_dashboard', ], [ $this->orderPricePlan($order_details), $this->orderBillingInfo($order_details), $order_details->payment_status, $order_details->id, optional($order_details->package)->package_gateway, $order_details->created_at->format('d F Y H:m:s'), optional($order_details->package)->name, optional($order_details->package)->email, get_static_option('site_' . LanguageHelper::user_lang_slug() . '_title'), $order_details->status, ' '.__('your dashboard').'' ], $message); return $message; } private function orderPricePlan($order_details) { $payment_details = PricePlan::where('id', $order_details->package_id)->first(); $package_title = $payment_details->title; $package_type = $payment_details->type; $package_price = amount_with_currency_symbol($payment_details->price); $feature_markup = ''; $features = explode("\n",$payment_details->features); foreach($features as $item){ $feature_markup .= '
  • '.$item.'
  • '; } $output = <<

    {$package_title}

    {$package_price}{$package_type}
    HTML; return $output; } private function orderBillingInfo($order_details) { $payment_details = PaymentLogs::where('order_id', $order_details->id)->first(); $output = '
    '; $output .= ''; $output .= '
    '; return $output; } }