WordPress 4.3
[autoinstalls/wordpress.git] / wp-includes / class-wp-error.php
index 1624195833c9d1ea37f4a9b05a018e5347bd2cfa..0969b12e33aa7a1f2f213982cd5f9eac514a66bb 100644 (file)
@@ -24,37 +24,35 @@ class WP_Error {
         *
         * @since 2.1.0
         * @var array
         *
         * @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
 
        /**
         * Stores the list of data for error codes.
         *
         * @since 2.1.0
         * @var array
-        * @access private
         */
         */
-       var $error_data = array();
+       public $error_data = array();
 
        /**
 
        /**
-        * PHP4 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.
         *
         * @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 WP_Error($code = '', $message = '', $data = '') {
+       public function __construct( $code = '', $message = '', $data = '' ) {
                if ( empty($code) )
                        return;
 
                if ( empty($code) )
                        return;
 
@@ -70,9 +68,9 @@ class WP_Error {
         * @since 2.1.0
         * @access public
         *
         * @since 2.1.0
         * @access public
         *
-        * @return array List of error codes, if avaiable.
+        * @return array List of error codes, if available.
         */
         */
-       function get_error_codes() {
+       public function get_error_codes() {
                if ( empty($this->errors) )
                        return array();
 
                if ( empty($this->errors) )
                        return array();
 
@@ -87,7 +85,7 @@ class WP_Error {
         *
         * @return string|int Empty string, if no error codes.
         */
         *
         * @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) )
                $codes = $this->get_error_codes();
 
                if ( empty($codes) )
@@ -102,9 +100,9 @@ class WP_Error {
         * @since 2.1.0
         *
         * @param string|int $code Optional. Retrieve messages matching code, if exists.
         * @since 2.1.0
         *
         * @param string|int $code Optional. Retrieve messages matching code, if exists.
-        * @return array Error strings on success, or empty array on failure (if using codee parameter).
+        * @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();
                // Return all messages if no code specified.
                if ( empty($code) ) {
                        $all_messages = array();
@@ -131,7 +129,7 @@ class WP_Error {
         * @param string|int $code Optional. Error code to retrieve message.
         * @return string
         */
         * @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);
                if ( empty($code) )
                        $code = $this->get_error_code();
                $messages = $this->get_error_messages($code);
@@ -146,19 +144,18 @@ class WP_Error {
         * @since 2.1.0
         *
         * @param string|int $code Optional. Error code.
         * @since 2.1.0
         *
         * @param string|int $code Optional. Error code.
-        * @return mixed Null, if no errors.
+        * @return mixed Error data, if it exists.
         */
         */
-       function get_error_data($code = '') {
+       public function get_error_data($code = '') {
                if ( empty($code) )
                        $code = $this->get_error_code();
 
                if ( isset($this->error_data[$code]) )
                        return $this->error_data[$code];
                if ( empty($code) )
                        $code = $this->get_error_code();
 
                if ( isset($this->error_data[$code]) )
                        return $this->error_data[$code];
-               return null;
        }
 
        /**
        }
 
        /**
-        * 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
         *
         * @since 2.1.0
         * @access public
@@ -167,7 +164,7 @@ class WP_Error {
         * @param string $message Error message.
         * @param mixed $data Optional. Error data.
         */
         * @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;
                $this->errors[$code][] = $message;
                if ( ! empty($data) )
                        $this->error_data[$code] = $data;
@@ -183,30 +180,39 @@ class WP_Error {
         * @param mixed $data Error data.
         * @param string|int $code Error code.
         */
         * @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;
        }
                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 ] );
+       }
 }
 
 /**
  * Check whether variable is a WordPress Error.
  *
 }
 
 /**
  * Check whether variable is a WordPress Error.
  *
- * Looks at the object and if a WP_Error class. Does not check to see if the
- * parent is also WP_Error, so can't inherit WP_Error and still use this
- * function.
+ * Returns true if $thing is an object of the WP_Error class.
  *
  * @since 2.1.0
  *
  *
  * @since 2.1.0
  *
- * @param mixed $thing Check if unknown variable is WordPress Error object.
+ * @param mixed $thing Check if unknown variable is a WP_Error object.
  * @return bool True, if WP_Error. False, if not WP_Error.
  */
  * @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 );
 }
 }
-
-?>
\ No newline at end of file