EVOLUTION-MANAGER
Edit File: class.ui.messages.php
<?php defined('ABSPATH') || defined('DUPXABSPATH') || exit; /** * Used to generate a thick box inline dialog such as an alert or confirm pop-up * * * Standard: PSR-2 * @link http://www.php-fig.org/psr/psr-2 * * @package Duplicator * @subpackage classes/ui * @copyright (c) 2017, Snapcreek LLC */ class DUP_PRO_UI_Messages { const UNIQUE_ID_PREFIX = 'dup_ui_msg_'; const NOTICE = 'updated'; const WARNING = 'update-nag'; const ERROR = 'error'; private static $unique_id = 0; private $id; public $type = self::NOTICE; public $content = ''; public $wrap_cont_tag = 'p'; public $hide_on_init = true; public $is_dismissible = false; /** * * @var int delay in milliseconds */ public $auto_hide_delay = 0; public $callback_on_show = null; public $callback_on_hide = null; public function __construct($content = '', $type = self::NOTICE) { self::$unique_id ++; $this->id = self::UNIQUE_ID_PREFIX.self::$unique_id; $this->content = (string) $content; $this->type = $type; } protected function get_notice_classes($classes = array()) { if (is_string($classes)) { $classes = explode(' ', $classes); } else if (is_array($classes)) { } else { $classes = array(); } if ($this->is_dismissible) { $classes[] = 'is-dismissible'; } $result = array_merge(array('notice', $this->type), $classes); return trim(implode(' ', $result)); } public function initMessage($jsBodyAppend = false) { $classes = array(); if ($this->hide_on_init) { $classes[] = 'no_display'; } $this->wrap_tag = empty($this->wrap_tag) ? 'p' : $this->wrap_tag; $result = '<div id="'.$this->id.'" class="'.$this->get_notice_classes($classes).'">'. '<'.$this->wrap_cont_tag.' class="msg-content">'. $this->content. '</'.$this->wrap_cont_tag.'>'. '</div>'; if ($jsBodyAppend) { echo '$("body").append('.DupProSnapJsonU::wp_json_encode($result).');'; } else { echo $result; } } public function updateMessage($jsVarName, $echo = true) { $result = 'jQuery("#'.$this->id.' > .msg-content").html('.$jsVarName.');'; if ($echo) { echo $result; } else { return $result; } } public function showMessage($echo = true) { $callStr = !empty($this->callback_on_show) ? $this->callback_on_show.';' : ''; $result = 'jQuery("body, html").animate({ scrollTop: 0 }, 500 );'; $result .= 'jQuery("#'.$this->id.'").fadeIn( "slow", function() { jQuery(this).removeClass("no_display");'.$callStr.' });'; if ($this->auto_hide_delay > 0) { $result .= 'setTimeout(function () { '.$this->hideMessage(false).' }, '.$this->auto_hide_delay.');'; } if ($echo) { echo $result; } else { return $result; } } public function hideMessage($echo = true) { $callStr = !empty($this->callback_on_hide) ? $this->callback_on_hide.';' : ''; $result = 'jQuery("#'.$this->id.'").fadeOut( "slow", function() { jQuery(this).addClass("no_display");'.$callStr.' });'; if ($echo) { echo $result; } else { return $result; } } }