本文整理汇总了PHP中Resource::getgroupby方法的典型用法代码示例。如果您正苦于以下问题:PHP Resource::getgroupby方法的具体用法?PHP Resource::getgroupby怎么用?PHP Resource::getgroupby使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Resource
的用法示例。
在下文中一共展示了Resource::getgroupby方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processXML
public function processXML($bdii)
{
$resources = array();
$model = new Resource();
$oim_resources = $model->getgroupby("fqdn");
foreach ($bdii->Resources->Resource as $resource) {
$fqdn = (string) $resource->FQDN;
if (isset($oim_resources[$fqdn])) {
$oim_resource_info = $oim_resources[$fqdn][0];
$resources[$oim_resource_info->id] = array("info" => $oim_resource_info, "bdii" => $resource);
} else {
slog("BDII FQDN: [{$fqdn}] doesn't exist in OIM");
}
}
return $resources;
}
示例2: load
public function load()
{
parent::load();
$model = new ResourceGroup();
$this->view->resource_groups_by_gridtype = $model->getgroupby("osg_grid_type_id");
$model = new Resource();
$this->view->resources_by_resource_group = $model->getgroupby("resource_group_id");
$model = new GridTypes();
$this->view->grid_types = $model->getindex();
$model = new Service();
$this->view->services = $model->getindex();
$model = new ResourceServices();
$this->view->services_by_resource = $model->getgroupby("resource_id");
$this->view->counts = array();
//filter service groups
$this->view->service_groups = array();
$model = new ServiceGroup();
$service_groups = $model->getindex();
foreach ($service_groups as $id => $service_group) {
if (isset($_REQUEST["count_sg_" . $id])) {
$this->view->service_groups[$id] = $service_group;
}
}
$this->view->resource_counts = array();
//for each grid type
foreach ($this->view->resource_groups_by_gridtype as $grid_type_id => $resource_groups) {
$resource_counts = 0;
//for each resource groups,
foreach ($resource_groups as $resource_group) {
$resources = $this->view->resources_by_resource_group[$resource_group->id];
//for each resource
foreach ($resources as $resource) {
//apply filter
if (isset($_REQUEST["count_active"])) {
if ($resource->active == 0) {
continue;
}
}
if (isset($_REQUEST["count_enabled"])) {
if ($resource->disable == 1) {
continue;
}
}
$resource_counts++;
//pull counter for current grid type
//$services = $this->services_by_resource[$resource->id];
if (!isset($this->view->counts[$grid_type_id])) {
$this->view->counts[$grid_type_id] = array();
}
$count_service = $this->view->counts[$grid_type_id];
//for each services
if (isset($this->view->services_by_resource[$resource->id])) {
foreach ($this->view->services_by_resource[$resource->id] as $service) {
if (!isset($count_service[$service->id])) {
$count_service[$service->id] = 0;
}
$count_service[$service->id] = $count_service[$service->id] + 1;
}
}
$this->view->counts[$grid_type_id] = $count_service;
}
}
$this->view->resource_counts[$grid_type_id] = $resource_counts;
}
$this->setpagetitle(self::default_title());
}
示例3: getStatus
private function getStatus($gid, $url)
{
if (!isset($this->resource_groups)) {
$model = new ResourceGroup();
$this->resource_groups = $model->getgroupby("id");
}
$rginfo = $this->resource_groups[$gid][0];
if (!isset($this->latest_resource_status)) {
$model = new LatestResourceStatus();
$this->latest_resource_status = $model->getgroupby("resource_id");
$model = new Resource();
$this->resources_by_resource_group = $model->getgroupby("resource_group_id");
}
//calculate service status (the same standard algorithm)
$warning = 0;
$critical = 0;
$unknown = 0;
$downtime = 0;
$resources = $this->resources_by_resource_group[$gid];
$count = 0;
foreach ($resources as $resource) {
if ($resource->active == 0) {
continue;
}
//filter by deactivated resource
$count++;
//is this resource under downtime?
if (isset($this->downtimes[$resource->id])) {
$downtime++;
continue;
}
if (isset($this->latest_resource_status[$resource->id])) {
$status = $this->latest_resource_status[$resource->id][0];
switch ((int) $status->status_id) {
case 2:
$warning++;
break;
case 3:
$critical++;
break;
case 4:
$unknown++;
break;
}
} else {
$unknown++;
}
}
$rgstatus = "UNKNOWN";
if ($count > 0) {
if ($critical > 0) {
$rgstatus = "CRITICAL";
} else {
if ($warning > 0) {
$rgstatus = "WARNING";
} else {
if ($unknown > 0) {
$rgstatus = "UNKNOWN";
} else {
if ($downtime > 0) {
$rgstatus = "DOWNTIME";
} else {
$rgstatus = "OK";
}
}
}
}
}
return array("name" => $rginfo->name, "description" => $rginfo->description, "status" => $rgstatus, "resource_group_id" => $rginfo->id, "url" => $url);
}