<?php add_action('admin_menu', 'dbx_aff_page'); function dbx_aff_page() { add_menu_page('DBX - Statistici Afiliere', 'Afiliere DBX', 'manage_options', 'dbx-afiliere', 'dbx_aff_callback', 'dashicons-tickets', 1); } function dbx_aff_callback() { $url = "//{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"; $_url = htmlspecialchars($url, ENT_QUOTES, 'UTF-8'); $action = $_GET['action']; if (empty($action)) { ?> <div class="dbx_title"> <h1>Statistici Afiliere</h1> </div> <div class="dbx_content"> <div class="col_1"> <h3>Site-uri active</h3> <p>Aici gasim toate site-urile care primesc click-uri.</p> <?php $res = dbx_aff_get_data(); $sites = []; foreach ($res as $r) { $site = $r['site']; if (in_array($site, $sites)) { continue; } array_push($sites, $site); } echo '<ul>'; foreach ($sites as $s) { $nume_site = str_replace('https://', '', $s); $detalii = $_url . '&action=per_site&site=' . $nume_site; echo '<li><a href="' . $detalii . '" title="Vezi Detalii">' . $nume_site . '</a></li>'; } echo '</ul>'; ?> </div> <div class="col_1"> <?php $result = dbx_aff_get_today_data(); $i = 0; foreach ($result as $row) { $data = unserialize($row['data']); foreach ($data as $_d) { $i++; } } $last_7 = dbx_aff_get_last_7_days(); $j = 0; foreach ($last_7 as $row) { $data = unserialize($row['data']); foreach ($data as $_d) { $j++; } } $last_30 = dbx_aff_get_last_30_days(); $k = 0; foreach ($last_30 as $row) { $data = unserialize($row['data']); foreach ($data as $_d) { $k++; } } ?> <div class="dbx_all"> <div class="dbx_w"> <h3>Azi</h3> <p class="dbx_c"><?php echo $i; ?></p> <a class="dbx_btn" href="<?php echo $_url . '&action=per_date&last=1'; ?>">Vezi detalii</a> </div> <div class="dbx_w"> <h3>Ultimile 7 zile</h3> <p class="dbx_c"><?php echo $j; ?></p> <a class="dbx_btn" href="<?php echo $_url . '&action=per_date&last=7'; ?>">Vezi detalii</a> </div> <div class="dbx_w"> <h3>Ultimile 30 zile</h3> <p class="dbx_c"><?php echo $k; ?></p> <a class="dbx_btn" href="<?php echo $_url . '&action=per_date&last=30'; ?>">Vezi detalii</a> </div> </div> </div> </div> <?php } else { echo '<div class="dbx_content tabel">'; if ($action == 'per_site') { $_site = $_GET['site']; $nume_site = 'https://' . $_site; $result = dbx_aff_get_data_per_site($nume_site); echo '<h2>Click-uri detaliate pentru site-ul ' . $_site . '</h2>'; echo '<table>'; echo '<tr>'; echo '<td>Data</td>'; echo '<td>Site</td>'; echo '<td>Magazin</td>'; echo '<td>URL Produs(intern)</td>'; echo '<td>Oras</td>'; echo '<td>Tara</td>'; echo '<td>IP</td>'; echo '</tr>'; foreach ($result as $r) { $site = $r['site']; $d = $r['date']; $_d = unserialize($r['data']); foreach ($_d as $data) { if ($data['country'] != 'RO') { continue; } if ($data['ip'] == '82.76.155.112') { continue; } echo '<tr>'; echo '<td>' . $d . '</td>'; echo '<td>' . $site . '</td>'; echo '<td>' . $data['magazin'] . '</td>'; echo '<td>' . $data['url_produs'] . '</td>'; echo '<td>' . $data['city'] . '</td>'; echo '<td>' . $data['country'] . '</td>'; echo '<td>' . $data['ip'] . '</td>'; echo '</tr>'; } } echo '</table>'; } if ($action == 'per_date') { $_last = $_GET['last']; if ($_last == 1) { $result = dbx_aff_get_today_data(); } else { if ($_last == 7) { $result = dbx_aff_get_last_7_days(); } if ($_last == 30) { $result = dbx_aff_get_last_30_days(); } } echo '<h2>Click-uri detaliate pentru ultimile ' . $_last . ' zile</h2>'; echo '<table>'; echo '<tr>'; echo '<td>Data</td>'; echo '<td>Site</td>'; echo '<td>Magazin</td>'; echo '<td>URL Produs(intern)</td>'; echo '<td>Oras</td>'; echo '<td>Tara</td>'; echo '<td>IP</td>'; echo '</tr>'; foreach ($result as $r) { $site = $r['site']; $d = $r['date']; $_d = unserialize($r['data']); foreach ($_d as $data) { if ($data['country'] != 'RO') { continue; } if ($data['ip'] == '82.76.155.112') { continue; } echo '<tr>'; echo '<td>' . $d . '</td>'; echo '<td>' . $site . '</td>'; echo '<td>' . $data['magazin'] . '</td>'; echo '<td>' . $data['url_produs'] . '</td>'; echo '<td>' . $data['city'] . '</td>'; echo '<td>' . $data['country'] . '</td>'; echo '<td>' . $data['ip'] . '</td>'; echo '</tr>'; } } echo '</table>'; ?> <?php } echo '<div>'; } ?> <style> table { font-family: arial, sans-serif; border-collapse: collapse; width: 100%; } td, th { border: 1px solid #dddddd; text-align: left; padding: 8px; } tr:nth-child(even) { background-color: #dddddd; } .dbx_content.tabel { display: block; } a.dbx_btn { background: #2271b1; color: #fff; padding: 3px 5px; text-decoration: none; border-radius: 0.375em; margin-top: 15px; } .dbx_all { display: inline-flex; width: 100%; gap: 15px; flex-flow: wrap; } .dbx_w { background: #f3f3f3; text-align: center; padding: 15px; border-radius: 0.375em; color: #000; min-width: 44%; } .dbx_w h3 { color: #000!important; font-size: 22px!important; margin-bottom: 0!important; } p.dbx_c { margin: 0; font-size: 24px; color: red; font-weight: 550; margin-bottom: 10px; } .dbx_content { width: 96%; display: inline-flex; gap: 25px; } .col_1 { width: 50%; border: 1px solid #f3f3f3; padding: 25px; border-radius: 0.375em; } .col_1 ul { display: inline-flex; gap: 10px; width: 100%; flex-flow: wrap; } .col_1 ul li { min-width: 20%; background: #f3f3f3; text-align: center; border-radius: 0.375em; padding: 3px; } .dbx_title, .dbx_content { background: #fff; padding: 25px; margin: 10px 0; border-radius: 0.375em; } .dbx_title{ text-align: center; } </style> <?php } function dbx_aff_get_last_30_days() { $hostname = 'localhost'; $username = 'kosmetik_afiliere_user'; $password = 'UXf#jtIX75ll'; $database = 'kosmetik_afiliere'; $table_name = 'clicuri_afiliere'; $con = mysqli_connect($hostname, $username, $password, $database); $azi = date("Y-m-d"); $old = date('Y-m-d', strtotime('-7 days')); if (!$con) { return; } $sql_check = "SELECT * FROM {$table_name} WHERE date BETWEEN DATE_SUB(CURDATE(), INTERVAL 30 DAY) AND NOW() ORDER BY date DESC"; $result = mysqli_query($con, $sql_check); while ($row = $result->fetch_assoc()) { $results_array[] = $row; } return $results_array; } function dbx_aff_get_last_7_days() { $hostname = 'localhost'; $username = 'kosmetik_afiliere_user'; $password = 'UXf#jtIX75ll'; $database = 'kosmetik_afiliere'; $table_name = 'clicuri_afiliere'; $con = mysqli_connect($hostname, $username, $password, $database); $azi = date("Y-m-d"); $old = date('Y-m-d', strtotime('-7 days')); if (!$con) { return; } $sql_check = "SELECT * FROM {$table_name} WHERE date BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND NOW() ORDER BY date DESC"; $result = mysqli_query($con, $sql_check); while ($row = $result->fetch_assoc()) { $results_array[] = $row; } return $results_array; } function dbx_aff_get_today_data() { $hostname = 'localhost'; $username = 'kosmetik_afiliere_user'; $password = 'UXf#jtIX75ll'; $database = 'kosmetik_afiliere'; $table_name = 'clicuri_afiliere'; $con = mysqli_connect($hostname, $username, $password, $database); $azi = date("Y-m-d"); if (!$con) { return; } $sql_check = "SELECT * FROM {$table_name} WHERE date='{$azi}' ORDER BY date DESC"; $result = mysqli_query($con, $sql_check); while ($row = $result->fetch_assoc()) { $results_array[] = $row; } return $results_array; } function dbx_aff_get_data_per_site($site = null) { $hostname = 'localhost'; $username = 'kosmetik_afiliere_user'; $password = 'UXf#jtIX75ll'; $database = 'kosmetik_afiliere'; $table_name = 'clicuri_afiliere'; $con = mysqli_connect($hostname, $username, $password, $database); if (!$con) { return; } $sql_check = "SELECT * FROM {$table_name} WHERE site='{$site}' ORDER BY date DESC"; $result = mysqli_query($con, $sql_check); while ($row = $result->fetch_assoc()) { $results_array[] = $row; } return $results_array; } function dbx_aff_get_data() { $hostname = 'localhost'; $username = 'kosmetik_afiliere_user'; $password = 'UXf#jtIX75ll'; $database = 'kosmetik_afiliere'; $table_name = 'clicuri_afiliere'; $con = mysqli_connect($hostname, $username, $password, $database); if (!$con) { return; } $sql_check = "SELECT * FROM {$table_name} ORDER BY date DESC"; $result = mysqli_query($con, $sql_check); while ($row = $result->fetch_assoc()) { $results_array[] = $row; } return $results_array; }