summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon2011-04-05 12:06:35 +0200
committerSimon2011-04-05 12:06:35 +0200
commitb9ac3ffdb68cfb48469d49e09c6165513402aedb (patch)
treed13185983e20858cece940ddf5a45bf83b74fa96
parentsuch-aussehen geändert (diff)
downloadpbs2-b9ac3ffdb68cfb48469d49e09c6165513402aedb.tar.gz
pbs2-b9ac3ffdb68cfb48469d49e09c6165513402aedb.tar.xz
pbs2-b9ac3ffdb68cfb48469d49e09c6165513402aedb.zip
suche in Client & Bootos
-rw-r--r--application/modules/user/controllers/BootosController.php14
-rw-r--r--application/modules/user/controllers/ClientController.php7
-rw-r--r--application/modules/user/views/scripts/bootos/index.phtml25
-rw-r--r--application/modules/user/views/scripts/client/index.phtml4
-rw-r--r--library/Pbs/Search.php46
-rw-r--r--public/media/css/style.css4
6 files changed, 61 insertions, 39 deletions
diff --git a/application/modules/user/controllers/BootosController.php b/application/modules/user/controllers/BootosController.php
index 8f602fe..e1b4f7b 100644
--- a/application/modules/user/controllers/BootosController.php
+++ b/application/modules/user/controllers/BootosController.php
@@ -66,6 +66,17 @@ class user_BootosController extends Zend_Controller_Action
$this->view->bootoslist = $this->bootosMapper->findBy(array("groupID" => $groupID));
$this->view->update = array();
+ // Search
+ $search = $this->_request->getParam('search');
+ $mySearch = new Pbs_Search();
+ $mySearch->setSearchTerm($search);
+ $mySearch->setModule('bootos');
+ $this->view->searchform = $mySearch->searchForm();
+ if($search != ''){
+ $this->view->search = $mySearch->getSearchTerm();
+ $this->view->bootoslist = $mySearch->search($this->view->bootoslist);
+ }
+
// Pagination
$pagination = new Pbs_Pagination();
$pagination->setPerPage(5);
@@ -92,6 +103,9 @@ class user_BootosController extends Zend_Controller_Action
}
}
+ public function searchAction(){
+ $this->_redirect('/user/bootos/index/search/'.($_GET['search']));
+ }
public function createbootosAction()
{
diff --git a/application/modules/user/controllers/ClientController.php b/application/modules/user/controllers/ClientController.php
index 87e764d..9fe4b03 100644
--- a/application/modules/user/controllers/ClientController.php
+++ b/application/modules/user/controllers/ClientController.php
@@ -53,15 +53,16 @@ class User_ClientController extends Zend_Controller_Action
$search = $this->_request->getParam('search');
$mySearch = new Pbs_Search();
$mySearch->setSearchTerm($search);
+ $mySearch->setModule('client');
$this->view->searchform = $mySearch->searchForm();
if($search != ''){
- $this->view->search = $search;
+ $this->view->search = $mySearch->getSearchTerm();
$clientsInGroup = $mySearch->search($clientsInGroup);
}
// Pagination
$pagination = new Pbs_Pagination();
- $pagination->setPerPage(10);
+ $pagination->setPerPage(10);
$pagination->setElement($clientsInGroup);
$pagination->setRequestPage($this->_request->getParam('page'));
$pagination->setPageUrl('/user/client/index'.((isset($this->view->search))?'/search/'.$this->view->search:''));
@@ -73,7 +74,7 @@ class User_ClientController extends Zend_Controller_Action
}
public function searchAction(){
- $this->_redirect('/user/client/index/search/'.$_GET['search']);
+ $this->_redirect('/user/client/index/search/'.($_GET['search']));
}
public function addclientAction()
diff --git a/application/modules/user/views/scripts/bootos/index.phtml b/application/modules/user/views/scripts/bootos/index.phtml
index 8982fb2..a678cef 100644
--- a/application/modules/user/views/scripts/bootos/index.phtml
+++ b/application/modules/user/views/scripts/bootos/index.phtml
@@ -1,5 +1,6 @@
<h1>BootOS</h1>
<?php if($this->notification != ''){echo $this->notification;} ?>
+<?php echo $this->searchform; ?>
<?php echo $this->formButton('checkupdate', 'Check for Updates', array(
'onclick' => 'self.location="/user/bootos/index/page/'.$this->page.'/checkupdate/true"',
'class' => 'updatebutton',
@@ -10,18 +11,18 @@
<table>
<tr>
- <th>ID</th>
- <th>Title</th>
- <th>GroupID</th>
- <th>MembershipID</th>
- <th>ConfigID</th>
- <th>Init</th>
- <th>Kernel</th>
- <th>Kcl</th>
- <th>Description</th>
- <th>Changed</th>
- <th>Expires</th>
- <th>Public</th>
+ <th>ID <span class='code'>bootosID</span></th>
+ <th>Title <span class='code'>title</span></th>
+ <th>GroupID <span class='code'>groupID</span></th>
+ <th>MembershipID <span class='code'>membershipID</span></th>
+ <th>ConfigID <span class='code'>configID</span></th>
+ <th>Init <span class='code'>init</span></th>
+ <th>Kernel <span class='code'>kernel</span></th>
+ <th>Kcl <span class='code'>kcl</span></th>
+ <th>Description <span class='code'>description</span></th>
+ <th>Changed <span class='code'>Changed</span></th>
+ <th>Expires <span class='code'>expires</span></th>
+ <th>Public <span class='code'>public</span></th>
<th colspan=3>Actions</th>
</tr>
<?php if(count($this->bootoslist)==0)
diff --git a/application/modules/user/views/scripts/client/index.phtml b/application/modules/user/views/scripts/client/index.phtml
index 051ea90..95bf7a2 100644
--- a/application/modules/user/views/scripts/client/index.phtml
+++ b/application/modules/user/views/scripts/client/index.phtml
@@ -8,8 +8,8 @@
<?php if ($this->clients): ?>
<table>
<tr>
- <th>MAC<span class='code'> [macadress]</span></th>
- <th>Hardwarehash<span class='code'> [hardwarehash]</span></th>
+ <th>MAC <span class='code'>macadress</span></th>
+ <th>Hardwarehash <span class='code'>hardwarehash</span></th>
<th colspan=2>Actions</th>
</tr>
<?php foreach ($this->clients as $client): ?>
diff --git a/library/Pbs/Search.php b/library/Pbs/Search.php
index c06f519..709651a 100644
--- a/library/Pbs/Search.php
+++ b/library/Pbs/Search.php
@@ -5,9 +5,10 @@ class Pbs_Search{
private $searchTerm = '';
private $searcha;
private $searchb;
+ private $module;
public function searchForm(){
- $str = "<form style='text-align:right;' action='/user/client/search'>
+ $str = "<form style='float:left;' action='/user/".$this->module."/search'>
<input type='text' id='search' name='search' ".(($this->searchTerm != '')?'value="'.$this->searchTerm.'"':'').">
<button type='submit' class='searchbutton' value='search'> Search</button>";
$highlight = array();
@@ -24,30 +25,29 @@ class Pbs_Search{
$str .= implode("\n",$highlight);
$str .= "$('#search')
.focus(function() {
- $('table tr .code').show();
+ $('table th .code').show();
}).focusout(function() {
- $('table tr .code').css('verticalAlign','-2px').animate({
- opacity: 0,
- width:0
- }, 1000, function() {
- $(this).attr({'style': 'display:none'});
- });
-
- });";
+ $('table th .code').hide();
+ });
+ $('table th').click(function(){
+ $('#search').val($('#search').val()+' '+$(this).find('.code').text()+':');
+ });";
$str .= "});
</script>";
$str .= "</form>";
return $str;
}
-
+ public function setModule($m){
+ $this->module = $m;
+ }
public function setSearchTerm($search){
- $this->searchTerm = $search;
+ $this->searchTerm = trim($search);
- $parts = explode(" ",$search);
- foreach($parts as $search){
- if(stristr($search,":") && ctype_alpha(substr($search,0,strpos($search,":")))){
- $key = substr($search,0,strpos($search,":"));
- $value = substr($search,strpos($search,":")+1);
+ $parts = explode(" ",$this->searchTerm);
+ foreach($parts as $this->searchTerm){
+ if(stristr($this->searchTerm,":") && ctype_alpha(substr($this->searchTerm,0,strpos($this->searchTerm,":")))){
+ $key = substr($this->searchTerm,0,strpos($this->searchTerm,":"));
+ $value = substr($this->searchTerm,strpos($this->searchTerm,":")+1);
$searcha[$key] = $value;
}
else{
@@ -57,7 +57,9 @@ class Pbs_Search{
$this->searcha = $searcha;
$this->searchb = $searchb;
}
-
+ public function getSearchTerm(){
+ return $this->searchTerm;
+ }
public function getSearchTerms(){
$beta = $this->searcha;
foreach($this->searchb as $b)
@@ -67,6 +69,9 @@ class Pbs_Search{
public function search($array){
foreach($array as $counter => $cig){
+ if(is_object($cig)){
+ $cig = $cig->toArray();
+ }
foreach($cig as $k => $v){
if(count($this->searcha) > 0){
foreach($this->searcha as $sk => $sv){
@@ -86,7 +91,8 @@ class Pbs_Search{
}
}
}
- }
+ }
+
}
if (count($this->searcha) == 0){
$data = $com2;
@@ -97,7 +103,7 @@ class Pbs_Search{
if (count($this->searcha) > 0 && count($this->searchb) > 0){
$data = array_intersect($com1,$com2);
}
- $data = array_unique($data);
+ $data = array_unique($data);
foreach( $data as $c)
$ges[] = $array[$c];
return $ges;
diff --git a/public/media/css/style.css b/public/media/css/style.css
index 4cd29e9..2057c54 100644
--- a/public/media/css/style.css
+++ b/public/media/css/style.css
@@ -297,8 +297,8 @@ th {
border: 1px solid #999;
}
th .code{
- font-size: 11px;
- font-family:"Courier New",Verdana;
+ font-size: 9px;
+ color:#666;
display:none;
}