File "errors.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/.wp-cli/wp-content/plugins/woo-product-filter/classes/errors.php
File size: 2.64 KB
MIME-type: text/x-php
Charset: utf-8
<?php
class ErrorsWpf {
const FATAL = 'fatal';
const MOD_INSTALL = 'mod_install';
private static $errors = array();
private static $haveErrors = false;
public static $current = array();
public static $displayed = false;
public static function push( $error, $type = 'common' ) {
if (!isset(self::$errors[$type])) {
self::$errors[$type] = array();
}
if (is_array($error)) {
self::$errors[$type] = array_merge(self::$errors[$type], $error);
} else {
self::$errors[$type][] = $error;
}
self::$haveErrors = true;
if ('session' == $type) {
self::setSession(self::$errors[$type]);
}
}
public static function setSession( $error ) {
$sesErrors = self::getSession();
if (empty($sesErrors)) {
$sesErrors = array();
}
if (is_array($error)) {
$sesErrors = array_merge($sesErrors, $error);
} else {
$sesErrors[] = $error;
}
ReqWpf::setVar('sesErrors', $sesErrors, 'session');
}
public static function init() {
$wpfErrors = ReqWpf::getVar('wpfErrors');
if (!empty($wpfErrors)) {
if (!is_array($wpfErrors)) {
$wpfErrors = array( $wpfErrors );
}
$wpfErrors = array_map('htmlspecialchars', array_map('stripslashes', array_map('trim', $wpfErrors)));
if (!empty($wpfErrors)) {
self::$current = $wpfErrors;
if (is_admin()) {
add_action('admin_notices', array('ErrorsWpf', 'showAdminErrors'));
} else {
add_filter('the_content', array('ErrorsWpf', 'appendErrorsContent'), 99999);
}
}
}
}
public static function showAdminErrors() {
if (self::$current) {
foreach (self::$current as $error) {
echo '<div class="error notice is-dismissible"><p><strong>' . esc_html($error) . '</strong></p></div>';
}
}
}
public static function appendErrorsContent( $content ) {
if (!self::$displayed && !empty(self::$current)) {
$content = '<div class="toeErrorMsg">' . implode('<br />', self::$current) . '</div>' . $content;
self::$displayed = true;
}
return $content;
}
public static function getSession() {
return ReqWpf::getVar('sesErrors', 'session');
}
public static function clearSession() {
ReqWpf::clearVar('sesErrors', 'session');
}
public static function get( $type = '' ) {
$res = array();
if (!empty(self::$errors)) {
if (empty($type)) {
foreach (self::$errors as $e) {
foreach ($e as $error) {
$res[] = $error;
}
}
} else {
$res = self::$errors[$type];
}
}
return $res;
}
public static function haveErrors( $type = '' ) {
if (empty($type)) {
return self::$haveErrors;
} else {
return isset(self::$errors[$type]);
}
}
}