OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
cream
/
old_sendy
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
06/17/2025 10:17:24 AM
rwxrwxr-x
📄
.htaccess
643 bytes
11/12/2024 09:44:50 AM
rw-r--r--
📄
_compatibility.php
3.83 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
_install.php
7.3 KB
05/19/2025 10:07:16 AM
rw-r--r--
📁
api
-
05/19/2025 10:07:16 AM
rwxr-xr-x
📄
app.php
33.77 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
autoresponders-create.php
23.29 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
autoresponders-edit.php
28.89 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
autoresponders-emails.php
26.81 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
autoresponders-list.php
15.85 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
autoresponders-report.php
40.18 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
autoresponders.php
77.28 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
blacklist-blocked-domains.php
13.39 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
blacklist-suppression.php
13.34 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
campaigns-rss.php
8.35 KB
05/19/2025 10:07:16 AM
rw-r--r--
📁
certs
-
11/12/2024 09:27:52 AM
rwxr-xr-x
📄
clear-queue.php
996 bytes
05/19/2025 10:07:16 AM
rw-r--r--
📄
confirm.php
9.34 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
create-template.php
3.99 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
create.php
15.92 KB
05/19/2025 10:07:16 AM
rw-r--r--
📁
css
-
11/12/2024 09:28:41 AM
rwxr-xr-x
📄
custom-fields.php
8.5 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
delete-from-list.php
5.29 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
detect-table-conflicts.php
2.47 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
edit-brand.php
57.32 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
edit-list.php
20.97 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
edit-template.php
4.65 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
edit.php
19.04 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
eula.txt
6.5 KB
11/12/2024 09:44:50 AM
rw-r--r--
📄
housekeeping-inactive.php
12.54 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
housekeeping-unconfirmed.php
14.01 KB
05/19/2025 10:07:16 AM
rw-r--r--
📁
img
-
11/12/2024 09:28:02 AM
rwxr-xr-x
📄
import-csv.php
18.68 KB
05/19/2025 10:07:16 AM
rw-r--r--
📁
includes
-
05/19/2025 10:07:16 AM
rwxr-xr-x
📄
index.php
18.77 KB
05/19/2025 10:07:16 AM
rw-r--r--
📁
js
-
11/12/2024 09:29:44 AM
rwxr-xr-x
📄
l.php
10.63 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
list.php
12.3 KB
05/19/2025 10:07:16 AM
rw-r--r--
📁
locale
-
11/12/2024 09:30:02 AM
rwxr-xr-x
📄
login.php
4.84 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
logout.php
133 bytes
05/19/2025 10:07:16 AM
rw-r--r--
📄
new-brand.php
46.35 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
new-list.php
1.98 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
payment.php
7.41 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
phpinfo.php
1.39 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
r.php
11 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
reconsent-success.php
3.91 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
remove-duplicates.php
2.94 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
report.php
48.79 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
reports.php
10.7 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
reset-cron.php
999 bytes
05/19/2025 10:07:16 AM
rw-r--r--
📄
rules.php
37.35 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
scheduled.php
39.51 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
search-all-brands.php
7.07 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
search-all-lists.php
10.68 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
search-campaigns.php
30.29 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
segment.php
45.8 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
segments-list.php
6.84 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
send-to.php
57.72 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
sending.php
8.9 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
settings.php
41.29 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
subscribe.php
29.26 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
subscribers.php
44.09 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
subscription.php
9.01 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
t.php
4.22 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
template-preview.php
4.55 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
templates.php
7.35 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
two-factor.php
4.33 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
unsubscribe-from-list.php
5.33 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
unsubscribe-success.php
3.9 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
unsubscribe.php
16.19 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
update-list.php
13.88 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
update-segments.php
3.09 KB
05/19/2025 10:07:16 AM
rw-r--r--
📁
uploads
-
11/26/2024 05:30:00 AM
rwxr-xr-x
📄
verification-status.php
3.63 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
w.php
17.76 KB
05/19/2025 10:07:16 AM
rw-r--r--
📄
webhooks-log.php
4.28 KB
05/19/2025 10:07:16 AM
rw-r--r--
Editing: reports.php
Close
<?php include('includes/header.php');?> <?php include('includes/login/auth.php');?> <?php include('includes/dashboard/main.php');?> <?php if(get_app_info('is_sub_user')) { if(get_app_info('app')!=get_app_info('restricted_to_app')) { echo '<script type="text/javascript">window.location="'.addslashes(get_app_info('path')).'/reports?i='.get_app_info('restricted_to_app').'"</script>'; exit; } else if(get_app_info('campaigns_only')==1 && get_app_info('templates_only')==1 && get_app_info('lists_only')==1 && get_app_info('reports_only')==1) { echo '<script type="text/javascript">window.location="'.addslashes(get_app_info('path')).'/logout"</script>'; exit; } else if(get_app_info('reports_only')==1) { go_to_next_allowed_section(); } } ?> <link href="<?php echo get_app_info('path');?>/css<?php echo get_app_info('dark_mode') ? '/dark' : '';?>/tablesorter.css?30" rel="stylesheet"> <script type="text/javascript" src="<?php echo get_app_info('path');?>/js/tablesorter/jquery.tablesorter.min.js"></script> <script type="text/javascript" src="<?php echo get_app_info('path');?>/js/tablesorter/jquery.tablesorter.widgets.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('table').tablesorter({ widgets : ['saveSort'], usNumberFormat : true, sortReset : true, sortRestart : true, headers: { 2: { sorter: false}, 5: {sorter: false}, 6: {sorter: false} } }); }); </script> <div class="row-fluid"> <div class="span2"> <?php include('includes/sidebar.php');?> </div> <div class="span10"> <div> <p class="lead"> <?php if(get_app_info('is_sub_user')):?> <?php echo get_app_data('app_name');?> <?php else:?> <a href="<?php echo get_app_info('path'); ?>/edit-brand?i=<?php echo get_app_info('app');?>" data-placement="right" title="<?php echo _('Edit brand settings');?>"><?php echo get_app_data('app_name');?> <span class="icon icon-pencil top-brand-pencil"></span></a> <?php endif;?> </p> </div> <h2><?php echo _('Campaign reports');?></h2><br/> <table class="table table-striped responsive"> <thead> <tr> <th><?php echo _('Campaign');?></th> <th><?php echo _('Recipients');?></th> <th><?php echo _('Sent');?></th> <th><?php echo _('Unique Opens');?></th> <th><?php echo _('Unique Clicks');?></th> <?php if(get_app_info('reports_only')):?> <th><?php echo _('Delete');?></th> <?php endif;?> </tr> </thead> <tbody> <?php $limit = get_app_data('campaign_report_rows'); $total_subs = totals(get_app_info('app'), 'reports'); $total_pages = ceil($total_subs/$limit); $p = isset($_GET['p']) ? $_GET['p'] : null; $offset = $p!=null ? ($p-1) * $limit : 0; $q = 'SELECT * FROM campaigns WHERE userID = '.get_app_info('main_userID').' AND app='.get_app_info('app').' AND sent != "" ORDER BY id DESC LIMIT '.$offset.','.$limit; $r = mysqli_query($mysqli, $q); if ($r && mysqli_num_rows($r) > 0) { while($row = mysqli_fetch_array($r)) { $id = stripslashes($row['id']); $title = stripslashes(htmlentities($row['title'],ENT_QUOTES,"UTF-8")); $campaign_title = $row['label']=='' ? $title : stripslashes(htmlentities($row['label'],ENT_QUOTES,"UTF-8")); $recipients = stripslashes($row['recipients']); $sent = stripslashes($row['sent']); $opens = stripslashes($row['opens']); $from_name = stripslashes($row['from_name']); $from_email = stripslashes($row['from_email']); $error_stack = stripslashes($row['errors']); $error_stack_array = explode(',', $error_stack); $no_of_errors = count($error_stack_array); $opens_tracking = stripslashes($row['opens_tracking']); $links_tracking = stripslashes($row['links_tracking']); if($opens=='') { $percentage_opened = 0; $opens_unique = 0; } else { $opens_array = explode(',', $opens); $opens_array2 = array(); foreach($opens_array as $oa) { $oa = $oa.','; $oa = delete_between(':', ',', $oa); array_push($opens_array2, $oa); } $opens_unique = count(array_unique($opens_array2)); $percentage_opened = round($opens_unique/$recipients * 100, 2); } $percentage_clicked = round(get_click_percentage($id)/$recipients *100, 2); //tags for subject preg_match_all('/\[([a-zA-Z0-9!#%^&*()+=$@._\-\:|\/?<>~`"\'\s]+),\s*fallback=/i', $title, $matches_var, PREG_PATTERN_ORDER); preg_match_all('/,\s*fallback=([a-zA-Z0-9!,#%^&*()+=$@._\-\:|\/?<>~`"\'\s]*)\]/i', $title, $matches_val, PREG_PATTERN_ORDER); preg_match_all('/(\[[a-zA-Z0-9!#%^&*()+=$@._\-\:|\/?<>~`"\'\s]+,\s*fallback=[a-zA-Z0-9!,#%^&*()+=$@._\-\:|\/?<>~`"\'\s]*\])/i', $title, $matches_all, PREG_PATTERN_ORDER); preg_match_all('/\[([^\]]+),\s*fallback=/i', $title, $matches_var, PREG_PATTERN_ORDER); preg_match_all('/,\s*fallback=([^\]]*)\]/i', $title, $matches_val, PREG_PATTERN_ORDER); preg_match_all('/(\[[^\]]+,\s*fallback=[^\]]*\])/i', $title, $matches_all, PREG_PATTERN_ORDER); $matches_var = $matches_var[1]; $matches_val = $matches_val[1]; $matches_all = $matches_all[1]; for($i=0;$i<count($matches_var);$i++) { $field = $matches_var[$i]; $fallback = $matches_val[$i]; $tag = $matches_all[$i]; //for each match, replace tag with fallback $title = str_replace($tag, $fallback, $title); } $title = str_replace('[Name]', $from_name, $title); $title = str_replace('[Email]', $from_email, $title); //convert date if(get_app_info('timezone')!='') date_default_timezone_set(get_app_info('timezone')); $today = $sent; $currentdaynumber = strftime('%d', $today); $currentday = strftime('%A', $today); $currentmonthnumber = strftime('%m', $today); $currentmonth = strftime('%B', $today); $currentyear = strftime('%Y', $today); $unconverted_date = array('[currentdaynumber]', '[currentday]', '[currentmonthnumber]', '[currentmonth]', '[currentyear]'); $converted_date = array($currentdaynumber, $currentday, $currentmonthnumber, $currentmonth, $currentyear); $title = str_replace($unconverted_date, $converted_date, $title); //Show opens and/or clicks data depending on whether tracking is enabled $open_data = $opens_tracking ? $percentage_opened.'%</span> '.number_format($opens_unique).' '._('opened') : _('Tracking disabled'); $click_data = $links_tracking ? $percentage_clicked.'%</span> '.number_format(get_click_percentage($id)).' '._('clicked') : _('Tracking disabled'); if($sent==NULL) { echo ' <tr id="'.$id.'"> <td><span class="label">Draft</span> <a href="'.get_app_info('path').'/send-to?i='.get_app_info('app').'&c='.$id.'" title="'._('Define recipients & send').'">'.$campaign_title.'</a> | <a href="'.get_app_info('path').'/edit?i='.get_app_info('app').'&c='.$id.'" title="'._('Edit this campaign').'"> Edit</a></td> <td>-</td> <td>-</td> <td>-</td> <td>-</td> <td><a href="javascript:void(0)" title="'._('Delete').' '.$campaign_title.'?" id="delete-btn-'.$id.'" class="delete-campaign"><i class="icon icon-trash"></i></a></td> <script type="text/javascript"> $("#delete-btn-'.$id.'").click(function(e){ e.preventDefault(); c = confirm("'._('Confirm delete').' '.$campaign_title.'?"); if(c) { $.post("includes/campaigns/delete.php", { campaign_id: '.$id.' }, function(data) { if(data) { $("#'.$id.'").fadeOut(); } else { alert("'._('Sorry, unable to delete. Please try again later!').'"); } } ); } }); </script> </tr> '; } else { if($error_stack != '') $download_errors = ' | <a href="'.get_app_info('path').'/includes/app/download-errors-csv.php?c='.$id.'" title="'._('Download CSV of emails that were not delivered to even after retrying').'">'.$no_of_errors.' '._('not delivered').'</a>'; else $download_errors = ''; echo ' <tr id="'.$id.'"> <td><i class="icon icon-bar-chart" style="margin-right:3px;"></i> <a href="'.get_app_info('path').'/report?i='.get_app_info('app').'&c='.$id.'" title="">'.$campaign_title.'</a>'.$download_errors.'</td> <td>'.number_format($recipients).'</td> <td>'.parse_date($sent, 'long', true).'</td> <td><span class="label label-success">'.$open_data.'</td> <td><span class="label label-info">'.$click_data.'</td>'; if(get_app_info('reports_only')) echo '<td><a href="javascript:void(0)" title="'._('Delete').' '.$campaign_title.'?" id="delete-btn-'.$id.'" class="delete-campaign"><i class="icon icon-trash"></i></a></td> <script type="text/javascript"> $("#delete-btn-'.$id.'").click(function(e){ e.preventDefault(); c = confirm("'._('Confirm delete').' '.$campaign_title.'?"); if(c) { $.post("includes/campaigns/delete.php", { campaign_id: '.$id.' }, function(data) { if(data) { $("#'.$id.'").fadeOut(); } else { alert("'._('Sorry, unable to delete. Please try again later!').'"); } } ); } }); </script>'; echo ' </tr> '; $download_errors = ''; } } } else { echo '<tr>'; if(get_app_info('is_sub_user')) echo '<td>'._('There are no reports yet.').'</td>'; else echo '<td>'._('There are no reports yet.').' <a href="'.get_app_info('path').'/create?i='.get_app_info('app').'" title="" style="text-decoration: underline;">'._('Create your first campaign').'</a>!</td>'; echo '<td></td> <td></td> <td></td> <td></td>'; if(get_app_info('reports_only')) echo' <td></td>'; echo ' </tr> '; } ?> </tbody> </table> <?php pagination($limit, 'reports'); ?> </div> </div> <?php include('includes/footer.php');?>