|
|
@@ -287,25 +287,31 @@ class PaginatorComponent extends Component
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Get the default settings for a $model. If there are no settings for a specific model, the general settings
|
|
|
+ * Get the settings for a $model. If there are no settings for a specific model, the general settings
|
|
|
* will be used.
|
|
|
*
|
|
|
- * @param string $alias Model name to get default settings for.
|
|
|
- * @param array $defaults The defaults to use for combining settings.
|
|
|
- * @return array An array of pagination defaults for a model, or the general settings.
|
|
|
+ * @param string $alias Model name to get settings for.
|
|
|
+ * @param array $settings The settings which is used for combining.
|
|
|
+ * @return array An array of pagination settings for a model, or the general settings.
|
|
|
*/
|
|
|
- public function getDefaults($alias, $defaults)
|
|
|
+ public function getDefaults($alias, $settings)
|
|
|
{
|
|
|
- if (isset($defaults[$alias])) {
|
|
|
- $defaults = $defaults[$alias];
|
|
|
+ if (isset($settings[$alias])) {
|
|
|
+ $settings = $settings[$alias];
|
|
|
}
|
|
|
- if (isset($defaults['limit']) &&
|
|
|
- (empty($defaults['maxLimit']) || $defaults['limit'] > $defaults['maxLimit'])
|
|
|
- ) {
|
|
|
- $defaults['maxLimit'] = $defaults['limit'];
|
|
|
+
|
|
|
+ $defaults = $this->config();
|
|
|
+ $maxLimit = isset($settings['maxLimit']) ? $settings['maxLimit'] : $defaults['maxLimit'];
|
|
|
+ $limit = isset($settings['limit']) ? $settings['limit'] : $defaults['limit'];
|
|
|
+
|
|
|
+ if ($limit > $maxLimit) {
|
|
|
+ $limit = $maxLimit;
|
|
|
}
|
|
|
|
|
|
- return $defaults + $this->config();
|
|
|
+ $settings['maxLimit'] = $maxLimit;
|
|
|
+ $settings['limit'] = $limit;
|
|
|
+
|
|
|
+ return $settings + $defaults;
|
|
|
}
|
|
|
|
|
|
/**
|