本文整理汇总了PHP中CLink::setMenuPopup方法的典型用法代码示例。如果您正苦于以下问题:PHP CLink::setMenuPopup方法的具体用法?PHP CLink::setMenuPopup怎么用?PHP CLink::setMenuPopup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CLink
的用法示例。
在下文中一共展示了CLink::setMenuPopup方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createServiceConfigurationTree
/**
* Creates nodes that can be used to display the service configuration tree using the CTree class.
*
* @see CTree
*
* @param array $services
* @param array $parentService
* @param array $service
* @param array $dependency
* @param array $tree
*/
function createServiceConfigurationTree(array $services, &$tree, array $parentService = array(), array $service = array(), array $dependency = array())
{
if (!$service) {
$caption = new CLink(_('root'), '#');
$caption->setMenuPopup(CMenuPopupHelper::getServiceConfiguration(null, _('root'), false));
$serviceNode = array('id' => 0, 'parentid' => 0, 'caption' => $caption, 'trigger' => array(), 'algorithm' => SPACE, 'description' => SPACE);
$service = $serviceNode;
$service['serviceid'] = 0;
$service['dependencies'] = array();
$service['trigger'] = array();
// add all top level services as children of "root"
foreach ($services as $topService) {
if (!$topService['parent']) {
$service['dependencies'][] = array('servicedownid' => $topService['serviceid'], 'soft' => 0, 'linkid' => 0);
}
}
$tree = array($serviceNode);
} else {
// caption
$caption = new CLink($service['name'], '#');
// service is deletable only if it has no hard dependency
$deletable = true;
foreach ($service['dependencies'] as $dep) {
if ($dep['soft'] == 0) {
$deletable = false;
break;
}
}
$caption->setMenuPopup(CMenuPopupHelper::getServiceConfiguration($service['serviceid'], $service['name'], $deletable));
$serviceNode = array('id' => $service['serviceid'], 'caption' => $caption, 'description' => $service['trigger'] ? $service['trigger']['description'] : '-', 'parentid' => $parentService ? $parentService['serviceid'] : 0, 'algorithm' => serviceAlgorythm($service['algorithm']));
}
if (!$dependency || !$dependency['soft']) {
$tree[$serviceNode['id']] = $serviceNode;
foreach ($service['dependencies'] as $dependency) {
$childService = $services[$dependency['servicedownid']];
createServiceConfigurationTree($services, $tree, $service, $childService, $dependency);
}
} else {
$serviceNode['caption'] = new CSpan($serviceNode['caption'], 'service-caption-soft');
$tree[$serviceNode['id'] . '.' . $dependency['linkid']] = $serviceNode;
}
}