From 738c0c91edb4b520ab8f8251dc87083c0ce020da Mon Sep 17 00:00:00 2001 From: David Grudl Date: Tue, 4 Feb 2014 03:05:41 +0100 Subject: [PATCH] DibiConnection::loadFile() supports DELIMITER [Closes #119] --- dibi/libs/DibiConnection.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/dibi/libs/DibiConnection.php b/dibi/libs/DibiConnection.php index 33988945..e53cf08b 100644 --- a/dibi/libs/DibiConnection.php +++ b/dibi/libs/DibiConnection.php @@ -641,14 +641,21 @@ class DibiConnection extends DibiObject } $count = 0; + $delimiter = ';'; $sql = ''; while (!feof($handle)) { - $s = fgets($handle); - $sql .= $s; - if (substr(rtrim($s), -1) === ';') { + $s = rtrim(fgets($handle)); + if (substr($s, 0, 10) === 'DELIMITER ') { + $delimiter = substr($s, 10); + + } elseif (substr($s, -strlen($delimiter)) === $delimiter) { + $sql .= substr($s, 0, -strlen($delimiter)); $this->driver->query($sql); $sql = ''; $count++; + + } else { + $sql .= $s . "\n"; } } if (trim($sql) !== '') {