]> git.mxchange.org Git - friendica.git/blobdiff - include/dba.php
Merge pull request #4576 from MrPetovan/bug/fix-attach-display
[friendica.git] / include / dba.php
index 6471d364514884cf98a77f970676b10583715093..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(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);
@@ -659,20 +660,28 @@ class dba {
        /**
         * @brief Fetch a single row
         *
-        * @param PDOStatement|mysqli_result|mysqli_stmt $stmt statement object
+        * @param mixed $stmt statement object
         * @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;
        }
 
        /**
@@ -1145,6 +1156,7 @@ class dba {
 
                $condition_string = self::buildCondition($condition);
 
+               $order_string = '';
                if (isset($params['order'])) {
                        $order_string = " ORDER BY ";
                        foreach ($params['order'] AS $fields => $order) {
@@ -1157,6 +1169,7 @@ class dba {
                        $order_string = substr($order_string, 0, -2);
                }
 
+               $limit_string = '';
                if (isset($params['limit']) && is_int($params['limit'])) {
                        $limit_string = " LIMIT " . $params['limit'];
                }
@@ -1284,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;
        }
 }