+ }
+ elseif($mode == 'all')
+ {
+ $this->addWhereFld('ar_namespace', $params['namespace']);
+ if(!is_null($params['from']))
+ {
+ $from = $this->getDB()->strencode($this->titleToKey($params['from']));
+ $this->addWhere("ar_title >= '$from'");
+ }
+ }
+
+ if(!is_null($params['user'])) {
+ $this->addWhereFld('ar_user_text', $params['user']);
+ } elseif(!is_null($params['excludeuser'])) {
+ $this->addWhere('ar_user_text != ' .
+ $this->getDB()->addQuotes($params['excludeuser']));
+ }
+
+ if(!is_null($params['continue']) && ($mode == 'all' || $mode == 'revs'))
+ {
+ $cont = explode('|', $params['continue']);
+ if(count($cont) != 3)
+ $this->dieUsage("Invalid continue param. You should pass the original value returned by the previous query", "badcontinue");
+ $ns = intval($cont[0]);
+ $title = $this->getDB()->strencode($this->titleToKey($cont[1]));
+ $ts = $this->getDB()->strencode($cont[2]);
+ $op = ($params['dir'] == 'newer' ? '>' : '<');
+ $this->addWhere("ar_namespace $op $ns OR " .
+ "(ar_namespace = $ns AND " .
+ "(ar_title $op '$title' OR " .
+ "(ar_title = '$title' AND " .
+ "ar_timestamp = '$ts')))");