OSDN Git Service

MARGE:masterブランチのマージ(マージできない分について、データベースハンドラーを書き換え)
[nucleus-jp/nucleus-next.git] / nucleus / libs / ACTIONLOG.php
index 2c5373d..a7c7055 100644 (file)
@@ -48,11 +48,9 @@ class ActionLog
                        $message = "[" . $member->getDisplayName() . "] " . $message;\r
                }\r
                \r
-               $message = sql_real_escape_string($message);            // add slashes\r
-               $timestamp = date("Y-m-d H:i:s",time());        // format timestamp\r
-               $query = "INSERT INTO %s (timestamp, message) VALUES ('%s', '%s')";\r
-               $query = sprintf($query, sql_table('actionlog'), $timestamp, $message);\r
-               sql_query($query);\r
+               $query = "INSERT INTO %s (timestamp, message) VALUES (%s, %s)";\r
+               $query = sprintf($query, sql_table('actionlog'), DB::formatDateTime(), DB::quoteValue($message));\r
+               DB::execute($query);\r
                \r
                self::trimLog();\r
                return;\r
@@ -64,11 +62,11 @@ class ActionLog
        function clear() {\r
                global $manager;\r
 \r
-               $query = 'DELETE FROM ' . sql_table('actionlog');\r
+               $query = sprintf('DELETE FROM %s', sql_table('actionlog'));\r
 \r
                $manager->notify('ActionLogCleared',array());\r
 \r
-               return sql_query($query);\r
+               return DB::execute($query) !== FALSE;\r
        }\r
 \r
        /**\r
@@ -83,14 +81,18 @@ class ActionLog
                // trim\r
                $checked = 1;\r
 \r
-               $iTotal = quickQuery('SELECT COUNT(*) AS result FROM ' . sql_table('actionlog'));\r
+               $query = sprintf('SELECT COUNT(*) AS result FROM %s', sql_table('actionlog'));\r
+               $iTotal = DB::getValue($query);\r
 \r
                // if size > 500, drop back to about 250\r
                $iMaxSize = 500;\r
                $iDropSize = 250;\r
                if ($iTotal > $iMaxSize) {\r
-                       $tsChop = quickQuery('SELECT timestamp as result FROM ' . sql_table('actionlog') . ' ORDER BY timestamp DESC LIMIT '.$iDropSize.',1');\r
-                       sql_query('DELETE FROM ' . sql_table('actionlog') . ' WHERE timestamp < \'' . $tsChop . '\'');\r
+                       $query = sprintf('SELECT timestamp as result FROM %s ORDER BY timestamp DESC LIMIT %d,1',\r
+                               sql_table('actionlog'), intval($iDropSize));\r
+                       $tsChop = DB::getValue($query);\r
+                       $query = sprintf("DELETE FROM %s WHERE timestamp < '%s'", sql_table('actionlog'), $tsChop);\r
+                       DB::execute($query);\r
                }\r
 \r
        }\r