Add send welcome message
send welcome message to new registered customers. Goto settings -> User Notification -> Welcome Message to setup message
This commit is contained in:
parent
5a47da013b
commit
8e55330bcb
@ -432,6 +432,47 @@ switch ($action) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Send welcome message
|
||||
if (isset($_POST['send_welcome_message']) && $_POST['send_welcome_message'] == true) {
|
||||
$welcomeMessage = Lang::getNotifText('welcome_message');
|
||||
$welcomeMessage = str_replace('[[company_name]]', $config['CompanyName'], $welcomeMessage);
|
||||
$welcomeMessage = str_replace('[[name]]', $d['fullname'], $welcomeMessage);
|
||||
$welcomeMessage = str_replace('[[username]]', $d['username'], $welcomeMessage);
|
||||
$welcomeMessage = str_replace('[[password]]', $d['password'], $welcomeMessage);
|
||||
$welcomeMessage = str_replace('[[url]]', APP_URL . '/index.php?_route=login', $welcomeMessage);
|
||||
|
||||
$emailSubject = "Welcome to " . $config['CompanyName'];
|
||||
|
||||
$channels = [
|
||||
'sms' => [
|
||||
'enabled' => isset($_POST['sms']),
|
||||
'method' => 'sendSMS',
|
||||
'args' => [$d['phonenumber'], $welcomeMessage]
|
||||
],
|
||||
'whatsapp' => [
|
||||
'enabled' => isset($_POST['wa']) && $_POST['wa'] == 'wa',
|
||||
'method' => 'sendWhatsapp',
|
||||
'args' => [$d['phonenumber'], $welcomeMessage]
|
||||
],
|
||||
'email' => [
|
||||
'enabled' => isset($_POST['email']),
|
||||
'method' => 'Message::sendEmail',
|
||||
'args' => [$d['email'], $emailSubject, $welcomeMessage, $d['email']]
|
||||
]
|
||||
];
|
||||
|
||||
foreach ($channels as $channel => $message) {
|
||||
if ($message['enabled']) {
|
||||
try {
|
||||
call_user_func_array($message['method'], $message['args']);
|
||||
} catch (Exception $e) {
|
||||
// Log the error and handle the failure
|
||||
_log("Failed to send welcome message via $channel: " . $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
r2(U . 'customers/list', 's', Lang::T('Account Created Successfully'));
|
||||
} else {
|
||||
r2(U . 'customers/add', 'e', $msg);
|
||||
|
@ -6,5 +6,7 @@
|
||||
"reminder_3_day": "Hello *[[name]]*, \r\nyour internet package *[[package]]* will be expired in 3 days.",
|
||||
"reminder_1_day": "Hello *[[name]]*,\r\n your internet package *[[package]]* will be expired tomorrow.",
|
||||
"invoice_paid": "*[[company_name]]*\r\n[[address]]\r\n[[phone]]\r\n\r\n\r\nINVOICE: *[[invoice]]*\r\nDate : [[date]]\r\n[[payment_gateway]] [[payment_channel]]\r\n\r\n\r\nType : *[[type]]*\r\nPackage : *[[plan_name]]*\r\nPrice : *[[plan_price]]*\r\n\r\nUsername : *[[user_name]]*\r\nPassword : ***********\r\n\r\nExpired : *[[expired_date]]*\r\n\r\n====================\r\n[[footer]]",
|
||||
"invoice_balance": "*[[company_name]]*\r\n[[address]]\r\n[[phone]]\r\n\r\n\r\nINVOICE: *[[invoice]]*\r\nDate : [[date]]\r\n[[payment_gateway]] [[payment_channel]]\r\n\r\n\r\nType : *[[type]]*\r\nPackage : *[[plan_name]]*\r\nPrice : *[[plan_price]]*\r\n\r\n====================\r\n[[footer]]"
|
||||
"invoice_balance": "*[[company_name]]*\r\n[[address]]\r\n[[phone]]\r\n\r\n\r\nINVOICE: *[[invoice]]*\r\nDate : [[date]]\r\n[[payment_gateway]] [[payment_channel]]\r\n\r\n\r\nType : *[[type]]*\r\nPackage : *[[plan_name]]*\r\nPrice : *[[plan_price]]*\r\n\r\n====================\r\n[[footer]]",
|
||||
"welcome_message": "Welcome aboard, [[name]]! \r\nWe're excited to have you as a new [[company]] customer. \r\nYour account is all set up and ready to go.\r\n\r\nHere's a quick overview:\r\n\r\nYour login is [[Username]]\r\nYour temporary password is [[Password]] (please change this on your first login)\r\n\r\nNeed help? Reach out to our support team at anytime.\r\n\r\nWe're here to ensure you have an amazing experience with our services. Let us know how we can best support you.\r\n\r\nWelcome to the [[company]] family!"
|
||||
|
||||
}
|
||||
|
@ -136,6 +136,22 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('Welcome Message')}</label>
|
||||
<div class="col-md-6">
|
||||
<textarea class="form-control" id="welcome_message" name="welcome_message"
|
||||
rows="4">{Lang::htmlspecialchars($_json['welcome_message'])}</textarea>
|
||||
</div>
|
||||
<p class="help-block col-md-4">
|
||||
<b>[[name]]</b> - {Lang::T('will be replaced with Customer Name')}.<br>
|
||||
<b>[[username]]</b> - {Lang::T('will be replaced with Customer username')}.<br>
|
||||
<b>[[password]]</b> - {Lang::T('will be replaced with Customer password')}.<br>
|
||||
<b>[[url]]</b> - {Lang::T('will be replaced with Customer Portal URL')}.<br>
|
||||
<b>[[company]]</b> - {Lang::T('will be replaced with Company Name')}.<br>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{if $_c['enable_balance'] == 'yes'}
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
|
@ -103,6 +103,21 @@
|
||||
<div id="map" style="width: '100%'; height: 200px; min-height: 150px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label">{Lang::T('Send Welcome Message')}</label>
|
||||
<div class="col-md-9">
|
||||
<label class="switch">
|
||||
<input type="checkbox" id="send_welcome_message" value="1" name="send_welcome_message">
|
||||
<span class="slider"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" id="method" style="display: none;">
|
||||
<label class="col-md-3 control-label">{Lang::T('Method')}</label>
|
||||
<label class="col-md-3 control-label"><input type="checkbox" name="sms" value="1"> {Lang::T('SMS')}</label>
|
||||
<label class="col-md-2 control-label"><input type="checkbox" name="wa" value="1"> {Lang::T('WA')}</label>
|
||||
<label class="col-md-2 control-label"><input type="checkbox" name="email" value="1"> {Lang::T('Email')}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -175,6 +190,38 @@
|
||||
</center>
|
||||
</form>
|
||||
{literal}
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var sendWelcomeCheckbox = document.getElementById('send_welcome_message');
|
||||
var methodSection = document.getElementById('method');
|
||||
|
||||
function toggleMethodSection() {
|
||||
if (sendWelcomeCheckbox.checked) {
|
||||
methodSection.style.display = 'block';
|
||||
} else {
|
||||
methodSection.style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
toggleMethodSection();
|
||||
|
||||
sendWelcomeCheckbox.addEventListener('change', toggleMethodSection);
|
||||
document.querySelector('form').addEventListener('submit', function(event) {
|
||||
if (sendWelcomeCheckbox.checked) {
|
||||
var methodCheckboxes = methodSection.querySelectorAll('input[type="checkbox"]');
|
||||
var oneChecked = Array.from(methodCheckboxes).some(function(checkbox) {
|
||||
return checkbox.checked;
|
||||
});
|
||||
|
||||
if (!oneChecked) {
|
||||
event.preventDefault();
|
||||
alert('Please choose at least one method.');
|
||||
methodSection.focus();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
var customFieldsContainer = document.getElementById('custom-fields-container');
|
||||
|
Loading…
x
Reference in New Issue
Block a user