예제 #1
0
 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;
         }
     }
 }