mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-10 05:18:52 +00:00
- mssql related changes
- only added NOT NULL text columns to schema_data, no updates here. ;) git-svn-id: file:///svn/phpbb/trunk@5045 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
c73bc2314c
commit
d6fa1319e5
6 changed files with 574 additions and 332 deletions
|
@ -1,51 +1,43 @@
|
|||
<?php
|
||||
/***************************************************************************
|
||||
* mssql-odbc.php
|
||||
* -------------------
|
||||
* begin : Saturday, Feb 13, 2001
|
||||
* copyright : (C) 2001 The phpBB Group
|
||||
* email : support@phpbb.com
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
***************************************************************************/
|
||||
// -------------------------------------------------------------
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// FILENAME : mssql-odbc.php
|
||||
// STARTED : Sat Feb 13, 2001
|
||||
// COPYRIGHT : © 2001, 2003 phpBB Group
|
||||
// WWW : http://www.phpbb.com/
|
||||
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
|
||||
//
|
||||
// -------------------------------------------------------------
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
if(!defined("SQL_LAYER"))
|
||||
if (!defined('SQL_LAYER'))
|
||||
{
|
||||
|
||||
define("SQL_LAYER","mssql-odbc");
|
||||
define('SQL_LAYER', 'mssql-odbc');
|
||||
|
||||
class sql_db
|
||||
{
|
||||
|
||||
var $db_connect_id;
|
||||
var $result;
|
||||
var $query_result;
|
||||
var $return_on_error = false;
|
||||
var $transaction = false;
|
||||
var $sql_time = 0;
|
||||
var $num_queries = 0;
|
||||
var $open_queries = array();
|
||||
|
||||
var $next_id;
|
||||
|
||||
var $num_rows = array();
|
||||
var $current_row = array();
|
||||
var $result_rowset = array();
|
||||
var $field_names = array();
|
||||
var $field_types = array();
|
||||
var $result_rowset = array();
|
||||
var $num_rows = array();
|
||||
var $current_row = array();
|
||||
|
||||
var $num_queries = 0;
|
||||
|
||||
function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true)
|
||||
function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false)
|
||||
{
|
||||
$this->persistency = $persistency;
|
||||
$this->server = $sqlserver;
|
||||
$this->user = $sqluser;
|
||||
$this->password = $sqlpassword;
|
||||
$this->server = $sqlserver . (($port) ? ':' . $port : '');
|
||||
$this->dbname = $database;
|
||||
|
||||
$this->db_connect_id = ($this->persistency) ? @odbc_pconnect($this->server, $this->user, $this->password) : @odbc_connect($this->server, $this->user, $this->password);
|
||||
|
@ -53,6 +45,41 @@ class sql_db
|
|||
return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error('');
|
||||
}
|
||||
|
||||
//
|
||||
// Other base methods
|
||||
//
|
||||
function sql_close()
|
||||
{
|
||||
if (!$this->db_connect_id)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($this->transaction)
|
||||
{
|
||||
@odbc_commit($this->db_connect_id);
|
||||
}
|
||||
|
||||
if (sizeof($this->result_rowset))
|
||||
{
|
||||
unset($this->result_rowset);
|
||||
unset($this->field_names);
|
||||
unset($this->field_types);
|
||||
unset($this->num_rows);
|
||||
unset($this->current_row);
|
||||
}
|
||||
|
||||
if (sizeof($this->open_queries))
|
||||
{
|
||||
foreach ($this->open_queries as $i_query_id => $query_id)
|
||||
{
|
||||
@odbc_free_result($query_id);
|
||||
}
|
||||
}
|
||||
|
||||
return @odbc_close($this->db_connect_id);
|
||||
}
|
||||
|
||||
function sql_return_on_error($fail = false)
|
||||
{
|
||||
$this->return_on_error = $fail;
|
||||
|
@ -63,300 +90,250 @@ class sql_db
|
|||
return $this->num_queries;
|
||||
}
|
||||
|
||||
//
|
||||
// Other base methods
|
||||
//
|
||||
function sql_close()
|
||||
function sql_transaction($status = 'begin')
|
||||
{
|
||||
if($this->db_connect_id)
|
||||
switch ($status)
|
||||
{
|
||||
if($this->in_transaction)
|
||||
case 'begin':
|
||||
$result = @odbc_autocommit($this->db_connect_id, false);
|
||||
$this->transaction = true;
|
||||
break;
|
||||
|
||||
case 'commit':
|
||||
$result = @odbc_commit($this->db_connect_id);
|
||||
@odbc_autocommit($this->db_connect_id, true);
|
||||
$this->transaction = false;
|
||||
break;
|
||||
|
||||
case 'rollback':
|
||||
$result = @odbc_rollback($this->db_connect_id);
|
||||
@odbc_autocommit($this->db_connect_id, true);
|
||||
$this->transaction = false;
|
||||
break;
|
||||
|
||||
default:
|
||||
$result = true;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
// Base query method
|
||||
function sql_query($query = '', $cache_ttl = 0)
|
||||
{
|
||||
if ($query != '')
|
||||
{
|
||||
global $cache;
|
||||
|
||||
// EXPLAIN only in extra debug mode
|
||||
if (defined('DEBUG_EXTRA'))
|
||||
{
|
||||
@odbc_commit($this->db_connect_id);
|
||||
$this->sql_report('start', $query);
|
||||
}
|
||||
|
||||
if(count($this->result_rowset))
|
||||
{
|
||||
unset($this->result_rowset);
|
||||
unset($this->field_names);
|
||||
unset($this->field_types);
|
||||
unset($this->num_rows);
|
||||
unset($this->current_row);
|
||||
}
|
||||
$this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false;
|
||||
|
||||
return @odbc_close($this->db_connect_id);
|
||||
if (!$this->query_result)
|
||||
{
|
||||
$this->num_queries++;
|
||||
|
||||
if (($this->query_result = $this->_odbc_execute_query($query)) === false)
|
||||
{
|
||||
$this->sql_error($query);
|
||||
}
|
||||
|
||||
if (defined('DEBUG_EXTRA'))
|
||||
{
|
||||
$this->sql_report('stop', $query);
|
||||
}
|
||||
|
||||
if ($cache_ttl && method_exists($cache, 'sql_save'))
|
||||
{
|
||||
$this->open_queries[(int) $this->query_result] = $this->query_result;
|
||||
$cache->sql_save($query, $this->query_result, $cache_ttl);
|
||||
// odbc_free_result called within sql_save()
|
||||
}
|
||||
else if (strpos($query, 'SELECT') !== false && $this->query_result)
|
||||
{
|
||||
$this->open_queries[(int) $this->query_result] = $this->query_result;
|
||||
}
|
||||
}
|
||||
else if (defined('DEBUG_EXTRA'))
|
||||
{
|
||||
$this->sql_report('fromcache', $query);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return ($this->query_result) ? $this->query_result : false;
|
||||
}
|
||||
|
||||
//
|
||||
// Query method
|
||||
//
|
||||
function sql_query($query = "", $transaction = FALSE)
|
||||
function _odbc_execute_query($query)
|
||||
{
|
||||
if($query != "")
|
||||
$result = false;
|
||||
|
||||
if (eregi("^SELECT ", $query))
|
||||
{
|
||||
$this->num_queries++;
|
||||
$result = @odbc_exec($this->db_connect_id, $query);
|
||||
|
||||
if($transaction == BEGIN_TRANSACTION && !$this->in_transaction)
|
||||
if ($result)
|
||||
{
|
||||
if(!odbc_autocommit($this->db_connect_id, false))
|
||||
if (empty($this->field_names[$result]))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
$this->in_transaction = TRUE;
|
||||
}
|
||||
|
||||
if(preg_match("/^SELECT(.*?)(LIMIT ([0-9]+)[, ]*([0-9]+)*)?$/s", $query, $limits))
|
||||
{
|
||||
$query = $limits[1];
|
||||
|
||||
if(!empty($limits[2]))
|
||||
{
|
||||
$row_offset = ($limits[4]) ? $limits[3] : "";
|
||||
$num_rows = ($limits[4]) ? $limits[4] : $limits[3];
|
||||
|
||||
$query = "TOP " . ($row_offset + $num_rows) . $query;
|
||||
}
|
||||
|
||||
$this->result = odbc_exec($this->db_connect_id, "SELECT $query");
|
||||
|
||||
if($this->result)
|
||||
{
|
||||
if(empty($this->field_names[$this->result]))
|
||||
for ($i = 1, $j = @odbc_num_fields($result) + 1; $i < $j; $i++)
|
||||
{
|
||||
for($i = 1; $i < odbc_num_fields($this->result) + 1; $i++)
|
||||
{
|
||||
$this->field_names[$this->result][] = odbc_field_name($this->result, $i);
|
||||
$this->field_types[$this->result][] = odbc_field_type($this->result, $i);
|
||||
}
|
||||
$this->field_names[$result][] = @odbc_field_name($result, $i);
|
||||
$this->field_types[$result][] = @odbc_field_type($result, $i);
|
||||
}
|
||||
}
|
||||
|
||||
$this->current_row[$result] = 0;
|
||||
$this->result_rowset[$result] = array();
|
||||
|
||||
$row_outer = (isset($row_offset)) ? $row_offset + 1 : 1;
|
||||
$row_outer_max = (isset($num_rows)) ? $row_offset + $num_rows + 1 : 1E9;
|
||||
$row_inner = 0;
|
||||
|
||||
while (@odbc_fetch_row($result, $row_outer) && $row_outer < $row_outer_max)
|
||||
{
|
||||
for ($i = 0, $j = sizeof($this->field_names[$result]); $i < $j; $i++)
|
||||
{
|
||||
$this->result_rowset[$result][$row_inner][$this->field_names[$result][$i]] = stripslashes(@odbc_result($result, $i + 1));
|
||||
}
|
||||
|
||||
$this->current_row[$this->result] = 0;
|
||||
$this->result_rowset[$this->result] = array();
|
||||
|
||||
$row_outer = (isset($row_offset)) ? $row_offset + 1 : 1;
|
||||
$row_outer_max = (isset($num_rows)) ? $row_offset + $num_rows + 1 : 1E9;
|
||||
$row_inner = 0;
|
||||
|
||||
while(odbc_fetch_row($this->result, $row_outer) && $row_outer < $row_outer_max)
|
||||
{
|
||||
for($j = 0; $j < count($this->field_names[$this->result]); $j++)
|
||||
{
|
||||
$this->result_rowset[$this->result][$row_inner][$this->field_names[$this->result][$j]] = stripslashes(odbc_result($this->result, $j + 1));
|
||||
}
|
||||
|
||||
$row_outer++;
|
||||
$row_inner++;
|
||||
}
|
||||
|
||||
$this->num_rows[$this->result] = count($this->result_rowset[$this->result]);
|
||||
$row_outer++;
|
||||
$row_inner++;
|
||||
}
|
||||
|
||||
$this->num_rows[$result] = sizeof($this->result_rowset[$result]);
|
||||
}
|
||||
else if(eregi("^INSERT ", $query))
|
||||
{
|
||||
$this->result = odbc_exec($this->db_connect_id, $query);
|
||||
}
|
||||
else if (eregi("^INSERT ", $query))
|
||||
{
|
||||
$result = @odbc_exec($this->db_connect_id, $query);
|
||||
|
||||
if($this->result)
|
||||
if ($result)
|
||||
{
|
||||
$result_id = @odbc_exec($this->db_connect_id, 'SELECT @@IDENTITY');
|
||||
if ($result_id)
|
||||
{
|
||||
$result_id = odbc_exec($this->db_connect_id, "SELECT @@IDENTITY");
|
||||
if($result_id)
|
||||
if (@odbc_fetch_row($result_id))
|
||||
{
|
||||
if(odbc_fetch_row($result_id))
|
||||
{
|
||||
$this->next_id[$this->db_connect_id] = odbc_result($result_id, 1);
|
||||
$this->affected_rows[$this->db_connect_id] = odbc_num_rows($this->result);
|
||||
}
|
||||
$this->next_id[$this->db_connect_id] = @odbc_result($result_id, 1);
|
||||
$this->affected_rows[$this->db_connect_id] = @odbc_num_rows($result);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->result = odbc_exec($this->db_connect_id, $query);
|
||||
|
||||
if($this->result)
|
||||
{
|
||||
$this->affected_rows[$this->db_connect_id] = odbc_num_rows($this->result);
|
||||
}
|
||||
}
|
||||
|
||||
if(!$this->result)
|
||||
{
|
||||
if($this->in_transaction)
|
||||
{
|
||||
odbc_rollback($this->db_connect_id);
|
||||
odbc_autocommit($this->db_connect_id, true);
|
||||
$this->in_transaction = FALSE;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if($transaction == END_TRANSACTION && $this->in_transaction)
|
||||
{
|
||||
$this->in_transaction = FALSE;
|
||||
|
||||
if (!odbc_commit($this->db_connect_id))
|
||||
{
|
||||
odbc_rollback($this->db_connect_id);
|
||||
odbc_autocommit($this->db_connect_id, true);
|
||||
return false;
|
||||
}
|
||||
odbc_autocommit($this->db_connect_id, true);
|
||||
}
|
||||
|
||||
odbc_free_result($this->result);
|
||||
|
||||
return $this->result;
|
||||
}
|
||||
else
|
||||
{
|
||||
if($transaction == END_TRANSACTION && $this->in_transaction)
|
||||
$result = @odbc_exec($this->db_connect_id, $query);
|
||||
|
||||
if ($result)
|
||||
{
|
||||
$this->in_transaction = FALSE;
|
||||
|
||||
if (!@odbc_commit($this->db_connect_id))
|
||||
{
|
||||
odbc_rollback($this->db_connect_id);
|
||||
odbc_autocommit($this->db_connect_id, true);
|
||||
return false;
|
||||
}
|
||||
odbc_autocommit($this->db_connect_id, true);
|
||||
$this->affected_rows[$this->db_connect_id] = @odbc_num_rows($result);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
function sql_query_limit($query, $total, $offset = 0, $cache_ttl = 0)
|
||||
{
|
||||
if ($query != '')
|
||||
{
|
||||
$this->query_result = false;
|
||||
|
||||
// if $total is set to 0 we do not want to limit the number of rows
|
||||
if ($total == 0)
|
||||
{
|
||||
$total = -1;
|
||||
}
|
||||
|
||||
$row_offset = ($total) ? $offset : '';
|
||||
$num_rows = ($total) ? $total : $offset;
|
||||
|
||||
$query = 'SELECT TOP ' . ($row_offset + $num_rows) . ' ' . preg_replace('/^SELECT/', '', $query);
|
||||
|
||||
return $this->sql_query($query, $cache_ttl);
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Idea for this from Ikonboard
|
||||
function sql_build_array($query, $assoc_ary = false)
|
||||
{
|
||||
if (!is_array($assoc_ary))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$fields = array();
|
||||
$values = array();
|
||||
if ($query == 'INSERT')
|
||||
{
|
||||
foreach ($assoc_ary as $key => $var)
|
||||
{
|
||||
$fields[] = $key;
|
||||
|
||||
if (is_null($var))
|
||||
{
|
||||
$values[] = 'NULL';
|
||||
}
|
||||
elseif (is_string($var))
|
||||
{
|
||||
$values[] = "'" . $this->sql_escape($var) . "'";
|
||||
}
|
||||
else
|
||||
{
|
||||
$values[] = (is_bool($var)) ? intval($var) : $var;
|
||||
}
|
||||
}
|
||||
|
||||
$query = ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')';
|
||||
}
|
||||
else if ($query == 'UPDATE' || $query == 'SELECT')
|
||||
{
|
||||
$values = array();
|
||||
foreach ($assoc_ary as $key => $var)
|
||||
{
|
||||
if (is_null($var))
|
||||
{
|
||||
$values[] = "$key = NULL";
|
||||
}
|
||||
elseif (is_string($var))
|
||||
{
|
||||
$values[] = "$key = '" . $this->sql_escape($var) . "'";
|
||||
}
|
||||
else
|
||||
{
|
||||
$values[] = (is_bool($var)) ? "$key = " . intval($var) : "$key = $var";
|
||||
}
|
||||
}
|
||||
$query = implode(($query == 'UPDATE') ? ', ' : ' AND ', $values);
|
||||
}
|
||||
|
||||
return $query;
|
||||
}
|
||||
|
||||
//
|
||||
// Other query methods
|
||||
//
|
||||
function sql_numrows($query_id = 0)
|
||||
// NOTE :: Want to remove _ALL_ reliance on sql_numrows from core code ...
|
||||
// don't want this here by a middle Milestone
|
||||
function sql_numrows($query_id = false)
|
||||
{
|
||||
if(!$query_id)
|
||||
if (!$query_id)
|
||||
{
|
||||
$query_id = $this->result;
|
||||
$query_id = $this->query_result;
|
||||
}
|
||||
|
||||
return ($query_id) ? $this->num_rows[$query_id] : false;
|
||||
}
|
||||
|
||||
function sql_numfields($query_id = 0)
|
||||
{
|
||||
if(!$query_id)
|
||||
{
|
||||
$query_id = $this->result;
|
||||
}
|
||||
|
||||
return ($query_id) ? count($this->field_names[$query_id]) : false;
|
||||
}
|
||||
|
||||
function sql_fieldname($offset, $query_id = 0)
|
||||
{
|
||||
if(!$query_id)
|
||||
{
|
||||
$query_id = $this->result;
|
||||
}
|
||||
|
||||
return ($query_id) ? $this->field_names[$query_id][$offset] : false;
|
||||
}
|
||||
|
||||
function sql_fieldtype($offset, $query_id = 0)
|
||||
{
|
||||
if(!$query_id)
|
||||
{
|
||||
$query_id = $this->result;
|
||||
}
|
||||
|
||||
return ($query_id) ? $this->field_types[$query_id][$offset] : false;
|
||||
}
|
||||
|
||||
function sql_fetchrow($query_id = 0)
|
||||
{
|
||||
if(!$query_id)
|
||||
{
|
||||
$query_id = $this->result;
|
||||
}
|
||||
|
||||
if($query_id)
|
||||
{
|
||||
return ($this->num_rows[$query_id] && $this->current_row[$query_id] < $this->num_rows[$query_id]) ? $this->result_rowset[$query_id][$this->current_row[$query_id]++] : false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function sql_fetchrowset($query_id = 0)
|
||||
{
|
||||
if(!$query_id)
|
||||
{
|
||||
$query_id = $this->result;
|
||||
}
|
||||
|
||||
if($query_id)
|
||||
{
|
||||
return ($this->num_rows[$query_id]) ? $this->result_rowset[$query_id] : false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function sql_fetchfield($field, $row = -1, $query_id = 0)
|
||||
{
|
||||
if(!$query_id)
|
||||
{
|
||||
$query_id = $this->result;
|
||||
}
|
||||
|
||||
if($query_id)
|
||||
{
|
||||
if($row < $this->num_rows[$query_id])
|
||||
{
|
||||
$getrow = ($row == -1) ? $this->current_row[$query_id] - 1 : $row;
|
||||
|
||||
return $this->result_rowset[$query_id][$getrow][$this->field_names[$query_id][$field]];
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function sql_rowseek($offset, $query_id = 0)
|
||||
{
|
||||
if(!$query_id)
|
||||
{
|
||||
$query_id = $this->result;
|
||||
}
|
||||
|
||||
if($query_id)
|
||||
{
|
||||
$this->current_row[$query_id] = $offset - 1;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function sql_nextid()
|
||||
{
|
||||
return ($this->next_id[$this->db_connect_id]) ? $this->next_id[$this->db_connect_id] : false;
|
||||
return ($query_id) ? @$this->num_rows($query_id) : false;
|
||||
}
|
||||
|
||||
function sql_affectedrows()
|
||||
|
@ -364,28 +341,137 @@ class sql_db
|
|||
return ($this->affected_rows[$this->db_connect_id]) ? $this->affected_rows[$this->db_connect_id] : false;
|
||||
}
|
||||
|
||||
function sql_freeresult($query_id = 0)
|
||||
function sql_fetchrow($query_id = false)
|
||||
{
|
||||
if(!$query_id)
|
||||
global $cache;
|
||||
|
||||
if (!$query_id)
|
||||
{
|
||||
$query_id = $this->result;
|
||||
$query_id = $this->query_result;
|
||||
}
|
||||
|
||||
unset($this->num_rows[$query_id]);
|
||||
unset($this->current_row[$query_id]);
|
||||
unset($this->result_rowset[$query_id]);
|
||||
unset($this->field_names[$query_id]);
|
||||
unset($this->field_types[$query_id]);
|
||||
if (isset($cache->sql_rowset[$query_id]))
|
||||
{
|
||||
return $cache->sql_fetchrow($query_id);
|
||||
}
|
||||
|
||||
return true;
|
||||
return ($this->num_rows[$query_id] && $this->current_row[$query_id] < $this->num_rows[$query_id]) ? $this->result_rowset[$query_id][$this->current_row[$query_id]++] : false;
|
||||
}
|
||||
|
||||
function sql_fetchrowset($query_id = false)
|
||||
{
|
||||
if (!$query_id)
|
||||
{
|
||||
$query_id = $this->query_result;
|
||||
}
|
||||
|
||||
return ($this->num_rows[$query_id]) ? $this->result_rowset[$query_id] : false;
|
||||
}
|
||||
|
||||
function sql_fetchfield($field, $rownum = -1, $query_id = false)
|
||||
{
|
||||
if (!$query_id)
|
||||
{
|
||||
$query_id = $this->query_result;
|
||||
}
|
||||
|
||||
if ($query_id)
|
||||
{
|
||||
if ($row < $this->num_rows[$query_id])
|
||||
{
|
||||
$getrow = ($row == -1) ? $this->current_row[$query_id] - 1 : $row;
|
||||
|
||||
return $this->result_rowset[$query_id][$getrow][$this->field_names[$query_id][$field]];
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function sql_rowseek($rownum, $query_id = false)
|
||||
{
|
||||
if (!$query_id)
|
||||
{
|
||||
$query_id = $this->query_result;
|
||||
}
|
||||
|
||||
if (isset($this->current_row[$query_id]))
|
||||
{
|
||||
$this->current_row[$query_id] = $offset - 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function sql_nextid()
|
||||
{
|
||||
return ($this->next_id[$this->db_connect_id]) ? $this->next_id[$this->db_connect_id] : false;
|
||||
}
|
||||
|
||||
function sql_numfields($query_id = false)
|
||||
{
|
||||
if (!$query_id)
|
||||
{
|
||||
$query_id = $this->query_result;
|
||||
}
|
||||
|
||||
return ($query_id) ? sizeof($this->field_names[$query_id]) : false;
|
||||
}
|
||||
|
||||
function sql_fieldname($offset, $query_id = false)
|
||||
{
|
||||
if (!$query_id)
|
||||
{
|
||||
$query_id = $this->query_result;
|
||||
}
|
||||
|
||||
return ($query_id) ? $this->field_names[$query_id][$offset] : false;
|
||||
}
|
||||
|
||||
function sql_fieldtype($offset, $query_id = false)
|
||||
{
|
||||
if (!$query_id)
|
||||
{
|
||||
$query_id = $this->query_result;
|
||||
}
|
||||
|
||||
return ($query_id) ? $this->field_types[$query_id][$offset] : false;
|
||||
}
|
||||
|
||||
function sql_freeresult($query_id = false)
|
||||
{
|
||||
if (!$query_id)
|
||||
{
|
||||
$query_id = $this->query_result;
|
||||
}
|
||||
|
||||
if (isset($this->open_queries[(int) $query_id]))
|
||||
{
|
||||
unset($this->open_queries[(int) $query_id]);
|
||||
unset($this->num_rows[$query_id]);
|
||||
unset($this->current_row[$query_id]);
|
||||
unset($this->result_rowset[$query_id]);
|
||||
unset($this->field_names[$query_id]);
|
||||
unset($this->field_types[$query_id]);
|
||||
|
||||
return @odbc_free_result($query_id);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function sql_escape($msg)
|
||||
{
|
||||
return $msg;
|
||||
}
|
||||
|
||||
function sql_error($sql = '')
|
||||
{
|
||||
if (!$this->return_on_error)
|
||||
{
|
||||
$this_page = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF'];
|
||||
$this_page .= '&' . ((!empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : $_ENV['QUERY_STRING']);
|
||||
$this_page = (isset($_SERVER['PHP_SELF']) && !empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF'];
|
||||
$this_page .= '&' . ((isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : (isset($_ENV['QUERY_STRING']) ? $_ENV['QUERY_STRING'] : ''));
|
||||
|
||||
$message = '<u>SQL ERROR</u> [ ' . SQL_LAYER . ' ]<br /><br />' . @odbc_errormsg() . '<br /><br /><u>CALLING PAGE</u><br /><br />' . htmlspecialchars($this_page) . (($sql != '') ? '<br /><br /><u>SQL</u><br /><br />' . $sql : '') . '<br />';
|
||||
|
||||
|
@ -393,7 +479,7 @@ class sql_db
|
|||
{
|
||||
$this->sql_transaction('rollback');
|
||||
}
|
||||
|
||||
|
||||
trigger_error($message, E_USER_ERROR);
|
||||
}
|
||||
|
||||
|
@ -405,6 +491,155 @@ class sql_db
|
|||
return $result;
|
||||
}
|
||||
|
||||
function sql_report($mode, $query = '')
|
||||
{
|
||||
if (empty($_GET['explain']))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
global $db, $cache, $starttime, $phpbb_root_path;
|
||||
static $curtime, $query_hold, $html_hold;
|
||||
static $sql_report = '';
|
||||
static $cache_num_queries = 0;
|
||||
|
||||
if (!$query && !empty($query_hold))
|
||||
{
|
||||
$query = $query_hold;
|
||||
}
|
||||
|
||||
switch ($mode)
|
||||
{
|
||||
case 'display':
|
||||
if (!empty($cache))
|
||||
{
|
||||
$cache->unload();
|
||||
}
|
||||
$db->sql_close();
|
||||
|
||||
$mtime = explode(' ', microtime());
|
||||
$totaltime = $mtime[0] + $mtime[1] - $starttime;
|
||||
|
||||
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8869-1"><meta http-equiv="Content-Style-Type" content="text/css"><link rel="stylesheet" href="' . $phpbb_root_path . 'adm/subSilver.css" type="text/css"><style type="text/css">' . "\n";
|
||||
echo 'th { background-image: url(\'' . $phpbb_root_path . 'adm/images/cellpic3.gif\') }' . "\n";
|
||||
echo 'td.cat { background-image: url(\'' . $phpbb_root_path . 'adm/images/cellpic1.gif\') }' . "\n";
|
||||
echo '</style><title>' . $msg_title . '</title></head><body>';
|
||||
echo '<table width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td><a href="' . htmlspecialchars(preg_replace('/&explain=([^&]*)/', '', $_SERVER['REQUEST_URI'])) . '"><img src="' . $phpbb_root_path . 'adm/images/header_left.jpg" width="200" height="60" alt="phpBB Logo" title="phpBB Logo" border="0"/></a></td><td width="100%" background="' . $phpbb_root_path . 'adm/images/header_bg.jpg" height="60" align="right" nowrap="nowrap"><span class="maintitle">SQL Report</span> </td></tr></table><br clear="all"/><table width="95%" cellspacing="1" cellpadding="4" border="0" align="center"><tr><td height="40" align="center" valign="middle"><b>Page generated in ' . round($totaltime, 4) . " seconds with {$this->num_queries} queries" . (($cache_num_queries) ? " + $cache_num_queries " . (($cache_num_queries == 1) ? 'query' : 'queries') . ' returning data from cache' : '') . '</b></td></tr><tr><td align="center" nowrap="nowrap">Time spent on MSSQL queries: <b>' . round($this->sql_time, 5) . 's</b> | Time spent on PHP: <b>' . round($totaltime - $this->sql_time, 5) . 's</b></td></tr></table><table width="95%" cellspacing="1" cellpadding="4" border="0" align="center"><tr><td>';
|
||||
echo $sql_report;
|
||||
echo '</td></tr></table><br /></body></html>';
|
||||
exit;
|
||||
break;
|
||||
|
||||
case 'start':
|
||||
$query_hold = $query;
|
||||
$html_hold = '';
|
||||
|
||||
$explain_query = $query;
|
||||
if (preg_match('/UPDATE ([a-z0-9_]+).*?WHERE(.*)/s', $query, $m))
|
||||
{
|
||||
$explain_query = 'SELECT * FROM ' . $m[1] . ' WHERE ' . $m[2];
|
||||
}
|
||||
elseif (preg_match('/DELETE FROM ([a-z0-9_]+).*?WHERE(.*)/s', $query, $m))
|
||||
{
|
||||
$explain_query = 'SELECT * FROM ' . $m[1] . ' WHERE ' . $m[2];
|
||||
}
|
||||
|
||||
if (preg_match('/^SELECT/', $explain_query))
|
||||
{
|
||||
$html_table = FALSE;
|
||||
|
||||
@odbc_exec($this->db_connect_id, 'SET SHOWPLAN_ALL ON');
|
||||
|
||||
if ($result = $this->_odbc_execute_query($explain_query))
|
||||
{
|
||||
while ($row = $this->sql_fetchrow($result))
|
||||
{
|
||||
if (!$html_table && count($row))
|
||||
{
|
||||
$html_table = TRUE;
|
||||
$html_hold .= '<table class="bg" width="100%" cellspacing="1" cellpadding="4" border="0" align="center"><tr>';
|
||||
|
||||
foreach (array_keys($row) as $val)
|
||||
{
|
||||
$html_hold .= '<th nowrap="nowrap">' . (($val) ? ucwords(str_replace('_', ' ', $val)) : ' ') . '</th>';
|
||||
}
|
||||
$html_hold .= '</tr>';
|
||||
}
|
||||
$html_hold .= '<tr>';
|
||||
|
||||
$class = 'row1';
|
||||
foreach (array_values($row) as $val)
|
||||
{
|
||||
$class = ($class == 'row1') ? 'row2' : 'row1';
|
||||
$html_hold .= '<td class="' . $class . '">' . (($val) ? $val : ' ') . '</td>';
|
||||
}
|
||||
$html_hold .= '</tr>';
|
||||
}
|
||||
$this->sql_freeresult($result);
|
||||
}
|
||||
|
||||
@odbc_exec($this->db_connect_id, 'SET SHOWPLAN_ALL OFF');
|
||||
|
||||
if ($html_table)
|
||||
{
|
||||
$html_hold .= '</table>';
|
||||
}
|
||||
}
|
||||
|
||||
$curtime = explode(' ', microtime());
|
||||
$curtime = $curtime[0] + $curtime[1];
|
||||
break;
|
||||
|
||||
case 'fromcache':
|
||||
$endtime = explode(' ', microtime());
|
||||
$endtime = $endtime[0] + $endtime[1];
|
||||
|
||||
$result = $this->_odbc_execute_query($query);
|
||||
$splittime = explode(' ', microtime());
|
||||
$splittime = $splittime[0] + $splittime[1];
|
||||
|
||||
$time_cache = $endtime - $curtime;
|
||||
$time_db = $splittime - $endtime;
|
||||
$color = ($time_db > $time_cache) ? 'green' : 'red';
|
||||
|
||||
$sql_report .= '<hr width="100%"/><br /><table class="bg" width="100%" cellspacing="1" cellpadding="4" border="0"><tr><th>Query results obtained from the cache</th></tr><tr><td class="row1"><textarea style="font-family:\'Courier New\',monospace;width:100%" rows="5">' . preg_replace('/\t(AND|OR)(\W)/', "\$1\$2", htmlspecialchars(preg_replace('/[\s]*[\n\r\t]+[\n\r\s\t]*/', "\n", $query))) . '</textarea></td></tr></table><p align="center">';
|
||||
|
||||
$sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed [cache]: <b style="color: ' . $color . '">' . sprintf('%.5f', ($time_cache)) . 's</b> | Elapsed [db]: <b>' . sprintf('%.5f', $time_db) . 's</b></p>';
|
||||
|
||||
// Pad the start time to not interfere with page timing
|
||||
$starttime += $time_db;
|
||||
|
||||
$this->sql_freeresult($result);
|
||||
$cache_num_queries++;
|
||||
break;
|
||||
|
||||
case 'stop':
|
||||
$endtime = explode(' ', microtime());
|
||||
$endtime = $endtime[0] + $endtime[1];
|
||||
|
||||
$sql_report .= '<hr width="100%"/><br /><table class="bg" width="100%" cellspacing="1" cellpadding="4" border="0"><tr><th>Query #' . $this->num_queries . '</th></tr><tr><td class="row1"><textarea style="font-family:\'Courier New\',monospace;width:100%" rows="5">' . preg_replace('/\t(AND|OR)(\W)/', "\$1\$2", htmlspecialchars(preg_replace('/[\s]*[\n\r\t]+[\n\r\s\t]*/', "\n", $query))) . '</textarea></td></tr></table> ' . $html_hold . '<p align="center">';
|
||||
|
||||
if ($this->query_result)
|
||||
{
|
||||
if (preg_match('/^(UPDATE|DELETE|REPLACE)/', $query))
|
||||
{
|
||||
$sql_report .= "Affected rows: <b>" . $this->sql_affectedrows($this->query_result) . '</b> | ';
|
||||
}
|
||||
$sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed: <b>' . sprintf('%.5f', $endtime - $curtime) . 's</b>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = $this->sql_error();
|
||||
$sql_report .= '<b style="color: red">FAILED</b> - MSSQL Error ' . $error['code'] . ': ' . htmlspecialchars($error['message']);
|
||||
}
|
||||
|
||||
$sql_report .= '</p>';
|
||||
|
||||
$this->sql_time += $endtime - $curtime;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
} // class sql_db
|
||||
|
||||
} // if ... define
|
||||
|
|
|
@ -254,7 +254,7 @@ class sql_db
|
|||
return ($this->db_connect_id) ? @mysql_affected_rows($this->db_connect_id) : false;
|
||||
}
|
||||
|
||||
function sql_fetchrow($query_id = 0)
|
||||
function sql_fetchrow($query_id = false)
|
||||
{
|
||||
global $cache;
|
||||
|
||||
|
@ -273,7 +273,7 @@ class sql_db
|
|||
return ($query_id) ? @mysql_fetch_assoc($query_id) : false;
|
||||
}
|
||||
|
||||
function sql_fetchrowset($query_id = 0)
|
||||
function sql_fetchrowset($query_id = false)
|
||||
{
|
||||
if (!$query_id)
|
||||
{
|
||||
|
@ -292,7 +292,7 @@ class sql_db
|
|||
return false;
|
||||
}
|
||||
|
||||
function sql_fetchfield($field, $rownum = -1, $query_id = 0)
|
||||
function sql_fetchfield($field, $rownum = -1, $query_id = false)
|
||||
{
|
||||
if (!$query_id)
|
||||
{
|
||||
|
@ -330,7 +330,7 @@ class sql_db
|
|||
return false;
|
||||
}
|
||||
|
||||
function sql_rowseek($rownum, $query_id = 0)
|
||||
function sql_rowseek($rownum, $query_id = false)
|
||||
{
|
||||
if (!$query_id)
|
||||
{
|
||||
|
|
|
@ -57,6 +57,11 @@ class sql_db
|
|||
return false;
|
||||
}
|
||||
|
||||
if ($this->transaction)
|
||||
{
|
||||
@mysqli_commit($this->db_connect_id);
|
||||
}
|
||||
|
||||
return @mysqli_close($this->db_connect_id);
|
||||
}
|
||||
|
||||
|
@ -81,11 +86,13 @@ class sql_db
|
|||
|
||||
case 'commit':
|
||||
$result = @mysqli_commit($this->db_connect_id);
|
||||
@mysqli_autocommit($this->db_connect_id, true);
|
||||
$this->transaction = false;
|
||||
break;
|
||||
|
||||
case 'rollback':
|
||||
$result = @mysqli_rollback($this->db_connect_id);
|
||||
@mysqli_autocommit($this->db_connect_id, true);
|
||||
$this->transaction = false;
|
||||
break;
|
||||
|
||||
|
@ -244,7 +251,7 @@ class sql_db
|
|||
return ($this->db_connect_id) ? @mysqli_affected_rows($this->db_connect_id) : false;
|
||||
}
|
||||
|
||||
function sql_fetchrow($query_id = 0)
|
||||
function sql_fetchrow($query_id = false)
|
||||
{
|
||||
global $cache;
|
||||
|
||||
|
@ -261,7 +268,7 @@ class sql_db
|
|||
return ($query_id) ? @mysqli_fetch_assoc($query_id) : false;
|
||||
}
|
||||
|
||||
function sql_fetchrowset($query_id = 0)
|
||||
function sql_fetchrowset($query_id = false)
|
||||
{
|
||||
if (!$query_id)
|
||||
{
|
||||
|
@ -280,7 +287,7 @@ class sql_db
|
|||
return false;
|
||||
}
|
||||
|
||||
function sql_fetchfield($field, $rownum = -1, $query_id = 0)
|
||||
function sql_fetchfield($field, $rownum = -1, $query_id = false)
|
||||
{
|
||||
if (!$query_id)
|
||||
{
|
||||
|
@ -320,7 +327,7 @@ class sql_db
|
|||
return false;
|
||||
}
|
||||
|
||||
function sql_rowseek($rownum, $query_id = 0)
|
||||
function sql_rowseek($rownum, $query_id = false)
|
||||
{
|
||||
if (!$query_id)
|
||||
{
|
||||
|
|
|
@ -267,6 +267,10 @@ else if (isset($_POST['dldone']))
|
|||
// open it and compare all the data. If a user wants to screw up this
|
||||
// simple task ... well ... uhm
|
||||
if (filesize($phpbb_root_path . 'config.'.$phpEx) < 10)
|
||||
{
|
||||
$stage = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
$stage = 3;
|
||||
}
|
||||
|
|
|
@ -497,7 +497,7 @@ CREATE TABLE [phpbb_search_results] (
|
|||
GO
|
||||
|
||||
CREATE TABLE [phpbb_search_wordlist] (
|
||||
[word_text] [varbinary] (50) NOT NULL ,
|
||||
[word_text] [nvarchar] (50) NOT NULL ,
|
||||
[word_id] [int] IDENTITY (1, 1) NOT NULL ,
|
||||
[word_common] [int] NOT NULL
|
||||
) ON [PRIMARY]
|
||||
|
|
|
@ -352,9 +352,9 @@ INSERT INTO phpbb_lang (lang_id, lang_iso, lang_dir, lang_english_name, lang_loc
|
|||
# MSSQL IDENTITY phpbb_forums ON #
|
||||
|
||||
# -- Forums
|
||||
INSERT INTO phpbb_forums (forum_id, forum_name, forum_desc, left_id, right_id, parent_id, forum_type, forum_posts, forum_topics, forum_topics_real, forum_last_post_id, forum_last_poster_id, forum_last_poster_name, forum_last_post_time) VALUES (1, 'My first Category', '', 1, 4, 0, 0, 1, 1, 1, 1, 2, 'Admin', 972086460);
|
||||
INSERT INTO phpbb_forums (forum_id, forum_name, forum_desc, left_id, right_id, parent_id, forum_type, forum_posts, forum_topics, forum_topics_real, forum_last_post_id, forum_last_poster_id, forum_last_poster_name, forum_last_post_time, forum_link, forum_password, forum_image, forum_rules, forum_rules_link, forum_rules_bbcode_uid) VALUES (1, 'My first Category', '', 1, 4, 0, 0, 1, 1, 1, 1, 2, 'Admin', 972086460, '', '', '', '', '', '');
|
||||
|
||||
INSERT INTO phpbb_forums (forum_id, forum_name, forum_desc, left_id, right_id, parent_id, forum_type, forum_posts, forum_topics, forum_topics_real, forum_last_post_id, forum_last_poster_id, forum_last_poster_name, forum_last_post_time) VALUES (2, 'Test Forum 1', 'This is just a test forum.', 2, 3, 1, 1, 1, 1, 1, 1, 2, 'Admin', 972086460);
|
||||
INSERT INTO phpbb_forums (forum_id, forum_name, forum_desc, left_id, right_id, parent_id, forum_type, forum_posts, forum_topics, forum_topics_real, forum_last_post_id, forum_last_poster_id, forum_last_poster_name, forum_last_post_time, forum_link, forum_password, forum_image, forum_rules, forum_rules_link, forum_rules_bbcode_uid) VALUES (2, 'Test Forum 1', 'This is just a test forum.', 2, 3, 1, 1, 1, 1, 1, 1, 2, 'Admin', 972086460, '', '', '', '', '', '');
|
||||
|
||||
# MSSQL IDENTITY phpbb_forums OFF #
|
||||
|
||||
|
@ -362,16 +362,16 @@ INSERT INTO phpbb_forums (forum_id, forum_name, forum_desc, left_id, right_id, p
|
|||
# MSSQL IDENTITY phpbb_users ON #
|
||||
|
||||
# -- Users
|
||||
INSERT INTO phpbb_users (user_id, user_type, group_id, username, user_regdate, user_password, user_email, user_lang, user_style) VALUES (1, 2, 1, 'Anonymous', 0, '', '', 'en', 1);
|
||||
INSERT INTO phpbb_users (user_id, user_type, group_id, username, user_regdate, user_password, user_email, user_lang, user_style, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_colour, user_sortby_type, user_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_from, user_icq, user_aim, user_yim, user_msnm, user_jabber, user_website, user_occ, user_interests, user_actkey, user_newpasswd) VALUES (1, 2, 1, 'Anonymous', 0, '', '', 'en', 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
|
||||
|
||||
# -- username: Admin password: admin (change this or remove it ON #ce everything is working!)
|
||||
INSERT INTO phpbb_users (user_id, user_type, group_id, username, user_regdate, user_password, user_email, user_lang, user_style, user_rank, user_colour, user_posts) VALUES (2, 3, 7, 'Admin', 0, '21232f297a57a5a743894a0e4a801fc3', 'admin@yourdomain.com', 'en', 1, 1, 'AA0000', 1);
|
||||
INSERT INTO phpbb_users (user_id, user_type, group_id, username, user_regdate, user_password, user_email, user_lang, user_style, user_rank, user_colour, user_posts, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_sortby_type, user_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_from, user_icq, user_aim, user_yim, user_msnm, user_jabber, user_website, user_occ, user_interests, user_actkey, user_newpasswd) VALUES (2, 3, 7, 'Admin', 0, '21232f297a57a5a743894a0e4a801fc3', 'admin@yourdomain.com', 'en', 1, 1, 'AA0000', 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
|
||||
|
||||
# -- bots
|
||||
INSERT INTO phpbb_users (user_id, user_type, group_id, username, user_regdate, user_password, user_lang, user_style, user_rank, user_colour) VALUES (3, 2, 8, 'Googlebot', 0, '', 'en', 1, 1, '9E8DA7');
|
||||
INSERT INTO phpbb_users (user_id, user_type, group_id, username, user_regdate, user_password, user_lang, user_style, user_rank, user_colour) VALUES (4, 2, 8, 'Fastcrawler', 0, '', 'en', 1, 1, '9E8DA7');
|
||||
INSERT INTO phpbb_users (user_id, user_type, group_id, username, user_regdate, user_password, user_lang, user_style, user_rank, user_colour) VALUES (5, 2, 8, 'Alexa', 0, '', 'en', 1, 1, '9E8DA7');
|
||||
INSERT INTO phpbb_users (user_id, user_type, group_id, username, user_regdate, user_password, user_lang, user_style, user_rank, user_colour) VALUES (6, 2, 8, 'Inktomi', 0, '', 'en', 1, 1, '9E8DA7');
|
||||
INSERT INTO phpbb_users (user_id, user_type, group_id, username, user_regdate, user_password, user_lang, user_style, user_rank, user_colour, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_sortby_type, user_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_from, user_icq, user_aim, user_yim, user_msnm, user_jabber, user_website, user_occ, user_interests, user_actkey, user_newpasswd, user_email) VALUES (3, 2, 8, 'Googlebot', 0, '', 'en', 1, 1, '9E8DA7', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
|
||||
INSERT INTO phpbb_users (user_id, user_type, group_id, username, user_regdate, user_password, user_lang, user_style, user_rank, user_colour, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_sortby_type, user_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_from, user_icq, user_aim, user_yim, user_msnm, user_jabber, user_website, user_occ, user_interests, user_actkey, user_newpasswd, user_email) VALUES (4, 2, 8, 'Fastcrawler', 0, '', 'en', 1, 1, '9E8DA7', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
|
||||
INSERT INTO phpbb_users (user_id, user_type, group_id, username, user_regdate, user_password, user_lang, user_style, user_rank, user_colour, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_sortby_type, user_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_from, user_icq, user_aim, user_yim, user_msnm, user_jabber, user_website, user_occ, user_interests, user_actkey, user_newpasswd, user_email) VALUES (5, 2, 8, 'Alexa', 0, '', 'en', 1, 1, '9E8DA7', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
|
||||
INSERT INTO phpbb_users (user_id, user_type, group_id, username, user_regdate, user_password, user_lang, user_style, user_rank, user_colour, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_sortby_type, user_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_from, user_icq, user_aim, user_yim, user_msnm, user_jabber, user_website, user_occ, user_interests, user_actkey, user_newpasswd, user_email) VALUES (6, 2, 8, 'Inktomi', 0, '', 'en', 1, 1, '9E8DA7', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
|
||||
|
||||
# MSSQL IDENTITY phpbb_users OFF #
|
||||
|
||||
|
@ -379,14 +379,14 @@ INSERT INTO phpbb_users (user_id, user_type, group_id, username, user_regdate, u
|
|||
# MSSQL IDENTITY phpbb_groups ON #
|
||||
|
||||
# -- Groups
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_legend) VALUES (1, 'GUESTS', 3, 0);
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_legend) VALUES (2, 'INACTIVE', 3, 0);
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_legend) VALUES (3, 'INACTIVE_COPPA', 3, 0);
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_legend) VALUES (4, 'REGISTERED', 3, 0);
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_legend) VALUES (5, 'REGISTERED_COPPA', 3, 0);
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_colour, group_legend) VALUES (6, 'SUPER_MODERATORS', 3, '00AA00', 0);
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_colour) VALUES (7, 'ADMINISTRATORS', 3, 'AA0000');
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_colour) VALUES (8, 'BOTS', 3, '9E8DA7');
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_colour, group_legend, group_avatar, group_description) VALUES (1, 'GUESTS', 3, '', 0, '', '');
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_colour, group_legend, group_avatar, group_description) VALUES (2, 'INACTIVE', 3, '', 0, '', '');
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_colour, group_legend, group_avatar, group_description) VALUES (3, 'INACTIVE_COPPA', 3, '', 0, '', '');
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_colour, group_legend, group_avatar, group_description) VALUES (4, 'REGISTERED', 3, '', 0, '', '');
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_colour, group_legend, group_avatar, group_description) VALUES (5, 'REGISTERED_COPPA', 3, '', 0, '', '');
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_colour, group_legend, group_avatar, group_description) VALUES (6, 'SUPER_MODERATORS', 3, '00AA00', 0, '', '');
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_colour, group_legend, group_avatar, group_description) VALUES (7, 'ADMINISTRATORS', 3, 'AA0000', 1, '', '');
|
||||
INSERT INTO phpbb_groups (group_id, group_name, group_type, group_colour, group_legend, group_avatar, group_description) VALUES (8, 'BOTS', 3, '9E8DA7', 1, '', '');
|
||||
|
||||
# MSSQL IDENTITY phpbb_groups OFF #
|
||||
|
||||
|
@ -477,13 +477,13 @@ INSERT INTO phpbb_auth_groups (group_id, forum_id, auth_option_id, auth_setting)
|
|||
|
||||
|
||||
# -- Moderator cache
|
||||
INSERT INTO phpbb_moderator_cache (user_id, forum_id, username) VALUES (2, 2, 'Admin');
|
||||
INSERT INTO phpbb_moderator_cache (user_id, forum_id, username, groupname) VALUES (2, 2, 'Admin', 'Administrators');
|
||||
|
||||
|
||||
# MSSQL IDENTITY phpbb_topics ON #
|
||||
|
||||
# -- Demo Topic
|
||||
INSERT INTO phpbb_topics (topic_id, topic_title, topic_poster, topic_time, topic_views, topic_replies, topic_replies_real, forum_id, topic_status, topic_type, topic_first_post_id, topic_first_poster_name, topic_last_post_id, topic_last_poster_id, topic_last_poster_name, topic_last_post_time, topic_last_view_time) VALUES (1, 'Welcome to phpBB 2', 2, 972086460, 0, 0, 0, 2, 0, 0, 1, 'Admin', 1, 2, 'Admin', 972086460, 972086460);
|
||||
INSERT INTO phpbb_topics (topic_id, topic_title, topic_poster, topic_time, topic_views, topic_replies, topic_replies_real, forum_id, topic_status, topic_type, topic_first_post_id, topic_first_poster_name, topic_last_post_id, topic_last_poster_id, topic_last_poster_name, topic_last_post_time, topic_last_view_time, poll_title) VALUES (1, 'Welcome to phpBB 2', 2, 972086460, 0, 0, 0, 2, 0, 0, 1, 'Admin', 1, 2, 'Admin', 972086460, 972086460, '');
|
||||
|
||||
# MSSQL IDENTITY phpbb_topics OFF #
|
||||
|
||||
|
@ -491,7 +491,7 @@ INSERT INTO phpbb_topics (topic_id, topic_title, topic_poster, topic_time, topic
|
|||
# MSSQL IDENTITY phpbb_posts ON #
|
||||
|
||||
# -- Demo Post
|
||||
INSERT INTO phpbb_posts (post_id, topic_id, forum_id, poster_id, post_time, post_username, poster_ip, post_subject, post_text) VALUES (1, 1, 2, 2, 972086460, NULL, '127.0.0.1', 'Welcome to phpBB 2', 'This is an example post in your phpBB 2.2 installation. You may delete this post, this topic and even this forum if you like since everything seems to be working!');
|
||||
INSERT INTO phpbb_posts (post_id, topic_id, forum_id, poster_id, post_time, post_username, poster_ip, post_subject, post_text, post_checksum, bbcode_uid) VALUES (1, 1, 2, 2, 972086460, NULL, '127.0.0.1', 'Welcome to phpBB 2', 'This is an example post in your phpBB 2.2 installation. You may delete this post, this topic and even this forum if you like since everything seems to be working!', '', '');
|
||||
|
||||
# MSSQL IDENTITY phpbb_posts OFF #
|
||||
|
||||
|
@ -554,8 +554,6 @@ INSERT INTO phpbb_search_wordlist (word_id, word_text, word_common) VALUES (12,
|
|||
# MSSQL IDENTITY phpbb_search_wordlist OFF #
|
||||
|
||||
|
||||
# MSSQL IDENTITY phpbb_search_wordmatch ON #
|
||||
|
||||
# -- wordmatch
|
||||
INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES (1, 1, 0);
|
||||
INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES (2, 1, 0);
|
||||
|
@ -571,8 +569,6 @@ INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES (11, 1
|
|||
INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES (12, 1, 1);
|
||||
INSERT INTO phpbb_search_wordmatch (word_id, post_id, title_match) VALUES (3, 1, 1);
|
||||
|
||||
# MSSQL IDENTITY phpbb_search_wordmatch OFF #
|
||||
|
||||
|
||||
# MSSQL IDENTITY phpbb_reports_reasons ON #
|
||||
|
||||
|
@ -587,12 +583,12 @@ INSERT INTO phpbb_reports_reasons (reason_id, reason_priority, reason_name, reas
|
|||
# MSSQL IDENTITY phpbb_extension_groups ON #
|
||||
|
||||
# -- extension_groups
|
||||
INSERT INTO phpbb_extension_groups (group_id, group_name, cat_id, allow_group, download_mode, upload_icon, max_filesize) VALUES (1, 'Images', 1, 1, 1, '', 0);
|
||||
INSERT INTO phpbb_extension_groups (group_id, group_name, cat_id, allow_group, download_mode, upload_icon, max_filesize) VALUES (2, 'Archives', 0, 1, 1, '', 0);
|
||||
INSERT INTO phpbb_extension_groups (group_id, group_name, cat_id, allow_group, download_mode, upload_icon, max_filesize) VALUES (3, 'Plain Text', 0, 0, 1, '', 0);
|
||||
INSERT INTO phpbb_extension_groups (group_id, group_name, cat_id, allow_group, download_mode, upload_icon, max_filesize) VALUES (4, 'Documents', 0, 0, 1, '', 0);
|
||||
INSERT INTO phpbb_extension_groups (group_id, group_name, cat_id, allow_group, download_mode, upload_icon, max_filesize) VALUES (5, 'Real Media', 3, 0, 2, '', 0);
|
||||
INSERT INTO phpbb_extension_groups (group_id, group_name, cat_id, allow_group, download_mode, upload_icon, max_filesize) VALUES (6, 'Windows Media', 2, 0, 1, '', 0);
|
||||
INSERT INTO phpbb_extension_groups (group_id, group_name, cat_id, allow_group, download_mode, upload_icon, max_filesize, allowed_forums) VALUES (1, 'Images', 1, 1, 1, '', 0, '');
|
||||
INSERT INTO phpbb_extension_groups (group_id, group_name, cat_id, allow_group, download_mode, upload_icon, max_filesize, allowed_forums) VALUES (2, 'Archives', 0, 1, 1, '', 0, '');
|
||||
INSERT INTO phpbb_extension_groups (group_id, group_name, cat_id, allow_group, download_mode, upload_icon, max_filesize, allowed_forums) VALUES (3, 'Plain Text', 0, 0, 1, '', 0, '');
|
||||
INSERT INTO phpbb_extension_groups (group_id, group_name, cat_id, allow_group, download_mode, upload_icon, max_filesize, allowed_forums) VALUES (4, 'Documents', 0, 0, 1, '', 0, '');
|
||||
INSERT INTO phpbb_extension_groups (group_id, group_name, cat_id, allow_group, download_mode, upload_icon, max_filesize, allowed_forums) VALUES (5, 'Real Media', 3, 0, 2, '', 0, '');
|
||||
INSERT INTO phpbb_extension_groups (group_id, group_name, cat_id, allow_group, download_mode, upload_icon, max_filesize, allowed_forums) VALUES (6, 'Windows Media', 2, 0, 1, '', 0, '');
|
||||
|
||||
# MSSQL IDENTITY phpbb_extension_groups OFF #
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue