本文整理汇总了PHP中Scalr\Modules\PlatformFactory::isPublic方法的典型用法代码示例。如果您正苦于以下问题:PHP PlatformFactory::isPublic方法的具体用法?PHP PlatformFactory::isPublic怎么用?PHP PlatformFactory::isPublic使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Scalr\Modules\PlatformFactory
的用法示例。
在下文中一共展示了PlatformFactory::isPublic方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getContext
/**
* @param int $uiStorageTime optional
* @return array
*/
public function getContext($uiStorageTime = 0)
{
$data = array();
if ($this->user) {
$data['user'] = array('userId' => $this->user->getId(), 'clientId' => $this->user->getAccountId(), 'userName' => $this->user->getEmail(), 'gravatarHash' => $this->user->getGravatarHash(), 'envId' => $this->getEnvironment() ? $this->getEnvironmentId() : 0, 'envName' => $this->getEnvironment() ? $this->getEnvironment()->name : '', 'envVars' => '', 'type' => $this->user->getType(), 'settings' => [Scalr_Account_User::SETTING_UI_TIMEZONE => $this->user->getSetting(Scalr_Account_User::SETTING_UI_TIMEZONE), UserSetting::NAME_UI_ANNOUNCEMENT_TIME => $this->getUser()->getSetting(UserSetting::NAME_UI_ANNOUNCEMENT_TIME)]);
if ($this->getEnvironment()) {
$data['user']['envVars'] = $this->getEnvironment()->getPlatformConfigValue(Scalr_Environment::SETTING_UI_VARS);
} else {
if ($this->user->getAccountId()) {
$data['user']['envVars'] = $this->user->getAccount()->getSetting(Scalr_Account::SETTING_UI_VARS);
}
}
if ($uiStorageTime > 0 && $uiStorageTime < $this->user->getSetting(Scalr_Account_User::SETTING_UI_STORAGE_TIME) && !Scalr_Session::getInstance()->isVirtual()) {
$data['user']['uiStorage'] = $this->user->getVar(Scalr_Account_User::VAR_UI_STORAGE);
}
$envVars = json_decode($data['user']['envVars'], true);
$betaMode = $envVars && $envVars['beta'] == 1;
if (!$this->user->isAdmin()) {
$data['flags'] = [];
if ($this->user->getAccountId() != 0) {
$data['user']['userIsTrial'] = $this->user->getAccount()->getSetting(Scalr_Account::SETTING_IS_TRIAL) == '1' ? true : false;
}
$data['flags']['billingExists'] = \Scalr::config('scalr.billing.enabled');
$data['flags']['showDeprecatedFeatures'] = \Scalr::config('scalr.ui.show_deprecated_features');
$data['acl'] = $this->request->getAclRoles()->getAllowedArray(true);
if (!$this->user->isAccountOwner()) {
$data['user']['accountOwnerName'] = $this->user->getAccount()->getOwner()->getEmail();
}
$data['environments'] = $this->user->getEnvironments();
if ($this->user->isAccountOwner()) {
if (!$this->user->getAccount()->getSetting(Scalr_Account::SETTING_DATE_ENV_CONFIGURED)) {
$data['flags']['needEnvConfig'] = true;
}
}
if ($this->request->getScope() == 'environment') {
$sql = "SELECT id, name FROM farms f WHERE env_id = ? AND " . $this->request->getFarmSqlQuery();
$args = [$this->getEnvironmentId()];
$sql .= " ORDER BY name";
$data['farms'] = $this->db->getAll($sql, $args);
if ($this->getEnvironment() && $this->user->isTeamOwner()) {
$data['user']['isTeamOwner'] = true;
}
}
}
$data['flags']['wikiUrl'] = \Scalr::config('scalr.ui.wiki_url');
$data['flags']['supportUrl'] = \Scalr::config('scalr.ui.support_url');
if ($data['flags']['supportUrl'] == '/core/support') {
if ($this->user->isAdmin()) {
unset($data['flags']['supportUrl']);
} else {
$data['flags']['supportUrl'] .= '?X-Requested-Token=' . Scalr_Session::getInstance()->getToken();
}
}
//OS
$data['os'] = [];
foreach (Os::find() as $os) {
/* @var $os Os */
$data['os'][] = ['id' => $os->id, 'family' => $os->family, 'name' => $os->name, 'generation' => $os->generation, 'version' => $os->version, 'status' => $os->status];
}
$data['defaults'] = (new Scalr_Scripting_GlobalVariables($this->user->getAccountId(), $this->getEnvironmentId(true), ScopeInterface::SCOPE_ENVIRONMENT))->getUiDefaults();
$data['platforms'] = [];
$allowedClouds = (array) \Scalr::config('scalr.allowed_clouds');
if ($this->user->getAccountId() == 263) {
array_push($allowedClouds, SERVER_PLATFORMS::VERIZON);
}
$platforms = SERVER_PLATFORMS::getList();
if (!($this->request->getHeaderVar('Interface-Beta') || $betaMode)) {
$platforms = array_intersect_key($platforms, array_flip($allowedClouds));
}
$environment = $this->getEnvironment();
if (!empty($environment)) {
$cloudsCredentials = $environment->cloudCredentialsList(array_keys($platforms));
}
foreach ($platforms as $platform => $platformName) {
if (!in_array($platform, $allowedClouds) && !$this->request->getHeaderVar('Interface-Beta') && !$betaMode) {
continue;
}
$data['platforms'][$platform] = array('public' => PlatformFactory::isPublic($platform), 'enabled' => $this->user->isAdmin() || $this->request->getScope() != 'environment' ? true : isset($cloudsCredentials[$platform]) && $cloudsCredentials[$platform]->isEnabled(), 'name' => $platformName);
if (!($this->user->isAdmin() || $this->request->getScope() != 'environment')) {
if ($platform == SERVER_PLATFORMS::EC2 && $this->environment->status == Scalr_Environment::STATUS_INACTIVE && $this->environment->getPlatformConfigValue('system.auto-disable-reason')) {
$data['platforms'][$platform]['config'] = array('autoDisabled' => true);
}
if (PlatformFactory::isOpenstack($platform) && $data['platforms'][$platform]['enabled']) {
$ccProps = $cloudsCredentials[$platform]->properties;
$data['platforms'][$platform]['config'] = [CloudCredentialsProperty::OPENSTACK_EXT_SECURITYGROUPS_ENABLED => $ccProps[CloudCredentialsProperty::OPENSTACK_EXT_SECURITYGROUPS_ENABLED], CloudCredentialsProperty::OPENSTACK_EXT_LBAAS_ENABLED => $ccProps[CloudCredentialsProperty::OPENSTACK_EXT_LBAAS_ENABLED], CloudCredentialsProperty::OPENSTACK_EXT_FLOATING_IPS_ENABLED => $ccProps[CloudCredentialsProperty::OPENSTACK_EXT_FLOATING_IPS_ENABLED], CloudCredentialsProperty::OPENSTACK_EXT_CINDER_ENABLED => $ccProps[CloudCredentialsProperty::OPENSTACK_EXT_CINDER_ENABLED], CloudCredentialsProperty::OPENSTACK_EXT_SWIFT_ENABLED => $ccProps[CloudCredentialsProperty::OPENSTACK_EXT_SWIFT_ENABLED]];
}
}
}
$data['flags']['uiStorageTime'] = $this->user->getSetting(Scalr_Account_User::SETTING_UI_STORAGE_TIME);
$data['flags']['uiStorage'] = $this->user->getVar(Scalr_Account_User::VAR_UI_STORAGE);
$data['flags']['allowManageAnalytics'] = $this->user->getAccountId() && Scalr::isAllowedAnalyticsOnHostedScalrAccount($this->user->getAccountId());
$data['flags']['hostedScalr'] = (bool) Scalr::isHostedScalr();
$data['flags']['analyticsEnabled'] = $this->getContainer()->analytics->enabled;
$data['flags']['apiEnabled'] = (bool) \Scalr::config('scalr.system.api.enabled');
$data['flags']['dnsGlobalEnabled'] = (bool) \Scalr::config('scalr.dns.global.enabled');
$data['flags']['allowBetaEbsTypes'] = SCALR_ID == 'gdp-aws-east';
//.........这里部分代码省略.........
示例2: getContext
public function getContext()
{
$data = array();
if ($this->user) {
$data['user'] = array('userId' => $this->user->getId(), 'clientId' => $this->user->getAccountId(), 'userName' => $this->user->getEmail(), 'gravatarHash' => $this->user->getGravatarHash(), 'envId' => $this->getEnvironment() ? $this->getEnvironmentId() : 0, 'envName' => $this->getEnvironment() ? $this->getEnvironment()->name : '', 'envVars' => $this->getEnvironment() ? $this->getEnvironment()->getPlatformConfigValue(Scalr_Environment::SETTING_UI_VARS) : '', 'type' => $this->user->getType());
$envVars = json_decode($data['user']['envVars'], true);
$betaMode = $envVars && $envVars['beta'] == 1;
if (!$this->user->isAdmin()) {
$data['farms'] = $this->db->getAll('SELECT id, name FROM farms WHERE env_id = ? ORDER BY name', array($this->getEnvironmentId()));
if ($this->user->getAccountId() != 0) {
$data['flags'] = $this->user->getAccount()->getFeaturesList();
$data['user']['userIsTrial'] = $this->user->getAccount()->getSetting(Scalr_Account::SETTING_IS_TRIAL) == '1' ? true : false;
} else {
$data['flags'] = array();
}
$data['flags']['billingExists'] = \Scalr::config('scalr.billing.enabled');
$data['flags']['featureUsersPermissions'] = $this->user->getAccount()->isFeatureEnabled(Scalr_Limits::FEATURE_USERS_PERMISSIONS);
$data['flags']['wikiUrl'] = \Scalr::config('scalr.ui.wiki_url');
$data['flags']['supportUrl'] = \Scalr::config('scalr.ui.support_url');
if ($data['flags']['supportUrl'] == '/core/support') {
$data['flags']['supportUrl'] .= '?X-Requested-Token=' . Scalr_Session::getInstance()->getToken();
}
$data['acl'] = $this->request->getAclRoles()->getAllowedArray(true);
if ($this->user->isAccountOwner()) {
if (!$this->user->getAccount()->getSetting(Scalr_Account::SETTING_DATE_ENV_CONFIGURED)) {
if (count($this->environment->getEnabledPlatforms()) == 0) {
$data['flags']['needEnvConfig'] = Scalr_Environment::init()->loadDefault($this->user->getAccountId())->id;
}
}
}
$data['environments'] = $this->user->getEnvironments();
if ($this->getEnvironment() && $this->user->isTeamOwner()) {
$data['user']['isTeamOwner'] = true;
}
}
$data['platforms'] = array();
$allowedClouds = (array) \Scalr::config('scalr.allowed_clouds');
foreach (SERVER_PLATFORMS::getList() as $platform => $platformName) {
if (!in_array($platform, $allowedClouds) || $platform == SERVER_PLATFORMS::UCLOUD && !$this->request->getHeaderVar('Interface-Beta')) {
continue;
}
$data['platforms'][$platform] = array('public' => PlatformFactory::isPublic($platform), 'enabled' => $this->user->isAdmin() ? true : !!$this->environment->isPlatformEnabled($platform), 'name' => $platformName);
if (!$this->user->isAdmin()) {
if ($platform == SERVER_PLATFORMS::EC2 && $this->environment->status == Scalr_Environment::STATUS_INACTIVE && $this->environment->getPlatformConfigValue('system.auto-disable-reason')) {
$data['platforms'][$platform]['config'] = array('autoDisabled' => true);
}
if (PlatformFactory::isOpenstack($platform) && $data['platforms'][$platform]['enabled']) {
$data['platforms'][$platform]['config'] = array(OpenstackPlatformModule::EXT_SECURITYGROUPS_ENABLED => PlatformFactory::NewPlatform($platform)->getConfigVariable(OpenstackPlatformModule::EXT_SECURITYGROUPS_ENABLED, $this->getEnvironment(), false), OpenstackPlatformModule::EXT_LBAAS_ENABLED => PlatformFactory::NewPlatform($platform)->getConfigVariable(OpenstackPlatformModule::EXT_LBAAS_ENABLED, $this->getEnvironment(), false), OpenstackPlatformModule::EXT_FLOATING_IPS_ENABLED => PlatformFactory::NewPlatform($platform)->getConfigVariable(OpenstackPlatformModule::EXT_FLOATING_IPS_ENABLED, $this->getEnvironment(), false), OpenstackPlatformModule::EXT_CINDER_ENABLED => PlatformFactory::NewPlatform($platform)->getConfigVariable(OpenstackPlatformModule::EXT_CINDER_ENABLED, $this->getEnvironment(), false), OpenstackPlatformModule::EXT_SWIFT_ENABLED => PlatformFactory::NewPlatform($platform)->getConfigVariable(OpenstackPlatformModule::EXT_SWIFT_ENABLED, $this->getEnvironment(), false));
}
}
}
$data['flags']['uiStorageTime'] = $this->user->getSetting(Scalr_Account_User::SETTING_UI_STORAGE_TIME);
$data['flags']['uiStorage'] = $this->user->getVar(Scalr_Account_User::VAR_UI_STORAGE);
$data['flags']['allowManageAnalytics'] = (bool) Scalr::isAllowedAnalyticsOnHostedScalrAccount($this->environment->clientId);
}
if ($this->user) {
$data['tags'] = Tag::getAll($this->user->getAccountId());
}
$data['flags']['authMode'] = $this->getContainer()->config->get('scalr.auth_mode');
$data['flags']['specialToken'] = Scalr_Session::getInstance()->getToken();
$data['flags']['hostedScalr'] = (bool) Scalr::isHostedScalr();
$data['flags']['analyticsEnabled'] = $this->getContainer()->analytics->enabled;
return $data;
}
示例3: getContext
public function getContext($uiStorageTime = 0)
{
$data = array();
if ($this->user) {
$data['user'] = array('userId' => $this->user->getId(), 'clientId' => $this->user->getAccountId(), 'userName' => $this->user->getEmail(), 'gravatarHash' => $this->user->getGravatarHash(), 'envId' => $this->getEnvironment() ? $this->getEnvironmentId() : 0, 'envName' => $this->getEnvironment() ? $this->getEnvironment()->name : '', 'envVars' => $this->getEnvironment() ? $this->getEnvironment()->getPlatformConfigValue(Scalr_Environment::SETTING_UI_VARS) : '', 'type' => $this->user->getType(), 'settings' => [Scalr_Account_User::VAR_SSH_CONSOLE_LAUNCHER => $this->user->getVar(Scalr_Account_User::VAR_SSH_CONSOLE_LAUNCHER)]);
if ($uiStorageTime > 0 && $uiStorageTime < $this->user->getSetting(Scalr_Account_User::SETTING_UI_STORAGE_TIME) && !Scalr_Session::getInstance()->isVirtual()) {
$data['user']['uiStorage'] = $this->user->getVar(Scalr_Account_User::VAR_UI_STORAGE);
}
$envVars = json_decode($data['user']['envVars'], true);
$betaMode = $envVars && $envVars['beta'] == 1;
if (!$this->user->isAdmin()) {
$data['flags'] = [];
if ($this->user->getAccountId() != 0) {
$data['user']['userIsTrial'] = $this->user->getAccount()->getSetting(Scalr_Account::SETTING_IS_TRIAL) == '1' ? true : false;
}
$data['flags']['billingExists'] = \Scalr::config('scalr.billing.enabled');
$data['flags']['showDeprecatedFeatures'] = \Scalr::config('scalr.ui.show_deprecated_features');
$data['flags']['wikiUrl'] = \Scalr::config('scalr.ui.wiki_url');
$data['flags']['supportUrl'] = \Scalr::config('scalr.ui.support_url');
if ($data['flags']['supportUrl'] == '/core/support') {
$data['flags']['supportUrl'] .= '?X-Requested-Token=' . Scalr_Session::getInstance()->getToken();
}
$data['acl'] = $this->request->getAclRoles()->getAllowedArray(true);
if (!$this->user->isAccountOwner()) {
$data['user']['accountOwnerName'] = $this->user->getAccount()->getOwner()->getEmail();
}
$data['environments'] = $this->user->getEnvironments();
if ($this->user->isAccountOwner()) {
if (!$this->user->getAccount()->getSetting(Scalr_Account::SETTING_DATE_ENV_CONFIGURED)) {
$data['flags']['needEnvConfig'] = true;
}
}
if ($this->request->getScope() == 'environment') {
$sql = 'SELECT id, name FROM farms WHERE env_id = ?';
$args = [$this->getEnvironmentId()];
list($sql, $args) = $this->request->prepareFarmSqlQuery($sql, $args);
$sql .= ' ORDER BY name';
$data['farms'] = $this->db->getAll($sql, $args);
if ($this->getEnvironment() && $this->user->isTeamOwner()) {
$data['user']['isTeamOwner'] = true;
}
}
}
//OS
$data['os'] = [];
foreach (Os::find([['status' => Os::STATUS_ACTIVE]]) as $os) {
/* @var $os Os */
$data['os'][] = ['id' => $os->id, 'family' => $os->family, 'name' => $os->name, 'generation' => $os->generation, 'version' => $os->version];
}
$data['platforms'] = [];
$allowedClouds = (array) \Scalr::config('scalr.allowed_clouds');
foreach (SERVER_PLATFORMS::getList() as $platform => $platformName) {
if ($this->user->getAccountId() == 263) {
array_push($allowedClouds, SERVER_PLATFORMS::VERIZON);
}
if (!in_array($platform, $allowedClouds) && !$this->request->getHeaderVar('Interface-Beta')) {
continue;
}
$data['platforms'][$platform] = array('public' => PlatformFactory::isPublic($platform), 'enabled' => $this->user->isAdmin() || $this->request->getScope() != 'environment' ? true : !!$this->environment->isPlatformEnabled($platform), 'name' => $platformName);
if (!($this->user->isAdmin() || $this->request->getScope() != 'environment')) {
if ($platform == SERVER_PLATFORMS::EC2 && $this->environment->status == Scalr_Environment::STATUS_INACTIVE && $this->environment->getPlatformConfigValue('system.auto-disable-reason')) {
$data['platforms'][$platform]['config'] = array('autoDisabled' => true);
}
if (PlatformFactory::isOpenstack($platform) && $data['platforms'][$platform]['enabled']) {
$data['platforms'][$platform]['config'] = array(OpenstackPlatformModule::EXT_SECURITYGROUPS_ENABLED => PlatformFactory::NewPlatform($platform)->getConfigVariable(OpenstackPlatformModule::EXT_SECURITYGROUPS_ENABLED, $this->getEnvironment(), false), OpenstackPlatformModule::EXT_LBAAS_ENABLED => PlatformFactory::NewPlatform($platform)->getConfigVariable(OpenstackPlatformModule::EXT_LBAAS_ENABLED, $this->getEnvironment(), false), OpenstackPlatformModule::EXT_FLOATING_IPS_ENABLED => PlatformFactory::NewPlatform($platform)->getConfigVariable(OpenstackPlatformModule::EXT_FLOATING_IPS_ENABLED, $this->getEnvironment(), false), OpenstackPlatformModule::EXT_CINDER_ENABLED => PlatformFactory::NewPlatform($platform)->getConfigVariable(OpenstackPlatformModule::EXT_CINDER_ENABLED, $this->getEnvironment(), false), OpenstackPlatformModule::EXT_SWIFT_ENABLED => PlatformFactory::NewPlatform($platform)->getConfigVariable(OpenstackPlatformModule::EXT_SWIFT_ENABLED, $this->getEnvironment(), false));
}
}
}
$data['flags']['uiStorageTime'] = $this->user->getSetting(Scalr_Account_User::SETTING_UI_STORAGE_TIME);
$data['flags']['uiStorage'] = $this->user->getVar(Scalr_Account_User::VAR_UI_STORAGE);
$data['flags']['allowManageAnalytics'] = (bool) Scalr::isAllowedAnalyticsOnHostedScalrAccount($this->environment->clientId);
$data['scope'] = $this->request->getScope();
if ($this->request->getScope() == 'environment') {
$governance = new Scalr_Governance($this->getEnvironmentId());
$data['governance'] = $governance->getValues(true);
}
}
if ($this->user) {
$data['tags'] = Tag::getAll($this->user->getAccountId());
}
$data['flags']['authMode'] = $this->getContainer()->config->get('scalr.auth_mode');
$data['flags']['recaptchaPublicKey'] = $this->getContainer()->config->get('scalr.ui.recaptcha.public_key');
$data['flags']['specialToken'] = Scalr_Session::getInstance()->getToken();
$data['flags']['hostedScalr'] = (bool) Scalr::isHostedScalr();
$data['flags']['analyticsEnabled'] = $this->getContainer()->analytics->enabled;
$data['flags']['apiEnabled'] = (bool) \Scalr::config('scalr.system.api.enabled');
return $data;
}