Spaces:
Sleeping
Sleeping
File size: 2,051 Bytes
07c3cdd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | <?php
namespace ProcessMaker\Plugins\Interfaces;
use Exception;
use ProcessMaker\Plugins\Traits\Attributes;
/**
* Class JsFile
* @package ProcessMaker\Plugins\Interfaces
*/
class JsFile
{
use Attributes;
private $Namespace;
private $CoreJsFile;
private $PluginJsFile;
/**
* This function is the constructor of the JsFile class
* @param string $Namespace
* @param string $CoreJsFile
* @param array $PluginJsFile
*/
public function __construct($Namespace, $CoreJsFile, $PluginJsFile)
{
$this->Namespace = $Namespace;
$this->CoreJsFile = $CoreJsFile;
$this->PluginJsFile = $PluginJsFile;
}
/**
* Get js files
* @return array
*/
public function getPluginJsFile()
{
return $this->PluginJsFile;
}
/**
* Check if core js file is equal to params
* @param string $CoreJsFile
* @return bool
*/
public function equalCoreJsFile($CoreJsFile)
{
return $CoreJsFile == $this->CoreJsFile;
}
/**
* Check if name of plugin is equal to params
* @param string $Namespace
* @return bool
*/
public function equalNamespaceTo($Namespace)
{
return $Namespace == $this->Namespace;
}
/**
* Push one or more elements onto the PluginJsFile
* @param string|array $PluginJsFile
* @throws Exception
*/
public function pushPluginJsFile($PluginJsFile)
{
if (is_string($PluginJsFile)) {
if (!in_array($PluginJsFile, $this->PluginJsFile)) {
$this->PluginJsFile[] = $PluginJsFile;
}
} elseif (is_array($PluginJsFile)) {
$this->PluginJsFile = array_unique(
array_merge($PluginJsFile, $this->PluginJsFile)
);
} else {
throw new Exception(
'Invalid third param, $pluginJsFile should be a string or array - ' .
gettype($PluginJsFile) .
' given.'
);
}
}
}
|