Subscription   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 11
c 0
b 0
f 0
dl 0
loc 46
rs 10
ccs 0
cts 13
cp 0
wmc 6

2 Methods

Rating   Name   Duplication   Size   Complexity  
A parseMux() 0 14 3
A parseNetwork() 0 14 3
1
<?php
2
3
namespace Jalle19\StatusManager\Database;
4
5
use Jalle19\StatusManager\Database\Base\Subscription as BaseSubscription;
6
use Jalle19\tvheadend\model\multiplex\Multiplex;
7
use Jalle19\tvheadend\model\network\Network;
8
use Jalle19\tvheadend\model\SubscriptionStatus;
9
10
/**
11
 * @package   Jalle19\StatusManager\Database
12
 * @copyright Copyright &copy; Sam Stenvall 2015-
13
 * @license   https://www.gnu.org/licenses/gpl.html The GNU General Public License v2.0
14
 */
15
class Subscription extends BaseSubscription
16
{
17
18
	/**
19
	 * @param SubscriptionStatus $subscriptionStatus
20
	 * @param Multiplex[]        $availableMuxes
21
	 *
22
	 * @return string
23
	 */
24
	public static function parseMux(SubscriptionStatus $subscriptionStatus, array $availableMuxes)
25
	{
26
		$service = $subscriptionStatus->service;
27
28
		// Check if the service string contains /$mux/
29
		foreach ($availableMuxes as $mux)
30
		{
31
			if (strpos($service, '/' . $mux->name . '/') !== false)
32
			{
33
				return $mux->name;
34
			}
35
		}
36
37
		return null;
38
	}
39
40
41
	/**
42
	 * @param SubscriptionStatus $subscriptionStatus
43
	 * @param Network[]          $availableNetworks
44
	 *
45
	 * @return string
46
	 */
47
	public static function parseNetwork(SubscriptionStatus $subscriptionStatus, array $availableNetworks)
48
	{
49
		$service = $subscriptionStatus->service;
50
51
		// Check if the service string contains /$network/
52
		foreach ($availableNetworks as $network)
53
		{
54
			if (strpos($service, '/' . $network->networkname . '/') !== false)
55
			{
56
				return $network->networkname;
57
			}
58
		}
59
60
		return null;
61
	}
62
}
63