-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathError.php
More file actions
137 lines (122 loc) · 2.61 KB
/
Error.php
File metadata and controls
137 lines (122 loc) · 2.61 KB
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<?php
/**
* @copyright Clock Limited 2010
* @version 3.2 - $Revision: 1329 $ - $Date: 2010-02-24 22:41:33 +0000 (Wed, 24 Feb 2010) $
* @package Core
*/
/**
* Global Error Handler
* @author Paul Serby {@link mailto:paul.serby@clock.co.uk paul.serby@clock.co.uk }
* @copyright Clock Limited 2010
* @version 3.2 - $Revision: 1329 $ - $Date: 2010-02-24 22:41:33 +0000 (Wed, 24 Feb 2010) $
* @package Core
*/
class ErrorControl {
/**
* @see setCause
* @access private
* @var String
*/
var $cause = null;
/**
* List of error details
* @access private
* @var Array
*/
var $errorList;
/**
* Has there been errors
* @access private
* @var Boolean
*/
var $hasErrors = false;
/**
* Creates a clear ErrorControl object.
* @return void
*/
function ErrorControl() {
$this->clear();
}
/**
* Add error details to the internal list of errors rasied since 'clear' was called.
* @param String $value Details of the error
* @param String $key What element the error was on
* @return void
*/
function addError($value, $key = null) {
$this->hasErrors = true;
if ($key) {
$this->errorList[$key] = $value;
} else {
$this->errorList[] = $value;
}
}
/**
* Add Errors
*
* @param array $errors
*
*/
public function addErrors(array $errors) {
foreach ($errors as $key => $error) {
$this->addError($error, $key);
}
}
/**
* Clears any errors that may have been set
* @return void
*/
function clear() {
$this->cause = null;
$this->errorList = array();
$this->hasErrors = false;
}
/**
* Reports if there have been any errors since the object was cleared
* @return Boolean True if there have been errors
*/
function hasErrors() {
return $this->hasErrors;
}
/**
* Returns an array filled with errors that have been set
* and clears the list of errors.
* @return Array Error Descriptions
*/
function getErrors($reset = true) {
$errors = $this->errorList;
if ($reset) {
$this->clear();
}
return $errors;
}
/**
* Returns true if there is an error with the given name.
* @return Boolean
*/
function isErrorOn($errorName) {
return isset($this->errorList[$errorName]);
}
/**
* Returns the last error added to the array
* @return String error
*/
function getLastError() {
return array_pop($this->errorList);
}
/**
* Returns the cause of this set of errors
* @return String The cause of the errors
*/
function getCause() {
return $this->cause;
}
/**
* Sets the cause of the set of errors
* @param String $value The cause of the error
* @return void
*/
function setCause($value) {
$this->cause = $value;
}
}