Passed
Push — develop ( 4926d3...48c568 )
by Портнов
13:31
created

ActionDialEnd   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 13
c 1
b 0
f 0
dl 0
loc 23
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getFilter() 0 7 1
A execute() 0 10 3
1
<?php
2
3
4
namespace MikoPBX\Core\Workers\Libs\WorkerCallEvents;
5
6
use MikoPBX\Common\Models\CallDetailRecordsTmp;
7
use MikoPBX\Core\System\Util;
8
use MikoPBX\Core\Workers\WorkerCallEvents;
9
10
class ActionDialEnd {
11
12
    public static function execute(WorkerCallEvents $worker, $data):void
13
    {
14
        $filter = self::getFilter($data);
15
        /** @var CallDetailRecordsTmp $row */
16
        $m_data = CallDetailRecordsTmp::find($filter);
17
        foreach ($m_data as $row) {
18
            $row->writeAttribute('endtime', $data['endtime']);
19
            $res = $row->update();
20
            if (!$res) {
21
                Util::sysLogMsg(static::class, implode(' ', $row->getMessages()), LOG_DEBUG);
22
            }
23
        }
24
    }
25
26
    private static function getFilter($data):array
27
    {
28
        return [
29
            'UNIQUEID=:UNIQUEID: AND src_chan=:src_chan: AND dst_chan = ""',
30
            'bind' => [
31
                'UNIQUEID' => $data['UNIQUEID'],
32
                'src_chan' => $data['src_chan'],
33
            ],
34
        ];
35
    }
36
}