diff options
| author | Simon | 2011-03-30 12:48:08 +0200 |
|---|---|---|
| committer | Simon | 2011-03-30 12:48:08 +0200 |
| commit | d4ceeed0570fb10d95adeb115cbe127461bda1db (patch) | |
| tree | a99b3e76c509905696031a33f7a0926010f4877f | |
| parent | vorbereitung für pagination (diff) | |
| download | pbs2-d4ceeed0570fb10d95adeb115cbe127461bda1db.tar.gz pbs2-d4ceeed0570fb10d95adeb115cbe127461bda1db.tar.xz pbs2-d4ceeed0570fb10d95adeb115cbe127461bda1db.zip | |
Pagination in clients
| -rw-r--r-- | application/modules/user/controllers/ClientController.php | 14 | ||||
| -rw-r--r-- | application/modules/user/views/scripts/client/index.phtml | 2 | ||||
| -rw-r--r-- | library/Pbs/Pagination.php | 71 | ||||
| -rw-r--r-- | public/media/css/style.css | 17 |
4 files changed, 38 insertions, 66 deletions
diff --git a/application/modules/user/controllers/ClientController.php b/application/modules/user/controllers/ClientController.php index 023de4a..7d0e7e7 100644 --- a/application/modules/user/controllers/ClientController.php +++ b/application/modules/user/controllers/ClientController.php @@ -48,7 +48,7 @@ class User_ClientController extends Zend_Controller_Action $clientsInGroup = $clientMapper->findBy('groupID',$this->membership->getGroupID()); #print_a($clientsInGroup); - $perpage = 5; + $perpage = 10; $req_page = $this->_request->getParam('page'); $all = count($clientsInGroup); $numpages = ceil($all/$perpage); @@ -56,12 +56,11 @@ class User_ClientController extends Zend_Controller_Action $req_page = 0; if($req_page >= $numpages) $req_page = $numpages-1; - $startitem = $req_page * $perpage; - $this->pagination = array('max' => $numpages, 'selected' => $req_page); + $startitem = $req_page * $perpage; - print_a($all,$numpages,$startitem,$req_page); - $pagination = new Pbs_Pagination(); - $this->pagination = $pagination->pagination('/user/client/index',$req_page,$numpages); + $pagination = new Pbs_Pagination(); + $str = $pagination->pagination('/user/client/index',$req_page,$numpages); + $this->view->pagination = $str; $this->view->clients = array_slice($clientsInGroup,$startitem,$perpage); } @@ -80,8 +79,7 @@ class User_ClientController extends Zend_Controller_Action $this->view->addclient = $addclient; } else{ - $addclient = new user_Form_Client(array('buttontext' => 'Create Client'),$_POST); - print_a($_POST); + $addclient = new user_Form_Client(array('buttontext' => 'Create Client'),$_POST); if ($addclient->isValid($_POST) || ($mac != '' && $hh != '') ) { $client = new Application_Model_Client($_POST); $mac = ($mac!='')?$mac:$_POST['macadress']; diff --git a/application/modules/user/views/scripts/client/index.phtml b/application/modules/user/views/scripts/client/index.phtml index dd791ad..dd7aad2 100644 --- a/application/modules/user/views/scripts/client/index.phtml +++ b/application/modules/user/views/scripts/client/index.phtml @@ -36,7 +36,7 @@ </tr> <?php endforeach ?> </table> - + <?php echo $this->pagination; ?> <?php else: ?> <p>There are no clients to display.</p> <?php endif;?> diff --git a/library/Pbs/Pagination.php b/library/Pbs/Pagination.php index 39b0567..179f2f7 100644 --- a/library/Pbs/Pagination.php +++ b/library/Pbs/Pagination.php @@ -2,62 +2,37 @@ class Pbs_Pagination{ public function pagination($url,$selected,$max){ - $str = "<div id='pbs_pagination'>"; - if ( 5 <= $selected) + #print_a($url,$selected,$max); + $str = "<div class='pbs_pagination'>"; + if ( 1 <= $selected){ $str .= "<a href='$url/page/0' ><<</a>"; - if ( 1 <= $selected) - $str .= "<a href='$url/page/".(($akt_site)+1)."' rel='next'><</a>"; - # - for($i=1;$i<(max);$i++){ - if($selected == ($i-1)) - echo "<a href='$url/page/".$i."'>".$i ."</a> "; - else if(($i-1) >= $selected -4 && ($i-1) <= $selected+4) - echo "<a href='$url/page/".$i."'>".$i ."</a> "; + $str .= "<a href='$url/page/".(($selected)-1)."' rel='next'><</a>"; + }else{ + $str .= "<span class='disabled'><<</span>"; + $str .= "<span class='disabled'><</span>"; } # - if ( $max-2 >= $selected) - $str .= "<a href='$url/page/".(($selected)-1)."'>></a> "; - if ( $max-5 >= $selected) + $rightleft = 2; + for($i=0;$i<($max);$i++){ + if($selected == $i) + $str .= "<a class='active'>".($i+1) ."</a> "; + else if($i >= $selected -$rightleft && $i <= $selected+$rightleft) + $str .= "<a href='$url/page/".($i)."'>".($i+1) ."</a> "; + } + + # + if ( $max-2 >= $selected){ + $str .= "<a href='$url/page/".(($selected)+1)."'>></a> "; $str .= "<a href='$url/page/".($max-1)."'>>></a> "; + }else{ + $str .= "<span class='disabled'>></span> "; + $str .= "<span class='disabled'>>></span> "; + } + $str .= "</div>"; return $str; } } - -/* - echo "<div class='site_navigation' style='float:left;'>"; - echo "<span class='navi_font'>Seite: </span>"; -$site_navigation_link = "$.ajax({type: 'POST', url: '/$up_page', data: 'seite=%1\$s', dataType:'html', beforeSend:function(){loadingDiv(".'$'."('#songshow'))},success: function(data){".'$'."('#content').html(data)}});"; - $akt_site = $start_site; - if ( 5 <= $akt_site) - echo "<a href='/$self/seite/1' class='link_a' onclick=\" - ".sprintf($site_navigation_link,'1')." - return false;\"><<</a> "; - if ( 1 <= $akt_site) - echo "<a href='/$self/seite/".(($akt_site))."' class='link_a' rel='next' onclick=\" - ".sprintf($site_navigation_link,$akt_site)." - return false;\"><</a> "; - for($i=1;$i<($anz/$show)+1;$i++){ - if($akt_site == ($i-1)) - echo "<a href='/$self/seite/".$i."' onclick=\" - ".sprintf($site_navigation_link,$i)." - return false;\" class='active_a'>".$i ."</a> "; - else if(($i-1) >= $akt_site -4 && ($i-1) <= $akt_site+4) - echo "<a href='/$self/seite/".$i."' class='link_a' onclick=\" - ".sprintf($site_navigation_link,$i)." - return false;\">".$i ."</a> "; - } - if ( $anz/$show-2 >= $akt_site) - echo "<a href='/$self/seite/".(($akt_site)+2)."' class='link_a' onclick=\" - ".sprintf($site_navigation_link,($akt_site)+2)." - return false;\">></a> "; - if ( $anz/$show-5 >= $akt_site) - echo "<a href='/$self/seite/".(ceil($anz/$show))."' class='link_a' onclick=\" - ".sprintf($site_navigation_link,ceil($anz/$show))." - return false;\">>></a> "; - - echo "</div>"; -*/ diff --git a/public/media/css/style.css b/public/media/css/style.css index 21042c4..f71cf8b 100644 --- a/public/media/css/style.css +++ b/public/media/css/style.css @@ -426,38 +426,37 @@ td.action img { color: #777; } /* Pagination */ -#pbs_pagination { +.pbs_pagination { display:block; - text-align:left; + text-align:center; height:22px; line-height:21px; - clear:both; padding-top:3px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:normal; } -#pbs_pagination a:link, #pbs_pagination a:visited{ +.pbs_pagination a:link, .pbs_pagination a:visited{ padding:7px; padding-top:2px; padding-bottom:2px; border:1px solid #EBEBEB; margin-left:10px; text-decoration:none; - background-color:#F5F5F5; + background-color:#FFF; color:#0072bc; width:22px; font-weight:normal; } -#pbs_pagination a:hover { +.pbs_pagination a:hover { background-color:#DDEEFF; border:1px solid #BBDDFF; color:#0072BC; } -#pbs_pagination .active { +.pbs_pagination .active { padding:7px; padding-top:2px; padding-bottom:2px; @@ -469,14 +468,14 @@ td.action img { cursor:default; } -#pbs_pagination .disabled { +.pbs_pagination .disabled { padding:7px; padding-top:2px; padding-bottom:2px; border:1px solid #EBEBEB; margin-left:10px; text-decoration:none; - background-color:#F5F5F5; + background-color:#FFF; color:#D7D7D7; cursor:default; } |
