Fix some more regressions from r46845 reported by Brad Jorsch on the mediawiki-api...
authorRoan Kattouw <catrope@users.mediawiki.org>
Mon, 9 Feb 2009 13:28:12 +0000 (13:28 +0000)
committerRoan Kattouw <catrope@users.mediawiki.org>
Mon, 9 Feb 2009 13:28:12 +0000 (13:28 +0000)
includes/api/ApiQueryAllLinks.php
includes/api/ApiQueryAllmessages.php
includes/api/ApiQueryDeletedrevs.php
includes/api/ApiQueryRevisions.php

index 3238904..03262a7 100644 (file)
@@ -127,8 +127,10 @@ class ApiQueryAllLinks extends ApiQueryGeneratorBase {
                                $fit = $result->addValue(array('query', $this->getModuleName()), null, $vals);
                                if(!$fit)
                                {
-                                       $this->setContinueEnumParameter('continue',
-                                               $this->keyToTitle($row->pl_title) . "|" . $row->pl_from);
+                                       if($params['unique'])
+                                               $this->setContinueEnumParameter('from', $this->keyToTitle($row->pl_title));
+                                       else
+                                               $this->setContinueEnumParameter('continue', $this->keyToTitle($row->pl_title) . "|" . $row->pl_from);
                                        break;
                                }
                        } else {
index 1c0b532..1d617dc 100644 (file)
@@ -76,7 +76,7 @@ class ApiQueryAllmessages extends ApiQueryBase {
                $messages = array();
                foreach( $messages_target as $message ) {
                        if(!is_null($params['from']))
-                               if($message < $params['from'])
+                               if($message != $params['from'])
                                        continue;
                        $messages[$message] = wfMsg( $message );
                }
index 8ef0e8e..d4a6294 100644 (file)
@@ -229,7 +229,11 @@ class ApiQueryDeletedrevs extends ApiQueryBase {
                        }
                        if(!$fit)
                        {
-                               $this->setContinueEnumParameter('start', wfTimestamp(TS_ISO_8601, $row->ar_timestamp));
+                               if($mode == 'all')
+                                       $this->setContinueEnumParameter('continue', $this->keyToTitle($row->ar_title) . '|' .
+                                               $row->ar_timestamp);
+                               else
+                                       $this->setContinueEnumParameter('start', wfTimestamp(TS_ISO_8601, $row->ar_timestamp));
                                break;
                        }
                }
index c88d3f9..e8f55c0 100644 (file)
@@ -231,8 +231,8 @@ class ApiQueryRevisions extends ApiQueryBase {
                        ApiBase :: dieDebug(__METHOD__, 'param validation?');
 
                $this->addOption('LIMIT', $limit +1);
-               if(!is_null($continue))
-                       $this->addOption('OFFSET', $continue);
+               if(!is_null($params['continue']))
+                       $this->addOption('OFFSET', $params['continue']);
 
                $data = array ();
                $count = 0;
@@ -256,7 +256,7 @@ class ApiQueryRevisions extends ApiQueryBase {
                                if($enumRevMode)
                                        $this->setContinueEnumParameter('startid', intval($row->rev_id));
                                else
-                                       $this->setContinueEnumParameter('continue', $continue + $count - 1);
+                                       $this->setContinueEnumParameter('continue', $params['continue'] + $count - 1);
                                break;
                        }
                }