Exemple #1
0
ini_set('display_errors', 'On');
$lnk = mysql_connect('114.215.210.34', 'root', 'xujj10192917') or die('Not connected : ' . mysql_error());
// make foo the current db
mysql_select_db('touzilicai', $lnk) or die('Can\'t use foo : ' . mysql_error());
mysql_query("set names utf8");
/*
mysql_query('truncate tree_data');
mysql_query('truncate tree_struct');


mysql_query('insert into tree_struct select id,lpoint,rpoint,level,parent_id,position,"default" from categories');
mysql_query('insert into tree_data(id,title,title_en) select id,title,title_en from categories');
mysql_query('insert into tree_data(title,title_en,summary,content,cid,src,src_id,src_category,src_tag) select title,"",summary,content,cid,src,src_id,src_category,src_tag from articles');
*/
//修复lft, rgt
$trees = get_trees();
regenerate_tid($trees);
updateTreeTids($trees);
//repair_pos();
//createArticleList();
//importArticle();
function repair_pos()
{
    $result = mysql_query('select * from tree_struct where id<=66 order by id limit 0,70');
    if ($result) {
        while ($row = mysql_fetch_assoc($result)) {
            $selSql = 'select * from tree_struct where id>66 and pid=' . $row['id'] . ' order by lft';
            $result2 = mysql_query($selSql);
            if ($result2) {
                $i = 0;
                while ($row2 = mysql_fetch_assoc($result2)) {
Exemple #2
0
function get_tree_leaf_items($tree_id, $leaf_id, $device_group_type, $include_parent = false) {
	global $current_user, $config;
	require(CACTI_BASE_PATH . "/include/graph_tree/graph_tree_arrays.php");

	// prototype
	// $items = array($tree_id, $leaf_id, $type, $id, $name);
	// $tree_id = 'Tree where item exists'
	// $leaf_id = 'Leaf where item exists'
	// $type = 'graph|device|site|leaf|dqn|dqi|gtn';
	// $id   = 'local_graph_id|device_id|site_id|leaf_id|dqn_id|dqi_id|gtn_id'

	// the following types are only valid if $device_group_data = true
	// dqn|dqi|gtn

	include(CACTI_BASE_PATH . "/include/global_arrays.php");
	include_once(CACTI_BASE_PATH . "/lib/data_query.php");
	include_once(CACTI_BASE_PATH . "/lib/tree.php");
	include_once(CACTI_BASE_PATH . "/lib/html_utility.php");

	/* get the trees that the user has access to */
	$items = array();

	if ($tree_id <= 0) {
		return get_trees($tree_id);
	}elseif (tree_authorized($tree_id)) {
		if ($include_parent) {
			return get_trees($tree_id);
		}

		$search_key = "";

		if ($leaf_id > 0) {
			/* return leaf, site, device, graph template or data query items */
			$leaf = db_fetch_row("SELECT *
				FROM graph_tree_items
				WHERE id=$leaf_id");

			$leaf_type = get_tree_item_type($leaf_id);

			/* get the "starting leaf" if the user clicked on a specific branch */
			if (!empty($leaf_id)) {
				$search_key = substr($leaf["order_key"], 0, (tree_tier($leaf["order_key"]) * CHARS_PER_TIER));
			}
		}else{
			$leaf_type = "header";
		}

		$user = db_fetch_row("SELECT * FROM user_auth WHERE id=" . $_SESSION["sess_user_id"]);

		if ($leaf_type == "header") {
			if (read_config_option("auth_method") != 0) {
				$tree_items = db_fetch_assoc("SELECT *
					FROM graph_tree_items
					WHERE graph_tree_id=$tree_id
					AND id!=$leaf_id
					AND order_key like '$search_key" . str_repeat('_', CHARS_PER_TIER) . str_repeat('0', (MAX_TREE_DEPTH * CHARS_PER_TIER) - (strlen($search_key) + CHARS_PER_TIER)) . "'");

				if (sizeof($tree_items)) {
					foreach($tree_items AS $item) {
						if ($item["local_graph_id"]) {
							if (graph_authorized($item["local_graph_id"], $user)) {
								$new_tree_items[] = $item;
							}
						}elseif ($item["device_id"]) {
							if (device_authorized($item["device_id"], $user)) {
								$new_tree_items[] = $item;
							}
						}else{
							$new_tree_items[] = $item;
						}
					}

					$tree_items = $new_tree_items;
				}
			}else{
				$tree_items = db_fetch_assoc("SELECT *
					FROM graph_tree_items
					WHERE graph_tree_id=$tree_id
					AND id!=$leaf_id
					AND order_key like '$search_key" . str_repeat('_', CHARS_PER_TIER) . str_repeat('0', (MAX_TREE_DEPTH * CHARS_PER_TIER) - (strlen($search_key) + CHARS_PER_TIER)) . "'");
			}

			if (sizeof($tree_items)) {
				foreach($tree_items as $item) {
					if ($item["local_graph_id"] > 0) {
						$items[] = array(
							"tree_id" => $tree_id,
							"leaf_id" => $item["id"],
							"type" => 'graph',
							"id" => $item["local_graph_id"],
							"name" => get_graph_title($item["local_graph_id"])
						);
					}elseif ($item["device_id"] > 0) {
						$items[] = array(
							"tree_id" => $tree_id,
							"leaf_id" => $item["id"],
							"type" => 'device',
							"id" => $item["device_id"],
							"name" => get_device_description($item["device_id"])
						);
					}else{
						$items[] = array(
							"tree_id" => $tree_id,
							"leaf_id" => $item["id"],
							"type" => 'header',
							"id" => $item["id"],
							"name" => $item["title"]
						);
					}
				}
			}

			return $items;
		}elseif ($leaf_type == "device") {
			if (read_graph_config_option("expand_devices") == CHECKED) {
				if ($leaf["device_grouping_type"] == TREE_DEVICE_GROUPING_GRAPH_TEMPLATE) {
					if ((isset($device_group_type)) && ($device_group_type[0] != 'gt')) {
						$items = get_device_grouping_graph_templates($leaf, $user);
					}
				}else{
					if (isset($device_group_type)) {
						if (($device_group_type[0] != 'dqi') && ($device_group_type[0] != 'dq')) {
							$items = get_device_grouping_data_queries($leaf);
						}elseif ($device_group_type[0] != 'dqi') {
							$items = get_device_grouping_data_query_items($leaf, $device_group_type);
						}
					}
				}
			}

			return $items;
		}else{
			return $items;
		}
	}else{
		return $items;
	}
}