summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon2011-03-30 12:48:08 +0200
committerSimon2011-03-30 12:48:08 +0200
commitd4ceeed0570fb10d95adeb115cbe127461bda1db (patch)
treea99b3e76c509905696031a33f7a0926010f4877f
parentvorbereitung für pagination (diff)
downloadpbs2-d4ceeed0570fb10d95adeb115cbe127461bda1db.tar.gz
pbs2-d4ceeed0570fb10d95adeb115cbe127461bda1db.tar.xz
pbs2-d4ceeed0570fb10d95adeb115cbe127461bda1db.zip
Pagination in clients
-rw-r--r--application/modules/user/controllers/ClientController.php14
-rw-r--r--application/modules/user/views/scripts/client/index.phtml2
-rw-r--r--library/Pbs/Pagination.php71
-rw-r--r--public/media/css/style.css17
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' >&lt;&lt;</a>";
- if ( 1 <= $selected)
- $str .= "<a href='$url/page/".(($akt_site)+1)."' rel='next'>&lt;</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'>&lt;</a>";
+ }else{
+ $str .= "<span class='disabled'>&lt;&lt;</span>";
+ $str .= "<span class='disabled'>&lt;</span>";
}
#
- if ( $max-2 >= $selected)
- $str .= "<a href='$url/page/".(($selected)-1)."'>&gt;</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)."'>&gt;</a> ";
$str .= "<a href='$url/page/".($max-1)."'>&gt;&gt;</a> ";
+ }else{
+ $str .= "<span class='disabled'>&gt;</span> ";
+ $str .= "<span class='disabled'>&gt;&gt;</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;\">&lt;&lt;</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;\">&lt;</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;\">&gt;</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;\">&gt;&gt;</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;
}