' . $gotItText . ''; } Messenger::printMessage($level, $msg); } public static function printMessages() { $ids = State::getState('dismissableMessageIds', []); foreach ($ids as $id) { include_once __DIR__ . '/../dismissable-messages/' . $id . '.php'; } } /** * Dismiss message * * @param string $id An identifier, ie "suggest_enable_pngs" */ public static function dismissMessage($id) { $messages = State::getState('dismissableMessageIds', []); $newQueue = []; foreach ($messages as $mid) { if ($mid == $id) { } else { $newQueue[] = $mid; } } State::setState('dismissableMessageIds', $newQueue); } /** * Dismiss message * * @param string $id An identifier, ie "suggest_enable_pngs" */ public static function dismissAll() { State::setState('dismissableMessageIds', []); } public static function processAjaxDismissMessage() { /* We have no security nonce here Dismissing a message is not harmful and dismissMessage($id) do anything harmful, no matter what you send in the "id" */ $id = sanitize_text_field($_POST['id']); self::dismissMessage($id); } }