Subversion-Projekte lars-tiefland.content-management

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
// $Id: EbatNs_ResponseError.php 4066 2011-11-03 08:13:59Z tiefland $
3
// $Log: EbatNs_ResponseError.php,v $
4
// Revision 1.2  2008-05-02 15:04:05  carsten
5
// Initial, PHP5
6
//
7
//
8
require_once 'AbstractResponseType.php';
9
 
10
class EbatNs_ResponseError extends AbstractResponseType
11
{
12
 
13
    function __construct ()
14
    {
15
        parent::__construct();
16
        $this->Errors = array();
17
        $this->Ack = 'Failure';
18
    }
19
 
20
    function raise ($msg, $code, $severity = 'Error', $errClass = 'SystemError')
21
    {
22
        $err = new ErrorType();
23
        $err->setErrorCode($code);
24
        $err->setSeverityCode($severity);
25
        $err->setLongMessage(htmlentities($msg));
26
        $err->setErrorClassification($errClass);
27
        $this->_reduceElement($err);
28
 
29
        $this->Errors[] = $err;
30
    }
31
 
32
    function getErrors ()
33
    {
34
        return $this->Errors;
35
    }
36
 
37
    function isGood ($onlyErrors = true)
38
    {
39
        if ($onlyErrors)
40
        {
41
            if (count($this->Errors))
42
                foreach ($this->Errors as $error)
43
                {
44
                    if ($error['severity'] ==
45
                         'Error')
46
                            return false;
47
                }
48
            return true;
49
        } else
50
            return (count($this->Errors) == 0);
51
    }
52
 
53
    protected function _reduceElement (& $element)
54
    {
55
        foreach (get_object_vars($element) as $member => $value)
56
            if ($member[0] == '_' || ($value === null))
57
                unset($element->{$member});
58
        return count(get_object_vars($element)) > 0;
59
    }
60
}
61
?>