示例#1
0
文件: html_tree.php 项目: MrWnn/cacti
function grow_dhtml_trees()
{
    global $config;
    include_once $config['library_path'] . '/data_query.php';
    $default_tree_id = read_graph_config_option('default_tree_id');
    if (empty($default_tree_id)) {
        $user = db_fetch_row('SELECT * FROM user_auth WHERE id=' . $_SESSION['sess_user_id']);
        if ($user['policy_trees'] == 1) {
            $default_tree_id = db_fetch_cell("SELECT id \n\t\t\t\tFROM graph_tree\n\t\t\t\tWHERE id NOT IN (\n\t\t\t\t\tSELECT item_id \n\t\t\t\t\tFROM user_auth_perms \n\t\t\t\t\tWHERE type=2 AND user_id=" . $_SESSION['sess_user_id'] . "\n\t\t\t\t)\n\t\t\t\tORDER BY id LIMIT 1");
        } else {
            $default_tree_id = db_fetch_cell("SELECT id \n\t\t\t\tFROM graph_tree\n\t\t\t\tWHERE id IN (\n\t\t\t\t\tSELECT item_id \n\t\t\t\t\tFROM user_auth_perms \n\t\t\t\t\tWHERE type=2 \n\t\t\t\t\tAND user_id=" . $_SESSION['sess_user_id'] . "\n\t\t\t\t)\n\t\t\t\tORDER BY id LIMIT 1");
        }
    }
    $dhtml_tree = create_dhtml_tree();
    if (sizeof($dhtml_tree)) {
        print "<div id='jstree'></div>\n";
    }
    ?>
	<script type='text/javascript'>
	<?php 
    if (!isset($_SESSION['sess_node_id']) && !isset($_REQUEST['tree_id']) || isset($_REQUEST['select_first'])) {
        print "var node='tree_anchor-" . $default_tree_id . "';\n";
        print "var reset=true;\n";
    } elseif (isset($_REQUEST['tree_id'])) {
        print "var node='tree_anchor-" . $_REQUEST['tree_id'] . "';\n";
        print "var reset=false;\n";
    } elseif (isset($_SESSION['sess_node_id'])) {
        print "var node='" . $_SESSION['sess_node_id'] . "';\n";
        print "var reset=false;\n";
    } else {
        print "var node='';\n";
        print "var reset=true;\n";
    }
    ?>
	$(function () {
		$('#jstree').each(function(data) {
			var id=$(this).attr('id');

			$(this)
			.on('set_state.jstree', function(e, data) {
				if (node!='') {
					$(this).jstree('deselect_all');
					$(this).jstree('select_node', node);

					if (node.search('tree_anchor') >= 0) {
						href=$('#'+node).find('a:first').attr('href')+"&nodeid=0";
					}else if (node.search('-j') >= 0) {
						node = node.replace('tbranch-','');
						href=$('#'+node).find('a:first').attr('href')+"&nodeid="+node;
					}else{
						href=$('#'+node).find('a:first').attr('href')+"&nodeid="+node.replace('tbranch-','');
					}
					if (href.search('undefined') < 0) {
						href=href.replace('action=tree', 'action=tree_content');
						$.get(href, function(data) {
							$('#main').html(data);
							applySkin();
						});
					}
				}
				$('#navigation').show();
				$('#navigation_right').show();
			})
			.on('activate_node.jstree', function(e, data) {
				if (data.node.id) {
					if (data.node.id.search('tree_anchor') >= 0) {
						href=$('#'+data.node.id).find('a:first').attr('href')+"&nodeid=0";
					}else{
						href=$('#'+data.node.id).find('a:first').attr('href')+"&nodeid="+data.node.id.replace('tbranch-','');
					}
					href=href.replace('action=tree', 'action=tree_content');
					$.get(href, function(data) {
						$('#main').html(data);
						applySkin();
					});
					node = data.node.id;
				}
			})
			.jstree({
				'types' : {
					'device' : {
						icon : 'images/server.png',
						max_children : 0
					},
					'graph' : {
						icon : 'images/server_chart_curve.png',
						max_children : 0
					}
				},
				'core' : {
					'data' : {
						'url' : 'graph_view.php?action=get_node&tree_id=0',
						'data' : function(node) {
							return { 'id' : node.id }
						}
					},
					'animation' : 0,
					'check_callback' : false
				},
				'themes' : {
					'name' : 'default',
					'responsive' : true,
					'url' : true,
					'dots' : false
				},
				'state' : { 'key' : 'graph_tree_'+id },
				'plugins' : [ 'types', 'state', 'wholerow' ]
			});
		});

		$('.jstree').css('overflow-y','initial').css('overflow-x', 'initial');
		$('#navigation').resizable();
		$(window).resize(function() {
			height      = parseInt($(window).height()-$('.jstree').offset().top-10)+'px';
			$('.jstree').css('overflow-y','initial').css('overflow-x', 'initial');
		});
	});
	</script>
	<?php 
}
示例#2
0
function grow_dhtml_trees() {
	global $colors, $config;

	include_once($config["library_path"] . "/tree.php");
	include_once($config["library_path"] . "/data_query.php");

	?>
	<script type="text/javascript">
	<!--
	USETEXTLINKS = 1
	STARTALLOPEN = 0
	USEFRAMES = 0
	USEICONS = 0
	WRAPTEXT = 1
	PERSERVESTATE = 1
	HIGHLIGHT = 1
	<?php
	/* get current time */
	list($micro,$seconds) = split(" ", microtime());
	$current_time = $seconds + $micro;
	$expand_hosts = read_graph_config_option("expand_hosts");

	if (!isset($_SESSION['dhtml_tree'])) {
		$dhtml_tree = create_dhtml_tree();
		$_SESSION['dhtml_tree'] = $dhtml_tree;
	}else{
		$dhtml_tree = $_SESSION['dhtml_tree'];
		if (($dhtml_tree[0] + read_graph_config_option("page_refresh") < $current_time) || ($expand_hosts != $dhtml_tree[2])) {
			$dhtml_tree = create_dhtml_tree();
			$_SESSION['dhtml_tree'] = $dhtml_tree;
		}else{
			$dhtml_tree = $_SESSION['dhtml_tree'];
		}
	}

	$total_tree_items = sizeof($dhtml_tree) - 1;

	for ($i = 2; $i <= $total_tree_items; $i++) {
		print $dhtml_tree[$i];
	}
	?>
	foldersTree.treeID = "t2";
	//-->
	</script>
	<?php
}
示例#3
0
function grow_dhtml_trees()
{
    global $config;
    include_once $config['library_path'] . '/tree.php';
    include_once $config['library_path'] . '/data_query.php';
    $default_tree_id = read_graph_config_option('default_tree_id');
    if (empty($default_tree_id)) {
        $user = db_fetch_row('SELECT * FROM user_auth WHERE id=' . $_SESSION['sess_user_id']);
        if ($user['policy_trees'] == 1) {
            $default_tree_id = db_fetch_cell("SELECT id \n\t\t\t\tFROM graph_tree\n\t\t\t\tWHERE id NOT IN (SELECT item_id FROM user_auth_perms WHERE type=2 AND user_id=" . $_SESSION['sess_user_id'] . ")\n\t\t\t\tORDER BY id LIMIT 1");
        } else {
            $default_tree_id = db_fetch_cell("SELECT id \n\t\t\t\tFROM graph_tree\n\t\t\t\tWHERE id IN (SELECT item_id FROM user_auth_perms WHERE type=2 AND user_id=" . $_SESSION['sess_user_id'] . ")\n\t\t\t\tORDER BY id LIMIT 1");
        }
    }
    $dhtml_tree = create_dhtml_tree();
    $total_tree_items = sizeof($dhtml_tree) - 1;
    for ($i = 2; $i <= $total_tree_items; $i++) {
        print $dhtml_tree[$i];
    }
    ?>
	<script type='text/javascript'>
	<?php 
    if (!isset($_SESSION['sess_node_id']) && !isset($_REQUEST['tree_id']) || isset($_REQUEST['select_first'])) {
        print "var node='tree_" . $default_tree_id . "';\n";
        print "var reset=true;\n";
    } elseif (isset($_REQUEST['nodeid']) && $_REQUEST['nodeid'] != '') {
        print "var node='" . $_REQUEST['nodeid'] . "';\n";
        print "var reset=false;\n";
    } elseif (isset($_REQUEST['tree_id'])) {
        print "var node='tree_" . $_REQUEST['tree_id'] . "';\n";
        print "var reset=false;\n";
    } elseif (isset($_SESSION['sess_node_id']) && $_SESSION['sess_node_id'] != '') {
        print "var node='" . $_SESSION['sess_node_id'] . "';\n";
        print "var reset=false;\n";
    } else {
        print "var node='';\n";
        print "var reset=true;\n";
    }
    if (isset($_REQUEST['leaf_id'])) {
        print "var leaf='" . $_REQUEST['leaf_id'] . "';\n";
    } else {
        print "var leaf='';\n";
    }
    ?>
	$(function () {
		$('#navigation').css('height', ($(window).height()-80)+'px');
		$(window).resize(function() {
			$('#navigation').css('height', ($(window).height()-80)+'px');
		});

		$("#jstree")
		.on('ready.jstree', function(e, data) {
			if (reset == true) {
				$('#jstree').jstree('clear_state');
			}
			if (node!='') {
				$('#jstree').jstree('set_theme', 'default', '<?php 
    print $config['url_path'];
    ?>
include/js/themes/default/style.css');
				$('#jstree').jstree('deselect_all');
				$('#jstree').jstree('select_node', node);
				$.get($('#'+node+'_anchor').attr('href').replace('leaf_id=&', 'leaf_id='+leaf+'&').replace('action=tree', 'action=tree_content')+"&nodeid="+node, function(data) {
					$('#main').html(data);
				});
			}

			$('#navigation').show();
		})
		.on('set_state.jstree', function(e, data) {
			$('#jstree').jstree('deselect_all');
			$('#jstree').jstree('select_node', node);
		})
		.on('activate_node.jstree', function(e, data) {
			if (data.node.id) {
				$.get($('#'+data.node.id+'_anchor').attr('href').replace('action=tree', 'action=tree_content')+"&nodeid="+data.node.id, function(data) {
					$('#main').html(data);
				});
				node = data.node.id;
			}
		})
		.jstree({
			'core' : {
				'animation' : 0
			},
			'themes' : {
				'name' : 'default',
				'responsive' : true,
				'url' : true,
				'dots' : true
			},
			'plugins' : [ 'state', 'wholerow' ]
		});
	});
	</script>
	<?php 
}