????JFIF??x?x????'
| Server IP : 172.67.174.47 / Your IP : 216.73.216.87 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/./self/cwd/wp-content/plugins/duplicator/src/Core/Notifications/ |
Upload File : |
<?php
namespace Duplicator\Core\Notifications;
use Duplicator\Core\Controllers\ControllersManager;
use Duplicator\Core\Views\TplMng;
use Duplicator\Libs\Snap\SnapWP;
/**
* Admin/NoticeBar Education feature for Lite.
*/
class NoticeBar
{
/**
* Constant for the wp-options key handling the dismissed state
*/
const NOTICE_BAR_DISMISSED_OPT_KEY = 'duplicator_notice_bar_dismissed';
/**
* Init.
*
* @return void
*/
public static function init()
{
add_action('in_admin_header', array(__CLASS__, 'display'));
add_action('wp_ajax_duplicator_notice_bar_dismiss', array(__CLASS__, 'dismissNoticeBar'));
}
/**
* Notice bar display message.
*
* @return void
*/
public static function display()
{
if (!ControllersManager::isDuplicatorPage()) {
return;
}
//make sure it wasn't dismissed
if (get_user_meta(get_current_user_id(), self::NOTICE_BAR_DISMISSED_OPT_KEY, true) != false) {
return;
}
$utm_content = '';
foreach (ControllersManager::getMenuLevels() as $key => $value) {
if (strlen((string) $value) == 0) {
continue;
}
$utm_content .= ucfirst($key) . ' ' . $value . ' ';
}
$utm_content = trim($utm_content);
TplMng::getInstance()->render('/parts/notice-bar', array(
'utm_content' => $utm_content
));
}
/**
* Dismiss notice bar ajax action
*
* @return void
*/
public static function dismissNoticeBar()
{
// Run a security check.
check_ajax_referer('duplicator-notice-bar-dismiss', 'nonce');
update_user_meta(get_current_user_id(), self::NOTICE_BAR_DISMISSED_OPT_KEY, true);
}
/**
* Delete related option
*
* @return bool true on success, false on failure
*/
public static function deleteOption()
{
return SnapWP::deleteUserMetaKey(self::NOTICE_BAR_DISMISSED_OPT_KEY);
}
}