PageRenderTime 52ms CodeModel.GetById 26ms RepoModel.GetById 1ms app.codeStats 0ms

/administrator/components/com_rsform/views/submissions/tmpl/export.php

https://bitbucket.org/organicdevelopment/joomla-2.5
PHP | 231 lines | 205 code | 20 blank | 6 comment | 23 complexity | 931c9bafa2a4f35304e70db62c18a0f1 MD5 | raw file
Possible License(s): LGPL-3.0, GPL-2.0, MIT, BSD-3-Clause, LGPL-2.1
  1. <?php
  2. /**
  3. * @version 1.4.0
  4. * @package RSform!Pro 1.4.0
  5. * @copyright (C) 2007-2011 www.rsjoomla.com
  6. * @license GPL, http://www.gnu.org/copyleft/gpl.html
  7. */
  8. defined('_JEXEC') or die('Restricted access');
  9. JHTML::_('behavior.tooltip');
  10. ?>
  11. <script type="text/javascript">
  12. function submitbutton(task)
  13. {
  14. var totalHeaders = <?php echo count($this->previewArray); ?>;
  15. if (task == 'submissions.export.task')
  16. {
  17. var isChecked = false;
  18. for (var i=1; i<=totalHeaders; i++)
  19. if (document.getElementById('header' + i).checked)
  20. {
  21. isChecked = true;
  22. break;
  23. }
  24. if (isChecked)
  25. submitform(task);
  26. else
  27. alert('<?php echo JText::_('RSFP_EXPORT_PLEASE_SELECT', true); ?>');
  28. }
  29. else
  30. submitform(task);
  31. }
  32. <?php if (RSFormProHelper::isJ16()) { ?>
  33. Joomla.submitbutton = submitbutton;
  34. <?php } ?>
  35. function updateCSVPreview()
  36. {
  37. <?php if ($this->exportType != 'csv') { ?>
  38. return;
  39. <?php } ?>
  40. var form = document.adminForm;
  41. var headersPre = document.getElementById('headersPre');
  42. var rowPre = document.getElementById('rowPre');
  43. var delimiter = form.ExportDelimiter.value;
  44. var enclosure = form.ExportFieldEnclosure.value;
  45. var totalHeaders = <?php echo count($this->previewArray); ?>;
  46. var headers = new Array();
  47. var previewArray = new Array();
  48. var orderArray = new Array();
  49. for (var i=1; i<=totalHeaders; i++)
  50. if (document.getElementById('header' + i).checked)
  51. {
  52. var header = document.getElementById('header' + i).value;
  53. var order = document.getElementsByName('ExportOrder[' + header + ']')[0].value;
  54. orderArray.push(order + '_' + header);
  55. }
  56. orderArray.sort(function (a,b) {
  57. a = a.split('_');
  58. a = a[0];
  59. b = b.split('_');
  60. b = b[0];
  61. return a - b;
  62. });
  63. for (var i=0; i<orderArray.length; i++)
  64. {
  65. var header = orderArray[i].split('_');
  66. var header = enclosure + header[1] + enclosure;
  67. headers.push(header);
  68. }
  69. headersPre.innerHTML = headers.join(delimiter);
  70. headersPre.style.display = form.ExportHeaders.checked ? '' : 'none';
  71. for (var i=1; i<=headers.length; i++)
  72. {
  73. var item = enclosure + 'Value ' + i + enclosure;
  74. previewArray.push(item);
  75. }
  76. rowPre.innerHTML = previewArray.join(delimiter);
  77. }
  78. function toggleCheckColumns()
  79. {
  80. var tocheck = document.getElementById('checkColumns').checked;
  81. var totalHeaders = <?php echo count($this->previewArray); ?>;
  82. for (var i=1; i<=totalHeaders; i++)
  83. document.getElementById('header' + i).checked = tocheck;
  84. updateCSVPreview();
  85. }
  86. </script>
  87. <form action="index.php?option=com_rsform" method="post" id="adminForm" name="adminForm">
  88. <?php echo $this->tabs->startPane('export'); ?>
  89. <?php echo $this->tabs->startPanel(JText::_('RSFP_EXPORT_SELECT_FIELDS'), 'export-fields'); ?>
  90. <table class="adminform" border="0">
  91. <tr>
  92. <td>
  93. <input type="radio" name="ExportRows" id="ExportRowsAll" value="0" <?php echo $this->exportAll ? 'checked="checked"' : ''; ?> />
  94. <label for="ExportRowsAll"><?php echo JText::_('RSFP_EXPORT_ALL_ROWS'); ?></label>
  95. <input type="radio" name="ExportRows" id="ExportRowsSelected" value="<?php echo implode(',', $this->exportSelected); ?>" <?php echo !$this->exportAll ? 'checked="checked"' : ''; ?> />
  96. <label for="ExportRowsSelected"><?php echo JText::_('RSFP_EXPORT_SELECTED_ROWS'); ?> (<?php echo $this->exportSelectedCount; ?>) </label>
  97. </td>
  98. </tr>
  99. <tr>
  100. <td>
  101. <table class="adminlist" style="width: 500px" width="500">
  102. <tr>
  103. <td><input type="checkbox" onclick="toggleCheckColumns();" id="checkColumns" /></td>
  104. <td colspan="2"><label for="checkColumns"><strong><?php echo JText::_('RSFP_CHECK_ALL'); ?></strong></label></td>
  105. </tr>
  106. <thead>
  107. <tr>
  108. <th class="title" width="5" nowrap="nowrap"><?php echo JText::_('RSFP_EXPORT'); ?></th>
  109. <th class="title"><?php echo JText::_('RSFP_EXPORT_SUBMISSION_INFO'); ?></th>
  110. <th class="title" width="5" nowrap="nowrap"><?php echo JText::_('RSFP_EXPORT_COLUMN_ORDER'); ?></th>
  111. </tr>
  112. </thead>
  113. <?php $k = 0; ?>
  114. <?php $i = 1; ?>
  115. <?php foreach ($this->staticHeaders as $header) { ?>
  116. <tr class="row<?php echo $k; ?>">
  117. <td><input type="checkbox" onchange="updateCSVPreview();" name="ExportSubmission[<?php echo $header; ?>]" id="header<?php echo $i; ?>" value="<?php echo $header; ?>" <?php echo $this->isHeaderEnabled($header, 1) ? 'checked="checked"' : ''; ?> /></td>
  118. <td><label for="header<?php echo $i; ?>"><?php echo JText::_('RSFP_'.$header); ?></label></td>
  119. <td><input type="text" onkeyup="updateCSVPreview();" style="text-align: center" name="ExportOrder[<?php echo $header; ?>]" value="<?php echo $i; ?>" size="3"/></td>
  120. </tr>
  121. <?php $i++; ?>
  122. <?php $k=1-$k; ?>
  123. <?php } ?>
  124. <thead>
  125. <tr>
  126. <th class="title" width="5" nowrap="nowrap"><?php echo JText::_('RSFP_EXPORT'); ?></th>
  127. <th class="title"><?php echo JText::_('RSFP_EXPORT_COMPONENTS'); ?></th>
  128. <th class="title" width="5" nowrap="nowrap"><?php echo JText::_('RSFP_EXPORT_COLUMN_ORDER'); ?></th>
  129. </tr>
  130. </thead>
  131. <?php foreach ($this->headers as $header) { ?>
  132. <tr class="row<?php echo $k; ?>">
  133. <td><input type="checkbox" onchange="updateCSVPreview();" name="ExportComponent[<?php echo $header; ?>]" id="header<?php echo $i; ?>" value="<?php echo $header; ?>" <?php echo $this->isHeaderEnabled($header, 0) ? 'checked="checked"' : ''; ?> /></td>
  134. <td><label for="header<?php echo $i; ?>">
  135. <?php if ($header == '_STATUS') echo JText::_('RSFP_PAYPAL_STATUS'); elseif ($header == '_ANZ_STATUS') echo JText::_('RSFP_ANZ_STATUS'); else echo $header; ?>
  136. </label></td>
  137. <td><input type="text" onkeyup="updateCSVPreview();" style="text-align: center" name="ExportOrder[<?php echo $header; ?>]" value="<?php echo $i; ?>" size="3" /></td>
  138. </tr>
  139. <?php $i++; ?>
  140. <?php $k=1-$k; ?>
  141. <?php } ?>
  142. </table>
  143. </td>
  144. </tr>
  145. <tr>
  146. <td><button type="button" class="rs_button" onclick="submitbutton('submissions.export.task');" name="Export"><?php echo JText::_('RSFP_EXPORT');?></button></td>
  147. </tr>
  148. </table>
  149. <?php echo $this->tabs->endPanel(); ?>
  150. <?php echo $this->tabs->startPanel(JText::_($this->exportType == 'csv' ? 'RSFP_EXPORT_CSV_OPTIONS' : 'RSFP_EXPORT_OPTIONS'), 'export-options'); ?>
  151. <table class="admintable" width="100%">
  152. <tr>
  153. <td width="200" style="width: 200px;" align="right" class="key">
  154. <span class="hasTip" title="<?php echo JText::_('RSFP_EXPORT_HEADERS_DESC'); ?>">
  155. <?php echo JText::_('RSFP_EXPORT_HEADERS');?>
  156. </span>
  157. </td>
  158. <td>
  159. <input type="checkbox" style="text-align: center" onchange="updateCSVPreview();" name="ExportHeaders" value="1" checked="checked" />
  160. </td>
  161. </tr>
  162. <?php if ($this->exportType == 'csv') { ?>
  163. <tr>
  164. <td width="200" style="width: 200px;" align="right" class="key">
  165. <span class="hasTip" title="<?php echo JText::_('RSFP_EXPORT_DELIMITER_DESC'); ?>">
  166. <?php echo JText::_('RSFP_EXPORT_DELIMITER');?>
  167. </span>
  168. </td>
  169. <td>
  170. <input type="text" class="rs_inp rs_5" style="text-align: center" onkeyup="updateCSVPreview();" name="ExportDelimiter" value="," size="5" />
  171. </td>
  172. </tr>
  173. <tr>
  174. <td width="200" style="width: 200px;" align="right" class="key">
  175. <span class="hasTip" title="<?php echo JText::_('RSFP_EXPORT_ENCLOSURE_DESC'); ?>">
  176. <?php echo JText::_('RSFP_EXPORT_ENCLOSURE');?>
  177. </span>
  178. </td>
  179. <td>
  180. <input type="text" class="rs_inp rs_5" style="text-align: center" onkeyup="updateCSVPreview();" name="ExportFieldEnclosure" value="&quot;" size="5" />
  181. </td>
  182. </tr>
  183. <?php } ?>
  184. </table>
  185. <?php echo $this->tabs->endPanel(); ?>
  186. <?php if ($this->exportType == 'csv') { ?>
  187. <?php echo $this->tabs->startPanel(JText::_('Preview'), 'export-preview'); ?>
  188. <table class="adminform" border="0">
  189. <tr>
  190. <td><?php echo JText::_('RSFP_EXPORT_PREVIEW_DESC'); ?></td>
  191. </tr>
  192. <tr>
  193. <td>
  194. <div id="previewExportDiv">
  195. <pre id="headersPre"><?php echo implode(',', $this->staticHeaders); ?><?php if (count($this->headers)) { ?>,<?php echo implode(',', $this->headers); ?><?php } ?></pre>
  196. <pre id="rowPre">&quot;<?php echo implode('&quot;,&quot;', $this->previewArray); ?>&quot;</pre>
  197. </div>
  198. </td>
  199. </tr>
  200. </table>
  201. <?php echo $this->tabs->endPanel(); ?>
  202. <?php } ?>
  203. <?php echo $this->tabs->endPane(); ?>
  204. <input type="hidden" name="task" value="submissions.export.task" />
  205. <input type="hidden" name="exportType" value="<?php echo $this->exportType; ?>" />
  206. <input type="hidden" name="option" value="com_rsform" />
  207. <input type="hidden" name="formId" value="<?php echo $this->formId; ?>" />
  208. <input type="hidden" name="ExportFile" value="<?php echo $this->exportFile; ?>" />
  209. </form>
  210. <script type="text/javascript">updateCSVPreview();</script>
  211. <?php JHTML::_('behavior.keepalive'); ?>