| Server IP : 103.161.17.216 / Your IP : 216.73.216.1 Web Server : nginx/1.18.0 System : Linux tipsysaigoncharming 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/app.ansachsongkhoe.net/app/ |
Upload File : |
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class NotificationTemplate extends Model
{
/**
* The attributes that aren't mass assignable.
*
* @var array
*/
protected $guarded = ['id'];
/**
* Retrives notification template from database
*
* @param int $business_id
* @param string $template_for
* @return array $template
*/
public static function getTemplate($business_id, $template_for)
{
$notif_template = NotificationTemplate::where('business_id', $business_id)
->where('template_for', $template_for)
->first();
$template = [
'subject' => !empty($notif_template->subject) ? $notif_template->subject : '',
'sms_body' => !empty($notif_template->sms_body) ? $notif_template->sms_body : '',
'whatsapp_text' => !empty($notif_template->whatsapp_text) ? $notif_template->whatsapp_text : '',
'email_body' => !empty($notif_template->email_body) ? $notif_template->email_body
: '',
'template_for' => $template_for,
'cc' => !empty($notif_template->cc) ? $notif_template->cc : '',
'bcc' => !empty($notif_template->bcc) ? $notif_template->bcc : '',
'auto_send' => !empty($notif_template->auto_send) ? 1 : 0,
'auto_send_sms' => !empty($notif_template->auto_send_sms) ? 1 : 0,
'auto_send_wa_notif' => !empty($notif_template->auto_send_wa_notif)
? 1 : 0
];
return $template;
}
public static function customerNotifications()
{
return [
'new_sale' => [
'name' => __('lang_v1.new_sale'),
'extra_tags' => ['{business_name}', '{business_logo}', '{contact_name}', '{invoice_number}', '{invoice_url}', '{total_amount}', '{paid_amount}', '{due_amount}', '{cumulative_due_amount}', '{due_date}', '{location_name}', '{location_address}', '{location_email}', '{location_phone}', '{location_custom_field_1}', '{location_custom_field_2}', '{location_custom_field_3}', '{location_custom_field_4}']
],
'payment_received' => [
'name' => __('lang_v1.payment_received'),
'extra_tags' => ['{business_name}', '{business_logo}', '{contact_name}', '{invoice_number}', '{payment_ref_number}', '{received_amount}']
],
'payment_reminder' => [
'name' => __('lang_v1.payment_reminder'),
'extra_tags' => ['{business_name}', '{business_logo}', '{contact_name}', '{invoice_number}', '{due_amount}', '{cumulative_due_amount}', '{due_date}']
],
'new_booking' => [
'name' => __('lang_v1.new_booking'),
'extra_tags' => self::bookingNotificationTags()
],
'new_quotation' => [
'name' => __('lang_v1.new_quotation'),
'extra_tags' => ['{business_name}', '{business_logo}', '{contact_name}', '{invoice_number}', '{total_amount}', '{quote_url}', '{location_name}', '{location_address}', '{location_email}', '{location_phone}', '{location_custom_field_1}', '{location_custom_field_2}', '{location_custom_field_3}', '{location_custom_field_4}']
],
];
}
public static function generalNotifications()
{
return [
'send_ledger' => [
'name' => __('lang_v1.send_ledger'),
'extra_tags' => ['{business_name}', '{business_logo}', '{contact_name}', '{balance_due}']
],
];
}
public static function supplierNotifications()
{
return [
'new_order' => [
'name' => __('lang_v1.new_order'),
'extra_tags' => ['{business_name}', '{business_logo}', '{contact_business_name}', '{contact_name}', '{order_ref_number}', '{total_amount}', '{received_amount}', '{due_amount}', '{location_name}', '{location_address}', '{location_email}', '{location_phone}', '{location_custom_field_1}', '{location_custom_field_2}', '{location_custom_field_3}', '{location_custom_field_4}']
],
'payment_paid' => [
'name' => __('lang_v1.payment_paid'),
'extra_tags' => ['{business_name}', '{business_logo}', '{contact_business_name}', '{contact_name}', '{order_ref_number}', '{payment_ref_number}', '{paid_amount}']
],
'items_received' => [
'name' => __('lang_v1.items_received'),
'extra_tags' => ['{business_name}', '{business_logo}', '{contact_business_name}', '{contact_name}', '{order_ref_number}'],
],
'items_pending' => [
'name' => __('lang_v1.items_pending'),
'extra_tags' => ['{business_name}', '{business_logo}', '{contact_business_name}', '{contact_name}', '{order_ref_number}']
],
];
}
public static function notificationTags()
{
return ['{contact_name}', '{invoice_number}', '{total_amount}',
'{paid_amount}', '{due_amount}', '{business_name}', '{business_logo}', '{cumulative_due_amount}', '{due_date}', '{contact_business_name}'];
}
public static function bookingNotificationTags()
{
return ['{contact_name}', '{table}', '{start_time}',
'{end_time}', '{location}', '{service_staff}', '{correspondent}', '{business_name}', '{business_logo}', '{location_name}', '{location_address}', '{location_email}', '{location_phone}', '{location_custom_field_1}', '{location_custom_field_2}', '{location_custom_field_3}', '{location_custom_field_4}'];
}
public static function defaultNotificationTemplates($business_id = null)
{
$notification_template_data = [
[
'business_id' => $business_id,
'template_for' => 'new_sale',
'email_body' => '<p>Dear {contact_name},</p>
<p>Your invoice number is {invoice_number}<br />
Total amount: {total_amount}<br />
Paid amount: {received_amount}</p>
<p>Thank you for shopping with us.</p>
<p>{business_logo}</p>
<p> </p>',
'sms_body' => 'Dear {contact_name}, Thank you for shopping with us. {business_name}',
'subject' => 'Thank you from {business_name}',
'auto_send' => '0'
],
[
'business_id' => $business_id,
'template_for' => 'payment_received',
'email_body' => '<p>Dear {contact_name},</p>
<p>We have received a payment of {received_amount}</p>
<p>{business_logo}</p>',
'sms_body' => 'Dear {contact_name}, We have received a payment of {received_amount}. {business_name}',
'subject' => 'Payment Received, from {business_name}',
'auto_send' => '0'
],
[
'business_id' => $business_id,
'template_for' => 'payment_reminder',
'email_body' => '<p>Dear {contact_name},</p>
<p>This is to remind you that you have pending payment of {due_amount}. Kindly pay it as soon as possible.</p>
<p>{business_logo}</p>',
'sms_body' => 'Dear {contact_name}, You have pending payment of {due_amount}. Kindly pay it as soon as possible. {business_name}',
'subject' => 'Payment Reminder, from {business_name}',
'auto_send' => '0'
],
[
'business_id' => $business_id,
'template_for' => 'new_booking',
'email_body' => '<p>Dear {contact_name},</p>
<p>Your booking is confirmed</p>
<p>Date: {start_time} to {end_time}</p>
<p>Table: {table}</p>
<p>Location: {location}</p>
<p>{business_logo}</p>',
'sms_body' => 'Dear {contact_name}, Your booking is confirmed. Date: {start_time} to {end_time}, Table: {table}, Location: {location}','subject' => 'Booking Confirmed - {business_name}',
'auto_send' => '0'
],
[
'business_id' => $business_id,
'template_for' => 'new_order',
'email_body' => '<p>Dear {contact_name},</p>
<p>We have a new order with reference number {order_ref_number}. Kindly process the products as soon as possible.</p>
<p>{business_name}<br />
{business_logo}</p>',
'sms_body' => 'Dear {contact_name}, We have a new order with reference number {order_ref_number}. Kindly process the products as soon as possible. {business_name}',
'subject' => 'New Order, from {business_name}',
'auto_send' => '0'
],
[
'business_id' => $business_id,
'template_for' => 'payment_paid',
'email_body' => '<p>Dear {contact_name},</p>
<p>We have paid amount {paid_amount} again invoice number {order_ref_number}.<br />
Kindly note it down.</p>
<p>{business_name}<br />
{business_logo}</p>',
'sms_body' => 'We have paid amount {paid_amount} again invoice number {order_ref_number}.
Kindly note it down. {business_name}',
'subject' => 'Payment Paid, from {business_name}',
'auto_send' => '0'
],
[
'business_id' => $business_id,
'template_for' => 'items_received',
'email_body' => '<p>Dear {contact_name},</p>
<p>We have received all items from invoice reference number {order_ref_number}. Thank you for processing it.</p>
<p>{business_name}<br />
{business_logo}</p>',
'sms_body' => 'We have received all items from invoice reference number {order_ref_number}. Thank you for processing it. {business_name}',
'subject' => 'Items received, from {business_name}',
'auto_send' => '0'
],
[
'business_id' => $business_id,
'template_for' => 'items_pending',
'email_body' => '<p>Dear {contact_name},<br />
This is to remind you that we have not yet received some items from invoice reference number {order_ref_number}. Please process it as soon as possible.</p>
<p>{business_name}<br />
{business_logo}</p>',
'sms_body' => 'This is to remind you that we have not yet received some items from invoice reference number {order_ref_number} . Please process it as soon as possible.{business_name}',
'subject' => 'Items Pending, from {business_name}',
'auto_send' => '0'
],
[
'business_id' => $business_id,
'template_for' => 'new_quotation',
'email_body' => '<p>Dear {contact_name},</p>
<p>Your quotation number is {invoice_number}<br />
Total amount: {total_amount}</p>
<p>Thank you for shopping with us.</p>
<p>{business_logo}</p>
<p> </p>',
'sms_body' => 'Dear {contact_name}, Thank you for shopping with us. {business_name}',
'subject' => 'Thank you from {business_name}',
'auto_send' => '0'
],
];
return $notification_template_data;
}
}