} }); }); </script> <?php $contents = ob_get_contents(); ob_end_clean(); $boxInteraction->content = $contents; // Box 8: Interaction Feed $boxIfeed = clone $box; $boxIfeed->header = StdLib::load_image("comment.png", "16px", "16px") . " Interaction Feed"; $boxIfeed->styles["header"]["width"] = "474px"; $boxIfeed->id = "interaction-feed"; $boxIfeed->styles["content"]["padding"] = "0px"; $interactions = $contact->get_interactions(); ob_start(); ?> <style> .feed { height:300px; border-bottom-right-radius:10px; border-top:0; overflow: hidden; clear:both; min-height:250px; max-height:1500px; position:relative; margin-right:-2px; padding-bottom:12px; }
if (!is_object($dept2)) { return -1; } return strcmp($dept1->deptname, $dept2->deptname); } return $a["count"] < $b["count"] ? 1 : -1; } if ($_REQUEST["rptype"] == "overall") { $maincontact = new ContactObj($_REQUEST["cid"]); if (!$maincontact->loaded) { Yii::app()->user->setFlash("error", "Could not load reports for user: "******"index")); exit; } $numinteractions = $maincontact->count_interactions(); $interactions = $maincontact->get_interactions(); $total_attendees = array(); $total_departments = array(); foreach ($interactions as $int) { foreach ($int->attendees as $attendee) { $contact = new ContactObj($attendee); if (!array_key_exists($attendee, $total_attendees)) { $contact->load_departments(); $total_attendees[$attendee] = array("obj" => $contact, "count" => 1); } else { $total_attendees[$attendee]["count"]++; } foreach ($contact->departments as $dept) { if (!$dept->loaded) { continue; }
function get_all_tags() { $tlc1 = new ContactObj(); $tlc1->fullname = "Amanda McAndrew"; $tlc1->load(); $tlc2 = new ContactObj(); $tlc2->fullname = "Nigora Azimova"; $tlc2->load(); $tlc3 = new ContactObj(); $tlc3->fullname = "Jacie Moriyama"; $tlc3->load(); $tlc3 = new ContactObj(); $tlc3->fullname = "Jacie Moriyama"; $tlc3->load(); $tlcs[] = $tlc1; $tlcs[] = $tlc2; $tlcs[] = $tlc3; $interactions = $tlc1->get_interactions(); $interactions = array_merge($interactions, $tlc2->get_interactions()); $interactions = array_merge($interactions, $tlc3->get_interactions()); $depts = array(); $conn = Yii::app()->db; foreach ($interactions as $index => $interaction) { if (strtotime($interaction->meetingdate) < strtotime("January 1st, 2014")) { unset($interactions[$index]); } foreach (explode(", ", $interaction->tags) as $tag) { $tags[] = $tag; } } $tags = array_unique($tags); foreach ($tags as $tag) { $query = "\n SELECT attendees\n FROM interactions\n WHERE tags LIKE :tag\n "; $command = $conn->createCommand($query); $command->bindValue(":tag", "%" . $tag . "%"); $result = $command->queryAll(); $names = array(); $depts = array(); $rowinfo = array(); foreach ($result as $row) { $attendees = json_decode($row["attendees"]); # Remove the TLCs foreach ($tlcs as $tlc) { if ($key = array_search($tlc->cid, $attendees) !== false) { unset($attendees[$key]); } } foreach ($attendees as $attendee) { $query = "\n SELECT B.deptname, A.fullname\n FROM contacts as A, departments as B\n WHERE A.cid = :cid\n AND B.deptid = (SELECT deptid FROM contact_departments WHERE cid = :cid LIMIT 1);\n "; $command = $conn->createCommand($query); $command->bindParam(":cid", $attendee); $result = $command->queryRow(); if (!in_array($result["fullname"], $names)) { if ($result["fullname"] != "") { $names[] = $result["fullname"]; $rowinfo[] = $result["fullname"]; } if ($result["deptname"] != "") { $rowinfo[] = $result["deptname"]; $depts[] = $result["deptname"]; } } } } $output[$tag] = array("tag" => $tag, "numcontacts" => count($names), "numdepts" => count($depts)); $output[$tag] = array_merge($output[$tag], $rowinfo); } return $output; }