LogEntry: Make newFromRow work with RC object
authornullzero <nullzero.free@gmail.com>
Tue, 31 Dec 2013 06:42:35 +0000 (01:42 -0500)
committerNikerabbit <niklas.laxstrom@gmail.com>
Tue, 31 Dec 2013 10:49:13 +0000 (10:49 +0000)
LogEntry::newFromRow is supposed to give a RCDatabaseLogEntry
if the given row is a RC log entry. The previous code only did
this if an array was passed as the $row argument.

This adds a type cast and fixes the function so that the proper
LogEntry subclass is returned no matter what variable type is
passed to the function.

Bug: 52053
Change-Id: I6f64358837b37c54d00a7544e9e8a92c216bbe89

includes/logging/LogEntry.php

index 76c2280..71b4fc2 100644 (file)
@@ -161,8 +161,9 @@ class DatabaseLogEntry extends LogEntryBase {
         * @return DatabaseLogEntry
         */
        public static function newFromRow( $row ) {
-               if ( is_array( $row ) && isset( $row['rc_logid'] ) ) {
-                       return new RCDatabaseLogEntry( (object)$row );
+               $row = (object)$row;
+               if ( isset( $row->rc_logid ) ) {
+                       return new RCDatabaseLogEntry( $row );
                } else {
                        return new self( $row );
                }