Файл: vendor/whichbrowser/parser/src/Model/Browser.php
Строк: 126
<?php
namespace WhichBrowserModel;
use WhichBrowserModelPrimitiveNameVersion;
class Browser extends NameVersion
{
/**
* @var WhichBrowserModelUsing $using Information about web views the browser is using
* @var WhichBrowserModelFamily $family To which browser family does this browser belong
*/
public $using;
public $family;
/** @var string */
public $channel;
/** @var boolean */
public $stock = true;
/** @var boolean */
public $hidden = false;
/** @var string */
public $mode = '';
/** @var string */
public $type = '';
/**
* Set the properties to the default values
*
* @param array|null $properties An optional array of properties to set after setting it to the default values
*
* @internal
*/
public function reset($properties = null)
{
parent::reset();
unset($this->channel);
unset($this->using);
unset($this->family);
$this->stock = true;
$this->hidden = false;
$this->mode = '';
$this->type = '';
if (is_array($properties)) {
$this->set($properties);
}
}
/**
* Get the name in a human readable format
*
* @return string
*/
public function getName()
{
$name = !empty($this->alias) ? $this->alias : (!empty($this->name) ? $this->name : '');
return $name ? $name . (!empty($this->channel) ? ' ' . $this->channel : '') : '';
}
/**
* Is the browser from the specified family
*
* @param string $name The name of the family
*
* @return boolean
*/
public function isFamily($name)
{
if ($this->getName() == $name) {
return true;
}
if (isset($this->family)) {
if ($this->family->getName() == $name) {
return true;
}
}
return false;
}
/**
* Is the browser using the specified webview
*
* @param string $name The name of the webview
*
* @return boolean
*/
public function isUsing($name)
{
if (isset($this->using)) {
if ($this->using->getName() == $name) {
return true;
}
}
return false;
}
/**
* Get a combined name and version number in a human readable format
*
* @return string
*/
public function toString()
{
if ($this->hidden) {
return '';
}
$result = trim($this->getName() . ' ' . (!empty($this->version) && !$this->version->hidden ? $this->getVersion() : ''));
if (empty($result) && isset($this->using)) {
return $this->using->toString();
}
return $result;
}
/**
* Get an array of all defined properties
*
* @internal
*
* @return array
*/
public function toArray()
{
$result = [];
if (!empty($this->name)) {
$result['name'] = $this->name;
}
if (!empty($this->alias)) {
$result['alias'] = $this->alias;
}
if (!empty($this->using)) {
$result['using'] = $this->using->toArray();
}
if (!empty($this->family)) {
$result['family'] = $this->family->toArray();
}
if (!empty($this->version)) {
$result['version'] = $this->version->toArray();
}
if (!empty($this->type)) {
$result['type'] = $this->type;
}
if (isset($result['version']) && empty($result['version'])) {
unset($result['version']);
}
return $result;
}
}