[interchange-cvs] interchange - racke modified 2 files

interchange-cvs at icdevgroup.org interchange-cvs at icdevgroup.org
Tue Aug 7 06:55:59 EDT 2007


User:      racke
Date:      2007-08-07 10:55:57 GMT
Modified:  .        WHATSNEW-5.5
Modified:  dist/lib/UI/pages/admin direct_sql.html
Log:
Avoid crashes on table export if data contains Interchange tags (#100).

Revision  Changes    Path
1.44      +2 -0      interchange/WHATSNEW-5.5


rev 1.44, prev_rev 1.43
Index: WHATSNEW-5.5
===================================================================
RCS file: /var/cvs/interchange/WHATSNEW-5.5,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- WHATSNEW-5.5	6 Aug 2007 20:05:40 -0000	1.43
+++ WHATSNEW-5.5	7 Aug 2007 10:55:56 -0000	1.44
@@ -150,6 +150,8 @@
 * Fixed test to see if sku exists on creation of new item 
   in quick_question.html (#17)
 
+* Avoid crashes on table export if data contains Interchange tags (#100).
+
 Standard demo
 -------------
 



1.7       +18 -17    interchange/dist/lib/UI/pages/admin/direct_sql.html


rev 1.7, prev_rev 1.6
Index: direct_sql.html
===================================================================
RCS file: /var/cvs/interchange/dist/lib/UI/pages/admin/direct_sql.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- direct_sql.html	23 Apr 2005 18:10:07 -0000	1.6
+++ direct_sql.html	7 Aug 2007 10:55:57 -0000	1.7
@@ -146,30 +146,31 @@
 	</blockquote>
 	<table border=1>
 [if cgi download]
-	
-	[deliver interpolate=1][query
-		table="[cgi mv_data_table]"
-		st=db
-		list=1
-		sql=`$sql`
-		ml="[cgi limit]"
-	][sql-sub line_proc]
-		shift;
-		my $row = shift;
-		my $out = '';
-		if(! $t_header_done++) {
-			my $o = shift;
-			$out .= join "\t", @{$o->{mv_return_fields}};
-			$out .= "\n";
-		}
+	[perl tables="[cgi mv_data_table]"]
+	my ($db, @set, $records, $i, $out);
+
+	$db = $Db{$CGI->{mv_data_table}};
+	@set = $db->query({sql => $sql});
+
+	$out .= join ("\t", @{$set[2]}) . "\n";
+
+	$records = $set[0];
+
+	for ($i = 0; $i < @$records; $i++) {
+		last if $CGI->{limit} && $i == $CGI->{limit};
+		
+		$row = $records->[$i];
+		
 		for(@$row) {
 			s/\r?\n/\r/g;
 			s/\t/ /g;
 		}
 		$out .= join "\t", @$row;
 		$out .= "\n";
-	[/sql-sub][sql-exec line_proc][/sql-exec][/query][/deliver]
+	}
 
+	$Tag->deliver({body => \$out});
+	[/perl]
 [elsif cgi html]
 	[query
 		table="[cgi mv_data_table]"








More information about the interchange-cvs mailing list