OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
cream
/
zzXpress
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
06/17/2025 10:17:24 AM
rwxrwxr-x
📄
.browserslistrc
208 bytes
01/07/2025 11:52:51 AM
rw-r--r--
📄
.gitignore
42 bytes
01/07/2025 11:52:51 AM
rw-r--r--
📄
.htaccess
803 bytes
01/07/2025 11:52:51 AM
rw-r--r--
📄
.htaccess.swp
12 KB
01/07/2025 11:52:52 AM
rw-r--r--
📄
.travis.yml
199 bytes
01/07/2025 11:52:52 AM
rw-r--r--
📄
addList.php
5.23 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
aditya_navbar.php
23.72 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
allTemplates.php
5 KB
05/19/2025 10:07:24 AM
rw-r--r--
📁
assets
-
01/07/2025 11:50:15 AM
rwxr-xr-x
📄
b_navbar.php
7.84 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
bbsns_subscribe.php
5.14 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
bcreateList.php
9.61 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
blacklist.php
13.36 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
bounceViewList.php
8.39 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
bounce_handler.php
4.99 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
bprocess_emails.php
6.73 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
checkNotificationTopics.php
5.11 KB
05/19/2025 10:07:24 AM
rw-r--r--
📁
check_identity
-
05/19/2025 10:07:22 AM
rwxr-xr-x
📄
checknotif.php
1.01 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
ckeditor.php
2.14 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
clickViewList.php
5.13 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
click_handler.php
1.75 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
combined.php
11.23 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
complaintsViewList.php
6.78 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
complaints_handler.php
2.89 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
composer.json
200 bytes
01/07/2025 11:52:56 AM
rw-r--r--
📄
composer.lock
39.12 KB
01/07/2025 11:52:56 AM
rw-r--r--
📄
createList.php
17.4 KB
05/19/2025 10:07:24 AM
rw-r--r--
📁
credentials
-
01/07/2025 11:52:11 AM
rwxr-xr-x
📄
csv.php
11.75 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
db.php
1000 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
deleteCampaign.php
966 bytes
05/19/2025 10:07:24 AM
rw-r--r--
📄
delete_list.php
509 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
delete_users.php
435 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
deliveryViewList.php
6.87 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
delivery_handler.php
3.25 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
download_Complaints.php
974 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
download_bounces.php
1.18 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
download_clicked.php
1.23 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
download_delivered.php
1.12 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
download_open.php
1.22 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
download_report.php
3.33 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
download_unique_open.php
1.6 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
duplicate_campaign.php
1.62 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
edit_campaign.php
1.45 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
edit_list.php
9.89 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
feedback.php
1.66 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
footer.php
1.7 KB
05/19/2025 10:07:22 AM
rw-r--r--
📁
grfx
-
01/07/2025 11:52:13 AM
rwxr-xr-x
📄
groupchatnavbar.php
607 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
himanshu_navbar.php
7.84 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
housekeeping.php
13.27 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
index.php
8.57 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
insert_list.php
2.64 KB
05/19/2025 10:07:22 AM
rw-r--r--
📁
js
-
01/07/2025 11:52:15 AM
rwxr-xr-x
📄
load.php
159 bytes
05/19/2025 10:07:24 AM
rw-r--r--
📁
log
-
01/07/2025 11:52:18 AM
rwxr-xr-x
📄
main.css
413 bytes
01/07/2025 11:53:01 AM
rw-r--r--
📄
navbar.php
23.77 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
newCompaign.php
11.12 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
openViewList.php
8.48 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
open_handler.php
1.75 KB
05/19/2025 10:07:24 AM
rw-r--r--
📁
process
-
05/19/2025 10:07:22 AM
rwxr-xr-x
📄
process_emails.php
11.31 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
real-recipients.csv
39.48 KB
01/07/2025 11:53:03 AM
rw-r--r--
📄
resubscribe.php
5.51 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
sample.csv
55 bytes
01/07/2025 11:53:03 AM
rw-r--r--
📄
save.php
252 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
save_campaign.php
612 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
saved_content.html
6.48 KB
01/07/2025 11:53:03 AM
rw-r--r--
📄
send_email.php
987 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
send_email_campaignGraph.php
2.24 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
sendgrid.php
3.62 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
showListMembers.php
13.98 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
showcase.php
7.93 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
sidebar.php
0 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
sns_subscribe.php
5.25 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
submit_form.php
2.48 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
test-mail.csv
337 bytes
01/07/2025 11:53:05 AM
rw-r--r--
📄
test.php
969 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
test_process_emails.php
1.91 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
unsubscribe.php
3.8 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
upload_image.php
606 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📁
uploads
-
01/07/2025 11:52:34 AM
rwxr-xr-x
📁
vendor
-
05/19/2025 10:07:24 AM
rwxr-xr-x
📄
verify.html
486 bytes
01/07/2025 11:53:06 AM
rw-r--r--
📄
verify.php
3.12 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
verify_email.php
5.12 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
viewCampaign.php
23.92 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
viewList.php
15.04 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
xpress_handler.php
9.79 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
zcreateList.php
13.51 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
znewCompaign.php
8.29 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
zprocess_emails.php
10.19 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
zviewList.php
14.63 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
zzindex.php
10.24 KB
05/19/2025 10:07:24 AM
rw-r--r--
📄
zzviewCampaign.php
22.42 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
zzviewList.php
14.63 KB
05/19/2025 10:07:22 AM
rw-r--r--
Editing: showListMembers.php
Close
<?php ini_set('display_startup_errors', 1); include '../assets/php/validate.logged.php'; include 'db.php'; include '../assets/php/config.php'; include '../assets/php/function.php'; $list_name = ''; if (isset($_GET['id'])) { $list_id = $_GET['id']; } // Function to check and get list name function check_list($conn, $user_id, $list_id) { $list_name = ''; $sql = "SELECT list_name FROM list WHERE id = ? AND user_id = ?"; if ($stmt = $conn->prepare($sql)) { $stmt->bind_param("ii", $list_id, $user_id); $stmt->execute(); $stmt->store_result(); if ($stmt->num_rows > 0) { $stmt->bind_result($list_name); if ($stmt->fetch()) { return $list_name; } } $stmt->close(); } return null; } $list_name = check_list($conn, $gUserId, $list_id); if ($list_name === null) { die("Error!!!!.. List not found"); } // Export to CSV functionality if (isset($_GET['export']) && $_GET['export'] === 'csv') { $filename = 'subscribers_list_' . $list_id . '.csv'; header('Content-Type: text/csv'); header('Content-Disposition: attachment;filename="' . $filename . '"'); $output = fopen('php://output', 'w'); // Set CSV column headers fputcsv($output, ['ID', 'Name', 'Email', 'Status', 'Last Activity']); $sql = "SELECT id, name, email, status, last_activity FROM subscribers WHERE list_id = ?"; if ($stmt = $conn->prepare($sql)) { $stmt->bind_param("i", $list_id); $stmt->execute(); $result = $stmt->get_result(); while ($data = $result->fetch_assoc()) { fputcsv($output, [$data['id'], $data['name'], $data['email'], $data['status'], $data['last_activity']]); } $stmt->close(); } fclose($output); exit; } // Initialize status counters $activity_counts = ['Bounced' => 0, 'Subscribed' => 0, 'Unsubscribed' => 0]; // Fetch subscriber details $sql = "SELECT id, name, email, status, last_activity FROM subscribers WHERE list_id = ?"; if ($stmt = $conn->prepare($sql)) { $stmt->bind_param("i", $list_id); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { $status = $row['status'] ?? 'Unknown'; // Count statuses if ($status === 'bounced') { $activity_counts['Bounced']++; } elseif ($status === 'unsubscribed') { $activity_counts['Unsubscribed']++; } else { $activity_counts['Subscribed']++; } } $stmt->close(); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Knobly Cream: Create • Reach • Measure</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> <link rel="stylesheet" href="../inc/style.css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.10.5/font/bootstrap-icons.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.0.0/animate.min.css" /> <link rel="stylesheet" href="../inc/fontawesome/css/all.min.css" /> <link rel="stylesheet" href="../inc/magnific-popup.css" /> <link rel="stylesheet" href="../inc/style.css" /> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.js" crossorigin="anonymous"></script> <script src="https://cdn.tiny.cloud/1/u5oz235qw5jiqww4udm90ocp9zg2rncblqo2ch0ym3twjgyt/tinymce/5/tinymce.min.js" referrerpolicy="origin"></script> <script src="https://js.zohostatic.com/books/zfwidgets/assets/js/zf-widget.js"></script> <script src="../inc/jquery.magnific-popup.min.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.10.5/font/bootstrap-icons.min.css" rel="stylesheet"> <script src="../inc/common.js"></script> <script type="text/javascript"> </script> <style> .breadcrumb-item { padding: 0; width: 100%; } .btn-group { margin-right: 10px; } .btn { margin-right: 10px; } .btn-outline-danger, .btn-outline-success, .btn-outline-warning { border-width: 2px; } .btn-outline-danger { color: #dc3545; border-color: #dc3545; } .btn-outline-success { color: #28a745; border-color: #28a745; } .btn-outline-warning { color: #ffc107; border-color: #ffc107; } .btn-success { background-color: #28a745; border-color: #28a745; } .btn-primary { background-color: #007bff; border-color: #007bff; } .btn-outline-danger:hover { background-color: #dc3545; color: #fff; } .btn-outline-success:hover { background-color: #28a745; color: #fff; } .btn-outline-warning:hover { background-color: #ffc107; color: #212529; } .btn-success:hover { background-color: #218838; border-color: #1e7e34; } .btn-primary:hover { background-color: #0056b3; border-color: #004085; } .graph-container { position: relative; max-width: 100%; height: 300px; } .table-responsive { display: block; overflow-x: auto; white-space: nowrap; } @media (max-width: 768px) { .breadcrumb-item h4 { font-size: 18px; } .btn-group { flex-wrap: wrap; } .btn { width: 100%; margin-bottom: 10px; } .graph-container { height: auto; } } </style> </head> <body class="sb-nav-fixed"> <?php include "navbar.php"; ?> <?php include "../assets/php/go_backbar.php"; ?> <div id="layoutSidenav"> <?php include 'sidebar.php'; ?> <div id="layoutSidenav_content"> <main> <div id="panelContent" class="container-fluid"> <div class="main-content"> <div class="container"> <!-- Breadcrumb --> <ol class="breadcrumb my-4"> <li class="breadcrumb-item d-flex justify-content-between align-items-center w-100 flex-wrap"> <h4 class="mb-2"><?= htmlspecialchars($list_name ?? 'List Name Not Found') ?></h4> <div class="d-flex flex-wrap"> <div class="btn-group mr-2" role="group"> <a href="bounceViewList.php" class="btn btn-outline-danger"> <i class="fas fa-envelope-open-text"></i> Bounced Emails </a> <a href="deliveryViewList.php" class="btn btn-outline-success"> <i class="fas fa-paper-plane"></i> Delivered Emails </a> <a href="complaintsViewList.php" class="btn btn-outline-warning"> <i class="fas fa-exclamation-circle"></i> Complaints Emails </a> </div> <div class="btn-group mr-2" role="group"> <a href="?id=<?= htmlspecialchars($list_id ?? '') ?>&export=csv" class="btn btn-success"> <i class="bi bi-download"></i> Export to CSV </a> </div> </div> </li> </ol> <!-- Graph --> <div class="graph-container"> <canvas id="statusChart"></canvas> </div> <!-- Responsive Table --> <div class="table-responsive mt-4"> <table class="table table-striped"> <thead> <tr> <th>Name</th> <th>Email</th> <th>Status</th> </tr> </thead> <tbody> <?php // Re-fetch subscriber details for table display $sql_table = "SELECT id, name, email, last_activity, status FROM subscribers WHERE list_id = ?"; if ($stmt_table = $conn->prepare($sql_table)) { $stmt_table->bind_param("i", $list_id); $stmt_table->execute(); $result_table = $stmt_table->get_result(); if ($result_table->num_rows > 0) { while ($row = $result_table->fetch_assoc()) { echo "<tr>"; echo "<td>" . htmlspecialchars($row['name'] ?? 'N/A') . "</td>"; echo "<td>" . htmlspecialchars($row['email'] ?? 'N/A') . "</td>"; echo "<td>" . htmlspecialchars($row['status'] ?? 'Unknown') . "</td>"; echo "</tr>"; } } else { echo "<tr><td colspan='4'>No subscribers found</td></tr>"; } } ?> </tbody> </table> </div> </div> </div> </div> </main> </div> </div> <?php include 'footer.php'; ?> <script> const statuses = <?= json_encode(array_keys($activity_counts)); ?>; const counts = <?= json_encode(array_values($activity_counts)); ?>; var ctx = document.getElementById('statusChart').getContext('2d'); var statusChart = new Chart(ctx, { type: 'bar', data: { labels: statuses, datasets: [{ label: '# of Subscribers', data: counts, backgroundColor: [ '#4c72b0', // Color for bounced '#55a868', // Color for subscribed '#c44e52', // Color for unsubscribed ], borderColor: '#ffffff', borderWidth: 1 }] }, options: { responsive: true, maintainAspectRatio: false, scales: { y: { beginAtZero: true, ticks: { stepSize: 1 } }, x: { ticks: { maxRotation: 45, minRotation: 0 } } }, plugins: { legend: { display: false }, title: { display: true, text: 'Subscriber Status Count', font: { size: 16 } } } } }); </script> </body> </html>