| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.10/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);
}
}