$options = isset( $query['options'] ) ? (array)$query['options'] : [];
$join_conds = isset( $query['join_conds'] ) ? (array)$query['join_conds'] : [];
- if ( $order ) {
+ if ( count( $order ) ) {
$options['ORDER BY'] = $order;
}
if ( $limit !== false ) {
$options['LIMIT'] = intval( $limit );
}
-
if ( $offset !== false ) {
$options['OFFSET'] = intval( $offset );
}
-
- $orderFields = $this->getOrderFields();
- $order = [];
- $DESC = $this->sortDescending() ? ' DESC' : '';
- foreach ( $orderFields as $field ) {
- $order[] = "qc_${field}${DESC}";
- }
- if ( $order ) {
- $options['ORDER BY'] = $order;
+ if ( $this->sortDescending() ) {
+ $options['ORDER BY'] = 'qc_value DESC';
+ } else {
+ $options['ORDER BY'] = 'qc_value ASC';
}
-
return $dbr->select( 'querycache', [ 'qc_type',
'namespace' => 'qc_namespace',
'title' => 'qc_title',
'value' => 'qc_value' ],
[ 'qc_type' => $this->getName() ],
- __METHOD__,
- $options
+ __METHOD__, $options
);
}
$label = $this->msg( 'nlinks' )->numParams( $result->value )->escaped();
return Linker::link( $wlh, $label );
}
-
- /**
- * Order by title, overwrites QueryPage::getOrderFields
- *
- * @return array
- */
- function getOrderFields() {
- return [ 'value DESC', 'namespace', 'title' ];
- }
-
- /**
- * Do not order descending for all order fields. We will use DESC only on one field, see
- * getOrderFields above. This overwrites sortDescending from QueryPage::getOrderFields().
- * Do NOT change this to true unless you remove the phrase DESC in getOrderFiels above.
- * If you do a database error will be thrown due to double adding DESC to query!
- *
- * @return bool
- */
- function sortDescending() {
- return false;
- }
-
}