PluginProbe
Independent Analytics – WordPress Analytics Plugin / 2.11.4
Independent Analytics – WordPress Analytics Plugin v2.11.4
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 All 120 releases
independent-analytics / freemius / includes / sdk / Exceptions / Exception.php
Exception.php
79 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit;
4 }
5
6 if ( ! class_exists( 'Freemius_Exception' ) ) {
7 /**
8 * Thrown when an API call returns an exception.
9 *
10 */
11 class Freemius_Exception extends Exception {
12 protected $_result;
13 protected $_type;
14 protected $_code;
15
16 /**
17 * Make a new API Exception with the given result.
18 *
19 * @param array $result The result from the API server.
20 */
21 public function __construct( $result ) {
22 $this->_result = $result;
23
24 $code = 0;
25 $message = 'Unknown error, please check GetResult().';
26 $type = '';
27
28 if ( isset( $result['error'] ) && is_array( $result['error'] ) ) {
29 if ( isset( $result['error']['code'] ) ) {
30 $code = $result['error']['code'];
31 }
32 if ( isset( $result['error']['message'] ) ) {
33 $message = $result['error']['message'];
34 }
35 if ( isset( $result['error']['type'] ) ) {
36 $type = $result['error']['type'];
37 }
38 }
39
40 $this->_type = $type;
41 $this->_code = $code;
42
43 parent::__construct( $message, is_numeric( $code ) ? $code : 0 );
44 }
45
46 /**
47 * Return the associated result object returned by the API server.
48 *
49 * @return array The result from the API server
50 */
51 public function getResult() {
52 return $this->_result;
53 }
54
55 public function getStringCode() {
56 return $this->_code;
57 }
58
59 public function getType() {
60 return $this->_type;
61 }
62
63 /**
64 * To make debugging easier.
65 *
66 * @return string The string representation of the error
67 */
68 public function __toString() {
69 $str = $this->getType() . ': ';
70
71 if ( $this->code != 0 ) {
72 $str .= $this->getStringCode() . ': ';
73 }
74
75 return $str . $this->getMessage();
76 }
77 }
78 }
79