text:
<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<meta charset="utf-8">
<title>Force-Directed Graph</title>
<style>

.node {
  cursor: pointer;
  stroke: #3182bd;
  stroke-width: 1.5px;
}

.link {
  fill: none;
  stroke: #9ecae1;
  stroke-width: 1.5px;
}

</style>

<?php

    $url = $_SESSION["file2"];

?>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>

var width = 960,
    height = 500,
    root;

var force = d3.layout.force()
    .size([width, height])
    .on("tick", tick);

var svg = d3.select("body").append("svg")
    .attr("width", width)
    .attr("height", height);

var link = svg.selectAll(".link"),
    node = svg.selectAll(".node");
var url1 = "<?php echo $url ?>";
d3.json(url1, function(json) {
  root = json;
  update();
});

function update() {
  var nodes = flatten(root),
      links = d3.layout.tree().links(nodes);

  // Restart the force layout.
  force
      .nodes(nodes)
      .links(links)
      .start();

  // Update the links…
  link = link.data(links, function(d) { return d.target.id; });

  // Exit any old links.
  link.exit().remove();

  // Enter any new links.
  link.enter().insert("line", ".node")
      .attr("class", "link")
      .attr("x1", function(d) { return d.source.x; })
      .attr("y1", function(d) { return d.source.y; })
      .attr("x2", function(d) { return d.target.x; })
      .attr("y2", function(d) { return d.target.y; });

  // Update the nodes…
  node = node.data(nodes, function(d) { return d.id; }).style("fill", color);

  // Exit any old nodes.
  node.exit().remove();

  // Enter any new nodes.
  node.enter().append("circle")
      .attr("class", "node")
      .attr("cx", function(d) { return d.x; })
      .attr("cy", function(d) { return d.y; })
      .attr("r", function(d) { return Math.sqrt(d.size) / 10 || 4.5; })
      .style("fill", color)
      .on("click", click)
      .call(force.drag);
}

function tick() {
  link.attr("x1", function(d) { return d.source.x; })
      .attr("y1", function(d) { return d.source.y; })
      .attr("x2", function(d) { return d.target.x; })
      .attr("y2", function(d) { return d.target.y; });

  node.attr("cx", function(d) { return d.x; })
      .attr("cy", function(d) { return d.y; });
}

// Color leaf nodes orange, and packages white or blue.
function color(d) {
  return d._children ? "#3182bd" : d.children ? "#c6dbef" : "#fd8d3c";
}

// Toggle children on click.
function click(d) {
  if (!d3.event.defaultPrevented) {
    if (d.children) {
      d._children = d.children;
      d.children = null;
    } else {
      d.children = d._children;
      d._children = null;
    }
    update();
  }
}

// Returns a list of all nodes under the root.
function flatten(root) {
  var nodes = [], i = 0;

  function recurse(node) {
    if (node.children) node.children.forEach(recurse);
    if (!node.id) node.id = ++i;
    nodes.push(node);
  }

  recurse(root);
  return nodes;
}

</script>


Red, White, and BlueCustomize It! Customize It! Customize It!
License Plate 6"x12" Aluminum (.040) Single SidedCustomize It! License Plate 6" x 12" Aluminum (.040) Single SidedCustomize It! License Plate 6" x 12" Aluminum (.040) Single SidedCustomize It!
License Plate 6" x 12" Aluminum (.040) Single SidedCustomize It! License Plate 6" x 12" Aluminum (.040) Single SidedCustomize It! License Plate 6" x 12" Aluminum (.040) Single SidedCustomize It!
License Plate 6" x 12" Aluminum (.040) Single SidedCustomize It!
Create your own custom license plates at BuildASign.com starting with some of our most popular featured templates! Using our online design tool you can create license plates for any occasion. We offer a wide variety of custom license plates made of durable aluminum. Select a template from our most popular designs or start designing your custom license plates today!


We are excited to announce that we are expanding our partnership with leading leisure operator Everyone Active to bring Time Credits to 50 Everyone Active centres across South East England. This major expansion is a big step towards realising our strategic ambition to scale up our impact.
Our 2018 evaluation report shows that 47% of people spend their Time Credits on the gym and other physical activity- more opportunities to spend Time Credits at sports and leisure facilities will encourage many more people to give time to their community while also supporting access to activities that enable healthier lives.
32 new Everyone Active sites joined the Time Credits Spend Network in December 2018, building on our existing partnership that extended across Westminster and Ealing. Time Credits can be exchanged at Everyone Active sites for a wide variety of activities – enabling volunteers to try something new and get active at the same time. These activities include; gym, swimming, fitness classes, climbing walls, golf, soft play areas, pitch hire, spa entry, female only gyms and more.
"We are delighted to be partnering with Tempo and we hope that it will encourage the community to get involved in local projects, then enabling them to try out new physical activities they may never have had access to before," says Michael Hindmarsh, Regional Partnership and Funding Manager.
Click here to find an Everyone Active site near you.