Use the bulk mail function in bulk mailers for standardization, also fix unused vars in smtp settings form

This commit is contained in:
johnnyq
2024-02-26 15:38:00 -05:00
parent 1c50a0e314
commit c3c9da0c71
4 changed files with 116 additions and 136 deletions

View File

@@ -15,18 +15,18 @@ $sql = mysqli_query($mysqli, "SELECT * FROM contacts
?> ?>
<form action="post.php" method="post">
<div class="card"> <div class="card">
<div class="card-header"> <div class="card-header">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-envelope-open mr-2"></i>Bulk Mail</h3> <h3 class="card-title mt-2"><i class="fa fa-fw fa-envelope-open mr-2"></i>Bulk Mail</h3>
<div class="card-tools"> <div class="card-tools">
<button type="submit" class="btn btn-primary" name="send_bulk_mail_now"> <button id="bulkActionButton" hidden class="btn btn-primary" type="submit" form='bulkActions' name="send_bulk_mail_now">
<i class="fas fa-paper-plane mr-2"></i>Send Now <i class="fas fa-fw fa-paper-plane mr-2"></i>Send Now (<span id="selectedCount">0</span>)
</button> </button>
</div> </div>
</div> </div>
<div class="card-body"> <div class="card-body">
<form id="bulkActions" action="post.php" method="post">
<div class="row"> <div class="row">
@@ -79,7 +79,7 @@ $sql = mysqli_query($mysqli, "SELECT * FROM contacts
<tr> <tr>
<td> <td>
<div class="form-check"> <div class="form-check">
<input type="checkbox" class="form-check-input" id="selectAllCheckbox" onchange="toggleCheckboxes()"> <input type="checkbox" class="form-check-input" id="selectAllCheckbox" onclick="checkAll(this)">
</div> </div>
</td> </td>
<th>Name</th> <th>Name</th>
@@ -109,7 +109,7 @@ $sql = mysqli_query($mysqli, "SELECT * FROM contacts
<tr> <tr>
<td> <td>
<div class="form-check"> <div class="form-check">
<input type="checkbox" class="form-check-input" name="contact[]" value="<?php echo $contact_id; ?>"> <input type="checkbox" class="form-check-input bulk-select" name="contact_ids[]" value="<?php echo $contact_id; ?>">
</div> </div>
</td> </td>
<td> <td>
@@ -130,23 +130,13 @@ $sql = mysqli_query($mysqli, "SELECT * FROM contacts
</div> </div>
</div> </div>
</div>
</div>
</form> </form>
</div>
</div>
<script>
function toggleCheckboxes() {
// Get the state of the 'selectAllCheckbox'
var selectAllChecked = document.getElementById('selectAllCheckbox').checked;
// Find all checkboxes with the name 'contact[]' and set their state <script src="js/bulk_actions.js"></script>
var checkboxes = document.querySelectorAll('input[type="checkbox"][name="contact[]"]');
checkboxes.forEach(function(checkbox) {
checkbox.checked = selectAllChecked;
});
}
</script>
<?php <?php

View File

@@ -11,18 +11,18 @@ $sql = mysqli_query($mysqli, "SELECT * FROM contacts
?> ?>
<form action="post.php" method="post">
<div class="card"> <div class="card">
<div class="card-header"> <div class="card-header">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-envelope-open mr-2"></i>Bulk Mail to Special Contacts</h3> <h3 class="card-title mt-2 mb-2"><i class="fa fa-fw fa-envelope-open mr-2"></i>Bulk Mail to Special Contacts</h3>
<div class="card-tools"> <div class="card-tools">
<button type="submit" class="btn btn-primary" name="send_bulk_mail_now"> <button id="bulkActionButton" hidden class="btn btn-primary" type="submit" form='bulkActions' name="send_bulk_mail_now">
<i class="fas fa-paper-plane mr-2"></i>Send Now <i class="fas fa-fw fa-paper-plane mr-2"></i>Send Now (<span id="selectedCount">0</span>)
</button> </button>
</div> </div>
</div> </div>
<div class="card-body"> <div class="card-body">
<form id="bulkActions" action="post.php" method="post">
<div class="row"> <div class="row">
@@ -82,7 +82,7 @@ $sql = mysqli_query($mysqli, "SELECT * FROM contacts
<td> <td>
<div class="form-check"> <div class="form-check">
<input type="checkbox" class="form-check-input" id="selectAllCheckbox" <input type="checkbox" class="form-check-input" id="selectAllCheckbox"
onchange="toggleCheckboxes()"> onclick="checkAll(this)">
</div> </div>
</td> </td>
<th>Name</th> <th>Name</th>
@@ -109,9 +109,9 @@ $sql = mysqli_query($mysqli, "SELECT * FROM contacts
$contact_technical = intval($row['contact_technical']); $contact_technical = intval($row['contact_technical']);
?> ?>
<tr> <tr>
<td> <td class="pr-0 bg-light">
<div class="form-check"> <div class="form-check">
<input type="checkbox" class="form-check-input" name="contact[]" <input type="checkbox" class="form-check-input bulk-select" name="contact_ids[]"
value="<?php echo $contact_id; ?>"> value="<?php echo $contact_id; ?>">
</div> </div>
</td> </td>
@@ -134,23 +134,13 @@ $sql = mysqli_query($mysqli, "SELECT * FROM contacts
</div> </div>
</div> </div>
</form>
</div> </div>
</div> </div>
</form> </form>
<script> <script src="js/bulk_actions.js"></script>
function toggleCheckboxes() {
// Get the state of the 'selectAllCheckbox'
var selectAllChecked = document.getElementById('selectAllCheckbox').checked;
// Find all checkboxes with the name 'contact[]' and set their state
var checkboxes = document.querySelectorAll('input[type="checkbox"][name="contact[]"]');
checkboxes.forEach(function(checkbox) {
checkbox.checked = selectAllChecked;
});
}
</script>
<?php <?php

View File

@@ -6,7 +6,7 @@
if (isset($_POST['send_bulk_mail_now'])) { if (isset($_POST['send_bulk_mail_now'])) {
if ($_POST['contact']) { if ($_POST['contact_ids']) {
$mail_from = sanitizeInput($_POST['mail_from']); $mail_from = sanitizeInput($_POST['mail_from']);
$mail_from_name = sanitizeInput($_POST['mail_from_name']); $mail_from_name = sanitizeInput($_POST['mail_from_name']);
@@ -15,7 +15,7 @@ if (isset($_POST['send_bulk_mail_now'])) {
$queued_at = sanitizeInput($_POST['queued_at']); $queued_at = sanitizeInput($_POST['queued_at']);
// Add Emails // Add Emails
foreach($_POST['contact'] as $contact_id) { foreach($_POST['contact_ids'] as $contact_id) {
$contact_id = intval($contact_id); $contact_id = intval($contact_id);
$sql = mysqli_query($mysqli,"SELECT * FROM contacts WHERE contact_id = $contact_id"); $sql = mysqli_query($mysqli,"SELECT * FROM contacts WHERE contact_id = $contact_id");

View File

@@ -85,7 +85,7 @@ if (isset($_POST['edit_mail_smtp_settings'])) {
$config_smtp_username = sanitizeInput($_POST['config_smtp_username']); $config_smtp_username = sanitizeInput($_POST['config_smtp_username']);
$config_smtp_password = sanitizeInput($_POST['config_smtp_password']); $config_smtp_password = sanitizeInput($_POST['config_smtp_password']);
mysqli_query($mysqli,"UPDATE settings SET config_smtp_host = '$config_smtp_host', config_smtp_port = $config_smtp_port, config_smtp_encryption = '$config_smtp_encryption', config_smtp_username = '$config_smtp_username', config_smtp_password = '$config_smtp_password', config_mail_from_email = '$config_mail_from_email', config_mail_from_name = '$config_mail_from_name' WHERE company_id = 1"); mysqli_query($mysqli,"UPDATE settings SET config_smtp_host = '$config_smtp_host', config_smtp_port = $config_smtp_port, config_smtp_encryption = '$config_smtp_encryption', config_smtp_username = '$config_smtp_username', config_smtp_password = '$config_smtp_password' WHERE company_id = 1");
// Logging // Logging
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modify', log_description = '$session_name modified SMTP mail settings', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id"); mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modify', log_description = '$session_name modified SMTP mail settings', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id");