| 1 | <?php␊ |
| 2 | /* -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */␊ |
| 3 | /*␊ |
| 4 | # ***** BEGIN LICENSE BLOCK *****␊ |
| 5 | # This file is part of InDefero, an open source project management application.␊ |
| 6 | # Copyright (C) 2008 CĂ©ondo Ltd and contributors.␊ |
| 7 | #␊ |
| 8 | # InDefero is free software; you can redistribute it and/or modify␊ |
| 9 | # it under the terms of the GNU General Public License as published by␊ |
| 10 | # the Free Software Foundation; either version 2 of the License, or␊ |
| 11 | # (at your option) any later version.␊ |
| 12 | #␊ |
| 13 | # InDefero is distributed in the hope that it will be useful,␊ |
| 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of␊ |
| 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the␊ |
| 16 | # GNU General Public License for more details.␊ |
| 17 | #␊ |
| 18 | # You should have received a copy of the GNU General Public License␊ |
| 19 | # along with this program; if not, write to the Free Software␊ |
| 20 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA␊ |
| 21 | #␊ |
| 22 | # ***** END LICENSE BLOCK ***** */␊ |
| 23 | ␊ |
| 24 | /**␊ |
| 25 | * Paginator to list the timeline items.␊ |
| 26 | */␊ |
| 27 | class IDF_Timeline_Paginator extends Pluf_Paginator␊ |
| 28 | {␊ |
| 29 | public $current_day = null;␊ |
| 30 | ␊ |
| 31 | /**␊ |
| 32 | * Generate a standard "line" of the body.␊ |
| 33 | *␊ |
| 34 | * It is important to note that the table has only 2 columns, so␊ |
| 35 | * the timelineFragment() method of each item must take that into␊ |
| 36 | * account.␊ |
| 37 | */␊ |
| 38 | function bodyLine($item)␊ |
| 39 | {␊ |
| 40 | $doc = Pluf::factory($item->model_class, $item->model_id);␊ |
| 41 | $doc->public_dtime = $item->public_dtime;␊ |
| 42 | $item_day = Pluf_Template_dateFormat($item->creation_dtime, ␊ |
| 43 | '%y-%m-%d');␊ |
| 44 | $out = '';␊ |
| 45 | if ($this->current_day == null or␊ |
| 46 | Pluf_Date::dayCompare($this->current_day, $item_day) != 0) {␊ |
| 47 | $day = Pluf_Template_dateFormat($item->creation_dtime);␊ |
| 48 | if ($item_day == Pluf_Template_timeFormat(time(), 'y-m-d')) {␊ |
| 49 | $day = __('Today');␊ |
| 50 | }␊ |
| 51 | $out = '<tr><th colspan="2">'.$day.'</th></tr>'."\n";␊ |
| 52 | $this->current_day = $item_day;␊ |
| 53 | } ␊ |
| 54 | return $out.$doc->timelineFragment($item->request);␊ |
| 55 | }␊ |
| 56 | }␊ |
| 57 | |