+++ /dev/null
-<?php
-/************************************************************************
- * MXChange v0.2.1 Start: 08/29/2004 *
- * =============== Last change: 08/29/2004 *
- * *
- * -------------------------------------------------------------------- *
- * File : lib.php *
- * -------------------------------------------------------------------- *
- * Short description : *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
- * *
- * 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. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the Free Software *
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
- * MA 02110-1301 USA *
- ************************************************************************/
-
-// Some security stuff...
-if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
-{
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-}
-
-// SQL queries
-function SQL_QUERY($sql_string, $F, $L, $compile=false)
-{
- global $link, $CSS, $CONFIG, $OK;
-
- // Run SQL command
- $result = @mysql_query($sql_string, $link)
- or ADD_FATAL($F." (".$L."):".mysql_error()."<BR>
-".MYSQL_QUERY_STRING."<BR>
-".$sql_string);
-
- if (($CSS != "1") && ($CSS != "-1") && (DEBUG_MODE) && (DEBUG_SQL))
- {
- //
- // Debugging stuff...
- //
- $fp = @fopen(PATH."debug.log", 'a') or mxchange_die("Cannot write debug.log!");
- if (!isset($OK)) {
- // Write first entry
- fwrite($fp, "Module=".$GLOBALS['module']."\n");
- $OK = true;
- }
- fwrite($fp, $F."(LINE=".$L."|NUM=".SQL_NUMROWS($result)."|AFFECTED=".SQL_AFFECTEDROWS()."): ".str_replace('\r', '', str_replace('\n', " ", $sql_string))."\n");
- fclose($fp);
- }
-
- // Count DB hits
- if (!isset($CONFIG['db_hits']))
- {
- // Count in dummy variable
- $CONFIG['db_hits'] = 0;
- }
- else
- {
- // Count to config array
- $CONFIG['db_hits']++;
- }
- return $result;
-}
-
-// SQL num rows
-function SQL_NUMROWS($result)
-{
- if ($result != false)
- {
- $lines = @mysql_num_rows($result);
- if (empty($lines)) $lines = "0";
-
- }
- else
- {
- // No resource given, no lines found!
- $lines = "0";
- }
- return $lines;
-}
-
-// SQL affected rows
-function SQL_AFFECTEDROWS($lnk="x", $F="dummy", $L="dummy")
-{
- global $link;
- // $lnk will be ignored for now!
- $lines = @mysql_affected_rows($link);
- return $lines;
-}
-
-// SQL fetch row
-function SQL_FETCHROW($result)
-{
- $DATA = array();
- $DATA = @mysql_fetch_row($result);
- return $DATA;
-}
-
-// SQL fetch array
-function SQL_FETCHARRAY($res=false, $nr=0, $remove_numerical=true)
-{
- // Is a result resource set?
- if (!$res) return false;
-
- // Initialize array
- $row = array();
-
- // Load row from database
- $row = @mysql_fetch_array($res);
-
- // Return only arrays here
- if (is_array($row))
- {
- // Shall we remove numerical data here automatically?
- if ($remove_numerical)
- {
- // So let's remove all numerical elements to save memory!
- $max = count($row);
- for ($idx = 0; $idx < ($max / 2); $idx++)
- {
- // Remove entry
- unset($row[$idx]);
- }
- }
-
- // Return row
- return $row;
- }
- else
- {
- // Return a false here...
- return false;
- }
-}
-
-// SQL result
-function SQL_RESULT($res, $row, $field)
-{
- $result = @mysql_result($res, $row, $field);
- return $result;
-}
-// SQL connect
-function SQL_CONNECT($host, $login, $password, $F, $L)
-{
- $connect = @mysql_connect($host, $login, $password) or ADD_FATAL($F." (".$L."):".mysql_error());
- return $connect;
-}
-// SQL select database
-function SQL_SELECT_DB($DB, $link, $F, $L)
-{
- $DB = @mysql_select_db($DB, $link) or ADD_FATAL($F." (".$L."):".mysql_error());
- return $DB;
-}
-// SQL close link
-function SQL_CLOSE($link, $F, $L)
-{
- global $CONFIG, $CACHE, $CFG_CACHE;
- if ((GET_EXT_VERSION("cache") >= "0.0.7") && (isset($CONFIG['db_hits'])) && (isset($CONFIG['cache_hits'])) && (is_object($CACHE)))
- {
- // Update counter for db/cache
- $result = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_config SET db_hits='".$CONFIG['db_hits']."', cache_hits='".$CONFIG['cache_hits']."' WHERE config='0' LIMIT 1", __FILE__, __LINE__);
-
- // Update cache here
- if (GET_EXT_VERSION("cache") >= "0.1.2")
- {
- if ($CACHE->cache_file("config", true))
- {
- // Replace data
- $CACHE->cache_replace("cache_hits", $CONFIG['cache_hits'], "0", $CFG_CACHE);
- $CACHE->cache_replace("db_hits" , $CONFIG['db_hits'] , "0", $CFG_CACHE);
- }
- }
- }
-
- // Close database link
- $close = @mysql_close($link) or ADD_FATAL($F." (".$L."):".mysql_error());
- return $close;
-}
-// SQL free result
-function SQL_FREERESULT($result)
-{
- $res = @mysql_free_result($result);
- return $res;
-}
-// SQL string escaping
-function SQL_QUERY_ESC($qstring, $data, $file, $line, $run=true, $strip=true)
-{
- global $link;
- $eval = "\$query = sprintf(\"".$qstring."\"";
- foreach ($data as $var)
- {
- if (!empty($var))
- {
- if ($strip) {
- $eval .= ", SQL_ESCAPE(\"".strip_tags($var)."\")";
- } else {
- $eval .= ", SQL_ESCAPE(\"".$var."\")";
- }
- }
- else
- {
- $eval .= ", ''";
- }
- }
- $eval .= ");";
- //
- // Debugging
- //
- //$fp = fopen(PATH."escape_debug.log", 'a') or mxchange_die("Cannot write debug.log!");
- //fwrite($fp, $file."(".$line."): ".str_replace('\r', '', str_replace('\n', " ", $eval))."\n");
- //fclose($fp);
- eval($eval);
- if ($run)
- {
- // Run SQL query (default)
- return SQL_QUERY($query, $file, $line);
- }
- else
- {
- // Return secured string
- return $query;
- }
-}
-// Get ID from last INSERT command
-function SQL_INSERTID()
-{
- return @mysql_insert_id();
-}
-// Escape a string for the database
-function SQL_ESCAPE($str)
-{
- global $link;
- if (!is_resource($link)) {
- // Fall-back to addslashes() when there is no link
- return addslashes($str);
- }
-
- if (function_exists('mysql_real_escape_string')) {
- // The new and improved version
- return mysql_real_escape_string($str, $link);
- } elseif (function_exists('mysql_escape_string')) {
- // The obsulete function
- return mysql_escape_string($str, $link);
- } else {
- // If nothing else works
- return addslashes($str);
- }
-}
-// SELECT query string from table, columns and so on... ;-)
-function SQL_RESULT_FROM_ARRAY ($table, $columns, $idRow, $id) {
- // Prepare the SQL statement
- $SQL = "SELECT ".implode(", ", $columns)." FROM "._MYSQL_PREFIX."_".$table." WHERE ".$idRow."=%d LIMIT 1";
-
- // Return the result
- return SQL_QUERY_ESC($SQL, array(bigintval($id)), __FILE__, __LINE__);
-}
-//
-?>