Index: l10n_packager/l10n_packager.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_packager/Attic/l10n_packager.module,v
retrieving revision 1.1.2.4.2.11
diff -u -p -r1.1.2.4.2.11 l10n_packager.module
--- l10n_packager/l10n_packager.module	14 Jun 2010 12:40:28 -0000	1.1.2.4.2.11
+++ l10n_packager/l10n_packager.module	14 Jun 2010 14:14:31 -0000
@@ -309,8 +309,28 @@ function l10n_packager_build_download_li
 
 /**
  * Page callback version for download link renderer.
+ *
+ * Use this to present a list of downloads on a remote server. Example use:
+ *
+ * @code
+ * <div id="l10n-server-download-links">Loading...</a>
+ * <script type="text/javascript">
+ * function l10nPackagerDownloadLinks(markup) {
+ *  jQuery('#l10n-server-download-links').html(markup);
+ * }
+ * </script>
+ * <script type="text/javascript" src="http://l10nserver-host/translate/remote/downloads/myproject"></script>
+ * @endcode
  */
 function l10n_packager_build_download_links_page($uri) {
-  print l10n_packager_build_download_links($uri);
+  // Buffer the output, since drupal_json() will set an HTTP header.
+  ob_start();
+  // Invoke a function which is expected to be implemented by the client.
+  // This is the current possible way to do cross-domain AHAH communication.
+  echo 'l10nPackagerDownloadLinks(';
+  drupal_json(l10n_packager_build_download_links($uri));
+  echo ');';
+  // Now ready to flush the buffer and end the response.
+  ob_end_flush();
   exit;
 }
