fetch_assoc()) $knots .= "\"p" . $row["id"] . "\" [label = \"" . $row["arch"] . "/" . $row["repo"] . "/" . $row["pkgname"] . "\", fontcolor = \"" . $row["color"] . "\"];\n"; $result = mysql_run_query( "SELECT `d_bpir`.`id` AS `dependent`," . "`dependency_types`.`name` AS `dep_type`," . "`itp_bpir`.`id` AS `depending_on`" . " FROM `d_bpir`" . " JOIN `binary_packages_in_repositories` ON `d_bpir`.`id`=`binary_packages_in_repositories`.`id`" . " JOIN `dependencies` ON `binary_packages_in_repositories`.`package`=`dependencies`.`dependent`" . " JOIN `dependency_types` ON `dependencies`.`dependency_type`=`dependency_types`.`id`" . " JOIN `install_target_providers` ON `install_target_providers`.`install_target`=`dependencies`.`depending_on`" . " JOIN `d_it` ON `d_it`.`id`=`install_target_providers`.`install_target`" . " JOIN `binary_packages_in_repositories` AS `itp_bpir` ON `itp_bpir`.`package`=`install_target_providers`.`package`" . " JOIN `d_bpir_copy` ON `itp_bpir`.`id`=`d_bpir_copy`.`id`" . " WHERE `dependencies`.`dependent`!=`install_target_providers`.`package`" ); while ($row = $result->fetch_assoc()) { $edges .= "\"p" . $row["depending_on"] . "\" -> \"p" . $row["dependent"] . "\" [color = \""; switch ($row["dep_type"]) { case "run": $edges .= "#000000"; break; case "make": $edges .= "#0000ff"; break; case "link": $edges .= "#008000"; break; case "check": $edges .= "#000080"; break; default: $edges .= "#ff00ff"; } $edges .= "#000080"; $edges .= "\"];\n"; } header ("Content-type: image/png"); passthru( "echo '" . base64_encode( "digraph dependencies {\n" . "rankdir=LR;\n" . "fontname=dejavu;\n" . $knots . $edges . "}\n" ) . "' | " . "base64 -d | " . "dot -Tpng -o/dev/stdout /dev/stdin" );