[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] [20960] New feature: Generic support for jasper repor
From: |
Sigurd Nes |
Subject: |
[Phpgroupware-cvs] [20960] New feature: Generic support for jasper report |
Date: |
Wed, 13 Jan 2010 19:17:03 +0000 |
Revision: 20960
http://svn.sv.gnu.org/viewvc/?view=rev&root=phpgroupware&revision=20960
Author: sigurdne
Date: 2010-01-13 19:17:03 +0000 (Wed, 13 Jan 2010)
Log Message:
-----------
New feature: Generic support for jasper report
Modified Paths:
--------------
people/sigurdne/modules/property/trunk/inc/class.bofiles.inc.php
Modified: people/sigurdne/modules/property/trunk/inc/class.bofiles.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.bofiles.inc.php
2010-01-13 19:15:51 UTC (rev 20959)
+++ people/sigurdne/modules/property/trunk/inc/class.bofiles.inc.php
2010-01-13 19:17:03 UTC (rev 20960)
@@ -8,7 +8,7 @@
* @package phpgroupware
* @subpackage property
* @category core
- * @version $Id: class.bofiles.inc.php 4058 2009-11-06 14:50:54Z sigurd
$
+ * @version $Id: class.bofiles.inc.php 4490 2010-01-13 14:49:18Z sigurd
$
*/
/*
@@ -224,8 +224,6 @@
'nofiles' => true
));
- $browser = CreateObject('phpgwapi.browser');
-
if(!$jasper)
{
$this->vfs->override_acl = 1;
@@ -236,53 +234,64 @@
$this->vfs->override_acl = 0;
+ $browser =
CreateObject('phpgwapi.browser');
$browser->content_header($ls_array[0]['name'],$ls_array[0]['mime_type'],$ls_array[0]['size']);
echo $document;
}
else //Execute the jasper report
{
- //class_path
- // $dirname = PHPGW_API_INC .
'/jasper/lib';
- $dirname = 'phpgwapi/inc/jasper/lib';
- $file_list = array();
- // $file_list[] = PHPGW_API_INC .
'/jasper/bin';
- $file_list[] =
'phpgwapi/inc/jasper/bin';
- $dir = new DirectoryIterator($dirname);
- if ( is_object($dir) )
- {
- foreach ( $dir as $_file )
- {
- if ( $_file->isDot()
- ||
!$_file->isFile()
- ||
!$_file->isReadable()
- ||
mime_content_type($_file->getPathname()) == 'text/xml')
- {
- continue;
- }
+ $output_type = 'PDF';
- $file_list[] = (string)
"{$dirname}/{$_file}";
- }
- }
-
- if (stristr(PHP_OS, 'WIN'))
- {
- $sep = ';';// Win
- }
- else
- {
- $sep = ':';// Other
- }
+ /**
+ * 'parameters' will be in the following
format:
+ * 'key1|value1;key2|value2;key3|value3'
where key1, key2 ... keyX are
+ * unique
+ */
+/*
+ $jasper_parameters =
sprintf("\"BK_DATE_FROM|%s;BK_DATE_TO|%s;BK_BUILDINGS|%s\"",
+ 1,//$from,
+ 1,//$to,
+ 1);//implode(",",
$building_list));
- $class_path = implode($sep, $file_list);
- $type = 'pdf';
- $select_criteria = '//Record';
- $template = "{$this->rootdir}/{$file}";
+*/
+ $jasper_parameters = '"DUMMY|1"';
- $cmd = "java -Djava.awt.headless=true
-cp {$class_path} XmlJasperInterface -o{$type} -f{$template}
-x{$select_criteria} < " . PHPGW_SERVER_ROOT .
"/catch/test_data/jasper/tilstand.xml";
-
$browser->content_header('report.pdf','application/pdf');
+ // DEBUG
+ //print_r($jasper_parameters);die();
+ //exit(0);
- passthru($cmd);
+ $info =
pathinfo($file);
+ $report_name = 'report_' .
basename($file,'.'.$info['extension']);
+ $report_source =
"{$this->rootdir}{$file}";
+ $memory = xmlwriter_open_memory();
+
xmlwriter_start_document($memory,'1.0','UTF-8');
+
+ xmlwriter_start_element
($memory,'JasperConfig'); // <JasperConfig>
+ xmlwriter_start_element
($memory,'Reports'); // <Reports>
+ xmlwriter_start_element
($memory,'Report'); // <Report>
+
xmlwriter_write_attribute( $memory, 'name', $report_name);
+
xmlwriter_write_attribute( $memory, 'source', $report_source);
+
xmlwriter_end_element($memory); // </Report>
+ xmlwriter_end_element($memory);
// </Reports>
+ xmlwriter_end_element($memory); //
</JasperConfig>
+
+ $xml =
xmlwriter_output_memory($memory,true);
+
+ $jasper_config =
$GLOBALS['phpgw_info']['server']['temp_dir'] . '/config_' . basename($file);
+ $file_written = false;
+ $fp = fopen($jasper_config, "wb");
+ fwrite($fp,$xml);
+
+ if(fclose($fp))
+ {
+ $file_written=true;
+ }
+
+ $jasper_wrapper =
CreateObject('phpgwapi.jasper_wrapper');
+ $jasper_wrapper->jasper_config =
$jasper_config;
+
$jasper_wrapper->execute($jasper_parameters, $output_type, $report_name,
$errors);
+ unlink($jasper_config);
}
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] [20960] New feature: Generic support for jasper report,
Sigurd Nes <=