/** presentation */ function renderEdgeTableRow($flowId) { $offset = 1 / 4; $rows = $this->flow->getFlowById($flowId); $sum = $this->flow->getSumOfOutgoingFlow($rows->from, $rows->to); $ratio = 0; if ($sum) { $ratio = $rows->count / $sum; } $output = ""; $hue = 1 - ($ratio * 3 / 4 + $offset); $rgb = ExtraWatchHelper::HSV_TO_RGB($hue, 1, 1); if ($rgb) { $color = sprintf("#%02x%02x%02x", $rgb['R'], $rgb['G'], $rgb['B']); } $fromUri = $this->visit->getTitleByUriId($rows->from); $fromTitle = $this->visit->getUriNameByUri2TitleId($rows->from); $toUri = $this->visit->getTitleByUriId($rows->to); $toTitle = $this->visit->getUriNameByUri2TitleId($rows->to); $output .= sprintf("<tr> \t \t \t \t\t \t \t \t \t \t\t \t \t\t \t \t\t\t \t \t\t \t \t \t\t \t \t \t \t \t \t\t \t\t \t\t\t\t \t\t\t \t\t \t\t \t \t\t \t\t \n <td style='background-color: " . "%s" . "'></td> \t \t \t \t\t \t \t \t \t \t\t \t \t\t \t \t\t\t \t \t\t \t \t \t\t \t \t \t \t \t \t\t \t\t \t\t\t\t \t\t\t \t\t \t\t \t \t\t \t\t \n <th>%.2f%%</th> \t \t \t \t\t \t \t \t \t \t\t \t \t\t \t \t\t\t \t \t\t \t \t \t\t \t \t \t \t \t \t\t \t\t \t\t\t\t \t\t\t \t\t \t\t \t \t\t \t\t \n <td title='%s'>%s</td> \t \t \t \t\t \t \t \t \t \t\t \t \t\t \t \t\t\t \t \t\t \t \t \t\t \t \t \t \t \t \t\t \t\t \t\t\t\t \t\t\t \t\t \t\t \t \t\t \t\t \n <td title='%s'>%s</td> \t \t \t \t\t \t \t \t \t \t\t \t \t\t \t \t\t\t \t \t\t \t \t \t\t \t \t \t \t \t \t\t \t\t \t\t\t\t \t\t\t \t\t \t\t \t \t\t \t\t \n <th>%d</th>\n <th>%d</th>\n </tr>", $color, $ratio * 100, ExtraWatchHelper::truncate($fromUri, self::TRUNCATE_LEN), ExtraWatchHelper::truncate($fromTitle, self::TRUNCATE_LEN), ExtraWatchHelper::truncate($toUri, self::TRUNCATE_LEN), ExtraWatchHelper::truncate($toTitle, self::TRUNCATE_LEN), $rows->count, $sum); return $output; }
public static function rgbColorFromRatio($ratio) { $color = ""; $hue = ExtraWatchHelper::hueFromRatio($ratio); $rgb = ExtraWatchHelper::HSV_TO_RGB($hue, 1, 1); if ($rgb) { $color = sprintf("#%02x%02x%02x", $rgb['R'], $rgb['G'], $rgb['B']); return $color; } return $color; }