本文整理匯總了PHP中CMap::getObjects方法的典型用法代碼示例。如果您正苦於以下問題:PHP CMap::getObjects方法的具體用法?PHP CMap::getObjects怎麽用?PHP CMap::getObjects使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類CMap
的用法示例。
在下文中一共展示了CMap::getObjects方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: parseMap
public static function parseMap($rules)
{
global $USER_DETAILS;
$importMaps = self::XMLtoArray(self::$xml);
if (!isset($importMaps['zabbix_export'])) {
$importMaps['zabbix_export'] = $importMaps;
}
try {
if ($USER_DETAILS['type'] == USER_TYPE_SUPER_ADMIN) {
$images = $importMaps['zabbix_export']['images'];
$images_to_add = array();
$images_to_update = array();
foreach ($images as $inum => $image) {
if (CImage::exists($image)) {
if ($image['imagetype'] == IMAGE_TYPE_ICON && isset($rules['icons']['exist']) || $image['imagetype'] == IMAGE_TYPE_BACKGROUND && isset($rules['background']['exist'])) {
$options = array('filter' => array('name' => $image['name']), 'output' => API_OUTPUT_SHORTEN);
$imgs = CImage::get($options);
$img = reset($imgs);
$image['imageid'] = $img['imageid'];
// image will be decoded in class.image.php
$image['image'] = $image['encodedImage'];
unset($image['encodedImage']);
$images_to_update[] = $image;
}
} else {
if ($image['imagetype'] == IMAGE_TYPE_ICON && isset($rules['icons']['missed']) || $image['imagetype'] == IMAGE_TYPE_BACKGROUND && isset($rules['background']['missed'])) {
// No need to decode_base64
$image['image'] = $image['encodedImage'];
unset($image['encodedImage']);
$images_to_add[] = $image;
}
}
}
//sdi($images_to_add);
if (!empty($images_to_add)) {
$result = CImage::create($images_to_add);
if (!$result) {
throw new Exception(S_CANNOT_ADD_IMAGE);
}
}
//sdi($images_to_update);
if (!empty($images_to_update)) {
$result = CImage::update($images_to_update);
if (!$result) {
throw new Exception(S_CANNOT_UPDATE_IMAGE);
}
}
}
$importMaps = $importMaps['zabbix_export']['sysmaps'];
$sysmaps = array();
foreach ($importMaps as $mnum => &$sysmap) {
unset($sysmap['sysmapid']);
$exists = CMap::exists(array('name' => $sysmap['name']));
if ($exists && isset($rules['maps']['exist'])) {
$db_maps = CMap::getObjects(array('name' => $sysmap['name']));
if (empty($db_maps)) {
throw new Exception(S_NO_PERMISSIONS_FOR_MAP . ' [' . $sysmap['name'] . '] import');
}
$db_map = reset($db_maps);
$sysmap['sysmapid'] = $db_map['sysmapid'];
} else {
if ($exists || !isset($rules['maps']['missed'])) {
info('Map [' . $sysmap['name'] . '] skipped - user rule');
unset($importMaps[$mnum]);
continue;
// break if not update exist
}
}
if (isset($sysmap['backgroundid'])) {
$image = getImageByIdent($sysmap['backgroundid']);
if (!$image) {
error(S_CANNOT_FIND_BACKGROUND_IMAGE . ' "' . $sysmap['backgroundid']['name'] . '" ' . S_USED_IN_EXPORTED_MAP_SMALL . ' "' . $sysmap['name'] . '"');
$sysmap['backgroundid'] = 0;
} else {
$sysmap['backgroundid'] = $image['imageid'];
}
} else {
$sysmap['backgroundid'] = 0;
}
if (!isset($sysmap['selements'])) {
$sysmap['selements'] = array();
}
if (!isset($sysmap['links'])) {
$sysmap['links'] = array();
}
foreach ($sysmap['selements'] as $snum => &$selement) {
$nodeCaption = isset($selement['elementid']['node']) ? $selement['elementid']['node'] . ':' : '';
if (!isset($selement['elementid'])) {
$selement['elementid'] = 0;
}
switch ($selement['elementtype']) {
case SYSMAP_ELEMENT_TYPE_MAP:
$db_sysmaps = CMap::getObjects($selement['elementid']);
if (empty($db_sysmaps)) {
$error = S_CANNOT_FIND_MAP . ' "' . $nodeCaption . $selement['elementid']['name'] . '" ' . S_USED_IN_EXPORTED_MAP_SMALL . ' "' . $sysmap['name'] . '"';
throw new Exception($error);
}
$tmp = reset($db_sysmaps);
$selement['elementid'] = $tmp['sysmapid'];
break;
//.........這裏部分代碼省略.........