]> git.mxchange.org Git - friendica.git/blobdiff - include/dba.php
Move contact_selector()
[friendica.git] / include / dba.php
index d3b26c807252daa06c8491345d6550ed2c1746a0..9ac26aaa109b125fd61df189090e16ea49e8405b 100644 (file)
@@ -1,9 +1,10 @@
 <?php
+
+use Friendica\Core\L10n;
 use Friendica\Core\System;
 use Friendica\Database\DBM;
 use Friendica\Database\DBStructure;
-
-require_once('include/datetime.php');
+use Friendica\Util\DateTimeFormat;
 
 /**
  * @class MySQL database class
@@ -55,7 +56,7 @@ class dba {
                if ($install) {
                        if (strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) {
                                if (! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) {
-                                       self::$error = sprintf(L10n::t('Cannot locate DNS info for database server \'%s\''), $server);
+                                       self::$error = L10n::t('Cannot locate DNS info for database server \'%s\'', $server);
                                        self::$connected = false;
                                        self::$db = null;
                                        return false;
@@ -187,7 +188,7 @@ class dba {
 
                        if ($log) {
                                $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
-                               @file_put_contents($a->config["system"]["db_log_index"], datetime_convert()."\t".
+                               @file_put_contents($a->config["system"]["db_log_index"], DateTimeFormat::utcNow()."\t".
                                                $row['key']."\t".$row['rows']."\t".$row['Extra']."\t".
                                                basename($backtrace[1]["file"])."\t".
                                                $backtrace[1]["line"]."\t".$backtrace[2]["function"]."\t".
@@ -492,7 +493,7 @@ class dba {
                                $duration = round($duration, 3);
                                $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
 
-                               @file_put_contents($a->config["system"]["db_log"], datetime_convert()."\t".$duration."\t".
+                               @file_put_contents($a->config["system"]["db_log"], DateTimeFormat::utcNow()."\t".$duration."\t".
                                                basename($backtrace[1]["file"])."\t".
                                                $backtrace[1]["line"]."\t".$backtrace[2]["function"]."\t".
                                                substr(self::replace_parameters($sql, $args), 0, 2000)."\n", FILE_APPEND);
@@ -663,16 +664,24 @@ class dba {
         * @return array current row
         */
        public static function fetch($stmt) {
+               $a = get_app();
+
+               $stamp1 = microtime(true);
+
+               $columns = [];
+
                if (!is_object($stmt)) {
                        return false;
                }
 
                switch (self::$driver) {
                        case 'pdo':
-                               return $stmt->fetch(PDO::FETCH_ASSOC);
+                               $columns = $stmt->fetch(PDO::FETCH_ASSOC);
+                               break;
                        case 'mysqli':
                                if (get_class($stmt) == 'mysqli_result') {
-                                       return $stmt->fetch_assoc();
+                                       $columns = $stmt->fetch_assoc();
+                                       break;
                                }
 
                                // This code works, but is slow
@@ -697,12 +706,14 @@ class dba {
                                $result = $stmt->result_metadata();
                                $fields = $result->fetch_fields();
 
-                               $columns = [];
                                foreach ($cols_num AS $param => $col) {
                                        $columns[$fields[$param]->name] = $col;
                                }
-                               return $columns;
                }
+
+               $a->save_timestamp($stamp1, 'database');
+
+               return $columns;
        }
 
        /**
@@ -1286,17 +1297,27 @@ class dba {
         * @return boolean was the close successful?
         */
        public static function close($stmt) {
+               $a = get_app();
+
+               $stamp1 = microtime(true);
+
                if (!is_object($stmt)) {
                        return false;
                }
 
                switch (self::$driver) {
                        case 'pdo':
-                               return $stmt->closeCursor();
+                               $ret = $stmt->closeCursor();
+                               break;
                        case 'mysqli':
                                $stmt->free_result();
-                               return $stmt->close();
+                               $ret = $stmt->close();
+                               break;
                }
+
+               $a->save_timestamp($stamp1, 'database');
+
+               return $ret;
        }
 }