1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
<?php
/**
* The class responsible for displaying admin notices.
*
* @link https://www.onlineforce.net
* @since 1.0.0
*
* @package Woocommerce_Izettle
* @subpackage Woocommerce_Izettle/admin
*/
namespace Onlineforce\Woocommerce_Izettle;
/**
* The class responsible for displaying admin notices.
*
* @package Woocommerce_Izettle
* @subpackage Woocommerce_Izettle/admin
* @author Onlineforce Sweden AB <support@onlineforce.net>
*/
class Woocommerce_Izettle_Admin_Notices {
/**
* The notices to be displayed.
*
* @since 1.0.0
* @access private
*
* @var array $notices.
*/
private $notices;
/**
* Initialize the class.
*
* @since 1.0.0
*/
public function __construct() {
$this->notices = array();
}
/**
* Adds a notice to be displayed.
*
* @param string $type The type of notice, can be 'error',
* 'warning', 'success' or 'info'.
*
* @param string $message The message to display.
*
* @throws \Exception When $type isn't in $valid_types.
*/
public function add_notice( $type, $message ) {
$valid_types = array(
'updated',
'error',
);
if ( ! in_array( $type, $valid_types ) ) {
throw new \Exception( 'Invalid notice type.' );
}
$id = intval( $message, 36 );
$this->notices[] = array(
'id' => 'woocommerce_izettle_' . $id,
'type' => $type,
'message' => $message,
);
}
/**
* Shows the notices that have been added with add_notice.
*/
public function get_notices() {
return $this->notices;
}
}