Пример #1
0
 public function PaginatedHeatmapsList()
 {
     $member = Member::currentUser();
     $paginatedList = new PaginatedList(Heatmaps::get()->filter(array('MemberID' => $member->ID, 'Deleted' => 0))->sort('Created', 'DESC'), $this->request);
     if (isset($_GET['start'])) {
         if ($paginatedList->CurrentPage() > $paginatedList->TotalPages()) {
             $this->redirect($paginatedList->LastLink());
         }
     }
     return $paginatedList;
 }
Пример #2
0
 /**
  * Return all sitemaps
  *
  * @param null
  * @return ArrayList
  */
 public static function get_sitemaps()
 {
     self::init_sitetree();
     $sitemaps = new ArrayList();
     if (count(self::$dataobjects) > 0) {
         foreach (self::$dataobjects as $class => $config) {
             $items = self::get_filtered_results($class);
             if ($items->Count() > 0) {
                 $list = new PaginatedList($items);
                 $list->setPageLength(1000);
                 $pages = $list->TotalPages();
                 for ($x = 1; $x <= $pages; $x++) {
                     $latest = $items->limit(1000, ($x - 1) * 1000)->Sort('LastEdited', 'DESC')->first();
                     $sitemaps->push(new ArrayData(array('ClassName' => $class, 'LastEdited' => date('Y-m-d', strtotime($latest->LastEdited)), 'Page' => $x == 1 ? false : $x)));
                 }
             }
         }
     }
     return $sitemaps;
 }
 public function testTotalPages()
 {
     $list = new PaginatedList(new ArrayList());
     $list->setPageLength(1);
     $this->assertEquals(0, $list->TotalPages());
     $list->setTotalItems(1);
     $this->assertEquals(1, $list->TotalPages());
     $list->setTotalItems(5);
     $this->assertEquals(5, $list->TotalPages());
     // Disable paging
     $list->setPageLength(0);
     $this->assertEquals(1, $list->TotalPages());
     $list->setTotalItems(0);
     $this->assertEquals(0, $list->TotalPages());
 }