getEvidenceRelations()   A
last analyzed

Complexity

Conditions 5
Paths 3

Size

Total Lines 14
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 10
c 0
b 0
f 0
dl 0
loc 14
rs 9.6111
cc 5
nc 3
nop 2
1
<?php
2
3
namespace FlexiPeeHP;
4
5
define('EASE_APPNAME', 'FlexiPeehUP');
6
define('EASE_LOGGER', 'console|syslog');
7
8
require_once '../testing/bootstrap.php';
9
10
11
$outFile = 'Relations.php';
12
$outJson = 'Relations.json';
13
$ok = 0;
14
15
/**
16
 * Obtain Relations for given evidence
17
 *
18
 * @param string     $evidence
19
 * @param FlexiBeeRO $syncer Class to read from FlexiBee
20
 * @return array     Relations structure
21
 */
22
function getEvidenceRelations($evidence, FlexiBeeRO $syncer) {
23
    $relations = [];
24
    $flexinfo = $syncer->performRequest($evidence . '/relations.json');
25
    if (count($flexinfo) && array_key_exists('relations', $flexinfo)) {
26
        if (isset($flexinfo['relations']['relation'])) {
27
            foreach ($flexinfo['relations']['relation'] as $evidenceRelations) {
28
                $relations[] = $evidenceRelations;
29
            }
30
        } else {
31
            $syncer->addStatusMessage(sprintf('Missing relations for %s',
32
                            $evidence), 'warning');
33
        }
34
    }
35
    return $relations;
36
}
37
38
$evidenceRels = '<?php
39
/**
40
 * FlexiPeeHP - Evidence Relations.
41
 *
42
 * @author     Vítězslav Dvořák <[email protected]>
43
 * @copyright  (C) 2015-2017 Spoje.Net
44
 */
45
46
namespace FlexiPeeHP;
47
48
/**
49
 * Evidence Relations
50
 *
51
 * @link https://demo.flexibee.eu/devdoc/relations Provádění akcí
52
 */
53
54
class Relations
55
{
56
';
57
$statuser = new Status();
58
$evidenceRels .= '    /**
59
     * Source FlexiBee server version.
60
     *
61
     * @var string
62
     */
63
';
64
$evidenceRels .= ' static public $version = \'' . $statuser->getDataValue('version') . '\';
65
66
';
67
68
69
$syncer = new FlexiBeeRO();
0 ignored issues
show
Deprecated Code introduced by
The class FlexiPeeHP\FlexiBeeRO has been deprecated: since version 2.0 ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

69
$syncer = /** @scrutinizer ignore-deprecated */ new FlexiBeeRO();
Loading history...
70
$syncer->setObjectName('FlexiBee Evidence Relations');
71
$syncer->addStatusMessage('Updating Evidences Relations');
72
73
$relations = [];
74
75
$pos = 0;
76
foreach (EvidenceList::$name as $evidencePath => $evidenceName) {
77
    $pos++;
78
    $structure = getEvidenceRelations($evidencePath, $syncer);
79
80
    $relations[$evidencePath] = $structure;
81
82
    if (count($structure)) {
83
        $evidenceRels .= '    /**
84
     * Evidence ' . $evidencePath . ' (' . $evidenceName . ') Relations.
85
     *
86
     * @var array
87
     */
88
';
89
        $evidenceRels .= ' static public $' . lcfirst(FlexiBeeRO::evidenceToClassName($evidencePath)) . ' = ' . var_export($structure,
90
                        true) . ';
91
';
92
93
        $syncer->addStatusMessage($pos . ' of ' . count(EvidenceList::$name) . ' ' . $evidencePath . ': relations obtained',
94
                'success');
95
        $ok++;
96
    } else {
97
        $syncer->addStatusMessage($pos . ' of ' . count(EvidenceList::$name) . ' ' . $evidencePath . ': obtaining relations problem',
98
                'error');
99
    }
100
}
101
102
$evidenceRels .= '}
103
';
104
105
$syncer->addStatusMessage('Updating of ' . $ok . ' Evidences Properties done',
106
        'success');
107
file_put_contents($outFile, $evidenceRels);
108
109
file_put_contents($outJson, json_encode($relations));
110
111