PageRenderTime 39ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/install/inc/install_load_sql.php

https://bitbucket.org/DESURE/dcms
PHP | 73 lines | 53 code | 18 blank | 2 comment | 10 complexity | 01db12d782e775bdf17a0e710c76331d MD5 | raw file
  1. <?php
  2. class install_load_sql {
  3. var $tables;
  4. function __construct() {
  5. db_connect();
  6. $this->tables = new tables();
  7. if (empty($_SESSION['rename_prefix']))
  8. $_SESSION['rename_prefix'] = '~' . TIME . '~';
  9. foreach ($this->tables->tables as $table) {
  10. if ($table {
  11. 0} == '~')
  12. continue;
  13. DB::me()->query("ALTER TABLE `$table` RENAME `" . $_SESSION['rename_prefix'] ."$table`");
  14. }
  15. }
  16. function actions() {
  17. $return = true;
  18. global $options;
  19. $files_ini = array();
  20. $files_sql = array();
  21. if (!empty($_POST['load_data']) && !empty($options['new_base']))
  22. $files_sql = (array) glob(H . '/sys/preinstall/base.data.*.sql');
  23. $files_ini = (array) glob(H . '/sys/preinstall/base.create.*.ini');
  24. foreach ($files_ini as $file) {
  25. $tab = new table_structure($file);
  26. $sql = $tab->getSQLQueryCreate();
  27. //echo '<pre>'.output_text($sql).';</pre><br />';
  28. if (!DB::me()->query($sql))
  29. $return = false;
  30. }
  31. // exit;
  32. foreach ($files_sql as $file) {
  33. $sqls = sql_parser::getQueriesFromFile($file);
  34. foreach ($sqls as $sql) {
  35. if (!DB::me()->query($sql))
  36. $return = false;
  37. }
  38. }
  39. $_SESSION['install_load_sql_false'] = !$return;
  40. return $return;
  41. }
  42. function form() {
  43. echo __('На данном этапе создадутся необходимые для работы движка таблицы в базе данных. Если в базе уже находятся какие-либо таблицы, к ним будет добавлен префикс с временной меткой');
  44. global $options;
  45. if (!empty($options['new_base'])) {
  46. $files = glob(H . '/sys/preinstall/base.data.*.sql');
  47. if ($files)
  48. echo '<br /><label><input type="checkbox" checked="checked" value="1" name="load_data" />' . __('Загрузить содержимое таблиц') . '</label>';
  49. }
  50. if (!empty($_SESSION['install_load_sql_false']))
  51. echo "<br />".__("При выполнении SQL запросов возникли ошибки") ;
  52. return true;
  53. }
  54. }
  55. ?>