wp/wp-includes/class-wp-error.php
changeset 5 5e2f62d02dcd
parent 0 d970ebf37754
child 7 cf61fcea0001
--- a/wp/wp-includes/class-wp-error.php	Mon Jun 08 16:11:51 2015 +0000
+++ b/wp/wp-includes/class-wp-error.php	Tue Jun 09 03:35:32 2015 +0200
@@ -24,37 +24,35 @@
 	 *
 	 * @since 2.1.0
 	 * @var array
-	 * @access private
 	 */
-	var $errors = array();
+	public $errors = array();
 
 	/**
 	 * Stores the list of data for error codes.
 	 *
 	 * @since 2.1.0
 	 * @var array
-	 * @access private
 	 */
-	var $error_data = array();
+	public $error_data = array();
 
 	/**
-	 * Constructor - Sets up error message.
+	 * Initialize the error.
 	 *
-	 * If code parameter is empty then nothing will be done. It is possible to
-	 * add multiple messages to the same code, but with other methods in the
-	 * class.
+	 * If `$code` is empty, the other parameters will be ignored.
+	 * When `$code` is not empty, `$message` will be used even if
+	 * it is empty. The `$data` parameter will be used only if it
+	 * is not empty.
 	 *
-	 * All parameters are optional, but if the code parameter is set, then the
-	 * data parameter is optional.
+	 * Though the class is constructed with a single error code and
+	 * message, multiple codes can be added using the `add()` method.
 	 *
 	 * @since 2.1.0
 	 *
 	 * @param string|int $code Error code
 	 * @param string $message Error message
 	 * @param mixed $data Optional. Error data.
-	 * @return WP_Error
 	 */
-	function __construct($code = '', $message = '', $data = '') {
+	public function __construct( $code = '', $message = '', $data = '' ) {
 		if ( empty($code) )
 			return;
 
@@ -72,7 +70,7 @@
 	 *
 	 * @return array List of error codes, if available.
 	 */
-	function get_error_codes() {
+	public function get_error_codes() {
 		if ( empty($this->errors) )
 			return array();
 
@@ -87,7 +85,7 @@
 	 *
 	 * @return string|int Empty string, if no error codes.
 	 */
-	function get_error_code() {
+	public function get_error_code() {
 		$codes = $this->get_error_codes();
 
 		if ( empty($codes) )
@@ -104,7 +102,7 @@
 	 * @param string|int $code Optional. Retrieve messages matching code, if exists.
 	 * @return array Error strings on success, or empty array on failure (if using code parameter).
 	 */
-	function get_error_messages($code = '') {
+	public function get_error_messages($code = '') {
 		// Return all messages if no code specified.
 		if ( empty($code) ) {
 			$all_messages = array();
@@ -131,7 +129,7 @@
 	 * @param string|int $code Optional. Error code to retrieve message.
 	 * @return string
 	 */
-	function get_error_message($code = '') {
+	public function get_error_message($code = '') {
 		if ( empty($code) )
 			$code = $this->get_error_code();
 		$messages = $this->get_error_messages($code);
@@ -148,7 +146,7 @@
 	 * @param string|int $code Optional. Error code.
 	 * @return mixed Null, if no errors.
 	 */
-	function get_error_data($code = '') {
+	public function get_error_data($code = '') {
 		if ( empty($code) )
 			$code = $this->get_error_code();
 
@@ -158,7 +156,7 @@
 	}
 
 	/**
-	 * Append more error messages to list of error messages.
+	 * Add an error or append additional message to an existing error.
 	 *
 	 * @since 2.1.0
 	 * @access public
@@ -167,7 +165,7 @@
 	 * @param string $message Error message.
 	 * @param mixed $data Optional. Error data.
 	 */
-	function add($code, $message, $data = '') {
+	public function add($code, $message, $data = '') {
 		$this->errors[$code][] = $message;
 		if ( ! empty($data) )
 			$this->error_data[$code] = $data;
@@ -183,12 +181,27 @@
 	 * @param mixed $data Error data.
 	 * @param string|int $code Error code.
 	 */
-	function add_data($data, $code = '') {
+	public function add_data($data, $code = '') {
 		if ( empty($code) )
 			$code = $this->get_error_code();
 
 		$this->error_data[$code] = $data;
 	}
+
+	/**
+	 * Removes the specified error.
+	 *
+	 * This function removes all error messages associated with the specified
+	 * error code, along with any error data for that code.
+	 *
+	 * @since 4.1.0
+	 *
+	 * @param string|int $code Error code.
+	 */
+	public function remove( $code ) {
+		unset( $this->errors[ $code ] );
+		unset( $this->error_data[ $code ] );
+	}
 }
 
 /**
@@ -201,8 +214,6 @@
  * @param mixed $thing Check if unknown variable is a WP_Error object.
  * @return bool True, if WP_Error. False, if not WP_Error.
  */
-function is_wp_error($thing) {
-	if ( is_object($thing) && is_a($thing, 'WP_Error') )
-		return true;
-	return false;
+function is_wp_error( $thing ) {
+	return ( $thing instanceof WP_Error );
 }