mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-09 10:16:36 +02:00
- added new query type to dbal's sql_build_array
- allow setting custom template path - adjusted module class to correctly parse trees with more than one category - added caching to module class git-svn-id: file:///svn/phpbb/trunk@5268 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -28,6 +28,7 @@ class dbal
|
||||
var $sql_report = '';
|
||||
var $cache_num_queries = 0;
|
||||
|
||||
var $dbname = '';
|
||||
|
||||
/**
|
||||
* return on error or display error message
|
||||
@@ -99,6 +100,7 @@ class dbal
|
||||
* Build sql statement from array for insert/update/select statements
|
||||
*
|
||||
* Idea for this from Ikonboard
|
||||
* Possible query values: INSERT, INSERT_SELECT, MULTI_INSERT, UPDATE, SELECT
|
||||
*/
|
||||
function sql_build_array($query, $assoc_ary = false)
|
||||
{
|
||||
@@ -109,7 +111,7 @@ class dbal
|
||||
|
||||
$fields = array();
|
||||
$values = array();
|
||||
if ($query == 'INSERT')
|
||||
if ($query == 'INSERT' || $query == 'INSERT_SELECT')
|
||||
{
|
||||
foreach ($assoc_ary as $key => $var)
|
||||
{
|
||||
@@ -119,17 +121,21 @@ class dbal
|
||||
{
|
||||
$values[] = 'NULL';
|
||||
}
|
||||
elseif (is_string($var))
|
||||
else if (is_string($var))
|
||||
{
|
||||
$values[] = "'" . $this->sql_escape($var) . "'";
|
||||
}
|
||||
else if (is_array($var) && is_string($var[0]))
|
||||
{
|
||||
$values[] = $var[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
$values[] = (is_bool($var)) ? intval($var) : $var;
|
||||
}
|
||||
}
|
||||
|
||||
$query = ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')';
|
||||
$query = ($query == 'INSERT') ? ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')' : ' (' . implode(', ', $fields) . ') SELECT ' . implode(', ', $values) . ' ';
|
||||
}
|
||||
else if ($query == 'MULTI_INSERT')
|
||||
{
|
||||
|
Reference in New Issue
Block a user