*
**/
$cloPDOStatementResultHandler = function(Queue $objQueue) {
+ $objPDO = $objQueue->getState()->get('PDOStatement');
+ $objQueue->getState()->update(array('result' => $objPDO));
- $objPDO = $objQueue->getState()->get('PDOStatement');
- $objQueue->getState()->update(array('result' => $objPDO));
-
- # delete handler which closes the PDOStatement-cursor
- # this will be done manual if using this handler
- $objQueue->deleteHandler(QUEUE_CLOSE_CURSOR_POSITION);
-
+ /*
+ * delete handler which closes the PDOStatement-cursor
+ * this will be done manual if using this handler
+ */
+ $objQueue->deleteHandler(QUEUE_CLOSE_CURSOR_POSITION);
};
$objDDDBLResultHandler->add('PDOStatement', array('HANDLER' => $cloPDOStatementResultHandler));
+if (! class_exists('dba')) {
/**
*
* MySQL database class
* the debugging stream is safe to view within both terminals and web pages.
*
*/
-
-if (! class_exists('dba')) {
class dba {
private $debug = 0;
$a->save_timestamp($stamp1, "database");
/// @TODO really check $a->config for 'system'? it is very generic and should be there
- if (x($a->config, 'system') && x($a->config['system'], 'db_log')) {
- if (($duration > $a->config["system"]["db_loglimit"])) {
- $duration = round($duration, 3);
- $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
- @file_put_contents($a->config["system"]["db_log"], datetime_convert()."\t".$duration."\t".
- basename($backtrace[1]["file"])."\t".
- $backtrace[1]["line"]."\t".$backtrace[2]["function"]."\t".
- substr($sql, 0, 2000)."\n", FILE_APPEND);
- }
+ if (x($a->config, 'system') && x($a->config['system'], 'db_log') && ($duration > $a->config["system"]["db_loglimit"])) {
+ $duration = round($duration, 3);
+ $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
+ @file_put_contents($a->config["system"]["db_log"], datetime_convert()."\t".$duration."\t".
+ basename($backtrace[1]["file"])."\t".
+ $backtrace[1]["line"]."\t".$backtrace[2]["function"]."\t".
+ substr($sql, 0, 2000)."\n", FILE_APPEND);
}
if ($intErrorCode) {
}
if ($onlyquery) {
- $this->result = $r; # this will store an PDOStatement Object in result
- $this->result->execute(); # execute the Statement, to get its result
+ // this will store an PDOStatement Object in result
+ $this->result = $r;
+
+ // execute the Statement, to get its result
+ $this->result->execute();
return true;
}
return $s;
}}
-// Procedural functions
+// --- Procedural functions ---
+
if (! function_exists('dbg')) {
function dbg($state) {
global $db;
if (! function_exists('dbesc')) {
function dbesc($str) {
global $db;
- if ($db && $db->connected)
- return($db->escape($str));
- else
- return(str_replace("'","\\'",$str));
+
+ if ($db && $db->connected) {
+ return $db->escape($str);
+ } else {
+ return str_replace("'","\\'",$str);
+ }
}}
if (! function_exists('q')) {
-/**
+/*
* Function: q($sql,$args);
* Description: execute SQL query with printf style args.
* Example: $r = q("SELECT * FROM `%s` WHERE `uid` = %d",
- * 'user', 1);
+ * 'user', 1);
*/
function q($sql) {
return $db->q($stmt);
}
- /**
- *
+ /*
* This will happen occasionally trying to store the
* session data after abnormal program termination
- *
*/
logger('dba: no database: ' . print_r($args,true));
return false;
-
}}
if (! function_exists('dbq')) {
-/**
+/*
* Raw db query, no arguments
*/
function dbq($sql) {
-
global $db;
if ($db && $db->connected) {
$ret = $db->q($sql);
return $ret;
}}
-
-/*
- * Caller is responsible for ensuring that any integer arguments to
- * dbesc_array are actually integers and not malformed strings containing
- * SQL injection vectors. All integer array elements should be specifically
- * cast to int to avoid trouble.
- */
if (! function_exists('dbesc_array_cb')) {
function dbesc_array_cb(&$item, $key) {
+ /*
+ * Caller is responsible for ensuring that any integer arguments to
+ * dbesc_array are actually integers and not malformed strings containing
+ * SQL injection vectors. All integer array elements should be specifically
+ * cast to int to avoid trouble.
+ */
if (is_string($item)) {
$item = dbesc($item);
}
$sql = sprintf("ALTER TABLE `%s` engine=InnoDB;", dbesc($table['TABLE_NAME']));
echo $sql."\n";
- $result = @$db->q($sql);
+ $result = $db->q($sql);
if (!dbm::is_result($result)) {
print_update_error($db, $sql);
}
/*
+ @TODO deprecated code?
$email_tpl = get_intltext_template("update_fail_eml.tpl");
$email_msg = replace_macros($email_tpl, array(
'$sitename' => $a->config['sitename'],
}
if (is_null($db)) {
- @include(".htconfig.php");
- require_once("include/dba.php");
+ @include ".htconfig.php";
+ require_once "include/dba.php";
$db = new dba($db_host, $db_user, $db_pass, $db_data);
- unset($db_host, $db_user, $db_pass, $db_data);
+ unset($db_host, $db_user, $db_pass, $db_data);
}
if ($argc == 2) {
logger("defining user ".$contact["nick"]." as friend");
}
- // We don't seem to like that person
+ // Is this contact wanted?
if ($contact["blocked"] || $contact["readonly"] || $contact["archive"]) {
+ // Maybe blocked, don't accept.
return false;
- // We are following this person? Then it is okay
+ // Is this person being followed?
} elseif (($contact["rel"] == CONTACT_IS_SHARING) || ($contact["rel"] == CONTACT_IS_FRIEND)) {
+ // Yes, then it is fine.
return true;
- // Is it a post to a community? That's good
+ // Is it a post to a community?
} elseif (($contact["rel"] == CONTACT_IS_FOLLOWER) && ($importer["page-flags"] == PAGE_COMMUNITY)) {
+ // That's good
return true;
- }
- // Messages for the global users and comments are always accepted
- if (($importer["uid"] == 0) || $is_comment) {
+ } elseif (($importer["uid"] == 0) || $is_comment) {
+ // Messages for the global users and comments are always accepted
return true;
}
return;
}
- // Cal logged in user (test permission at foreign profile page)
- // If the $owner uid is available we know it is part of one of the profile pages (like /cal)
- // So we have to test if if it's the own profile page of the logged in user
- // or a foreign one. For foreign profile pages we need to check if the feature
- // for exporting the cal is enabled (otherwise the widget would appear for logged in users
- // on foreigen profile pages even if the widget is disabled)
+ /*
+ * Cal logged in user (test permission at foreign profile page)
+ * If the $owner uid is available we know it is part of one of the profile pages (like /cal)
+ * So we have to test if if it's the own profile page of the logged in user
+ * or a foreign one. For foreign profile pages we need to check if the feature
+ * for exporting the cal is enabled (otherwise the widget would appear for logged in users
+ * on foreigen profile pages even if the widget is disabled)
+ */
if (intval($owner_uid) && local_user() !== $owner_uid && ! feature_enabled($owner_uid, "export_calendar")) {
return;
}
- // If it's a kind of profile page (intval($owner_uid)) return if the user not logged in and
- // export feature isn't enabled
+ /*
+ * If it's a kind of profile page (intval($owner_uid)) return if the user not logged in and
+ * export feature isn't enabled
+ */
if (intval($owner_uid) && ! local_user() && ! feature_enabled($owner_uid, "export_calendar")) {
return;
}