HorizontalPagebreaks   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
B getData() 0 22 4
1
<?php
2
namespace Xls\Record;
3
4
class HorizontalPagebreaks extends AbstractRecord
5
{
6
    const NAME = 'HORIZONTALPAGEBREAKS';
7
    const ID = 0x001B;
8
    const COUNT_LIMIT = 0;
9
10
    /**
11
     * @param array $breaks
12
     *
13
     * @return string
14
     */
15
    public function getData($breaks)
16
    {
17
        if (static::COUNT_LIMIT > 0) {
18
            $breaks = array_slice($breaks, 0, static::COUNT_LIMIT);
19
        }
20
21
        sort($breaks, SORT_NUMERIC);
22
        if ($breaks[0] == 0) {
23
            // don't use first break if it's 0
24
            array_shift($breaks);
25
        }
26
27
        $cbrk = count($breaks);
28
        $data = pack("v", $cbrk);
29
30
        // Append each page break
31
        foreach ($breaks as $break) {
32
            $data .= pack("vvv", $break, 0x00, 0xff);
33
        }
34
35
        return $this->getFullRecord($data);
36
    }
37
}
38