|
@@ 438-442 (lines=5) @@
|
| 435 |
|
private function getWatchedItemsWithRCInfoQueryFilterConds( User $user, array $options ) { |
| 436 |
|
$conds = []; |
| 437 |
|
|
| 438 |
|
if ( in_array( self::FILTER_MINOR, $options['filters'] ) ) { |
| 439 |
|
$conds[] = 'rc_minor != 0'; |
| 440 |
|
} elseif ( in_array( self::FILTER_NOT_MINOR, $options['filters'] ) ) { |
| 441 |
|
$conds[] = 'rc_minor = 0'; |
| 442 |
|
} |
| 443 |
|
|
| 444 |
|
if ( in_array( self::FILTER_BOT, $options['filters'] ) ) { |
| 445 |
|
$conds[] = 'rc_bot != 0'; |
|
@@ 444-448 (lines=5) @@
|
| 441 |
|
$conds[] = 'rc_minor = 0'; |
| 442 |
|
} |
| 443 |
|
|
| 444 |
|
if ( in_array( self::FILTER_BOT, $options['filters'] ) ) { |
| 445 |
|
$conds[] = 'rc_bot != 0'; |
| 446 |
|
} elseif ( in_array( self::FILTER_NOT_BOT, $options['filters'] ) ) { |
| 447 |
|
$conds[] = 'rc_bot = 0'; |
| 448 |
|
} |
| 449 |
|
|
| 450 |
|
if ( in_array( self::FILTER_ANON, $options['filters'] ) ) { |
| 451 |
|
$conds[] = 'rc_user = 0'; |
|
@@ 450-454 (lines=5) @@
|
| 447 |
|
$conds[] = 'rc_bot = 0'; |
| 448 |
|
} |
| 449 |
|
|
| 450 |
|
if ( in_array( self::FILTER_ANON, $options['filters'] ) ) { |
| 451 |
|
$conds[] = 'rc_user = 0'; |
| 452 |
|
} elseif ( in_array( self::FILTER_NOT_ANON, $options['filters'] ) ) { |
| 453 |
|
$conds[] = 'rc_user != 0'; |
| 454 |
|
} |
| 455 |
|
|
| 456 |
|
if ( $user->useRCPatrol() || $user->useNPPatrol() ) { |
| 457 |
|
// TODO: not sure if this should simply ignore patrolled filters if user does not have the patrol |
|
@@ 459-463 (lines=5) @@
|
| 456 |
|
if ( $user->useRCPatrol() || $user->useNPPatrol() ) { |
| 457 |
|
// TODO: not sure if this should simply ignore patrolled filters if user does not have the patrol |
| 458 |
|
// right, or maybe rather fail loud at this point, same as e.g. ApiQueryWatchlist does? |
| 459 |
|
if ( in_array( self::FILTER_PATROLLED, $options['filters'] ) ) { |
| 460 |
|
$conds[] = 'rc_patrolled != 0'; |
| 461 |
|
} elseif ( in_array( self::FILTER_NOT_PATROLLED, $options['filters'] ) ) { |
| 462 |
|
$conds[] = 'rc_patrolled = 0'; |
| 463 |
|
} |
| 464 |
|
} |
| 465 |
|
|
| 466 |
|
if ( in_array( self::FILTER_UNREAD, $options['filters'] ) ) { |
|
@@ 466-471 (lines=6) @@
|
| 463 |
|
} |
| 464 |
|
} |
| 465 |
|
|
| 466 |
|
if ( in_array( self::FILTER_UNREAD, $options['filters'] ) ) { |
| 467 |
|
$conds[] = 'rc_timestamp >= wl_notificationtimestamp'; |
| 468 |
|
} elseif ( in_array( self::FILTER_NOT_UNREAD, $options['filters'] ) ) { |
| 469 |
|
// TODO: should this be changed to use Database::makeList? |
| 470 |
|
$conds[] = 'wl_notificationtimestamp IS NULL OR rc_timestamp < wl_notificationtimestamp'; |
| 471 |
|
} |
| 472 |
|
|
| 473 |
|
return $conds; |
| 474 |
|
} |