PageRenderTime 50ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 1ms

/htdocs/admin/tools/dolibarr_import.php

https://bitbucket.org/speedealing/speedealing
PHP | 197 lines | 132 code | 31 blank | 34 comment | 23 complexity | 00802cbf6b4f60ec4cb6ef9b11bb1729 MD5 | raw file
Possible License(s): LGPL-3.0, LGPL-2.1, GPL-3.0, MIT
  1. <?php
  2. /* Copyright (C) 2006-2012 Laurent Destailleur <eldy@users.sourceforge.net>
  3. * Copyright (C) 2006-2012 Regis Houssin <regis.houssin@capnetworks.com>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation; either version 3 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License
  16. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. /**
  19. * \file htdocs/admin/tools/dolibarr_import.php
  20. * \ingroup core
  21. * \brief Page to import database
  22. */
  23. require '../../main.inc.php';
  24. $langs->load("admin");
  25. $langs->load("other");
  26. if (! $user->admin)
  27. accessforbidden();
  28. $radio_dump=GETPOST('radio_dump');
  29. $showpass=GETPOST('showpass');
  30. /*
  31. * View
  32. */
  33. $label=getStaticMember($db, 'label');
  34. llxHeader('','');
  35. ?>
  36. <script type="text/javascript">
  37. jQuery(document).ready(function() {
  38. jQuery("#mysql_options").<?php echo $radio_dump=='mysql_options'?'show()':'hide()'; ?>;
  39. jQuery("#postgresql_options").<?php echo $radio_dump=='postgresql_options'?'show()':'hide()'; ?>;
  40. jQuery("#radio_dump_mysql").click(function() {
  41. jQuery("#mysql_options").show();
  42. });
  43. jQuery("#radio_dump_postgresql").click(function() {
  44. jQuery("#postgresql_options").show();
  45. });
  46. <?php
  47. if ($label == 'MySQL') print 'jQuery("#radio_dump_mysql").click();';
  48. if ($label == 'PostgreSQL') print 'jQuery("#radio_dump_postgresql").click();';
  49. ?>
  50. });
  51. </script>
  52. <?php
  53. print_fiche_titre($langs->trans("Restore"),'','setup');
  54. print $langs->trans("RestoreDesc",DOL_DATA_ROOT).'<br><br>';
  55. print $langs->trans("RestoreDesc2",DOL_DATA_ROOT).'<br><br>';
  56. print $langs->trans("RestoreDesc3",DOL_DATA_ROOT).'<br><br>';
  57. ?>
  58. <fieldset id="fieldsetexport">
  59. <?php print '<legend>'.$langs->trans("DatabaseName").' : <b>'.$dolibarr_main_db_name.'</b></legend>'; ?>
  60. <table><tr><td valign="top">
  61. <?php if ($conf->use_javascript_ajax) { ?>
  62. <div id="div_container_exportoptions">
  63. <fieldset id="exportoptions">
  64. <legend><?php echo $langs->trans("ImportMethod"); ?></legend>
  65. <?php
  66. if ($label == 'MySQL')
  67. {
  68. ?>
  69. <div class="formelementrow">
  70. <input type="radio" name="what" value="mysql" id="radio_dump_mysql"<?php echo ($radio_dump=='mysql_options'?' checked':''); ?> />
  71. <label for="radio_dump_mysql">MySQL (mysql)</label>
  72. </div>
  73. <?php
  74. }
  75. else if ($label == 'PostgreSQL')
  76. {
  77. ?>
  78. <div class="formelementrow">
  79. <input type="radio" name="what" value="mysql" id="radio_dump_postgresql"<?php echo ($radio_dump=='postgresql_options'?' checked':''); ?> />
  80. <label for="radio_dump_postgresql">PostgreSQL Restore (pg_restore)</label>
  81. </div>
  82. <?php
  83. }
  84. else
  85. {
  86. print 'No method available with database '.$label;
  87. }
  88. ?>
  89. </fieldset>
  90. </div>
  91. <?php } ?>
  92. </td><td valign="top">
  93. <div id="div_container_sub_exportoptions">
  94. <?php
  95. if ($label == 'MySQL')
  96. {
  97. ?>
  98. <fieldset id="mysql_options">
  99. <legend><?php echo $langs->trans('RestoreMySQL') ?></legend>
  100. <div class="formelementrow">
  101. <?php
  102. // Parameteres execution
  103. $command=$db->getPathOfRestore();
  104. if (preg_match("/\s/",$command)) $command=$command=escapeshellarg($command); // Use quotes on command
  105. $param=$dolibarr_main_db_name;
  106. $param.=" -h ".$dolibarr_main_db_host;
  107. if (! empty($dolibarr_main_db_port)) $param.=" -P ".$dolibarr_main_db_port;
  108. $param.=" -u ".$dolibarr_main_db_user;
  109. $paramcrypted=$param;
  110. $paramclear=$param;
  111. if (! empty($dolibarr_main_db_pass))
  112. {
  113. $paramcrypted.=" -p".preg_replace('/./i','*',$dolibarr_main_db_pass);
  114. $paramclear.=" -p".$dolibarr_main_db_pass;
  115. }
  116. echo $langs->trans("ImportMySqlDesc");
  117. print '<br>';
  118. print '<textarea rows="1" cols="120">'.$langs->trans("ImportMySqlCommand",$command,($showpass?$paramclear:$paramcrypted)).'</textarea><br>';
  119. if (empty($_GET["showpass"]) && $dolibarr_main_db_pass) print '<br><a href="'.$_SERVER["PHP_SELF"].'?showpass=1&amp;radio_dump=mysql_options">'.$langs->trans("UnHidePassword").'</a>';
  120. //else print '<br><a href="'.$_SERVER["PHP_SELF"].'?showpass=0&amp;radio_dump=mysql_options">'.$langs->trans("HidePassword").'</a>';
  121. ?>
  122. </div>
  123. </fieldset>
  124. <?php
  125. }
  126. else if ($label == 'PostgreSQL')
  127. {
  128. ?>
  129. <fieldset id="postgresql_options">
  130. <legend>Restore PostgreSQL</legend>
  131. <div class="formelementrow">
  132. <?php
  133. // Parameteres execution
  134. $command=$db->getPathOfRestore();
  135. if (preg_match("/\s/",$command)) $command=$command=escapeshellarg($command); // Use quotes on command
  136. $param=" -d ".$dolibarr_main_db_name;
  137. $param.=" -h ".$dolibarr_main_db_host;
  138. if (! empty($dolibarr_main_db_port)) $param.=" -p ".$dolibarr_main_db_port;
  139. $param.=" -U ".$dolibarr_main_db_user;
  140. $paramcrypted=$param;
  141. $paramclear=$param;
  142. /*if (! empty($dolibarr_main_db_pass))
  143. {
  144. $paramcrypted.=" -p".preg_replace('/./i','*',$dolibarr_main_db_pass);
  145. $paramclear.=" -p".$dolibarr_main_db_pass;
  146. }*/
  147. $paramcrypted.=" -W";
  148. $paramclear.=" -W";
  149. echo $langs->trans("ImportPostgreSqlDesc");
  150. print '<br>';
  151. print '<textarea rows="1" cols="120">'.$langs->trans("ImportPostgreSqlCommand",$command,($showpass?$paramclear:$paramcrypted)).'</textarea><br>';
  152. //if (empty($_GET["showpass"]) && $dolibarr_main_db_pass) print '<br><a href="'.$_SERVER["PHP_SELF"].'?showpass=1&amp;radio_dump=postgresql_options">'.$langs->trans("UnHidePassword").'</a>';
  153. //else print '<br><a href="'.$_SERVER["PHP_SELF"].'?showpass=0&amp;radio_dump=mysql_options">'.$langs->trans("HidePassword").'</a>';
  154. ?>
  155. </div>
  156. </fieldset>
  157. <?php
  158. }
  159. ?>
  160. </div>
  161. </td></tr></table>
  162. </fieldset>
  163. <?php
  164. llxFooter();
  165. $db->close();
  166. ?>