Skip to content
Snippets Groups Projects
Commit e9591ac4 authored by Jared Hancock's avatar Jared Hancock
Browse files

Merge pull request #309 from protich/issue/mysql-driver


Drop support for mysql extension (deprecated as of PHP 5.5.0)
Here goes nothin!

Reviewed-By: default avatarJared Hancock <jared@osticket.com>
parents 517ce557 24db6503
No related branches found
No related tags found
No related merge requests found
...@@ -181,10 +181,7 @@ class Bootstrap { ...@@ -181,10 +181,7 @@ class Bootstrap {
require_once(INCLUDE_DIR.'class.format.php'); //format helpers require_once(INCLUDE_DIR.'class.format.php'); //format helpers
require_once(INCLUDE_DIR.'class.validator.php'); //Class to help with basic form input validation...please help improve it. require_once(INCLUDE_DIR.'class.validator.php'); //Class to help with basic form input validation...please help improve it.
require(INCLUDE_DIR.'class.mailer.php'); require(INCLUDE_DIR.'class.mailer.php');
if (extension_loaded('mysqli')) require_once INCLUDE_DIR.'mysqli.php';
require_once INCLUDE_DIR.'mysqli.php';
else
require(INCLUDE_DIR.'mysql.php');
} }
function i18n_prep() { function i18n_prep() {
......
<?php
/*********************************************************************
mysql.php
Collection of MySQL helper interface functions.
Mostly wrappers with error/resource checking.
Peter Rotich <peter@osticket.com>
Copyright (c) 2006-2013 osTicket
http://www.osticket.com
Released under the GNU General Public License WITHOUT ANY WARRANTY.
See LICENSE.TXT for details.
vim: expandtab sw=4 ts=4 sts=4:
**********************************************************************/
function db_connect($host, $user, $passwd, $options = array()) {
//Assert
if(!strlen($user) || !strlen($passwd) || !strlen($host))
return NULL;
//Connect
$start = (double) microtime() * 1000000;
if(!($dblink =@mysql_connect($host, $user, $passwd)))
return NULL;
//Select the database, if any.
if($options['db']) db_select_database($options['db']);
//set desired encoding just in case mysql charset is not UTF-8 - Thanks to FreshMedia
@mysql_query('SET NAMES "utf8"');
@mysql_query('SET CHARACTER SET "utf8"');
@mysql_query('SET COLLATION_CONNECTION=utf8_general_ci');
@db_set_variable('sql_mode', '');
// Use connection timing to seed the random number generator
Misc::__rand_seed(((double) microtime() * 1000000) - $start);
return $dblink;
}
function db_close() {
global $dblink;
return @mysql_close($dblink);
}
function db_version() {
$version=0;
$matches = array();
if(preg_match('/(\d{1,2}\.\d{1,2}\.\d{1,2})/',
mysql_result(db_query('SELECT VERSION()'),0,0),
$matches))
$version=$matches[1];
return $version;
}
function db_timezone() {
return db_get_variable('time_zone');
}
function db_get_variable($variable, $type='session') {
$sql =sprintf('SELECT @@%s.%s', $type, $variable);
return db_result(db_query($sql));
}
function db_set_variable($variable, $value, $type='session') {
$sql =sprintf('SET %s %s=%s',strtoupper($type), $variable, db_input($value));
return db_query($sql);
}
function db_select_database($database) {
return ($database && @mysql_select_db($database));
}
function db_create_database($database, $charset='utf8', $collate='utf8_general_ci') {
return @mysql_query(sprintf('CREATE DATABASE %s DEFAULT CHARACTER SET %s COLLATE %s', $database, $charset, $collate));
}
// execute sql query
function db_query($query, $logError=true) {
global $ost;
$res = mysql_query($query);
if(!$res && $logError && $ost) { //error reporting
$msg='['.$query.']'."\n\n".db_error();
$ost->logDBError('DB Error #'.db_errno(), $msg);
//echo $msg; #uncomment during debuging or dev.
}
return $res;
}
function db_squery($query) { //smart db query...utilizing args and sprintf
$args = func_get_args();
$query = array_shift($args);
$query = str_replace("?", "%s", $query);
$args = array_map('db_real_escape', $args);
array_unshift($args, $query);
$query = call_user_func_array('sprintf', $args);
return db_query($query);
}
function db_count($query) {
return db_result(db_query($query));
}
function db_result($res, $row=0) {
return ($res)?mysql_result($res, $row):NULL;
}
function db_fetch_array($res, $mode=false) {
return ($res)?db_output(mysql_fetch_array($res, ($mode)?$mode:MYSQL_ASSOC)):NULL;
}
function db_fetch_row($res) {
return ($res)?db_output(mysql_fetch_row($res)):NULL;
}
function db_fetch_field($res) {
return ($res)?mysql_fetch_field($res):NULL;
}
function db_assoc_array($res, $mode=false) {
$result = array();
if($res && db_num_rows($res)) {
while ($row=db_fetch_array($res, $mode))
$result[]=$row;
}
return $result;
}
function db_num_rows($res) {
return ($res)?mysql_num_rows($res):0;
}
function db_affected_rows() {
return mysql_affected_rows();
}
function db_data_seek($res, $row_number) {
return mysql_data_seek($res, $row_number);
}
function db_data_reset($res) {
return mysql_data_seek($res,0);
}
function db_insert_id() {
return mysql_insert_id();
}
function db_free_result($res) {
return mysql_free_result($res);
}
function db_output($var) {
if(!function_exists('get_magic_quotes_runtime') || !get_magic_quotes_runtime()) //Sucker is NOT on - thanks.
return $var;
if (is_array($var))
return array_map('db_output', $var);
return (!is_numeric($var))?stripslashes($var):$var;
}
//Do not call this function directly...use db_input
function db_real_escape($val, $quote=false) {
//Magic quotes crap is taken care of in main.inc.php
$val=mysql_real_escape_string($val);
return ($quote)?"'$val'":$val;
}
function db_input($var, $quote=true) {
if(is_array($var))
return array_map('db_input', $var, array_fill(0, count($var), $quote));
elseif($var && preg_match("/^\d+(\.\d+)?$/", $var))
return $var;
return db_real_escape($var, $quote);
}
function db_error() {
return mysql_error();
}
function db_connect_error() {
return db_error();
}
function db_errno() {
return mysql_errno();
}
function db_field_type($res, $col=0) {
return mysql_field_type($res, $col);
}
?>
...@@ -58,10 +58,6 @@ require_once(INCLUDE_DIR.'class.validator.php'); ...@@ -58,10 +58,6 @@ require_once(INCLUDE_DIR.'class.validator.php');
require_once(INCLUDE_DIR.'class.passwd.php'); require_once(INCLUDE_DIR.'class.passwd.php');
require_once(INCLUDE_DIR.'class.format.php'); require_once(INCLUDE_DIR.'class.format.php');
require_once(INCLUDE_DIR.'class.misc.php'); require_once(INCLUDE_DIR.'class.misc.php');
require_once INCLUDE_DIR.'mysqli.php';
if (extension_loaded('mysqli'))
require_once INCLUDE_DIR.'mysqli.php';
else
require(INCLUDE_DIR.'mysql.php');
?> ?>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment