import_export.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. function exportData() {
  2. try {
  3. var query = "backend.php?op=pluginhandler&plugin=import_export&method=exportData";
  4. if (dijit.byId("dataExportDlg"))
  5. dijit.byId("dataExportDlg").destroyRecursive();
  6. var exported = 0;
  7. dialog = new dijit.Dialog({
  8. id: "dataExportDlg",
  9. title: __("Export Data"),
  10. style: "width: 600px",
  11. prepare: function() {
  12. notify_progress("Loading, please wait...");
  13. new Ajax.Request("backend.php", {
  14. parameters: "op=pluginhandler&plugin=import_export&method=exportrun&offset=" + exported,
  15. onComplete: function(transport) {
  16. try {
  17. var rv = JSON.parse(transport.responseText);
  18. if (rv && rv.exported != undefined) {
  19. if (rv.exported > 0) {
  20. exported += rv.exported;
  21. $("export_status_message").innerHTML =
  22. "<img src='images/indicator_tiny.gif'> " +
  23. "Exported %d articles, please wait...".replace("%d",
  24. exported);
  25. setTimeout('dijit.byId("dataExportDlg").prepare()', 2000);
  26. } else {
  27. $("export_status_message").innerHTML =
  28. ngettext("Finished, exported %d article. You can download the data <a class='visibleLink' href='%u'>here</a>.", "Finished, exported %d articles. You can download the data <a class='visibleLink' href='%u'>here</a>.", exported)
  29. .replace("%d", exported)
  30. .replace("%u", "backend.php?op=pluginhandler&plugin=import_export&subop=exportget");
  31. exported = 0;
  32. }
  33. } else {
  34. $("export_status_message").innerHTML =
  35. "Error occured, could not export data.";
  36. }
  37. } catch (e) {
  38. exception_error("exportData", e, transport.responseText);
  39. }
  40. notify('');
  41. } });
  42. },
  43. execute: function() {
  44. if (this.validate()) {
  45. }
  46. },
  47. href: query});
  48. dialog.show();
  49. } catch (e) {
  50. exception_error("exportData", e);
  51. }
  52. }
  53. function dataImportComplete(iframe) {
  54. try {
  55. if (!iframe.contentDocument.body.innerHTML) return false;
  56. Element.hide(iframe);
  57. notify('');
  58. if (dijit.byId('dataImportDlg'))
  59. dijit.byId('dataImportDlg').destroyRecursive();
  60. var content = iframe.contentDocument.body.innerHTML;
  61. dialog = new dijit.Dialog({
  62. id: "dataImportDlg",
  63. title: __("Data Import"),
  64. style: "width: 600px",
  65. onCancel: function() {
  66. },
  67. content: content});
  68. dialog.show();
  69. } catch (e) {
  70. exception_error("dataImportComplete", e);
  71. }
  72. }
  73. function importData() {
  74. var file = $("export_file");
  75. if (file.value.length == 0) {
  76. alert(__("Please choose the file first."));
  77. return false;
  78. } else {
  79. notify_progress("Importing, please wait...", true);
  80. Element.show("data_upload_iframe");
  81. return true;
  82. }
  83. }