aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/database.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib/database.php')
-rw-r--r--engine/lib/database.php108
1 files changed, 73 insertions, 35 deletions
diff --git a/engine/lib/database.php b/engine/lib/database.php
index 76ca6c193..4b0a38bb3 100644
--- a/engine/lib/database.php
+++ b/engine/lib/database.php
@@ -64,7 +64,10 @@ $dbcalls = 0;
*
* Connect to the database server and use the Elgg database for a particular database link
*
- * @param string $dblinkname The type of database connection. Used to identify the resource. eg "read", "write", or "readwrite".
+ * @param string $dblinkname The type of database connection. Used to identify the
+ * resource. eg "read", "write", or "readwrite".
+ *
+ * @return void
*/
function establish_db_link($dblinkname = "readwrite") {
// Get configuration, and globalise database link
@@ -72,7 +75,7 @@ function establish_db_link($dblinkname = "readwrite") {
if ($dblinkname != "readwrite" && isset($CONFIG->db[$dblinkname])) {
if (is_array($CONFIG->db[$dblinkname])) {
- $index = rand(0,sizeof($CONFIG->db[$dblinkname]));
+ $index = rand(0, sizeof($CONFIG->db[$dblinkname]));
$dbhost = $CONFIG->db[$dblinkname][$index]->dbhost;
$dbuser = $CONFIG->db[$dblinkname][$index]->dbuser;
$dbpass = $CONFIG->db[$dblinkname][$index]->dbpass;
@@ -121,6 +124,8 @@ function establish_db_link($dblinkname = "readwrite") {
*
* If the configuration has been set up for multiple read/write databases, set those
* links up separately; otherwise just create the one database link.
+ *
+ * @return void
*/
function setup_db_connections() {
global $CONFIG, $dblink;
@@ -135,6 +140,8 @@ function setup_db_connections() {
/**
* Display profiling information about db at NOTICE debug level upon shutdown.
+ *
+ * @return void
*/
function db_profiling_shutdown_hook() {
global $dbcalls;
@@ -145,6 +152,8 @@ function db_profiling_shutdown_hook() {
/**
* Execute any delayed queries upon shutdown.
+ *
+ * @return void
*/
function db_delayedexecution_shutdown_hook() {
global $DB_DELAYED_QUERIES, $CONFIG;
@@ -169,9 +178,7 @@ function db_delayedexecution_shutdown_hook() {
*
* @note Database connections are established upon first call to database.
*
- * @param string $event The event type
- * @param string $object_type The object type
- * @param mixed $object Used for nothing in this context
+ * @return true
* @elgg_event_handler boot system
*/
function init_db() {
@@ -189,6 +196,7 @@ function init_db() {
* no links exist.
*
* @param string $dblinktype The type of link we want: "read", "write" or "readwrite".
+ *
* @return object Database link
*/
function get_db_link($dblinktype) {
@@ -207,8 +215,9 @@ function get_db_link($dblinktype) {
/**
* Execute an EXPLAIN for $query.
*
- * @param str $query The query to explain
- * @param mixed $link The database link resource to user.
+ * @param str $query The query to explain
+ * @param mixed $link The database link resource to user.
+ *
* @return mixed An object of the query's result, or FALSE
*/
function explain_query($query, $link) {
@@ -228,8 +237,9 @@ function explain_query($query, $link) {
* @internal
* {@link $dbcalls} is incremented and the query is saved into the {@link $DB_QUERY_CACHE}.
*
- * @param string $query The query
- * @param link $dblink the DB link
+ * @param string $query The query
+ * @param link $dblink The DB link
+ *
* @return The result of mysql_query()
* @throws DatabaseException
*/
@@ -256,9 +266,11 @@ function execute_query($query, $dblink) {
* You can specify a handler function if you care about the result. This function will accept
* the raw result from {@link mysql_query()}.
*
- * @param string $query The query to execute
- * @param resource $dblink The database link to use
- * @param string $handler A callback function to pass the results array to
+ * @param string $query The query to execute
+ * @param resource $dblink The database link to use
+ * @param string $handler A callback function to pass the results array to
+ *
+ * @return true
*/
function execute_delayed_query($query, $dblink, $handler = "") {
global $DB_DELAYED_QUERIES;
@@ -281,8 +293,10 @@ function execute_delayed_query($query, $dblink, $handler = "") {
/**
* Write wrapper for execute_delayed_query()
*
- * @param string $query The query to execute
+ * @param string $query The query to execute
* @param string $handler The handler if you care about the result.
+ *
+ * @return true
* @uses execute_delayed_query()
* @uses get_db_link()
*/
@@ -293,8 +307,10 @@ function execute_delayed_write_query($query, $handler = "") {
/**
* Read wrapper for execute_delayed_query()
*
- * @param string $query The query to execute
+ * @param string $query The query to execute
* @param string $handler The handler if you care about the result.
+ *
+ * @return true
* @uses execute_delayed_query()
* @uses get_db_link()
*/
@@ -313,8 +329,9 @@ function execute_delayed_read_query($query, $handler = "") {
*
* If no results are matched, FALSE is returned.
*
- * @param mixed $query The query being passed.
- * @param string $call Optionally, the name of a function to call back to on each row
+ * @param mixed $query The query being passed.
+ * @param string $callback Optionally, the name of a function to call back to on each row
+ *
* @return array|false An array of database result objects or callback function results or false
*/
function get_data($query, $callback = "") {
@@ -372,7 +389,9 @@ function get_data($query, $callback = "") {
* matched. If a callback function $callback is specified, the row will be passed
* as the only argument to $callback.
*
- * @param mixed $query The query to execute.
+ * @param mixed $query The query to execute.
+ * @param string $callback A callback function
+ *
* @return mixed A single database result object or the result of the callback function.
*/
function get_data_row($query, $callback = "") {
@@ -425,7 +444,9 @@ function get_data_row($query, $callback = "") {
* @note Altering the DB invalidates all queries in {@link $DB_QUERY_CACHE}.
*
* @param mixed $query The query to execute.
- * @return int|false The database id of the inserted row if a AUTO_INCREMENT field is defined, 0 if not, and false on failure.
+ *
+ * @return int|false The database id of the inserted row if a AUTO_INCREMENT field is
+ * defined, 0 if not, and false on failure.
*/
function insert_data($query) {
global $CONFIG, $DB_QUERY_CACHE;
@@ -452,6 +473,7 @@ function insert_data($query) {
* @note Altering the DB invalidates all queries in {@link $DB_QUERY_CACHE}.
*
* @param string $query The query to run.
+ *
* @return Bool
*/
function update_data($query) {
@@ -478,6 +500,7 @@ function update_data($query) {
* @note Altering the DB invalidates all queries in {@link $DB_QUERY_CACHE}.
*
* @param string $query The SQL query to run
+ *
* @return int|false The number of affected rows or false on failure
*/
function delete_data($query) {
@@ -524,12 +547,13 @@ function get_db_tables() {
$tables = array();
if (is_array($result) && !empty($result)) {
- foreach($result as $row) {
+ foreach ($result as $row) {
$row = (array) $row;
- if (is_array($row) && !empty($row))
- foreach($row as $element) {
+ if (is_array($row) && !empty($row)) {
+ foreach ($row as $element) {
$tables[] = $element;
}
+ }
}
} else {
return FALSE;
@@ -544,6 +568,8 @@ function get_db_tables() {
* Executes an OPTIMIZE TABLE query on $table. Useful after large DB changes.
*
* @param string $table The name of the table to optimise
+ *
+ * @return bool
*/
function optimize_table($table) {
$table = sanitise_string($table);
@@ -553,7 +579,8 @@ function optimize_table($table) {
/**
* Get the last database error for a particular database link
*
- * @param resource $dblink
+ * @param resource $dblink The DB link
+ *
* @return string Database error message
*/
function get_db_error($dblink) {
@@ -576,6 +603,8 @@ function get_db_error($dblink) {
* are displayed as a {@link DatabaseException}
*
* @param string $scriptlocation The full path to the script
+ *
+ * @return void
* @throws DatabaseException
*/
function run_sql_script($scriptlocation) {
@@ -588,11 +617,11 @@ function run_sql_script($scriptlocation) {
$script = preg_replace('/\-\-.*\n/', '', $script);
// Statements must end with ; and a newline
- $sql_statements = preg_split('/;[\n\r]+/', $script);
+ $sql_statements = preg_split('/;[\n\r]+/', $script);
- foreach($sql_statements as $statement) {
+ foreach ($sql_statements as $statement) {
$statement = trim($statement);
- $statement = str_replace("prefix_",$CONFIG->dbprefix,$statement);
+ $statement = str_replace("prefix_", $CONFIG->dbprefix, $statement);
if (!empty($statement)) {
try {
$result = update_data($statement);
@@ -603,13 +632,16 @@ function run_sql_script($scriptlocation) {
}
if (!empty($errors)) {
$errortxt = "";
- foreach($errors as $error) {
+ foreach ($errors as $error) {
$errortxt .= " {$error};";
}
- throw new DatabaseException(elgg_echo('DatabaseException:DBSetupIssues') . $errortxt);
+
+ $msg = elgg_echo('DatabaseException:DBSetupIssues') . $errortxt;
+ throw new DatabaseException($msg);
}
} else {
- throw new DatabaseException(sprintf(elgg_echo('DatabaseException:ScriptNotFound'), $scriptlocation));
+ $msg = sprintf(elgg_echo('DatabaseException:ScriptNotFound'), $scriptlocation);
+ throw new DatabaseException($msg);
}
}
@@ -624,9 +656,10 @@ function run_sql_script($scriptlocation) {
*
* @warning Plugin authors should not call this function directly.
*
- * @param int $version The version you are upgrading from in the format YYYYMMDDII.
- * @param string $fromdir Optional directory to load upgrades from (default: engine/schema/upgrades/)
- * @param bool $quiet If true, will suppress all error messages. Should be used only for the upgrade from version <=1.6.
+ * @param int $version The version you are upgrading from in the format YYYYMMDDII.
+ * @param string $fromdir Optional directory to load upgrades from. default: engine/schema/upgrades/
+ * @param bool $quiet If true, suppress all error messages. Only use for the upgrade from <=1.6.
+ *
* @return bool
* @see upgrade.php
* @see version.php
@@ -662,7 +695,7 @@ function db_upgrade($version, $fromdir = "", $quiet = FALSE) {
asort($sqlupgrades);
if (sizeof($sqlupgrades) > 0) {
- foreach($sqlupgrades as $sqlfile) {
+ foreach ($sqlupgrades as $sqlfile) {
// hide all errors.
if ($quiet) {
@@ -684,8 +717,9 @@ function db_upgrade($version, $fromdir = "", $quiet = FALSE) {
/**
* Sanitise a string for database use, but with the option of escaping extra characters.
*
- * @param string $string The string to sanitise
+ * @param string $string The string to sanitise
* @param string $extra_escapeable Extra characters to escape with '\\'
+ *
* @return string The escaped string
*/
function sanitise_string_special($string, $extra_escapeable = '') {
@@ -702,6 +736,7 @@ function sanitise_string_special($string, $extra_escapeable = '') {
* Sanitise a string for database use.
*
* @param string $string The string to sanitise
+ *
* @return string Sanitised string
*/
function sanitise_string($string) {
@@ -714,6 +749,7 @@ function sanitise_string($string) {
* Wrapper function for alternate English spelling
*
* @param string $string The string to sanitise
+ *
* @return string Sanitised string
*/
function sanitize_string($string) {
@@ -723,7 +759,8 @@ function sanitize_string($string) {
/**
* Sanitises an integer for database use.
*
- * @param int $int
+ * @param int $int Integer
+ *
* @return int Sanitised integer
*/
function sanitise_int($int) {
@@ -733,7 +770,8 @@ function sanitise_int($int) {
/**
* Wrapper function for alternate English spelling
*
- * @param int $int
+ * @param int $int Integer
+ *
* @return int Sanitised integer
*/
function sanitize_int($int) {