public function getGlobalVariable($criteria, $params)
{
$roleId = 0;
$farmId = 0;
$farmRoleId = 0;
$serverId = 0;
$scope = ScopeInterface::SCOPE_ENVIRONMENT;
if (isset($params['farmId'])) {
$scope = ScopeInterface::SCOPE_FARM;
$farmId = $params['farmId'];
} else {
if (isset($params['farmRoleId'])) {
/* @var $farmRole FarmRole */
$farmRole = FarmRole::findOne([['id' => $params['farmRoleId']]]);
$farmRoleId = $farmRole->id;
$roleId = $farmRole->roleId;
$farmId = $farmRole->farmId;
$scope = ScopeInterface::SCOPE_FARMROLE;
} else {
if (isset($params['roleId'])) {
$roleId = $params['roleId'];
$scope = ScopeInterface::SCOPE_ROLE;
}
}
}
$variableScopeIdentity = [$roleId, $farmId, $farmRoleId, $serverId];
$varName = $criteria;
$gv = new Scalr_Scripting_GlobalVariables($this->getUser()->getAccountId(), $this->getEnvironment()->id, $scope);
$variable = [];
$list = $gv->getValues(...$variableScopeIdentity);
foreach ($list as $var) {
if (!empty($var['current']['name']) && $var['current']['name'] == $varName || !empty($var['default']['name']) && $var['default']['name'] == $varName) {
$variable = $var;
break;
}
}
return $variable;
}