Obj   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 4
Bugs 1 Features 2
Metric Value
wmc 4
c 4
b 1
f 2
lcom 0
cbo 2
dl 0
loc 40
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getFtCmoSubrecord() 0 12 1
A getFtNtsSubrecord() 0 16 2
A getFtEndSubrecord() 0 4 1
1
<?php
2
3
namespace Xls\Record;
4
5
use Xls\Utils;
6
7
abstract class Obj extends AbstractRecord
8
{
9
    const NAME = 'OBJ';
10
    const ID = 0x005d;
11
12
    protected function getFtCmoSubrecord($objectId)
13
    {
14
        $grbit = 0x4011;
15
        $data = pack("vvv", static::TYPE, $objectId, $grbit);
16
17
        //reserved
18
        $data .= pack("VVV", 0, 0, 0);
19
20
        $header = pack("vv", 0x15, strlen($data));
21
22
        return $header . $data;
23
    }
24
25
    protected function getFtNtsSubrecord($guid = null)
26
    {
27
        $length = 0x16;
28
        $header = pack("vv", 0x0D, $length);
29
30
        $guid = (is_null($guid)) ? Utils::generateGuid() : $guid;
31
        $data = pack('H*', $guid);
32
33
        $fSharedNote = 0; //not shared
34
        $data .= pack('v', $fSharedNote);
35
36
        //reserved
37
        $data .= pack('vv', 0x10, 0);
38
39
        return $header . $data;
40
    }
41
42
    protected function getFtEndSubrecord()
43
    {
44
        return pack("vv", 0x00, 0x00);
45
    }
46
}
47