summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--application/modules/user/controllers/ClientController.php18
-rw-r--r--library/Pbs/Pagination.php63
-rw-r--r--public/media/css/style.css59
3 files changed, 137 insertions, 3 deletions
diff --git a/application/modules/user/controllers/ClientController.php b/application/modules/user/controllers/ClientController.php
index 163ea95..023de4a 100644
--- a/application/modules/user/controllers/ClientController.php
+++ b/application/modules/user/controllers/ClientController.php
@@ -46,9 +46,23 @@ class User_ClientController extends Zend_Controller_Action
$clientMapper = new Application_Model_ClientMapper();
$clientsInGroup = $clientMapper->findBy('groupID',$this->membership->getGroupID());
+
#print_a($clientsInGroup);
-
- $this->view->clients = $clientsInGroup;
+ $perpage = 5;
+ $req_page = $this->_request->getParam('page');
+ $all = count($clientsInGroup);
+ $numpages = ceil($all/$perpage);
+ if($req_page < 0 || !is_numeric($req_page) )
+ $req_page = 0;
+ if($req_page >= $numpages)
+ $req_page = $numpages-1;
+ $startitem = $req_page * $perpage;
+ $this->pagination = array('max' => $numpages, 'selected' => $req_page);
+
+ print_a($all,$numpages,$startitem,$req_page);
+ $pagination = new Pbs_Pagination();
+ $this->pagination = $pagination->pagination('/user/client/index',$req_page,$numpages);
+ $this->view->clients = array_slice($clientsInGroup,$startitem,$perpage);
}
diff --git a/library/Pbs/Pagination.php b/library/Pbs/Pagination.php
new file mode 100644
index 0000000..39b0567
--- /dev/null
+++ b/library/Pbs/Pagination.php
@@ -0,0 +1,63 @@
+<?php
+
+class Pbs_Pagination{
+ public function pagination($url,$selected,$max){
+ $str = "<div id='pbs_pagination'>";
+ if ( 5 <= $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> ";
+ }
+
+ #
+ if ( $max-2 >= $selected)
+ $str .= "<a href='$url/page/".(($selected)-1)."'>&gt;</a> ";
+ if ( $max-5 >= $selected)
+ $str .= "<a href='$url/page/".($max-1)."'>&gt;&gt;</a> ";
+ $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 b9e56f4..21042c4 100644
--- a/public/media/css/style.css
+++ b/public/media/css/style.css
@@ -424,4 +424,61 @@ td.action img {
background: #FFFFFF url('/media/img/box_info.png') no-repeat;
background-position: 10px center;
color: #777;
-} \ No newline at end of file
+}
+/* Pagination */
+#pbs_pagination {
+ display:block;
+ text-align:left;
+ 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{
+ padding:7px;
+ padding-top:2px;
+ padding-bottom:2px;
+ border:1px solid #EBEBEB;
+ margin-left:10px;
+ text-decoration:none;
+ background-color:#F5F5F5;
+ color:#0072bc;
+ width:22px;
+ font-weight:normal;
+}
+
+#pbs_pagination a:hover {
+ background-color:#DDEEFF;
+ border:1px solid #BBDDFF;
+ color:#0072BC;
+}
+
+#pbs_pagination .active {
+ padding:7px;
+ padding-top:2px;
+ padding-bottom:2px;
+ border:1px solid #BBDDFF;
+ margin-left:10px;
+ text-decoration:none;
+ background-color:#DDEEFF;
+ color:#0072BC;
+ cursor:default;
+}
+
+#pbs_pagination .disabled {
+ padding:7px;
+ padding-top:2px;
+ padding-bottom:2px;
+ border:1px solid #EBEBEB;
+ margin-left:10px;
+ text-decoration:none;
+ background-color:#F5F5F5;
+ color:#D7D7D7;
+ cursor:default;
+}
+
+