summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon2011-04-04 15:34:22 +0200
committerSimon2011-04-04 15:34:22 +0200
commitd3accaaab0cfb3d3178d349c12baf821dcf38899 (patch)
treec4b29a7e0811cacbca1e91c35b981115ae8e17ed
parentPagination in den Controllern Korrigiert (diff)
downloadpbs2-d3accaaab0cfb3d3178d349c12baf821dcf38899.tar.gz
pbs2-d3accaaab0cfb3d3178d349c12baf821dcf38899.tar.xz
pbs2-d3accaaab0cfb3d3178d349c12baf821dcf38899.zip
Suche in Clients eingebettet
-rw-r--r--application/modules/user/forms/Filter.php14
-rw-r--r--application/modules/user/views/scripts/client/index.phtml9
-rw-r--r--library/Pbs/Pagination.php2
-rw-r--r--library/Pbs/Search.php51
4 files changed, 73 insertions, 3 deletions
diff --git a/application/modules/user/forms/Filter.php b/application/modules/user/forms/Filter.php
index a7a2555..0676ba8 100644
--- a/application/modules/user/forms/Filter.php
+++ b/application/modules/user/forms/Filter.php
@@ -9,23 +9,33 @@ class user_Form_Filter extends Zend_Form
{
$this->setName("Add Filter");
$this->setMethod('post');
-
+
+ if(Pbs_Acl::checkRight('fefp')){
+ $edit = 'true';
+ }
+ else{
+ $edit = null;
+ }
+
$this->addElement('text', 'title', array(
'filters' => array('StringTrim'),
'validators' => array(
array('StringLength', false, array(0, 50)),
),
'required' => true,
+ 'readOnly' => $edit,
'label' => 'Title:',
));
$this->addElement('textarea', 'description', array(
'filters' => array('StringTrim'),
'required' => false,
+ 'readOnly' => $edit,
'label' => 'Description:',
));
$bootmenufield = $this->createElement('select','bootmenuID');
- $bootmenufield ->setLabel('Bootmenu:');
+ $bootmenufield->setLabel('Bootmenu:');
+ $bootmenufield->setAttrib('readOnly', $edit);
if(count($this->bootmenus)>0){
foreach($this->bootmenus as $g){
diff --git a/application/modules/user/views/scripts/client/index.phtml b/application/modules/user/views/scripts/client/index.phtml
index 62c698c..0442d95 100644
--- a/application/modules/user/views/scripts/client/index.phtml
+++ b/application/modules/user/views/scripts/client/index.phtml
@@ -1,5 +1,14 @@
<h1>Clients</h1>
<?php if($this->notification != ''){echo $this->notification;} ?>
+<form action='/user/client/search'>
+<input type='text' name='search' <?php echo isset($this->search)?'value="'.$this->search.'"':'';?>>
+<input type='submit' value='search'>
+<?php
+if(isset($this->search)){
+ echo "<a href='/user/client/'><img src='/media/img/delete.png' alt='Delete Client'/></a>";
+}
+?>
+</form>
<?php echo $this->formButton('createbootos', 'Create Client', array(
'onclick' => 'self.location="/user/client/addclient/page/'.$this->page.'"',
'class' => 'addbutton'))?>
diff --git a/library/Pbs/Pagination.php b/library/Pbs/Pagination.php
index 2213373..c31dacf 100644
--- a/library/Pbs/Pagination.php
+++ b/library/Pbs/Pagination.php
@@ -58,7 +58,7 @@ class Pbs_Pagination{
public function setRequestPage($requestpage){
if($requestpage < 0 || !is_numeric($requestpage) )
$requestpage = 0;
- if($rrequestpage >= $this->numpages)
+ if($requestpage >= $this->numpages)
$requestpage = $this->numpages-1;
$this->requestpage = $requestpage;
}
diff --git a/library/Pbs/Search.php b/library/Pbs/Search.php
new file mode 100644
index 0000000..279cba6
--- /dev/null
+++ b/library/Pbs/Search.php
@@ -0,0 +1,51 @@
+<?php
+
+class Pbs_Search{
+ public function search($array, $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);
+ $searcha[$key] = $value;
+ }
+ else{
+ $searchb[] = $search;
+ }
+ }
+ foreach($array as $counter => $cig){
+ foreach($cig as $k => $v){
+ if(count($searcha) > 0){
+ foreach($searcha as $sk => $sv){
+ if($k == $sk){
+ if(stristr($v,$sv)){
+ $com1[] = $counter;
+ }
+ }
+ }
+ }
+ if(count($searchb) >= 0){
+ foreach($searchb as $sk => $sv){
+ $comm = stristr($v,$sv);
+ if($comm != false){
+ $com2[] = $counter;
+ break;
+ }
+ }
+ }
+ }
+ }
+ if (count($searcha) == 0){
+ $data = $com2;
+ }
+ if (count($searchb) == 0){
+ $data = $com1;
+ }
+ if (count($searcha) > 0 && count($searchb) > 0){
+ $data = array_intersect($com1,$com2);
+ }
+ foreach( $data as $c)
+ $ges[] = $array[$c];
+ return $ges;
+ }
+}