| Server IP : 172.67.134.116 / Your IP : 216.73.217.68 Web Server : Apache System : Linux server.rehabsharif.com 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64 User : nobi37te ( 1003) PHP Version : 8.2.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/nobi37te/public_html/wp-content/plugins/security-malware-firewall/inc/ |
Upload File : |
<?php
use CleantalkSP\SpbctWP\LinkConstructor;
use CleantalkSP\SpbctWP\AdminBannersModule\AdminBannersHandler;
// Prevent direct call
if ( ! defined('ABSPATH') ) {
die('Not allowed!');
}
/**
* Adding parent nodes for plugins depending on installed ones
*
* @param WP_Admin_Bar $wp_admin_bar
*/
function spbc_admin__admin_bar__add_structure($wp_admin_bar)
{
global $spbc, $apbct;
do_action('cleantalk_admin_bar__prepare_counters');
// Adding parent node
$wp_admin_bar->add_node(array(
'id' => 'cleantalk_admin_bar__parent_node',
'title' =>
apply_filters('cleantalk_admin_bar__add_icon_to_parent_node', '') . // @deprecated
apply_filters('cleantalk_admin_bar__parent_node__before', '') .
'<span class="cleantalk_admin_bar__title">'
. __($spbc->data["wl_company_name"], 'cleantalk-spam-protect')
. '</span>' .
apply_filters('cleantalk_admin_bar__parent_node__after', ''),
'meta' => array('class' => 'cleantalk-admin_bar--list_wrapper'),
));
$link_tag = linkConstructor::buildRenewalLinkATag(
$spbc->user_token,
__('Renew Security', 'security-malware-firewall'),
4,
'renew_admin_bar_spbct'
);
$title_link = $spbc->data["wl_mode_enabled"] ? $spbc->data["wl_support_url"] :
'<span>' . $link_tag . '</span>';
// Security
$title = $spbc->notice_trial
? $title_link
: '<a>' . __('Security', 'security-malware-firewall') . '</a>';
$attention_mark = AdminBannersHandler::adminBarHasExclamationDueBanners($spbc) ? '<i class="spbc-icon-attention-alt ctlk---red"></i>' : '';
$title .= $attention_mark;
$wp_admin_bar->add_node(array(
'parent' => 'cleantalk_admin_bar__parent_node',
'id' => 'spbc__parent_node',
'title' => '<div class="cleantalk-admin_bar__parent">'
. $title
. '</div>'
));
// Anti-Spam
// Install link
if ( ! $apbct) {
$apbct_title = '<a>' . __('Anti-Spam', 'cleantalk-spam-protect') . '</a>';
} elseif ($apbct->admin_bar_enabled) {
$link_tag = linkConstructor::buildRenewalLinkATag(
$spbc->user_token,
__('Renew Anti-Spam', 'security-malware-firewall'),
1,
'renew_admin_bar_cross_link_apbct'
);
$apbct_title = $apbct->notice_trial == 1
? '<span>' . $link_tag . '</span>'
: '<a>' . __('Anti-Spam', 'cleantalk-spam-protect') . '</a>';
$apbct_attention_mark = $apbct->notice_show ? '<i class="apbct-icon-attention-alt"></i>' : '';
$apbct_title .= $apbct_attention_mark;
}
if (isset($apbct_title)) {
$wp_admin_bar->add_node(array(
'parent' => 'cleantalk_admin_bar__parent_node',
'id' => 'apbct__parent_node',
'title' => '<div class="cleantalk-admin_bar__parent">'
. $apbct_title
. '</div>'
));
}
/**
* Link to project manager
*/
$project_manager_title_node = spbc__admin_bar__get_title_for_project_manager();
if ( $project_manager_title_node ) {
$wp_admin_bar->add_node($project_manager_title_node);
$gf2db_title_node = spbc__admin_bar__add_gf2db_title();
if ($gf2db_title_node) {
$wp_admin_bar->add_node($gf2db_title_node);
} else {
$gf2db_invite_to_install_title = spbc__admin_bar__get_title_for_gf2db_invite_to_install();
if ($gf2db_invite_to_install_title) {
$wp_admin_bar->add_node($gf2db_invite_to_install_title);
}
}
}
/**
* Adding FAQ node
*/
$faq_title_node = spbct__admin_bar__get_title_for_faq();
if ( $faq_title_node ) {
$wp_admin_bar->add_node($faq_title_node);
}
}
/**
* Gets the title for the project manager admin bar node.
*
* This function constructs the title for the project manager admin bar node based on various conditions.
* The title includes a link to the project manager.
*
* @return array|false The node data for the project manager admin bar node, or false if the project manager admin bar is not enabled.
*/
function spbc__admin_bar__get_title_for_project_manager()
{
if (!is_plugin_active('gravityforms/gravityforms.php')) {
return false;
}
$title = '<span><a>' . __('Project management', 'security-malware-firewall') . '</a></span>';
return array(
'parent' => 'cleantalk_admin_bar__parent_node',
'id' => 'project_manager__parent_node',
'title' => $title,
);
}
/**
* Adds the title for the Gravity Forms to doBoard / Settings admin bar node.
*
* This function constructs the title for the Gravity Forms to doBoard / Settings admin bar node based on various conditions.
* The title includes a link to the Gravity Forms to doBoard / Settings.
*
*/
function spbc__admin_bar__add_gf2db_title()
{
if (!is_plugin_active('cleantalk-doboard-add-on-for-gravity-forms/cleantalk-doboard-add-on-for-gravity-forms.php')) {
return false;
}
$title = sprintf(
'<a href="%s" target="_blank">%s</a>',
admin_url('admin.php?page=gf_settings&subview=cleantalk-doboard-add-on-for-gravity-forms'),
esc_html__('Gravity Forms to doBoard / Settings', 'security-malware-firewall')
);
return array(
'parent' => 'project_manager__parent_node',
'id' => 'gf2db_title',
'title' => $title,
);
}
/**
* Gets the title for the "Gravity Forms to doBoard" Add-On invite to install admin bar node.
*
* This function constructs the title for the "Gravity Forms to doBoard" Add-On invite to install admin bar node based on various conditions.
* The title includes a link to the "Gravity Forms to doBoard" Add-On invite to install.
*
* @return array|false The node data for the "Gravity Forms to doBoard" Add-On invite to install admin bar node, or false if the "Gravity Forms to doBoard" Add-On invite to install admin bar node is not enabled.
*/
function spbc__admin_bar__get_title_for_gf2db_invite_to_install()
{
if (is_plugin_active('cleantalk-doboard-add-on-for-gravity-forms/cleantalk-doboard-add-on-for-gravity-forms.php')) {
return false;
}
$title = sprintf(
'<a href="%s" target="_blank" title="%s">%s</a>',
admin_url('plugin-install.php?s=GF2DB&tab=search&type=term'),
esc_html__(
'Organize and track all messages from your site. Gravity Forms, upgraded with project management.',
'security-malware-firewall'
),
esc_html__('Install "Gravity Forms to doBoard" Add-On', 'security-malware-firewall')
);
return array(
'parent' => 'project_manager__parent_node',
'id' => 'gf2db_invite_to_install_title',
'title' => $title,
);
}
/**
* Prepares properties for counters in $apbct
* Handles counter reset
*
* @return void
*/
function spbc_admin__admin_bar__prepare_counters()
{
global $spbc;
$spbc->counter__sum = 0;
if ($spbc->settings['admin_bar__admins_online_counter']) {
$spbc->online_admins = spbc_get_authorized_admins(true);
$spbc->counter__admins_online = count($spbc->online_admins);
}
if ($spbc->settings['admin_bar__firewall_counter']) {
$spbc->counter__firewall_pass = \CleantalkSP\SpbctWP\Counters\FirewallCounter::get('pass');
$spbc->counter__firewall_deny = \CleantalkSP\SpbctWP\Counters\FirewallCounter::get('deny');
$spbc->counter__sum += $spbc->counter__firewall_pass + $spbc->counter__firewall_deny;
}
if ($spbc->settings['admin_bar__brute_force_counter']) {
$spbc->counter__logins_failed = \CleantalkSP\SpbctWP\Counters\SecurityCounter::get('auth_failed');
$spbc->counter__logins_passed = \CleantalkSP\SpbctWP\Counters\SecurityCounter::get('login');
$spbc->counter__sum += $spbc->counter__logins_failed + $spbc->counter__logins_passed;
}
}
function spbc_admin__admin_bar__add_parent_icon($icon)
{
return $icon
. '<img class="cleantalk_admin_bar__spbc_icon" src="' . SPBC_PATH . '/images/logo_small_gray.png" alt=""> ';
}
function spbc_admin__admin_bar__add_counter($after)
{
global $spbc;
$admins_online = $spbc->settings['admin_bar__admins_online_counter']
? ' / <span title="' . __('Admins online', 'security-malware-firewall') . '">' . $spbc->counter__admins_online . '</span>'
: '';
$counter__sum__layout = ($after ? ' / ' : '<div class="cleantalk_admin_bar__sum_counter">')
. '<span title="' . __('All security events', 'security-malware-firewall') . '">' . $spbc->counter__sum . '</span>'
. $admins_online
. '</div>';
return ($after ? substr($after, 0, - 6) : $after)
. $counter__sum__layout;
}
function spbct__admin_bar__get_title_for_faq()
{
global $spbc;
$faq_link_url = LinkConstructor::buildCleanTalkLink('faq_admin_bar_apbct', 'help/introduction');
if ($spbc->data["wl_mode_enabled"]) {
$faq_link_url = $spbc->data["wl_support_faq"];
}
$faq_link_layout = sprintf(
'<a href="%s" target="_blank">%s</a>',
$faq_link_url,
esc_html__('Manuals and FAQ', 'cleantalk-spam-protect')
);
$title = '<div class="cleantalk-admin_bar__parent"><span>' . $faq_link_layout . '</span></div>';
return array(
'parent' => 'cleantalk_admin_bar__parent_node',
'id' => 'faq__parent_node',
'title' => $title,
);
}
function spbc_admin__admin_bar__add_child_nodes($wp_admin_bar)
{
global $spbc;
$attention_mark = AdminBannersHandler::adminBarHasExclamationDueBanners($spbc) ? '<i class="spbc-icon-attention-alt ctlk---red"></i>' : '';
// Counter header
if ($spbc->counter__sum) {
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'id' => 'spbc_admin_bar__counter_header',
'title' => __('Counters:', 'security-malware-firewall'),
));
}
// Failed / success login attempts counter
if ($spbc->settings['admin_bar__brute_force_counter']) {
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'id' => 'spbc_admin_bar__counter__logins',
'meta' => array('class' => 'cleantalk_admin_bar__counter'),
'title' => '<a>'
. '<span>' . __('Logins:', 'security-malware-firewall') . '</span> '
. '<span style="color: white;">'
. '<b style="color: green;">' . $spbc->counter__logins_passed . '</b> / '
. '<b style="color: red;">' . $spbc->counter__logins_failed . '</b>'
. '</span>'
. '<i class="spbc-icon-help-circled" title="' . __('Blocked login attempts in the local database for the past 24 hours.', 'security-malware-firewall') . '"></i>'
. '</a>',
));
}
// Firewall blocked / allowed counter
if ($spbc->settings['admin_bar__firewall_counter']) {
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'id' => 'spbc_admin_bar__counter__firewall',
'meta' => array('class' => 'cleantalk_admin_bar__counter'),
'title' => '<a>'
. '<b>' . __('Security Firewall: ', 'security-malware-firewall') . '</b> '
. '<b style="color: white;">'
. '<b style="color: green;">' . $spbc->counter__firewall_pass . '</b> / '
. '<b style="color: red;">' . $spbc->counter__firewall_deny . '</b>'
. '</b>'
. '<i class="spbc-icon-help-circled" title="' . __('Passed / Blocked requests by Security Firewall for the past 24 hours.', 'security-malware-firewall') . '"></i>'
. '</a>',
));
}
// Users online counter
if ($spbc->settings['admin_bar__admins_online_counter']) {
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'id' => 'spbc_admin_bar__counter__online',
'meta' => array('class' => 'cleantalk_admin_bar__elem cleantalk_admin_bar__counter'),
'title' => '<a>'
. '<span>' . __('Admins online:', 'security-malware-firewall') . '</span>'
. ' <b class="spbc-admin_bar--user_counter">' . $spbc->counter__admins_online . '</b>'
. '<i class="spbc-icon-help-circled" title="' . __('Shows amount of currently logged in administrators. Updates every 10 seconds.', 'security-malware-firewall') . '"></i>'
. '</a>',
));
if ($spbc->counter__admins_online <= 3) {
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'id' => 'spbc_admin_bar__online_admins',
'meta' => array('class' => 'spbc---gray'),
'title' => '<a href="options-general.php?page=spbc&spbc_tab=security_log">'
. '<b style="margin-left: 5px;" class="spbc-admin_bar--online_admins">'
. implode(', ', $spbc->online_admins)
. '</b>'
. '</a>',
));
}
}
// Counter separator
if ($spbc->counter__sum) {
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'id' => 'spbc_admin_bar__separator',
'title' => '<hr style="margin-top: 7px;" />',
'meta' => array('class' => 'cleantalk_admin_bar__separator')
));
}
// Critical updates
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'id' => 'spbc_admin_bar__critical_updates_link',
'title' => '<a href="' . $spbc->settings_link . '&spbc_tab=critical_updates">' . __('Critical updates', 'security-malware-firewall') . '</a>',
));
// FireWall
if ( (int) $spbc->settings['secfw__enabled'] ) {
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'id' => 'spbc_admin_bar__traffic_control_link',
'title' => '<a href="' . $spbc->settings_link . '&spbc_tab=traffic_control">' . __('FireWall', 'security-malware-firewall') . '</a>',
));
}
// FS Watcher
if ($spbc->settings['scanner__fs_watcher']) {
$journals_count_text = ' <b style="color: green;">Enabled</b>';
$link_suffix = '&spbc_tab=fswatcher';
} else {
$journals_count_text = ' <b style="color: gray;">Disabled</b>';
$link_suffix = '&spbc_tab=settings_general#spbc_setting_scanner__fs_watcher';
}
if ( is_main_site() ) {
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'id' => 'spbc_admin_bar__fs_watcher',
'title' => '<a href="' . $spbc->settings_link . $link_suffix . '">' . __('File System Watcher', 'security-malware-firewall') . $journals_count_text . '</a>',
));
}
// Malware scanner
$danger_dot = $spbc->data['display_scanner_warnings']['warn_on_admin_bar'] && is_main_site()
? '<span class="red_dot"></span>'
: '';
if ( is_main_site() ) {
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'id' => 'spbc_admin_bar__scanner_link',
'title' => '<a href="'
. $spbc->settings_link
. '&spbc_tab=scanner">'
. __('Malware scanner', 'security-malware-firewall')
. $danger_dot . '</a>'
));
}
// Security Log
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'id' => 'spbc_admin_bar__security_log_link',
'title' => '<a href="' . $spbc->settings_link . '&spbc_tab=security_log">' . __('Security Log', 'security-malware-firewall') . '</a>',
));
// Settings
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'id' => 'spbc_admin_bar__settings_link',
'title' => '<a href="' . $spbc->settings_link . '&spbc_tab=settings_general">' . __('Settings', 'security-malware-firewall') . '</a>' . $attention_mark,
));
// Summary
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'id' => 'spbc_admin_bar__summary_link',
'title' => '<a href="' . $spbc->settings_link . '&spbc_tab=summary">' . __('Summary and Support', 'security-malware-firewall') . '</a>',
));
// Support link
$wp_admin_bar->add_node(array(
'parent' => 'spbc__parent_node',
'title' => '<hr style="margin-top: 7px;" /><a target="_blank" href="' . $spbc->data["wl_support_url"] . '">' . __('Support', 'security-malware-firewall') . '</a>',
'id' => 'spbc_admin_bar__support_link',
));
}
function spbc_apbct_admin__admin_bar__add_child_nodes($wp_admin_bar)
{
// Installation link
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'apbct_admin_bar__install',
'title' => '<a target="_blank" href="plugin-install.php?s=Spam%20protection%2C%20AntiSpam%20by%20CleanTalk%20&tab=search">' . __('Install Anti-Spam by CleanTalk', 'security-malware-firewall') . '</a>',
));
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'install_separator',
'title' => '<hr style="margin-top: 7px;" />',
'meta' => array('class' => 'cleantalk_admin_bar__separator')
));
// Counter header
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'apbct_admin_bar__counter_header',
'title' => '<a>' . __('Counters:', 'security-malware-firewall') . '</a>',
'meta' => array('class' => 'cleantalk_admin_bar__blocked'),
));
// User's counter
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'apbct_admin_bar__counter__user',
'title' => '<a>' . __('Since', 'security-malware-firewall') . ' ' . date('M d') . ': '
. '<span style="color: green;">' . 0 . '</span> / '
. '<span style="color: red;">' . 0 . '</span>'
. '<i class="spbc-icon-help-circled" title="'
. __('Shows amount of allowed and blocked requests since the date.', 'security-malware-firewall') . '"></i>'
. '</a>',
'meta' => array('class' => 'cleantalk_admin_bar__blocked'),
));
// All-time counter
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'apbct_admin_bar__counter__all_time',
'title' => '<a>'
. '<span>'
. __('Since activation', 'security-malware-firewall') . ': '
. '<span style="color: white;">' . 0 . '</span> / '
. '<span style="color: green;">' . 0 . '</span> / '
. '<span style="color: red;">' . 0 . '</span>'
. '</span>'
. '<i class="spbc-icon-help-circled" title="'
. __('All / Allowed / Blocked submissions. The number of submissions is being counted since CleanTalk plugin installation.', 'security-malware-firewall') . '"></i>'
. '</a>',
'meta' => array('class' => 'cleantalk_admin_bar__blocked'),
));
// Daily counter
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'apbct_admin_bar__counter__daily',
'title' => '<a>'
. '<span>'
. __('Daily', 'security-malware-firewall') . ': '
. '<span style="color: green;">' . 0 . '</span> / '
. '<span style="color: red;">' . 0 . '</span>'
. '</span>'
. '<i class="spbc-icon-help-circled" title="'
. __('Allowed / Blocked submissions. The number of submissions for the past 24 hours. ', 'security-malware-firewall') . '"></i>'
. '</a>',
'meta' => array('class' => 'cleantalk_admin_bar__blocked'),
));
// SFW counter
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'apbct_admin_bar__counter__sfw',
'title' => '<a>'
. '<span>'
. __('SpamFireWall', 'security-malware-firewall') . ': '
. '<span style="color: white;">' . 0 . '</span> / '
. '<span style="color: red;">' . 0 . '</span>'
. '</span>'
. '<i class="spbc-icon-help-circled" title="'
. __('All / Blocked events. Access attempts triggered by SpamFireWall counted since the last plugin activation.', 'security-malware-firewall') . '"></i>'
. '</a>',
'meta' => array('class' => 'cleantalk_admin_bar__blocked'),
));
// User counter reset.
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'ct_reset_counter',
'title' => '<hr style="margin-top: 7px;"><a>' . __('Reset first counter', 'security-malware-firewall') . '</a>',
'meta' => array('class' => 'cleantalk_admin_bar__blocked'),
));
// Reset ALL counter
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'ct_reset_counters_all',
'title' => '<a>' . __('Reset all counters', 'security-malware-firewall') . '</a>',
'meta' => array('class' => 'cleantalk_admin_bar__blocked'),
));
// Counter separator
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'apbct_admin_bar__separator',
'title' => '<hr style="margin-top: 7px;" />',
'meta' => array('class' => 'cleantalk_admin_bar__separator')
));
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'ct_settings_link',
'title' => '<a>' . __('Settings') . '</a>',
'meta' => array('class' => 'cleantalk_admin_bar__blocked'),
));
// Add a child item to our parent item. Bulk checks.
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'ct_settings_bulk_comments',
'title' => '<hr style="margin-top: 7px;" /><a>' . __('Bulk spam comments removal tool.', 'security-malware-firewall') . ' ' . __('Check comments for spam', 'security-malware-firewall') . '</a>',
'meta' => array('class' => 'cleantalk_admin_bar__blocked'),
));
// Add a child item to our parent item. Bulk checks.
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'ct_settings_bulk_users',
'title' => '<a>' . __('Check users for spam', 'security-malware-firewall') . '</a>',
'meta' => array('class' => 'cleantalk_admin_bar__blocked'),
));
// Support link
$wp_admin_bar->add_node(array(
'parent' => 'apbct__parent_node',
'id' => 'ct_admin_bar_support_link',
'title' => '<hr style="margin-top: 7px;" /><a>' . __('Support', 'security-malware-firewall') . '</a>',
'meta' => array('class' => 'cleantalk_admin_bar__blocked'),
));
}