X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-plugins%2Fgoto%2Fadmin%2Fmimetypes%2Fclass_mimetypeGeneric.inc;h=c5d52cf27d5a8d639de01f0ab5153e2b6d4d2414;hb=01c082f098a7163ea516260e6c134381381b6cc6;hp=366dd01b2fe03785d9c4410a658c5036d7d837cb;hpb=fbf8e4356f625423e3ccfcb0c6520942726a44e1;p=gosa.git diff --git a/gosa-plugins/goto/admin/mimetypes/class_mimetypeGeneric.inc b/gosa-plugins/goto/admin/mimetypes/class_mimetypeGeneric.inc index 366dd01b2..c5d52cf27 100644 --- a/gosa-plugins/goto/admin/mimetypes/class_mimetypeGeneric.inc +++ b/gosa-plugins/goto/admin/mimetypes/class_mimetypeGeneric.inc @@ -37,9 +37,6 @@ class mimetype extends plugin var $DivApps = NULL; var $DivEApps = NULL; - /* Mime type release mode */ - var $isReleaseMimeType = false; - /* These vars will be copied too, if you use copy&paste mode */ var $CopyPasteVars = array("use_gotoMimeFilePattern","use_gotoMimeApplication","use_gotoMimeEmbeddedApplication","iconData", "gotoMimeLeftClickAction_I","gotoMimeLeftClickAction_E","gotoMimeLeftClickAction_Q","use_gotoMimeIcon"); @@ -120,12 +117,6 @@ class mimetype extends plugin } } - /* Check if release Management is enabled */ - $tmp = $this->config->search("faiManagement", "CLASS",array('menu','tabs')); - if(!empty($tmp)) { - $this->isReleaseMimeType= true; - } - /* Set base */ if ($this->dn == "new"){ if(session::is_set('CurrentMainBase')){ @@ -299,24 +290,24 @@ class mimetype extends plugin if($this->acl_is_writeable("gotoMimeFilePattern")){ - $Pattern_Actions= "   -   + $Pattern_Actions= "   +   "; }else{ $Pattern_Actions= ""; } if($this->acl_is_writeable("gotoMimeApplication")){ - $Apps_Actions = "   -   + $Apps_Actions = "   +   "; }else{ $Apps_Actions= ""; } if($this->acl_is_writeable("gotoMimeEmbeddedApplication")){ - $EApps_Actions = "   -   + $EApps_Actions = "   +   "; }else{ $EApps_Actions= ""; @@ -350,7 +341,7 @@ class mimetype extends plugin } $smarty->assign("bases", $this->get_allowed_bases()); $smarty->assign("base_select", $this->base); - $smarty->assign("isReleaseMimeType", $this->isReleaseMimeType); + $smarty->assign("isReleaseMimeType", $this->is_release()); $smarty->assign("gotoMimeFilePatterns", $DivPatterns->DrawList()); $smarty->assign("gotoMimeApplications", $DivApps->DrawList()); $smarty->assign("gotoMimeEmbeddedApplications", $DivEApps->DrawList()); @@ -386,7 +377,7 @@ class mimetype extends plugin $this->base = $base_tmp; /* Only save base if we are not in release mode */ - if(!$this->isReleaseMimeType){ + if(!$this->is_release()){ /* Set new base if allowed */ $tmp = $this->get_allowed_bases(); @@ -540,31 +531,23 @@ class mimetype extends plugin $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current["BASE"]); - $mimefilter = session::get('mimefilter'); - - if($this->isReleaseMimeType && (isset($mimefilter['release']))){ - $baseDn = str_replace($this->config->current['BASE'],$this->base,$mimefilter['release']); - $baseDn = preg_replace("/".get_ou('mimetypeou').".*/",get_ou('mimetypeou').$this->base,$mimefilter['release']); - $ldap->ls("(&(objectClass=gotoMimeType)(cn=".$this->cn."))",$baseDn,array("cn")); - if($ldap->count()){ - $attrs = $ldap->fetch(); - if($this->dn != $attrs['dn']) { - $message[]= msgPool::duplicated(_("Name")); - } - } + if($this->is_release()){ + $base = $this->parent->parent->mime_release; }else{ - $ldap->ls("(&(objectClass=gotoMimeType)(cn=".$this->cn."))",get_ou('mimetypeou').$this->base,array("cn")); - if ($ldap->count()){ - $attrs = $ldap->fetch(); - if($this->dn != $attrs['dn']) { - $message[]= msgPool::duplicated(_("Name")); - } - } + $base = get_ou("mimetypeou").$this->base; } + $ldap->ls("(&(objectClass=gotoMimeType)(cn=".$this->cn."))",$base,array("cn")); + if($ldap->count()){ + $attrs = $ldap->fetch(); + if($this->dn != $attrs['dn']) { + $message[]= msgPool::duplicated("cn"); + } + } return($message); } + /** Helper functions **/ /* Set a new picture */ @@ -734,6 +717,22 @@ class mimetype extends plugin } + + function is_release() + { + if(is_object($this->parent->parent)){ + return($this->parent->parent->IsReleaseManagementActivated()); + }else{ + /* Check if we should enable the release selection */ + $tmp = $this->config->search("faiManagement", "CLASS",array('menu','tabs')); + if(!empty($tmp)){ + return(true); + } + } + return(FALSE); + } + + function PrepareForCopyPaste($source) { plugin::PrepareForCopyPaste($source);