Merge "[FileBackend] Worked around Akamai CDN purge limits."
[lhc/web/wiklou.git] / includes / logging / LogEntry.php
index 327eb24..37560d8 100644 (file)
@@ -7,6 +7,21 @@
  * - formatting log entries based on database fields
  * - user is now part of the action message
  *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
  * @file
  * @author Niklas Laxström
  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
@@ -432,7 +447,7 @@ class ManualLogEntry extends LogEntryBase {
                        'log_user_text' => $this->getPerformer()->getName(),
                        'log_namespace' => $this->getTarget()->getNamespace(),
                        'log_title' => $this->getTarget()->getDBkey(),
-                       'log_page' => $this->getTarget()->getArticleId(),
+                       'log_page' => $this->getTarget()->getArticleID(),
                        'log_comment' => $comment,
                        'log_params' => serialize( (array) $this->getParameters() ),
                );
@@ -458,19 +473,29 @@ class ManualLogEntry extends LogEntryBase {
 
                $logpage = SpecialPage::getTitleFor( 'Log', $this->getType() );
                $user = $this->getPerformer();
+               $ip = "";
+               if ( $user->isAnon() ) {
+                       /*
+                        * "MediaWiki default" and friends may have
+                        * no IP address in their name
+                        */
+                       if ( IP::isIPAddress( $user->getName() ) ) {
+                               $ip = $user->getName();
+                       }
+               }
                $rc = RecentChange::newLogEntry(
                        $this->getTimestamp(),
                        $logpage,
                        $user,
                        $formatter->getPlainActionText(),
-                       $user->isAnon() ? $user->getName() : '',
+                       $ip,
                        $this->getType(),
                        $this->getSubtype(),
                        $this->getTarget(),
                        $this->getComment(),
                        serialize( (array) $this->getParameters() ),
                        $newId,
-                       $formatter->getIRCActionText() // Used for IRC feeds
+                       $formatter->getIRCActionComment() // Used for IRC feeds
                );
 
                if ( $to === 'rc' || $to === 'rcandudp' ) {
@@ -503,6 +528,9 @@ class ManualLogEntry extends LogEntryBase {
                return $this->performer;
        }
 
+       /**
+        * @return Title
+        */
        public function getTarget() {
                return $this->target;
        }