Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/sitepres.../inc
File: icl-admin-notifier.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* @package wpml-core
[2] Fix | Delete
*/
[3] Fix | Delete
[4] Fix | Delete
/**
[5] Fix | Delete
* Admin Notifier Class
[6] Fix | Delete
*
[7] Fix | Delete
* Manages Admin Notices
[8] Fix | Delete
*
[9] Fix | Delete
*
[10] Fix | Delete
*/
[11] Fix | Delete
[12] Fix | Delete
add_action ( 'init', array('ICL_AdminNotifier', 'init') );
[13] Fix | Delete
[14] Fix | Delete
if(!class_exists('ICL_AdminNotifier')) {
[15] Fix | Delete
class ICL_AdminNotifier {
[16] Fix | Delete
public static function init() {
[17] Fix | Delete
if ( is_admin() ) {
[18] Fix | Delete
add_action( 'wp_ajax_icl-hide-admin-message', array( __CLASS__, 'hide_message' ) );
[19] Fix | Delete
add_action( 'wp_ajax_icl-show-admin-message', array( __CLASS__, 'show_message' ) );
[20] Fix | Delete
if ( ! defined( 'DOING_AJAX' ) ) {
[21] Fix | Delete
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'add_script' ) );
[22] Fix | Delete
[23] Fix | Delete
add_action( 'admin_notices', array( __CLASS__, 'admin_notices' ) );
[24] Fix | Delete
}
[25] Fix | Delete
[26] Fix | Delete
add_filter( 'troubleshooting_js_data', array( __CLASS__, 'troubleshooting_js_data' ) );
[27] Fix | Delete
add_action( 'wpml_troubleshooting_cleanup', array( __CLASS__, 'troubleshooting' ) );
[28] Fix | Delete
add_action( 'wp_ajax_icl_restore_notifications', array( __CLASS__, 'restore_notifications' ) );
[29] Fix | Delete
add_action( 'wp_ajax_icl_remove_notifications', array( __CLASS__, 'remove_notifications' ) );
[30] Fix | Delete
}
[31] Fix | Delete
}
[32] Fix | Delete
[33] Fix | Delete
public static function add_script() {
[34] Fix | Delete
wp_enqueue_script( 'icl-admin-notifier', ICL_PLUGIN_URL . '/res/js/icl-admin-notifier.js', array( 'jquery' ), ICL_SITEPRESS_VERSION );
[35] Fix | Delete
}
[36] Fix | Delete
[37] Fix | Delete
/**
[38] Fix | Delete
* @param string $message
[39] Fix | Delete
* @param string $type
[40] Fix | Delete
*/
[41] Fix | Delete
public static function add_instant_message( $message, $type = '' ) {
[42] Fix | Delete
$messages = self::get_messages();
[43] Fix | Delete
$messages['instant_messages'][] = array(
[44] Fix | Delete
'text' => $message,
[45] Fix | Delete
'type' => $type
[46] Fix | Delete
);
[47] Fix | Delete
self::save_messages( $messages );
[48] Fix | Delete
}
[49] Fix | Delete
[50] Fix | Delete
/**
[51] Fix | Delete
* @param $message_id
[52] Fix | Delete
*
[53] Fix | Delete
* @return bool|array
[54] Fix | Delete
*/
[55] Fix | Delete
public static function get_message( $message_id ) {
[56] Fix | Delete
$messages = self::get_messages();
[57] Fix | Delete
[58] Fix | Delete
return isset( $messages['messages'][ $message_id ] ) ? $messages['messages'][ $message_id ] : false;
[59] Fix | Delete
}
[60] Fix | Delete
[61] Fix | Delete
public static function message_id_exists( $message_id ) {
[62] Fix | Delete
$message = self::get_message( $message_id );
[63] Fix | Delete
[64] Fix | Delete
return $message !== false;
[65] Fix | Delete
}
[66] Fix | Delete
[67] Fix | Delete
private static function get_messages() {
[68] Fix | Delete
$messages = get_option( 'icl_admin_messages' );
[69] Fix | Delete
if ( ! ( isset( $messages ) && $messages != false ) ) {
[70] Fix | Delete
return array( 'messages' => array(), 'instant_messages' => array() );
[71] Fix | Delete
}
[72] Fix | Delete
if ( ! isset( $messages['messages'] ) || ! isset( $messages['instant_messages'] ) ) {
[73] Fix | Delete
$messages = array( 'messages' => array(), 'instant_messages' => array() );
[74] Fix | Delete
}
[75] Fix | Delete
[76] Fix | Delete
return (array) $messages;
[77] Fix | Delete
}
[78] Fix | Delete
[79] Fix | Delete
private static function save_messages( $messages ) {
[80] Fix | Delete
if ( isset( $messages ) ) {
[81] Fix | Delete
update_option( 'icl_admin_messages', (array) $messages );
[82] Fix | Delete
}
[83] Fix | Delete
self::get_messages();
[84] Fix | Delete
}
[85] Fix | Delete
[86] Fix | Delete
/**
[87] Fix | Delete
* @param $args
[88] Fix | Delete
* Args attributes:
[89] Fix | Delete
* string id - An unique identifier for the message
[90] Fix | Delete
* string msg - The actual message
[91] Fix | Delete
* string type (optional) - Any string: it will be used as css class fro the message container. A typical value is 'error', but the following strings can be also used: icl-admin-message-information, icl-admin-message-warning
[92] Fix | Delete
* array classes (optional) - Display the notice only on specific url(s)
[93] Fix | Delete
* bool hide (optional) - Enable the toggle link to permanently hide the notice
[94] Fix | Delete
* bool hide_per_user (optional) - Enable the toggle link per user basis (overrides hide option)
[95] Fix | Delete
* bool dismiss (optional) - Enable the dismiss option
[96] Fix | Delete
* bool dismiss_per_user (optional) - Enable the dismiss option per user basis (overrides dismiss option)
[97] Fix | Delete
* bool|string fallback_text (optional) - A message to show when the notice gets hidden
[98] Fix | Delete
* bool|string fallback_type (optional) - The message type to use in the fallback message (@see $type)
[99] Fix | Delete
* array fallback_classes (optional) - The message type to use in the fallback message (@see $type)
[100] Fix | Delete
* bool|string group (optional) - A way to group messages: when displaying messages stored with this method, it's possible to filter them by group (@see ICL_AdminNotifier::displayMessages)
[101] Fix | Delete
* bool admin_notice (optional) - Hook the rendering to the 'admin_notice' action
[102] Fix | Delete
* string|array limit_to_page (optional) - Display the notice only on specific page(s)
[103] Fix | Delete
*/
[104] Fix | Delete
public static function add_message( $args ) {
[105] Fix | Delete
$defaults = array(
[106] Fix | Delete
'type' => '',
[107] Fix | Delete
'classes' => array(),
[108] Fix | Delete
'hide' => false,
[109] Fix | Delete
'hide_per_user' => false,
[110] Fix | Delete
'dismiss' => false,
[111] Fix | Delete
'dismiss_per_user' => false,
[112] Fix | Delete
'fallback_text' => false,
[113] Fix | Delete
'fallback_type' => false,
[114] Fix | Delete
'fallback_classes' => array(),
[115] Fix | Delete
'group' => false,
[116] Fix | Delete
'admin_notice' => false,
[117] Fix | Delete
'hidden' => false,
[118] Fix | Delete
'dismissed' => false,
[119] Fix | Delete
'limit_to_page' => false,
[120] Fix | Delete
'show_once' => false,
[121] Fix | Delete
'capability' => '',
[122] Fix | Delete
);
[123] Fix | Delete
[124] Fix | Delete
$args = self::sanitize_message_args( $args );
[125] Fix | Delete
[126] Fix | Delete
$args = array_merge( $defaults, $args );
[127] Fix | Delete
[128] Fix | Delete
$id = $args['id'];
[129] Fix | Delete
[130] Fix | Delete
//Check if existing message has been set as dismissed or hidden
[131] Fix | Delete
if ( self::message_id_exists( $id ) ) {
[132] Fix | Delete
$temp_msg = self::get_message( $id );
[133] Fix | Delete
[134] Fix | Delete
if ( $temp_msg ) {
[135] Fix | Delete
$current_user_id = get_current_user_id();
[136] Fix | Delete
$message_user_data = isset( $temp_msg['users'][ $current_user_id ] ) ? $temp_msg['users'][ $current_user_id ] : false;
[137] Fix | Delete
[138] Fix | Delete
if ( self::is_user_dismissed( $temp_msg ) || self::is_globally_dismissed( $temp_msg ) || self::is_globally_hidden( $temp_msg ) ) {
[139] Fix | Delete
return;
[140] Fix | Delete
}
[141] Fix | Delete
[142] Fix | Delete
if ( isset( $message_user_data['hidden'] ) ) {
[143] Fix | Delete
$args['hidden'] = $message_user_data['hidden'] ? false : $args['hidden'];
[144] Fix | Delete
}
[145] Fix | Delete
}
[146] Fix | Delete
}
[147] Fix | Delete
[148] Fix | Delete
$id = $id ? $id : md5( wp_json_encode( $args ) );
[149] Fix | Delete
$messages = self::get_messages();
[150] Fix | Delete
[151] Fix | Delete
$message = array(
[152] Fix | Delete
'id' => $id,
[153] Fix | Delete
'text' => $args['text'],
[154] Fix | Delete
'type' => $args['type'],
[155] Fix | Delete
'classes' => $args['classes'],
[156] Fix | Delete
'hide' => $args['hide'],
[157] Fix | Delete
'hide_per_user' => $args['hide_per_user'],
[158] Fix | Delete
'dismiss' => $args['dismiss'],
[159] Fix | Delete
'dismiss_per_user' => $args['dismiss_per_user'],
[160] Fix | Delete
'fallback_text' => $args['fallback_text'],
[161] Fix | Delete
'fallback_type' => $args['fallback_type'],
[162] Fix | Delete
'fallback_classes' => $args['classes'],
[163] Fix | Delete
'group' => $args['group'],
[164] Fix | Delete
'admin_notice' => $args['admin_notice'],
[165] Fix | Delete
'hidden' => false,
[166] Fix | Delete
'dismissed' => false,
[167] Fix | Delete
'limit_to_page' => $args['limit_to_page'],
[168] Fix | Delete
'show_once' => $args['show_once'],
[169] Fix | Delete
'capability' => $args['capability'],
[170] Fix | Delete
);
[171] Fix | Delete
[172] Fix | Delete
$message_md5 = md5( wp_json_encode( $message ) );
[173] Fix | Delete
[174] Fix | Delete
if ( isset( $messages['messages'][ $id ] ) ) {
[175] Fix | Delete
$existing_message_md5 = md5( wp_json_encode( $messages['messages'][ $id ] ) );
[176] Fix | Delete
if ( $message_md5 != $existing_message_md5 ) {
[177] Fix | Delete
unset( $messages['messages'][ $id ] );
[178] Fix | Delete
}
[179] Fix | Delete
}
[180] Fix | Delete
[181] Fix | Delete
if ( ! isset( $messages['messages'][ $id ] ) ) {
[182] Fix | Delete
$messages['messages'][ $id ] = $message;
[183] Fix | Delete
self::save_messages( $messages );
[184] Fix | Delete
}
[185] Fix | Delete
}
[186] Fix | Delete
[187] Fix | Delete
public static function is_user_dismissed( $message_data ) {
[188] Fix | Delete
$current_user_id = get_current_user_id();
[189] Fix | Delete
$message_user_data = isset( $message_data['users'][ $current_user_id ] ) ? $message_data['users'][ $current_user_id ] : false;
[190] Fix | Delete
[191] Fix | Delete
return ! empty( $message_data['dismiss_per_user'] ) && ! empty( $message_user_data['dismissed'] );
[192] Fix | Delete
}
[193] Fix | Delete
[194] Fix | Delete
public static function is_globally_dismissed( $message_data ) {
[195] Fix | Delete
return ! empty( $message_data['dismiss'] ) && $message_data['dismissed'];
[196] Fix | Delete
}
[197] Fix | Delete
[198] Fix | Delete
public static function is_globally_hidden( $message_data ) {
[199] Fix | Delete
return ! empty( $message_data['hide'] ) && $message_data['hidden'];
[200] Fix | Delete
}
[201] Fix | Delete
[202] Fix | Delete
public static function hide_message() {
[203] Fix | Delete
[204] Fix | Delete
$message_id = self::get_message_id();
[205] Fix | Delete
$dismiss = isset( $_POST['dismiss'] ) ? $_POST['dismiss'] : false;
[206] Fix | Delete
if ( ! self::message_id_exists( $message_id ) ) {
[207] Fix | Delete
exit;
[208] Fix | Delete
}
[209] Fix | Delete
[210] Fix | Delete
self::set_message_display( $message_id, false, 'hide', 'hidden', 'hide_per_user' );
[211] Fix | Delete
[212] Fix | Delete
if ( $dismiss ) {
[213] Fix | Delete
self::set_message_display( $message_id, false, 'dismiss', 'dismissed', 'dismiss_per_user' );
[214] Fix | Delete
} else {
[215] Fix | Delete
$messages = self::get_messages();
[216] Fix | Delete
$message = $messages['messages'][ $message_id ];
[217] Fix | Delete
if ( $message && isset( $message['fallback_text'] ) && $message['fallback_text'] ) {
[218] Fix | Delete
echo self::display_message( $message_id, $message['fallback_text'], $message['fallback_type'], $message['fallback_classes'], false, false, true, true );
[219] Fix | Delete
}
[220] Fix | Delete
}
[221] Fix | Delete
exit;
[222] Fix | Delete
}
[223] Fix | Delete
[224] Fix | Delete
public static function get_message_id() {
[225] Fix | Delete
$message_id = '';
[226] Fix | Delete
if ( isset( $_POST['icl-admin-message-id'] ) ) {
[227] Fix | Delete
$message_id = filter_var( $_POST['icl-admin-message-id'], FILTER_SANITIZE_FULL_SPECIAL_CHARS );
[228] Fix | Delete
}
[229] Fix | Delete
$message_id = $message_id ? $message_id : '';
[230] Fix | Delete
$message_id = preg_replace( '/^icl-id-/', '', $message_id );
[231] Fix | Delete
[232] Fix | Delete
return $message_id;
[233] Fix | Delete
}
[234] Fix | Delete
[235] Fix | Delete
public static function show_message() {
[236] Fix | Delete
$message_id = self::get_message_id();
[237] Fix | Delete
if ( ! self::message_id_exists( $message_id ) ) {
[238] Fix | Delete
exit;
[239] Fix | Delete
}
[240] Fix | Delete
[241] Fix | Delete
self::set_message_display( $message_id, true, 'hide', 'hidden', 'hide_per_user' );
[242] Fix | Delete
[243] Fix | Delete
$messages = self::get_messages();
[244] Fix | Delete
$message = $messages['messages'][ $message_id ];
[245] Fix | Delete
if ( $message ) {
[246] Fix | Delete
echo self::display_message( $message_id, $message['text'], $message['type'], $message['classes'], $message['hide'] || $message['hide_per_user'], $message['dismiss'] || $message['dismiss_per_user'], true, true );
[247] Fix | Delete
}
[248] Fix | Delete
exit;
[249] Fix | Delete
}
[250] Fix | Delete
[251] Fix | Delete
public static function engage_message() {
[252] Fix | Delete
$message_id = self::get_message_id();
[253] Fix | Delete
if ( ! self::message_id_exists( $message_id ) ) {
[254] Fix | Delete
exit;
[255] Fix | Delete
}
[256] Fix | Delete
[257] Fix | Delete
self::set_message_display( $message_id, true, 'dismiss', 'dismissed', 'dismiss_per_user' );
[258] Fix | Delete
}
[259] Fix | Delete
[260] Fix | Delete
private static function set_message_display( $message_id, $show, $action, $action_past, $action_user ) {
[261] Fix | Delete
if ( $message_id === null ) {
[262] Fix | Delete
return;
[263] Fix | Delete
}
[264] Fix | Delete
[265] Fix | Delete
$messages = self::get_messages();
[266] Fix | Delete
[267] Fix | Delete
if ( ! isset( $messages['messages'][ $message_id ] ) ) {
[268] Fix | Delete
return;
[269] Fix | Delete
}
[270] Fix | Delete
$message = $messages['messages'][ $message_id ];
[271] Fix | Delete
$current_user_id = get_current_user_id();
[272] Fix | Delete
if ( $message[ $action_user ] && $current_user_id ) {
[273] Fix | Delete
$message['users'][ $current_user_id ][ $action_past ] = ! $show;
[274] Fix | Delete
} elseif ( $message[ $action ] ) {
[275] Fix | Delete
$message[ $action_past ] = ! $show;
[276] Fix | Delete
}
[277] Fix | Delete
$messages['messages'][ $message_id ] = $message;
[278] Fix | Delete
self::save_messages( $messages );
[279] Fix | Delete
}
[280] Fix | Delete
[281] Fix | Delete
public static function remove_message( $message_id ) {
[282] Fix | Delete
if ( $message_id === null || ! isset( $message_id ) ) {
[283] Fix | Delete
return false;
[284] Fix | Delete
}
[285] Fix | Delete
[286] Fix | Delete
$messages = self::get_messages();
[287] Fix | Delete
[288] Fix | Delete
if ( ! isset( $messages['messages'][ $message_id ] ) ) {
[289] Fix | Delete
return false;
[290] Fix | Delete
}
[291] Fix | Delete
[292] Fix | Delete
unset( $messages['messages'][ $message_id ] );
[293] Fix | Delete
[294] Fix | Delete
self::save_messages( $messages );
[295] Fix | Delete
[296] Fix | Delete
return false;
[297] Fix | Delete
}
[298] Fix | Delete
[299] Fix | Delete
public static function remove_message_group( $message_group ) {
[300] Fix | Delete
if ( $message_group === null || ! isset( $message_group ) ) {
[301] Fix | Delete
return;
[302] Fix | Delete
}
[303] Fix | Delete
[304] Fix | Delete
$all_messages = self::get_messages();
[305] Fix | Delete
[306] Fix | Delete
if ( ! isset( $all_messages['messages'] ) ) {
[307] Fix | Delete
return;
[308] Fix | Delete
}
[309] Fix | Delete
[310] Fix | Delete
$messages = $all_messages['messages'];
[311] Fix | Delete
[312] Fix | Delete
$ids_to_remove = array();
[313] Fix | Delete
foreach ( $messages as $id => $message_data ) {
[314] Fix | Delete
if ( isset( $message_data['group'] ) && $message_data['group'] == $message_group ) {
[315] Fix | Delete
$ids_to_remove[] = $id;
[316] Fix | Delete
}
[317] Fix | Delete
}
[318] Fix | Delete
[319] Fix | Delete
foreach ( $ids_to_remove as $id_to_remove ) {
[320] Fix | Delete
self::remove_message( $id_to_remove );
[321] Fix | Delete
}
[322] Fix | Delete
}
[323] Fix | Delete
[324] Fix | Delete
public static function display_messages( $group = false ) {
[325] Fix | Delete
if ( is_admin() ) {
[326] Fix | Delete
$messages = self::get_messages();
[327] Fix | Delete
[328] Fix | Delete
foreach ( $messages['messages'] as $id => $msg ) {
[329] Fix | Delete
if ( ! $group || ( isset( $msg['group'] ) && $msg['group'] == $group ) ) {
[330] Fix | Delete
if ( isset( $msg['admin_notice'] ) && ! $msg['admin_notice'] ) {
[331] Fix | Delete
if ( ! isset( $msg['capability'] ) || ( $msg['capability'] == '' ) || current_user_can( $msg['capability'] ) ) {
[332] Fix | Delete
if ( array_key_exists( 'limit_to_page', $msg ) ) {
[333] Fix | Delete
foreach( $msg['limit_to_page'] as $page ) {
[334] Fix | Delete
if ( array_key_exists( 'page', $_GET ) && $_GET['page'] === $page ) {
[335] Fix | Delete
self::display_message( $id, $msg['text'], $msg['type'], $msg['classes'], $msg['hide'] || $msg['hide_per_user'], $msg['dismiss'] || $msg['dismiss_per_user'], true );
[336] Fix | Delete
}
[337] Fix | Delete
}
[338] Fix | Delete
} else {
[339] Fix | Delete
self::display_message( $id, $msg['text'], $msg['type'], $msg['classes'], $msg['hide'] || $msg['hide_per_user'], $msg['dismiss'] || $msg['dismiss_per_user'], true );
[340] Fix | Delete
}
[341] Fix | Delete
}
[342] Fix | Delete
}
[343] Fix | Delete
}
[344] Fix | Delete
}
[345] Fix | Delete
[346] Fix | Delete
foreach ( $messages['instant_messages'] as $msg ) {
[347] Fix | Delete
self::display_instant_message( $msg['text'], $msg['type'] );
[348] Fix | Delete
}
[349] Fix | Delete
// delete instant messages
[350] Fix | Delete
$messages['instant_messages'] = array();
[351] Fix | Delete
self::save_messages( $messages );
[352] Fix | Delete
}
[353] Fix | Delete
}
[354] Fix | Delete
[355] Fix | Delete
/**
[356] Fix | Delete
* @deprecated deprecated @since version 3.2. Use ICL_AdminNotifier::display_message()
[357] Fix | Delete
*
[358] Fix | Delete
* @param bool $group
[359] Fix | Delete
*/
[360] Fix | Delete
public static function displayMessages( $group = false ) {
[361] Fix | Delete
self::display_messages( $group );
[362] Fix | Delete
}
[363] Fix | Delete
[364] Fix | Delete
public static function admin_notices() {
[365] Fix | Delete
$messages = self::get_messages();
[366] Fix | Delete
if ( isset( $messages['messages'] ) ) {
[367] Fix | Delete
foreach ( $messages['messages'] as $id => $msg ) {
[368] Fix | Delete
[369] Fix | Delete
if ( isset( $msg['limit_to_page'] ) && $msg['limit_to_page'] ) {
[370] Fix | Delete
if ( ! is_array( $msg['limit_to_page'] ) ) {
[371] Fix | Delete
$msg['limit_to_page'] = (array) $msg['limit_to_page'];
[372] Fix | Delete
}
[373] Fix | Delete
if ( ! isset( $_REQUEST['page'] ) || ! in_array( $_REQUEST['page'], $msg['limit_to_page'] ) ) {
[374] Fix | Delete
continue;
[375] Fix | Delete
}
[376] Fix | Delete
}
[377] Fix | Delete
[378] Fix | Delete
if ( $msg['admin_notice'] ) {
[379] Fix | Delete
$current_user_id = get_current_user_id();
[380] Fix | Delete
$display = true;
[381] Fix | Delete
$display_fallback = false;
[382] Fix | Delete
[383] Fix | Delete
$message_user_data = isset( $msg['users'][ $current_user_id ] ) ? $msg['users'][ $current_user_id ] : false;
[384] Fix | Delete
[385] Fix | Delete
if ( $msg['dismiss_per_user'] && isset( $message_user_data['dismissed'] ) && $message_user_data['dismissed'] ) {
[386] Fix | Delete
$display = false;
[387] Fix | Delete
} elseif ( $msg['dismiss'] && isset( $msg['dismissed'] ) && $msg['dismissed'] ) {
[388] Fix | Delete
$display = false;
[389] Fix | Delete
}
[390] Fix | Delete
[391] Fix | Delete
if ( $display ) {
[392] Fix | Delete
if ( $msg['hide_per_user'] && isset( $message_user_data['hidden'] ) && $message_user_data['hidden'] ) {
[393] Fix | Delete
$display = false;
[394] Fix | Delete
$display_fallback = $msg['fallback_text'];
[395] Fix | Delete
} elseif ( $msg['hide'] && isset( $msg['hidden'] ) && $msg['hidden'] ) {
[396] Fix | Delete
$display = false;
[397] Fix | Delete
$display_fallback = $msg['fallback_text'];
[398] Fix | Delete
}
[399] Fix | Delete
}
[400] Fix | Delete
[401] Fix | Delete
$msg['classes'] = isset( $msg['classes'] ) ? $msg['classes'] : array();
[402] Fix | Delete
$msg['fallback_classes'] = isset( $msg['fallback_classes'] ) ? $msg['fallback_classes'] : array();
[403] Fix | Delete
if ( $display ) {
[404] Fix | Delete
self::display_message( $id, $msg['text'], $msg['type'], $msg['classes'], $msg['hide'] || $msg['hide_per_user'], $msg['dismiss'] || $msg['dismiss_per_user'], true );
[405] Fix | Delete
if ( $msg['show_once'] && ! $display_fallback ) {
[406] Fix | Delete
self::remove_message( $msg['id'] );
[407] Fix | Delete
}
[408] Fix | Delete
} elseif ( $display_fallback ) {
[409] Fix | Delete
self::display_message( $id, $msg['fallback_text'], $msg['fallback_type'], $msg['fallback_classes'], false, false, true );
[410] Fix | Delete
if ( $msg['show_once'] ) {
[411] Fix | Delete
self::remove_message( $msg['id'] );
[412] Fix | Delete
}
[413] Fix | Delete
}
[414] Fix | Delete
}
[415] Fix | Delete
}
[416] Fix | Delete
}
[417] Fix | Delete
}
[418] Fix | Delete
[419] Fix | Delete
/**
[420] Fix | Delete
* @param string $id
[421] Fix | Delete
* @param string $message
[422] Fix | Delete
* @param string $type
[423] Fix | Delete
* @param string|array $classes
[424] Fix | Delete
* @param bool $hide
[425] Fix | Delete
* @param bool $dismiss
[426] Fix | Delete
* @param bool $admin_notice
[427] Fix | Delete
* @param bool $echo
[428] Fix | Delete
*
[429] Fix | Delete
* @return string
[430] Fix | Delete
*/
[431] Fix | Delete
private static function display_message( $id, $message, $type = '', $classes = array(), $hide = true, $dismiss = false, $admin_notice = false, $echo = false ) {
[432] Fix | Delete
$result = '';
[433] Fix | Delete
$temp_classes = array();
[434] Fix | Delete
if ( strpos( $type, 'icl-admin-message' ) ) {
[435] Fix | Delete
$type = str_replace( 'icl-admin-message-', '', $type );
[436] Fix | Delete
}
[437] Fix | Delete
if ( $admin_notice ) {
[438] Fix | Delete
$temp_classes[] = 'icl-admin-message';
[439] Fix | Delete
}
[440] Fix | Delete
$temp_types = explode( ' ', $type );
[441] Fix | Delete
$temp_types = array_unique( $temp_types );
[442] Fix | Delete
foreach ( $temp_types as $temp_type ) {
[443] Fix | Delete
if ( $admin_notice ) {
[444] Fix | Delete
$temp_classes[] = 'icl-admin-message-' . $temp_type;
[445] Fix | Delete
}
[446] Fix | Delete
$temp_classes[] = $temp_type;
[447] Fix | Delete
}
[448] Fix | Delete
[449] Fix | Delete
if ( $classes ) {
[450] Fix | Delete
if ( ! is_array( $classes ) ) {
[451] Fix | Delete
$classes = explode( ' ', $classes );
[452] Fix | Delete
}
[453] Fix | Delete
foreach ( $classes as $class ) {
[454] Fix | Delete
$temp_classes[] = $class;
[455] Fix | Delete
}
[456] Fix | Delete
}
[457] Fix | Delete
if ( $hide OR $dismiss ) {
[458] Fix | Delete
$temp_classes[] = 'otgs-is-dismissible';
[459] Fix | Delete
}
[460] Fix | Delete
[461] Fix | Delete
$temp_classes = array_unique( $temp_classes );
[462] Fix | Delete
[463] Fix | Delete
$class = implode( ' ', $temp_classes );
[464] Fix | Delete
[465] Fix | Delete
$result .= '<div class="' . $class . '" id="icl-id-' . $id . '"';
[466] Fix | Delete
[467] Fix | Delete
if ( $hide ) {
[468] Fix | Delete
$result .= ' data-hide-text="' . __( 'Hide', 'sitepress' ) . '" ';
[469] Fix | Delete
}
[470] Fix | Delete
$result .= '>';
[471] Fix | Delete
[472] Fix | Delete
$result .= '<p>' . self::sanitize_and_format_message( $message ) . '</p>';
[473] Fix | Delete
if ( $hide ) {
[474] Fix | Delete
$result .= ' <span class="icl-admin-message-hide notice-dismiss"><span class="screen-reader-text">' . __( 'Hide this notice.', 'sitepress' ) . '</span></span>';
[475] Fix | Delete
}
[476] Fix | Delete
[477] Fix | Delete
if ( $dismiss ) {
[478] Fix | Delete
$result .= ' <span class="icl-admin-message-dismiss notice-dismiss">';
[479] Fix | Delete
$result .= '<span class="screen-reader-text"><input class="icl-admin-message-dismiss-check" type="checkbox" value="1" />';
[480] Fix | Delete
$result .= __( 'Dismiss this notice.', 'sitepress' );
[481] Fix | Delete
$result .= '</span></span>';
[482] Fix | Delete
}
[483] Fix | Delete
[484] Fix | Delete
$result .= '</div>';
[485] Fix | Delete
[486] Fix | Delete
if ( ! $echo ) {
[487] Fix | Delete
echo $result;
[488] Fix | Delete
}
[489] Fix | Delete
[490] Fix | Delete
return $result;
[491] Fix | Delete
}
[492] Fix | Delete
[493] Fix | Delete
public static function display_instant_message( $message, $type = 'information', $class = false, $return = false, $fadeout = false ) {
[494] Fix | Delete
$classes = array();
[495] Fix | Delete
if ( ! $class && $type ) {
[496] Fix | Delete
$classes[] = $type;
[497] Fix | Delete
}
[498] Fix | Delete
$classes[] = 'instant-message';
[499] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function