' . __('No agents found') . ''; return; } // Generate image and map // If image was generated just a few minutes ago, then don't regenerate // (it takes long) unless regen checkbox is set $filename_map = io_safe_output($config["attachment_store"]) . "/networkmap_" . $filter; $filename_img = io_safe_output($config["attachment_store"]) . "/networkmap_" . $filter . "_" . $font_size; $filename_dot = io_safe_output($config["attachment_store"]) . "/networkmap_" . $filter; if ($simple) { $filename_map .= "_simple"; $filename_img .= "_simple"; $filename_dot .= "_simple"; } if ($nooverlap) { $filename_map .= "_nooverlap"; $filename_img .= "_nooverlap"; $filename_dot .= "_nooverlap"; } $filename_map .= "_" . $id_networkmap . ".map"; $filename_img .= "_" . $id_networkmap . ".png"; $filename_dot .= "_" . $id_networkmap . ".dot"; if ($regen != 1 && file_exists ($filename_img) && filemtime ($filename_img) > get_system_time () - SECONDS_5MINUTES) { $result = true; } else { $fh = @fopen ($filename_dot, 'w'); if ($fh === false) { $result = false; } else { fwrite ($fh, $graph); $graphviz_path = (!empty($config['graphviz_bin_dir'])) ? io_safe_output($config['graphviz_bin_dir'] . "/") : ""; $is_windows = strtoupper(substr(PHP_OS, 0, 3)) == 'WIN'; if ($is_windows) { $graphviz_path = str_replace("/", "\\", $graphviz_path ); $filename_map = str_replace("/", "\\", $filename_map ); $filename_img = str_replace("/", "\\", $filename_img ); $filename_dot = str_replace("/", "\\", $filename_dot ); $filter = $filter . '.exe'; } $cmd = escapeshellarg($graphviz_path . $filter) . " -Tcmapx " . escapeshellarg("-o$filename_map") . " -Tpng ". escapeshellarg("-o$filename_img") . " " . escapeshellarg($filename_dot); $result = system ($cmd); fclose ($fh); unlink ($filename_dot); //~ html_debug_print($cmd); } } if ($result !== false) { if (! file_exists ($filename_map)) { ui_print_error_message (__('Map could not be generated')); echo $result; echo "
system()
call (PHP Safe Mode or SELinux)";
echo "