本文整理汇总了PHP中DataCenter::getContainerList方法的典型用法代码示例。如果您正苦于以下问题:PHP DataCenter::getContainerList方法的具体用法?PHP DataCenter::getContainerList怎么用?PHP DataCenter::getContainerList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataCenter
的用法示例。
在下文中一共展示了DataCenter::getContainerList方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: computeSheetBodyDCInventory
/**
* Compute the full inventory on devices in the data centers and return the data
* center summary statistics
*
* @param PHPExcel_Worksheet $worksheet
* @param array $DProps properties defined for the Excel document
* @return (array|array|array|boolean)[]
* statistics array, device inventory, cabinet inventory
*/
function computeSheetBodyDCInventory($DProps)
{
global $person;
global $sessID;
$dc = new DataCenter();
$cab = new Cabinet();
$device = new Device();
$invData = array();
$invCab = array();
$sheetColumns = $DProps['DC Inventory']['Columns'];
$cabinetColumns = $DProps['Rack Inventory']['Columns'];
$devTemplates = DeviceTemplate::getTemplateListIndexedbyID();
$deptList = Department::GetDepartmentListIndexedbyID();
$contactList = $person->GetUserList('indexed');
$limitedUser = false;
$dcList = $dc->GetDCList();
$Stats = array();
// A little code to update the counter
$percentDone = 0;
$sectionMaxPercent = 40;
$incrementalPercent = 1 / sizeof($dcList) * $sectionMaxPercent;
foreach ($dcList as $dc) {
$dcContainerList = $dc->getContainerList();
$dcStats = array();
$cab->DataCenterID = $dc->DataCenterID;
$dcStats['Fl_Spc'] = $dc->SquareFootage;
$dcStats['DesignPower'] = $dc->MaxkW;
$dcStats['Watts'] = 0;
$dcStats['Rk_Num'] = 0;
$dcStats['Rk_UtT'] = 0;
$dcStats['Rk_UtU'] = 0;
$dcStats['Rk_UtE'] = 0;
$dcStats['Rk_Res'] = 0;
$cabList = $cab->ListCabinetsByDC();
if (count($cabList) == 0) {
// empty data center room
$devSpec = makeEmptySpec($sheetColumns, $dcContainerList);
$devSpec['DC Name'] = $dc->Name;
$invData[] = $devSpec;
} else {
foreach ($cabList as $cab) {
if (!$person->ReadAccess and $cab->AssignedTo == 0 or $cab->AssignedTo > 0 and !$person->canRead($cab->AssignedTo)) {
// User is not allowed to see anything in here
$limitedUser = true;
continue;
}
$zoneName = getZoneName($cab);
$rowName = getRowName($cab);
addRackStat($invCab, $cab, $cabinetColumns, $dc, $dcContainerList);
$cab_height = $cab->CabinetHeight;
if (mb_strtoupper($cab->Model) == 'RESERVED') {
$dcStats['Rk_Res']++;
} else {
$dcStats['Rk_Num']++;
}
$dcStats['Rk_UtT'] += $cab_height;
$device->Cabinet = $cab->CabinetID;
$device_list = $device->ViewDevicesByCabinet();
// empty cabinet
if (count($device_list) == 0 && $cab->CabinetHeight > 0) {
$dcStats['Rk_UtE'] += $cab_height;
$devSpec = makeEmptySpec($sheetColumns, $dcContainerList);
$devSpec['Zone'] = $zoneName;
$devSpec['Row'] = $rowName;
$devSpec['DC Name'] = $dc->Name;
$devSpec['Cabinet'] = $cab->Location;
$devSpec['Position'] = 1;
$devSpec['Height'] = $cab->CabinetHeight;
$devSpec['Device'] = '__EMPTY';
$invData[] = $devSpec;
} else {
usort($device_list, 'cmpDevPos');
$low_idx = 1;
foreach ($device_list as $dev) {
if ($low_idx < $dev->Position) {
// range of empty slots
if ($dev->Position <= $cab_height) {
$height = $dev->Position - $low_idx;
} else {
$height = $cab_height - $low_idx + 1;
}
if ($height > 0) {
$dcStats['Rk_UtE'] += $height;
$devSpec = makeEmptySpec($sheetColumns, $dcContainerList);
${$devSpec}['Zone'] = $zoneName;
$devSpec['Row'] = $rowName;
$devSpec['DC Name'] = $dc->Name;
$devSpec['Cabinet'] = $cab->Location;
$devSpec['Position'] = $low_idx;
$devSpec['Height'] = $height;
$devSpec['Device'] = '__EMPTY';
//.........这里部分代码省略.........