/**\r
* @license http://nucleuscms.org/license.txt GNU General Public License\r
* @copyright Copyright (C) 2002-2012 The Nucleus Group\r
- * @version $Id: index.php 1745 2012-04-12 23:45:47Z sakamocchi $
+ * @version $Id: index.php 1745 2012-04-12 23:45:47Z sakamocchi $\r
*/\r
\r
/* global values initialize */\r
}\r
\r
// include core classes that are needed for login & plugin handling\r
-include_once('../nucleus/libs/mysql.php');\r
\r
// added for 3.5 sql_* wrapper\r
global $MYSQL_HANDLER;\r
{\r
$MYSQL_HANDLER = array('mysql', '');\r
}\r
-include_once('../nucleus/libs/sql/' . $MYSQL_HANDLER[0] . '.php');\r
+include_once('../nucleus/libs/sql/sql.php');\r
\r
session_start();\r
if ( count($_GET) == 0 && count($_POST) == 0 )\r
function do_install()\r
{\r
global $param;\r
- global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_PREFIX, $MYSQL_CONN;\r
+ global $MYSQL_HANDLER, $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_PREFIX, $MYSQL_CONN;\r
global $DIR_NUCLEUS, $DIR_MEDIA, $DIR_SKINS, $DIR_PLUGINS, $DIR_LANG, $DIR_LIBS;\r
$errors = array();\r
\r
/*\r
* 2.open mySQL connection\r
*/\r
- $MYSQL_CONN = @sql_connect_args($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD);\r
- if ( $MYSQL_CONN == false )\r
+ $MYSQL_CONN = @DB::setConnectionInfo($MYSQL_HANDLER[1], $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD);\r
+ if ( $MYSQL_CONN == FALSE )\r
{\r
$errors[] = _DBCONNECT_ERROR;\r
return $errors;\r
/*\r
* 3. try to create database if needed\r
*/\r
- if ( !sql_query("CREATE DATABASE IF NOT EXISTS {$MYSQL_DATABASE}") )\r
+ if ( DB::execute("CREATE DATABASE IF NOT EXISTS {$MYSQL_DATABASE}") === FALSE )\r
{\r
- $errors[] = _INST_ERROR1 . ': ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR1 . ': ' . $errinfo[2];\r
}\r
\r
/*\r
* 4. try to select database\r
*/\r
- if ( !sql_select_db($MYSQL_DATABASE) )\r
+ $MYSQL_CONN = @DB::setConnectionInfo($MYSQL_HANDLER[1], $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE);\r
+ if ( !$MYSQL_CONN )\r
{\r
$errors[] = _INST_ERROR2;\r
}\r
- sql_set_charset('utf8');\r
\r
if ( count($errors) > 0 )\r
{\r
}\r
\r
// table exists check\r
- $result = sql_query('SHOW TABLES');\r
- while ( $row = mysql_fetch_array($result, MYSQL_NUM) )\r
+ $result = DB::getResult('SHOW TABLES');\r
+ foreach ( $result as $row )\r
{\r
if ( in_array($row[0], $prefixed_table_names) )\r
{\r
$query = str_replace($table_names, $prefixed_table_names, $query);\r
}\r
\r
- if ( !sql_query($query) )\r
+ if ( DB::execute($query) === FALSE )\r
{\r
- $errors[] = _INST_ERROR4 . ' (<small>' . $query . '</small>): ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR4 . ' (<small>' . $query . '</small>): ' . $errinfo[2];\r
}\r
}\r
}\r
* 6. put needed records\r
*/\r
/* push first post */\r
- $query = "INSERT INTO %s VALUES (1, '%s', '%s', '%s', 1, 1, '%s', 0, 0, 0, 1, 0, 1)";\r
- $query = sprintf($query, tableName('nucleus_item'), _1ST_POST_TITLE, _1ST_POST, _1ST_POST2, i18n::formatted_datetime('mysql', time()));\r
- if ( !sql_query($query) )\r
+ $query = "INSERT INTO %s VALUES (1, %s, %s, %s, 1, 1, '%s', 0, 0, 0, 1, 0, 1)";\r
+ $query = sprintf($query,\r
+ tableName('nucleus_item'),\r
+ DB::quoteValue(_1ST_POST_TITLE),\r
+ DB::quoteValue(_1ST_POST),\r
+ DB::quoteValue(_1ST_POST2),\r
+ DB::formatDateTime(time())\r
+ );\r
+ if ( !DB::execute($query) )\r
{\r
- $errors[] = _INST_ERROR4 . ' (<small>' . $newpost . '</small>): ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR4 . ' (<small>' . $newpost . '</small>): ' . $errinfo[2];\r
}\r
\r
/* push configurations */\r
array_merge($errors, updateConfig('SiteName', $param->blog_name));\r
array_merge($errors, updateConfig('Locale', i18n::get_current_locale()));\r
\r
- /* escape strings for SQL */\r
- $user_name = sql_real_escape_string($param->user_name);\r
- $user_realname = sql_real_escape_string($param->user_realname);\r
- $user_password = sql_real_escape_string(md5($param->user_password));\r
- $user_email = sql_real_escape_string($param->user_email);\r
- $blog_name = sql_real_escape_string($param->blog_name);\r
- $blog_shortname = sql_real_escape_string($param->blog_shortname);\r
- $config_indexurl = sql_real_escape_string($param->IndexURL);\r
-\r
/* push super admin */\r
- $query = "UPDATE %s SET mname = '%s', mrealname = '%s', mpassword = '%s', memail = '%s', murl = '%s', madmin = 1, mcanlogin = 1 WHERE mnumber = 1";\r
- $query = sprintf($query, tableName('nucleus_member'), $user_name, $user_realname, $user_password, $user_email, $config_indexurl);\r
- if ( !sql_query($query) )\r
+ $query = "UPDATE %s SET mname = %s, mrealname = %s, mpassword = %s, memail = %s, murl = %s, madmin = 1, mcanlogin = 1 WHERE mnumber = 1";\r
+ $query = sprintf($query,\r
+ tableName('nucleus_member'),\r
+ DB::quoteValue($param->user_name),\r
+ DB::quoteValue($param->user_realname),\r
+ DB::quoteValue(md5($param->user_password)),\r
+ DB::quoteValue($param->user_email),\r
+ DB::quoteValue($param->IndexURL)\r
+ );\r
+ if ( !DB::execute($query) )\r
{\r
- $errors[] = _INST_ERROR5 . ': ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR5 . ': ' . $errinfo[2];\r
}\r
\r
/* push new weblog */\r
- $query = "UPDATE %s SET bname = '%s', bshortname = '%s', burl = '%s' WHERE bnumber = 1";\r
- $query = sprintf($query, tableName('nucleus_blog'), $blog_name, $blog_shortname, $config_indexurl);\r
- if ( !sql_query($query) )\r
+ $query = "UPDATE %s SET bname = %s, bshortname = %s, burl = %s WHERE bnumber = 1";\r
+ $query = sprintf($query,\r
+ tableName('nucleus_blog'),\r
+ DB::quoteValue($param->blog_name),\r
+ DB::quoteValue($param->blog_shortname),\r
+ DB::quoteValue($param->IndexURL)\r
+ );\r
+ if ( !DB::execute($query) )\r
{\r
- $errors[] = _INST_ERROR6 . ': ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR6 . ': ' . $errinfo[2];\r
}\r
\r
/* push default category */\r
$query = "UPDATE %s SET cname = '%s', cdesc = '%s' WHERE catid = 1";\r
- $query = sprintf($query, tableName('nucleus_category'), _GENERALCAT_NAME, _GENERALCAT_DESC);\r
- if ( !sql_query($query) )\r
+ $query = sprintf($query,\r
+ tableName('nucleus_category'),\r
+ DB::quoteValue(_GENERALCAT_NAME),\r
+ DB::quoteValue(_GENERALCAT_DESC)\r
+ );\r
+ if ( !DB::execute($query) )\r
{\r
- $errors[] = _INST_ERROR6 . ': ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR6 . ': ' . $errinfo[2];\r
}\r
\r
- @sql_disconnect();\r
-\r
/*\r
* 7. install default plugins and skins\r
*/\r
\r
$query = "SELECT sdnumber FROM %s WHERE sdname='default'";\r
$query = sprintf($query, tableName('nucleus_skin_desc'));\r
- $res = sql_query($query);\r
- $obj = sql_fetch_assoc($res);\r
- $defSkinID = (integer) $obj['sdnumber'];\r
+ $defSkinID = intval(DB::getValue($query));\r
\r
$query = "UPDATE %s SET bdefskin=%d WHERE bnumber=1";\r
$query = sprintf($query, tableName('nucleus_blog'), $defSkinID);\r
- sql_query($query);\r
+ DB::execute($query);\r
$query = "UPDATE %s SET value=%d WHERE name='BaseSkin'";\r
$query = sprintf($query, tableName('nucleus_config'), $defSkinID);\r
- sql_query($query);\r
+ DB::execute($query);\r
\r
$aPlugErrors = installCustomPlugs();\r
if ( count($aPlugErrors) > 0 )\r
*/\r
function getMySqlVersion()\r
{\r
- global $minimum_mysql_version, $errors;\r
+ global $MYSQL_HANDLER, $minimum_mysql_version, $errors;\r
// Turn on output buffer\r
// Needed to repress the output of the sql function that are\r
// not part of php (in this case the @ operator doesn't work)\r
ob_start();\r
\r
// note: this piece of code is taken from phpMyAdmin\r
- $conn = sql_connect_args('localhost', '', '');\r
- $result = @sql_query('SELECT VERSION() AS version', $conn);\r
+ $conn = @DB::setConnectionInfo($MYSQL_HANDLER[1], 'localhost', '', '');\r
\r
- if ( $result != FALSE && sql_num_rows($result) > 0 )\r
+ if ( $conn )\r
{\r
- $row = sql_fetch_array($result);\r
- $match = preg_split('#\.#', $row['version']);\r
+ $row = DB::getAttribute(PDO::ATTR_SERVER_VERSION);\r
+ $match = preg_split('#\.#', $row);\r
}\r
else\r
{\r
- $result = @sql_query('SHOW VARIABLES LIKE \'version\'', $conn);\r
+ $row = @DB::getRow('SHOW VARIABLES LIKE \'version\'');\r
\r
- if ( $result != FALSE && @sql_num_rows($result) > 0 )\r
+ if ( $row )\r
{\r
- $row = sql_fetch_row($result);\r
$match = preg_split('#\.#', $row[1]);\r
}\r
else\r
}\r
}\r
\r
- @sql_disconnect($conn);\r
+ @DB::disConnect();\r
\r
//End and clean output buffer\r
ob_end_clean();\r
return $aErrors;\r
}\r
\r
- $res = sql_query('SELECT * FROM ' . tableName('nucleus_plugin'));\r
- $numCurrent = sql_num_rows($res);\r
+ $query = sprintf('SELECT * FROM %s', tableName('nucleus_plugin'));\r
+ $res = DB::getResult($query);\r
+ $numCurrent = $res->rowCount();\r
\r
foreach ( $aConfPlugsToInstall as $plugName )\r
{\r
- $query = 'INSERT INTO ' . tableName('nucleus_plugin') . ' (porder, pfile) VALUES (' . (++$numCurrent) . ", '" . sql_real_escape_string($plugName) . "')";\r
- sql_query($query);\r
+ $query = sprintf('INSERT INTO %s (porder, pfile) VALUES (%d, %s)',\r
+ tableName('nucleus_plugin'),\r
+ (++$numCurrent),\r
+ DB::quoteValue($plugName));\r
+ DB::execute($query);\r
\r
$manager->clearCachedInfo('installedPlugins');\r
$plugin =& $manager->getPlugin($plugName);\r
\r
if ( !$plugin )\r
{\r
- sql_query('DELETE FROM ' . tableName('nucleus_plugin') . " WHERE pfile = '" . sql_real_escape_string($plugName) . "'");\r
+ $query = sprintf('DELETE FROM %s WHERE pfile = %s',\r
+ tableName('nucleus_plugin'),\r
+ DB::quoteValue($plugName));\r
+ DB::execute($query);\r
$numCurrent--;\r
array_push($aErrors, sprintf(_INST_ERROR9, $plugName));\r
continue;\r
$plugin->install();\r
}\r
\r
- sql_query('DELETE FROM ' . tableName('nucleus_plugin_event'));\r
- $res = sql_query('SELECT pid, pfile FROM ' . tableName('nucleus_plugin'));\r
+ $query = sprintf('DELETE FROM %s', tableName('nucleus_plugin_event'));\r
+ DB::execute($query);\r
+ $query = sprintf('SELECT pid, pfile FROM %s', tableName('nucleus_plugin'));\r
+ $res = DB::getResult($query);\r
\r
- while ( $o = sql_fetch_object($res) )\r
+ foreach ( $res as $row )\r
{\r
- $pid = $o->pid;\r
- $plug =& $manager->getPlugin($o->pfile);\r
+ $plug =& $manager->getPlugin($row['pfile']);\r
\r
if ( $plug )\r
{\r
$eventList = $plug->getEventList();\r
foreach ( $eventList as $eventName )\r
{\r
- sql_query('INSERT INTO ' . tableName('nucleus_plugin_event') . ' (pid, event) VALUES (' . $pid . ", '" . $eventName . "')");\r
+ $query = sprintf('INSERT INTO %s (pid, event) VALUES (%d, %s)',\r
+ tableName('nucleus_plugin_event'),\r
+ intval($row['pid']),\r
+ DB::quoteValue($eventName));\r
+ DB::execute($query);\r
}\r
}\r
}\r
'../nucleus/libs/MANAGER.php',\r
'../nucleus/libs/MEDIA.php',\r
'../nucleus/libs/MEMBER.php',\r
- '../nucleus/libs/mysql.php',\r
'../nucleus/libs/NOTIFICATION.php',\r
'../nucleus/libs/PAGEFACTORY.php',\r
'../nucleus/libs/PARSER.php',\r
'../nucleus/libs/vars4.1.0.php',\r
'../nucleus/libs/xmlrpc.inc.php',\r
'../nucleus/libs/xmlrpcs.inc.php',\r
- '../nucleus/libs/sql/mysql.php'\r
+ '../nucleus/libs/data/DB.php',\r
+ '../nucleus/libs/data/MYSQLPDO.php'\r
);\r
\r
$count = count($files);\r
function updateConfig($name, $value)\r
{\r
$errors = array();\r
- $name = sql_real_escape_string($name);\r
- $value = trim(sql_real_escape_string($value));\r
\r
- $query = "UPDATE %s SET value = '%s' WHERE name = '%s'";\r
- $query = sprintf($query, tableName('nucleus_config'), $value, $name);\r
+ $query = "UPDATE %s SET value = %s WHERE name = %s";\r
+ $query = sprintf($query, tableName('nucleus_config'), DB::quoteValue(trim($value)), DB::quoteValue($name));\r
\r
- if ( !sql_query($query) )\r
+ if ( !DB::execute($query) )\r
{\r
- $errors[] = _INST_ERROR4 . ': ' . sql_error();\r
+ $errinfo = DB::getError();\r
+ $errors[] = _INST_ERROR4 . ': ' . $errinfo[2];\r
}\r
return $errors;\r
}\r
\r
public function check_mysql_parameters()\r
{\r
+ global $MYSQL_HANDLER;\r
+ \r
$parameters = array('mysql_host', 'mysql_user', 'mysql_password', 'mysql_database', 'mysql_tablePrefix');\r
$this->read_parameter($parameters);\r
\r
\r
if ( count($errors) == 0 )\r
{\r
- $mysql_conn = @sql_connect_args($this->mysql_host, $this->mysql_user, $this->mysql_password);\r
+ $mysql_conn = @DB::setConnectionInfo($MYSQL_HANDLER[1], $this->mysql_host, $this->mysql_user, $this->mysql_password);\r
if ( $mysql_conn == false )\r
{\r
$errors[] = _DBCONNECT_ERROR;\r
}\r
else\r
{\r
- @sql_disconnect($mysql_conn);\r
+ @DB::disConnect();\r
}\r
}\r
\r