summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 20351b6)
raw | patch | inline | side by side (parent: 20351b6)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Fri, 11 Nov 2005 08:35:37 +0000 (08:35 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Fri, 11 Nov 2005 08:35:37 +0000 (08:35 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@1915 594d385d-05f5-0310-b6e9-bd551577e9d8
plugins/gofax/faxaccount/class_gofaxAccount.inc | patch | blob | history |
diff --git a/plugins/gofax/faxaccount/class_gofaxAccount.inc b/plugins/gofax/faxaccount/class_gofaxAccount.inc
index 69f71772dc2349bff6d0f1229745a11f12f8cfab..1bf67f713d7de80be482f8fc5fc3db230a372a7a 100644 (file)
var $cli_description= "Some longer text\nfor help";
var $cli_parameters= array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser");
+ var $departments;
+
/* Fax attributes */
var $goFaxDeliveryMode= "";
var $facsimileTelephoneNumber= "";
/* General initialization */
plugin::plugin ($config, $dn);
+ if(!isset($_SESSION["Fax_Filter"])){
+ $_SESSION['Fax_Filter']['depselect'] = $this->config->current['BASE'];
+ }
+
if ($dn != "new"){
/* Get arrays */
foreach (array("goFaxRBlocklist", "goFaxRBlockgroups", "goFaxSBlocklist",
/* Call parent execute */
plugin::execute();
+ if((isset($_GET['act']))&&($_GET['act']=="dep_open")){
+
+ if(strlen(base64_decode($_GET['dep_id']))>= strlen($this->config->current['BASE'])){
+ $_SESSION['Fax_Filter']['depselect']= base64_decode($_GET['dep_id']);
+ }else{
+ $_SESSION['Fax_Filter']['depselect']= $this->config->current['BASE'];
+ }
+ }
+
/* Load smarty stuff */
$smarty= get_smarty();
}
/* Add list to blocklist */
- if (isset($_POST['add_blocklist']) && isset($_POST['predefined_list'])){
- $this->current_blocklist= array_merge($this->current_blocklist,
- $_POST['predefined_list']);
+ if (isset($_POST['add_blocklist'])){
+ foreach($_POST as $name => $value){
+ if(preg_match("/ADDLIST_/i",$name)){
+ $this->current_blocklist= array_merge($this->current_blocklist, array(base64_decode($value)));
+
+ }
+ }
$this->current_blocklist= array_unique($this->current_blocklist);
sort($this->current_blocklist);
reset($this->current_blocklist);
+
}
/* Add list to blocklist */
$attrs['facsimileTelephoneNumber'][0]."]";
}
-
-
-
/* Show dialog */
$smarty->assign("search_image", get_template_path('images/search.png'));
$smarty->assign("usearch_image", get_template_path('images/search_user.png'));
/* Manage incoming blocklists */
if ($this->in_blocklist_dialog){
+
+ $base = $_SESSION['Fax_Filter']['depselect'];
+ $ldap->cd($base);
+
$ldap->search ("(objectClass=goFaxRBlock)",array("cn","description"));
while ($attrs= $ldap->fetch()){
- $list[$attrs['cn'][0]]=
- $attrs['description'][0].
- " [".$attrs['cn'][0]."]";
+ if(isset($attrs['description'][0])){
+ $list[$attrs['cn'][0]]=
+ $attrs['description'][0].
+ " [".$attrs['cn'][0]."]";
+ }else{
+ $list[$attrs['cn'][0]]= $attrs['cn'][0];
+ }
}
$divSel = new divSelectBox("divSelectPredefined");
$divSel->setHeight(300);
$divSel->setWidth(350);
-
+
+ /* NEW LIST MANAGMENT
+ * We also need to search for the departments
+ * So we are able to navigate like in konquerer
+ */
+
+ $tmp = array();
+ $this->departments= array();
+ $base = $_SESSION['Fax_Filter']['depselect'];
+ $ldap->ls("(objectClass=gosaDepartment)",$base);
+
+ $base_back = preg_replace("/^[^,]+,/","",$base);
+
+ if(strlen($base_back)>= strlen($this->config->current['BASE'])){
+ $this->departments[preg_replace("/^[^,]+,/","",$base)] = ".. - ["._("back")."]";
+ }
+ while($value = $ldap->fetch()){
+ if($value["description"][0]!=".."){
+ $this->departments[$value['dn']]=convert_department_dn($value['dn'])." - [".$value["description"][0]."]";
+ }else{
+ $this->departments[$value['dn']]=$value["description"][0];
+ }
+ }
+ /* END NEW LIST MANAGMENT
+ */
+
+ // Defining Links
+ $linkopen = "<a href='?plug=".$_GET['plug']."&act=dep_open&dep_id=%s'>%s</a>";
+
+ /* Insert departments in divlist*/
+ foreach($this->departments as $key=> $val){
+
+ if(!isset($this->config->departments[trim($key)])){
+ $this->config->departments[trim($key)]="";
+ }
+
+ $field1 = array("string" => "<img src='images/folder.png' alt='department'>","attach"=>"style='width:16px;text-align:center;'");
+ $field2 = array("string" => sprintf($linkopen,base64_encode($key),$val),"attach"=>" colspan=2 style='border:none'");
+ $divSel->AddEntry(array($field1,$field2));
+ }
+
foreach($list as $entry => $value){
$divSel->AddEntry(array(
- array("string"=>"<a href='?plug=".$_GET['plug']."&add=".base64_encode($entry)."'>
- <img src='images/back.png' border=0 alt='<'>"._("Add")."</a>"),
+ array("string"=>"<input type='checkbox' value='".base64_encode($entry)."' name='ADDLIST_".base64_encode($entry)."'>"),
array("string"=>$entry),
array("string"=>$value,"attach"=>"style='border:0px;'")
));
}
-
-
/* Show dialog */
$smarty->assign("cblocklist", $this->current_blocklist);
$smarty->assign("department", "");
}
-
-
$display.= $smarty->fetch (get_template_path('lists.tpl', TRUE, dirname(__FILE__)));
return ($display);
}
/* Manage outgoing blocklists */
+
if ($this->out_blocklist_dialog){
- $ldap->search ("(objectClass=goFaxSBlock)");
+
+ $base = $_SESSION['Fax_Filter']['depselect'];
+ $ldap->cd($base);
+
+ $ldap->search ("(objectClass=goFaxSBlock)",array("cn","description"));
while ($attrs= $ldap->fetch()){
- if (isset($attrs['description'][0])){
- $list[$attrs['cn'][0]]= $attrs['cn'][0].
- " [".$attrs['description'][0]."]";
- } else {
+ if(isset($attrs['description'][0])){
+ $list[$attrs['cn'][0]]=
+ $attrs['description'][0].
+ " [".$attrs['cn'][0]."]";
+ }else{
$list[$attrs['cn'][0]]= $attrs['cn'][0];
}
}
$divSel->setHeight(300);
$divSel->setWidth(350);
+ /* NEW LIST MANAGMENT
+ * We also need to search for the departments
+ * So we are able to navigate like in konquerer
+ */
+ $tmp = array();
+ $this->departments= array();
+ $ldap->ls("(objectClass=gosaDepartment)",$base);
+
+ $base_back = preg_replace("/^[^,]+,/","",$base);
+
+ if(strlen($base_back)>= strlen($this->config->current['BASE'])){
+ $this->departments[preg_replace("/^[^,]+,/","",$base)] = ".. - ["._("back")."]";
+ }
+ while($value = $ldap->fetch()){
+ if(isset($value["description"][0])){
+ $this->departments[$value['dn']]=convert_department_dn($value['dn'])." - [".$value["description"][0]."]";
+ }else{
+ $this->departments[$value['dn']]=$value["description"][0];
+ }
+ }
+ /* END NEW LIST MANAGMENT
+ */
+
+ // Defining Links
+ $linkopen = "<a href='?plug=".$_GET['plug']."&act=dep_open&dep_id=%s'>%s</a>";
+
+ /* Insert departments in divlist*/
+ foreach($this->departments as $key=> $val){
+ if(!isset($this->config->departments[trim($key)])){
+ $this->config->departments[trim($key)]="";
+ }
+
+ $field1 = array("string" => "<img src='images/folder.png' alt='department'>","attach"=>"style='width:16px;text-align:center;'");
+ $field2 = array("string" => sprintf($linkopen,base64_encode($key),$val),"attach"=>" colspan=2 style='border:none'");
+ $divSel->AddEntry(array($field1,$field2));
+ }
+
foreach($list as $entry => $value){
$divSel->AddEntry(array(
- array("string"=>"<a href='?plug=".$_GET['plug']."&add=".base64_encode($entry)."'>
- <img src='images/back.png' border=0 alt='<'>"._("Add")."</a>"),
- array("string"=>$entry),
- array("string"=>$value,"attach"=>"style='border:0px;'")
- ));
+ array("string"=>"<input type='checkbox' value='".base64_encode($entry)."' name='ADDLIST_".base64_encode($entry)."'>"),
+ array("string"=>$entry),
+ array("string"=>$value,"attach"=>"style='border:0px;'")
+ ));
}
} else {
$smarty->assign("department", "");
}
-
+
$display.= $smarty->fetch (get_template_path('lists.tpl', TRUE, dirname(__FILE__)));
return ($display);