public function output($save_as = null, &$format = null) { $output_format = 'SVG'; if (isset($_SERVER['HTTP_USER_AGENT']) || isset($_REQUEST['force_format'])) { static $browser_renderer = null; if (isset($_REQUEST['force_format'])) { // Don't nest the force_format within the browser_renderer null check in case its overriden by OpenBenchmarking.org dynamically $output_format = $_REQUEST['force_format']; } else { if ($browser_renderer == null) { $output_format = pts_render::renderer_compatibility_check($_SERVER['HTTP_USER_AGENT']); } else { $output_format = $browser_renderer; } } } $format = $output_format; switch ($output_format) { case 'JPG': case 'JPEG': $output = pts_svg_dom_gd::svg_dom_to_gd($this->dom, 'JPEG'); $output_format = 'jpg'; break; case 'PNG': $output = pts_svg_dom_gd::svg_dom_to_gd($this->dom, 'PNG'); $output_format = 'png'; break; case 'SVG': default: $output = $this->save_xml(); $output_format = 'svg'; break; } if ($output == null) { return false; } else { if ($save_as) { return file_put_contents(str_replace('BILDE_EXTENSION', $output_format, $save_as), $output); } else { return $output; } } }