public function executeMap($request) { $options = $this->getParams(array('num')); $this->data = EntityTable::getRelatedEntitiesAndRelsForMap($this->entity['id']); if ($request->getParameter('format') == "json") { return $this->renderText(json_encode($this->data)); } else { return 'Xml'; } }
public function executeMap($request) { $this->checkEntity($request, false, false); $num = $request->getParameter("num", 12); if ($request->getParameter("use_interlocks", "0") == "0") { //excluding donations from starting entity map right now $this->data = json_encode(EntityTable::getRelatedEntitiesAndRelsForMap($this->entity->id, $num, array(), array(5))); } else { $order1 = $this->entity['primary_ext'] == 'Person' ? 1 : 2; $order2 = $this->entity['primary_ext'] == 'Person' ? 2 : 1; $options = array('cat1_ids' => "1,2,3,4,6,7", 'cat2_ids' => "1,2,3,4,6,7", 'order1' => $order1, 'order2' => $order2, 'page' => 1, 'num' => 5); $interlocks = EntityApi::getSecondDegreeNetwork($this->entity['id'], $options); $degree1_ids = array(); $degree1_scores = array(); foreach ($interlocks as $i) { $new_degree1_ids = explode(",", $i["degree1_ids"]); foreach ($new_degree1_ids as $id) { $degree1_scores[$id] = isset($degree1_scores[$id]) ? $degree1_scores[$id] + 1 : 1; } $degree1_ids = array_merge($degree1_ids, $new_degree1_ids); } arsort($degree1_scores); $degree1_ids = array_keys($degree1_scores); $degree1_ids = array_slice($degree1_ids, 0, $num); $entity_ids = array_unique(array_merge(array($this->entity["id"]), $degree1_ids)); $data = EntityTable::getEntitiesAndRelsForMap($entity_ids); $entities = array(); foreach ($data["entities"] as $e) { array_push($entities, $e); } $this->data = json_encode(array("entities" => $entities, "rels" => $data["rels"])); } }