PluginProbe
VikBooking Hotel Booking Engine & PMS / 1.6.4
VikBooking Hotel Booking Engine & PMS v1.6.4
1.8.16 1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 All 37 releases
vikbooking / admin / helpers / src / backup / import / rule / sqlfile.php

sqlfile.php in VikBooking Hotel Booking Engine & PMS 1.6.4, at admin/helpers/src/backup/import/rule/sqlfile.php

81 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package VikBooking
4 * @subpackage core
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2021 E4J s.r.l. All Rights Reserved.
7 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
8 * @link https://vikwp.com
9 */
10
11 // No direct access
12 defined('ABSPATH') or die('No script kiddies please!');
13
14 /**
15 * Backup SQL File import rule.
16 *
17 * @since 1.5
18 */
19 class VBOBackupImportRuleSqlfile extends VBOBackupImportRuleSql
20 {
21 /**
22 * Executes the backup import command.
23 *
24 * @param mixed $data The import rule instructions.
25 *
26 * @return void
27 */
28 public function execute($data)
29 {
30 if (empty($data->path))
31 {
32 // missing file path
33 throw new Exception('Invalid SQL File import rule, path missing', 500);
34 }
35
36 // set up the path from which the SQL queries should be loaded
37 $path = JPath::clean($this->path . '/' . $data->path);
38
39 if (!JFile::exists($path))
40 {
41 // file not found
42 throw new Exception(sprintf('Invalid SQL File import rule, file [%s] not found', $path), 404);
43 }
44
45 $buffer = '';
46
47 // open file
48 $fp = fopen($path, 'r');
49
50 while (!feof($fp))
51 {
52 // read from file and copy into the buffer
53 $buffer .= fread($fp, 8192);
54 }
55
56 // close file
57 fclose($fp);
58
59 $queries = [];
60
61 // split SQL queries into an array according to the platform in use
62 if (defined('ABSPATH'))
63 {
64 $queries = JDatabaseHelper::splitSql($buffer);
65 }
66 else
67 {
68 $queries = JDatabaseDriver::splitSql($buffer);
69 }
70
71 // free some space
72 unset($buffer);
73
74 // execute queries through the parent
75 parent::execute($queries);
76
77 // free some space
78 unset($queries);
79 }
80 }
81