105 lines
5.5 KiB
PHP
105 lines
5.5 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* WP Captcha
|
||
|
* https://getwpcaptcha.com/
|
||
|
* (c) WebFactory Ltd, 2022 - 2023, www.webfactoryltd.com
|
||
|
*/
|
||
|
|
||
|
class WPCaptcha_Tab_Activity extends WPCaptcha
|
||
|
{
|
||
|
static function display()
|
||
|
{
|
||
|
$tabs[] = array('id' => 'tab_log_locks', 'class' => 'tab-content', 'label' => __('Access Locks', 'advanced-google-recaptcha'), 'callback' => array(__CLASS__, 'tab_locks'));
|
||
|
$tabs[] = array('id' => 'tab_log_full', 'class' => 'tab-content', 'label' => __('Failed Logins', 'advanced-google-recaptcha'), 'callback' => array(__CLASS__, 'tab_full'));
|
||
|
|
||
|
echo '<div id="tabs_log" class="ui-tabs wpcaptcha-tabs-2nd-level">';
|
||
|
echo '<ul>';
|
||
|
foreach ($tabs as $tab) {
|
||
|
echo '<li><a href="#' . esc_attr($tab['id']) . '">' . esc_html($tab['label']) . '</a></li>';
|
||
|
}
|
||
|
echo '</ul>';
|
||
|
|
||
|
foreach ($tabs as $tab) {
|
||
|
if (is_callable($tab['callback'])) {
|
||
|
echo '<div style="display: none;" id="' . esc_attr($tab['id']) . '" class="' . esc_attr($tab['class']) . '">';
|
||
|
call_user_func($tab['callback']);
|
||
|
echo '</div>';
|
||
|
}
|
||
|
} // foreach
|
||
|
|
||
|
echo '</div>'; // second level of tabs
|
||
|
} // display
|
||
|
|
||
|
static function tab_locks()
|
||
|
{
|
||
|
echo '<div class="wpcaptcha-stats-main wpcaptcha-chart-locks" style="display:none"><canvas id="wpcaptcha-locks-chart" style="height: 160px; width: 100%;"></canvas></div>';
|
||
|
echo '<div class="wpcaptcha-stats-main wpcaptcha-stats-locks" style="display:none;">';
|
||
|
echo '<img src="' . esc_url(WPCAPTCHA_PLUGIN_URL) . '/images/advanced_stats.png" alt="WP Captcha" title="WP Captcha Stats" />';
|
||
|
echo'</div>';
|
||
|
echo '<div class="tab-content">';
|
||
|
echo '<div id="wpcaptcha-locks-log-table-wrapper">
|
||
|
<table cellpadding="0" cellspacing="0" border="0" class="display" id="wpcaptcha-locks-log-table">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
<th></th>
|
||
|
<th style="width:160px;">Date & time</th>
|
||
|
<th>Reason</th>
|
||
|
<th>Location/IP</th>
|
||
|
<th style="width:280px;">User Agent</th>
|
||
|
<th style="width:80px;"></th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
<tbody></tbody>
|
||
|
<tfoot>
|
||
|
<tr>
|
||
|
<th></th>
|
||
|
<th>Date & time</th>
|
||
|
<th>Reason</th>
|
||
|
<th>Location/IP</th>
|
||
|
<th>User Agent</th>
|
||
|
<th></th>
|
||
|
</tr>
|
||
|
</tfoot>
|
||
|
</table>
|
||
|
</div>
|
||
|
<div data-log="locks" class="tooltip empty_log tooltipstered" data-msg-success="Access Locks Log Emptied" data-btn-confirm="Yes, empty the log" data-title="Are you sure you want to empty the Access Locks Log?" data-wait-msg="Emptying. Please wait." data-name=""><i class="wpcaptcha-icon wpcaptcha-trash"></i> Empty Access Locks Log</div>';
|
||
|
echo '</div>';
|
||
|
}
|
||
|
|
||
|
static function tab_full()
|
||
|
{
|
||
|
echo '<div class="wpcaptcha-stats-main wpcaptcha-chart-fails" style="display:none"><canvas id="wpcaptcha-fails-chart" style="height: 160px; width: 100%;"></canvas></div>';
|
||
|
echo '<div class="wpcaptcha-stats-main wpcaptcha-stats-fails" style="display:none;">';
|
||
|
echo '<img src="' . esc_url(WPCAPTCHA_PLUGIN_URL) . '/images/advanced_stats.png" alt="WP Captcha" title="WP Captcha Stats" />';
|
||
|
echo'</div>';
|
||
|
echo '<div class="tab-content">';
|
||
|
echo '<div id="wpcaptcha-fails-log-table-wrapper">
|
||
|
<table cellpadding="0" cellspacing="0" border="0" class="display" id="wpcaptcha-fails-log-table">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
<th style="width:160px;">Date & time</th>
|
||
|
<th style="width:280px;">User/Pass</th>
|
||
|
<th>Location/IP</th>
|
||
|
<th style="width:280px;">User Agent</th>
|
||
|
<th style="width:280px;">Reason</th>
|
||
|
<th style="width:80px;"></th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
<tbody></tbody>
|
||
|
<tfoot>
|
||
|
<tr>
|
||
|
<th>Date & time</th>
|
||
|
<th>User/Pass</th>
|
||
|
<th>Location/IP</th>
|
||
|
<th>User Agent</th>
|
||
|
<th>Reason</th>
|
||
|
<th></th>
|
||
|
</tr>
|
||
|
</tfoot>
|
||
|
</table>
|
||
|
</div>
|
||
|
<div data-log="fails" class="tooltip empty_log tooltipstered" data-msg-success="Fails Log Emptied" data-btn-confirm="Yes, empty the log" data-title="Are you sure you want to empty the Failed Logins Log?" data-wait-msg="Emptying. Please wait." data-name=""><i class="wpcaptcha-icon wpcaptcha-trash"></i> Empty Failed Logins Log</div>';
|
||
|
echo '</div>';
|
||
|
}
|
||
|
} // class WPCaptcha_Tab_Activity
|