NameMapping   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 111
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
c 1
b 0
f 0
lcom 1
cbo 0
dl 0
loc 111
ccs 0
cts 7
cp 0
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A codeToName() 0 4 2
A nameToCode() 0 5 2
A translateResponse() 0 4 1
1
<?php
2
3
namespace Fhp\Segment;
4
5
/**
6
 * Class NameMapping
7
 * @package Fhp\Segment
8
 */
9
class NameMapping
10
{
11
    protected static $mapping = array(
12
        // Formals
13
        // http://www.hbci-zka.de/dokumente/spezifikation_deutsch/fintsv3/FinTS_3.0_Formals_2011-06-14_final_version.pdf
14
        // Section: H.1.3
15
        'HKEND'  => 'Dialogende',
16
        'HKIDN'  => 'Identifikation',
17
        'HKSYN'  => 'Synchronisation',
18
        'HKVVB'  => 'Verarbeitungsvorbereitung',
19
        'HNHBK'  => 'Nachrichtenkopf',
20
        'HNHBS'  => 'Nachrichtenabschluss',
21
        'HNSHA'  => 'Signaturabschluss',
22
        'HNSHK'  => 'Signaturkopf',
23
        'HNVSD'  => 'Verschlüsselte Daten',
24
        'HNVSK'  => 'Verschlüsselungskopf',
25
        'HKISA'  => 'Anforderung eines öffentlichen Schlüssels',
26
        'HIBPA'  => 'Bankparameter allgemein',
27
        'HISSP'  => 'Bestätigung der Schlüsselsperrung',
28
        'HIKPV'  => 'Komprimierungsverfahren',
29
        'HIUPD'  => 'Kontoinformation',
30
        'HIKIM'  => 'Kreditinstitutsmeldung',
31
        'HKLIF'  => 'Life-Indikator',
32
        'HIRMS'  => 'Rückmeldung zu Segmenten',
33
        'HIRMG'  => 'Rückmeldungen zur Gesamtnachricht',
34
        'HKSAK'  => 'Schlüsseländerung',
35
        'HKSSP'  => 'Schlüsselsperrung',
36
        'HISHV'  => 'Sicherheitsverfahren',
37
        'HISYN'  => 'Synchronisierungsantwort',
38
        'HIISA'  => 'Übermittlung eines öffentlichen Schlüssels',
39
        'HIUPA'  => 'Userparameter allgemein',
40
        'HIKOM'  => 'Kommunikationszugang rückmelden',
41
        // Geschäftsvorfälle
42
        // http://www.hbci-zka.de/dokumente/spezifikation_deutsch/fintsv3/FinTS_3.0_Messages_Geschaeftsvorfaelle_2015-08-07_final_version.pdf
43
        // Section: E.1
44
        'HKADR'  => 'Adressänderung',
45
        'HIADRS' => 'Adressänderung Parameter',
46
        'HITEA'  => 'Änderung terminierter Einzellastschrift bestätigen',
47
        'HIDSA'  => 'Änderung terminierter SEPA-Einzellastschriften bestätigen',
48
        'HIBSA'  => 'Änderung terminierter SEPA-Firmeneinzellastschrift bestätigen',
49
        'HICSA'  => 'Änderung terminierter SEPA-Überweisung bestätigen',
50
        'HITUA'  => 'Änderung terminierter Überweisung bestätigen',
51
        'HICVE'  => 'Anlage vorbereiteter SEPA-Überweisung bestätigen',
52
        'HIVUE'  => 'Anlage vorbereiteter Überweisung bestätigen',
53
        'HKCTD'  => 'Auftragsdetails für C-Transaktionen',
54
        'HICTDS' => 'Auftragsdetails für C-Transaktionen Parameter',
55
        'HICTD'  => 'Auftragsdetails für C-Transaktionen rückmelden',
56
        'HKAUE'  => 'Ausgeführte Überweisungen anfordern',
57
        'HIAUE'  => 'Ausgeführte Überweisungen rückmelden',
58
        'HIAUES' => 'Ausgeführte Überweisungen Parameter',
59
        'HKAUB'  => 'Auslandsüberweisung',
60
        'HKAOM'  => 'Auslandsüberweisung ohne Meldeteil',
61
        'HIAOMS' => 'Auslandsüberweisung ohne Meldeteil Parameter',
62
        'HIAUBS' => 'Auslandsüberweisung Parameter',
63
        'HKCTA'  => 'Auslösen von C-Transaktionen',
64
        'HICTAS' => 'Auslösen von C-Transaktionen Parameter',
65
        'HIAPN'  => 'Auswahl Postfach-Nachrichtentypen rückmelden',
66
        'HKFDB'  => 'Bearbeitungsstatus Dokument anfordern ',
67
        'HIFDBS' => 'Bearbeitungsstatus Dokument Parameter',
68
        'HIFDB'  => 'Bearbeitungsstatus Dokument rückmelden',
69
        'HKPPB'  => 'Bestand Daueraufträge Prepaidkarte laden anfordern',
70
        'HIPPBS' => 'Bestand Daueraufträge Prepaidkarte laden Parameter',
71
        'HIPPB'  => 'Bestand Daueraufträge Prepaidkarte laden rückmelden',
72
        'HKCUB'  => 'Bestand Empfängerkonten anfordern',
73
        'HKLWB'  => 'Bestand Lastschriftwiderspruch',
74
        'HKSAL'  => 'Saldenabfrage',
75
        'HISALS' => 'Saldenabfrage Parameter',
76
        'HISAL'  => 'Saldenrückmeldung',
77
        'HIEKAS' => 'Kontoauszug Parameter',
78
        'HIKAZS' => 'Kontoumsätze/Zeitraum Parameter',
79
        'HIQTGS' => 'Empfangsquittung Parameter',
80
        'HICSBS' => 'Bestand terminierter SEPA-Überweisungen Parameter',
81
        'HICSLS' => 'Terminierte SEPA-Überweisung löschen Parameter',
82
        'HKSPA'  => 'SEPA-Kontoverbindung anfordern',
83
        // tbc
84
        // PIN/TAN
85
        // http://www.hbci-zka.de/dokumente/spezifikation_deutsch/fintsv3/FinTS_3.0_Security_Sicherheitsverfahren_PINTAN_Rel_20101027_final_version.pdf
86
        //
87
        'HIPAES' => 'PIN ändern Parameter',
88
        'HIPSPS' => 'PIN sperren Parameter',
89
90
    );
91
92
    /**
93
     * @param string $code
94
     * @return string
95
     */
96
    public static function codeToName($code)
97
    {
98
        return isset(static::$mapping[$code]) ? static::$mapping[$code] : $code;
99
    }
100
101
    /**
102
     * @param string $name
103
     * @return string
104
     */
105
    public static function nameToCode($name)
106
    {
107
        $flipped = array_flip(static::$mapping);
108
        return isset($flipped[$name]) ? $flipped[$name] : $name;
109
    }
110
111
    /**
112
     * @param string $text
113
     * @return string
114
     */
115
    public static function translateResponse($text)
116
    {
117
        return str_replace(array_flip(static::$mapping), static::$mapping, $text);
118
    }
119
}
120