]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
detect pagination needs
authorJeroen Dalsem <jdalsem@coldtrick.com>
Fri, 20 Sep 2013 08:36:27 +0000 (10:36 +0200)
committerJeroen Dalsem <jdalsem@coldtrick.com>
Fri, 20 Sep 2013 08:36:27 +0000 (10:36 +0200)
engine/lib/river.php
engine/lib/views.php

index 4926a85c47723f1dddd85bf1c55866ea401c92fb..e92040eb74d4f267d923662ca9f0868dffa5169c 100644 (file)
@@ -120,7 +120,7 @@ $posted = 0, $annotation_id = 0) {
  *   subtypes             => STR|ARR Entity subtype string(s)
  *   type_subtype_pairs   => ARR     Array of type => subtype pairs where subtype
  *                                   can be an array of subtype strings
- * 
+ *
  *   posted_time_lower    => INT     The lower bound on the time posted
  *   posted_time_upper    => INT     The upper bound on the time posted
  *
@@ -434,8 +434,13 @@ function elgg_list_river(array $options = array()) {
                'pagination' => TRUE,
                'list_class' => 'elgg-list-river elgg-river', // @todo remove elgg-river in Elgg 1.9
        );
-
+       
        $options = array_merge($defaults, $options);
+       
+       if (!$options["limit"] && !$options["offset"]) {\r
+               // no need for pagination if listing is unlimited\r
+               $options["pagination"] = false;\r
+       }
 
        $options['count'] = TRUE;
        $count = elgg_get_river($options);
@@ -445,6 +450,7 @@ function elgg_list_river(array $options = array()) {
 
        $options['count'] = $count;
        $options['items'] = $items;
+       
        return elgg_view('page/components/list', $options);
 }
 
index 65ba2020445d54e50298ec4df01099df6c829632..7f179f5725824380b6965ba61960299edd5c9f19 100644 (file)
@@ -218,7 +218,7 @@ function elgg_register_ajax_view($view) {
 
 /**
  * Unregister a view for ajax calls
- * 
+ *
  * @param string $view The view name
  * @return void
  * @since 1.8.3
@@ -992,6 +992,11 @@ function elgg_view_annotation(ElggAnnotation $annotation, array $vars = array(),
 function elgg_view_entity_list($entities, $vars = array(), $offset = 0, $limit = 10, $full_view = true,
 $list_type_toggle = true, $pagination = true) {
 
+       if (!$vars["limit"] && !$vars["offset"]) {
+               // no need for pagination if listing is unlimited\r
+               $vars["pagination"] = false;\r
+       }\r
+               
        if (!is_int($offset)) {
                $offset = (int)get_input('offset', 0);
        }
@@ -1064,8 +1069,13 @@ function elgg_view_annotation_list($annotations, array $vars = array()) {
                'full_view' => true,
                'offset_key' => 'annoff',
        );
-
+       
        $vars = array_merge($defaults, $vars);
+       
+       if (!$vars["limit"] && !$vars["offset"]) {\r
+               // no need for pagination if listing is unlimited\r
+               $vars["pagination"] = false;\r
+       }
 
        return elgg_view('page/components/list', $vars);
 }
@@ -1334,12 +1344,12 @@ function elgg_view_list_item($item, array $vars = array()) {
 
 /**
  * View one of the elgg sprite icons
- * 
+ *
  * Shorthand for <span class="elgg-icon elgg-icon-$name"></span>
- * 
+ *
  * @param string $name  The specific icon to display
  * @param string $class Additional class: float, float-alt, or custom class
- * 
+ *
  * @return string The html for displaying an icon
  */
 function elgg_view_icon($name, $class = '') {