Exemplo n.º 1
0
 public function executeEntities($request)
 {
     $this->setResponseFormat();
     $entity_ids = explode(",", $request->getParameter('entity_ids'));
     $this->data = EntityTable::getEntitiesAndRelsForMap($entity_ids);
     if ($request->getParameter('format') == "json") {
         return $this->renderText(json_encode($this->data));
     } else {
         return 'Xml';
     }
 }
Exemplo n.º 2
0
 public function executeInterlocksMap($request)
 {
     $this->checkEntity($request, false, false);
     $num = $request->getParameter("num", 6);
     $degree1_num = $request->getParameter("degree1_num", 10);
     $order1 = $this->entity['primary_ext'] == 'Person' ? 1 : 2;
     $order2 = $this->entity['primary_ext'] == 'Person' ? 2 : 1;
     $options = array('cat1_ids' => RelationshipTable::POSITION_CATEGORY . ',' . RelationshipTable::MEMBERSHIP_CATEGORY, 'order1' => $order1, 'cat2_ids' => RelationshipTable::POSITION_CATEGORY . ',' . RelationshipTable::MEMBERSHIP_CATEGORY, 'order2' => $order2, 'page' => 1, 'num' => $num);
     $interlocks = EntityApi::getSecondDegreeNetwork($this->entity['id'], $options);
     $degree1_ids = array();
     $degree2_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);
         $degree2_ids[] = $i["id"];
     }
     arsort($degree1_scores);
     $degree1_ids = array_keys($degree1_scores);
     $degree1_ids = array_slice($degree1_ids, 0, $degree1_num);
     $entity_ids = array_unique(array_merge(array($this->entity["id"]), $degree1_ids, $degree2_ids));
     $cats = array(RelationshipTable::POSITION_CATEGORY, RelationshipTable::MEMBERSHIP_CATEGORY);
     $data = EntityTable::getEntitiesAndRelsForMap($entity_ids, $cats);
     /*
     foreach ($data["entities"] as $i => $entity)
     {
       $data["entities"][$i]["url"] = preg_replace("/map$/", "interlocksMap", $entity["url"]);
     }
     */
     $entities = array();
     foreach ($data["entities"] as $e) {
         array_push($entities, $e);
     }
     $this->data = json_encode(array("entities" => $entities, "rels" => $data["rels"]));
     $this->degree1_ids = $degree1_ids;
     $this->degree2_ids = $degree2_ids;
 }