diff --git a/gosa-plugins/fai/admin/fai/class_faiManagement.inc b/gosa-plugins/fai/admin/fai/class_faiManagement.inc
index ef2e20c1850ababf3ba5f71d160b98be7c75b55b..e5f1bd8c6a3287afc75c055bbf8754e2bed563e2 100644 (file)
var $allow_freeze_object_attach = TRUE;
var $no_save;
+ var $acl_base ="";
var $fai_base ="";
var $fai_release ="";
$this->CopyPasteHandler= new CopyPasteHandler($this->config);
}
- /* Set default release */
+ /* Set default release
+ */
+ $this->acl_base = $this->config->current['BASE'];
$this->fai_base = get_ou("faiBaseRDN").$this->config->current['BASE'];
if(!session::is_set("fai_filter")){
/* Lock the current entry, so nobody will edit it during deletion */
add_lock ($this->dn, $this->ui->dn);
- $smarty->assign("warning",msgPool::deleteInfo(@LDAP::fix($this->dn),_("FAI object")));
+ $smarty->assign("warning",msgPool::deleteInfo(LDAP::fix($this->dn),_("FAI object")));
$smarty->assign("multiple", false);
return($smarty->fetch(get_template_path('remove.tpl', TRUE)));
} else {
$dns_names = array();
foreach($this->dns as $dn){
add_lock ($dn, $this->ui->dn);
- $dns_names[] = @LDAP::fix($dn);
+ $dns_names[] = LDAP::fix($dn);
}
/* Lock the current entry, so nobody will edit it during deletion */
Delete confirmed
****************/
- /* Deltetion was confirmed, so delete this entry
+ /* Deletion was confirmed, so delete this entry
*/
if (isset($_POST['delete_terminal_confirm'])){
if("" != $this->config->search("faiManagement", "POSTREMOVE",array('menu','tabs'))){
/* Load permissions for selected 'dn' and check if
we're allowed to remove this 'dn' */
- if($this->acl_is_removeable()){
+ if(preg_match("/d/",$this->ui->get_permissions($this->acl_base,"fai/faiManagement"))){
$smarty->assign("release_hidden",base64_encode($this->fai_release));
- $smarty->assign("info", msgPool::deleteInfo(@LDAP::fix($this->fai_release),_("FAI branch/freeze")));
+ $smarty->assign("info", msgPool::deleteInfo(LDAP::fix($this->fai_release),_("FAI branch/freeze")));
return($smarty->fetch(get_template_path('remove_branch.tpl',TRUE)));
} else {
msg_dialog::display(_("Permission error"), _("You have no permission to delete this release!"), ERROR_DIALOG);
$br = $this->getBranches();
- if(isset($br[$bb]) && $this->acl_is_removeable()){
+ if(isset($br[$bb]) && preg_match("/d/",$this->ui->get_permissions($this->acl_base,"fai/faiManagement"))){
$name = $br[$bb];
$ldap->cd($bb);
$ldap->recursive_remove();
- $ldap->cd(preg_replace('/,'.normalizePreg(get_ou('faiBaseRDN')).'/', ','.get_ou('applicationRDN'), $bb));
+ $ldap->cd(preg_replace('/,'.preg_quote(get_ou('faiBaseRDN'), '/').'/', ','.get_ou('applicationRDN'), $bb));
$ldap->recursive_remove();
- $ldap->cd(preg_replace('/,'.normalizePreg(get_ou('faiBaseRDN')).'/', ','.get_ou('mimetypeRDN'), $bb));
+ $ldap->cd(preg_replace('/,'.preg_quote(get_ou('faiBaseRDN'), '/').'/', ','.get_ou('mimetypeRDN'), $bb));
$ldap->recursive_remove();
/* Search for all groups with configured application menus.
- The search für menu configuration for the specified release and collect all those dns.
- Remove entries
*/
- $release_ou = preg_replace("/".normalizePreg(get_ou("faiBaseRDN")).".*$/","",$bb);
+ $release_ou = preg_replace("/".preg_quote(get_ou("faiBaseRDN"), '/').".*$/","",$bb);
$ldap->cd($this->config->current['BASE']);
$ldap->search("(objectClass=posixGroup)",array("dn"));
$ldap->cd($dn);
$ldap->search("(objectClass=FAIbranch)",array("dn"));
while($attrs = $ldap->fetch()){
- if(preg_match("/^".normalizePreg($release_ou)."/",$attrs['dn'])){
+ if(preg_match("/^".preg_quote($release_ou, '/')."/",$attrs['dn'])){
$dns[] = $attrs['dn'];
}
}
if(isset($_GET['PerformBranch'])){
- if(!$this->acl_is_createable()){
+ if(!preg_match("/c/",$this->ui->get_permissions($this->acl_base,"fai/faiManagement"))){
msg_dialog::display(_("Permission error"), msgPool::permCreate(_("Branch")), ERROR_DIALOG);
}else{
}
}
- $appsrc = preg_replace("/".normalizePreg(get_ou('faiBaseRDN'))."/",get_ou('applicationRDN'),$baseToUse);
- $appdst = preg_replace("/".normalizePreg(get_ou('faiBaseRDN'))."/",get_ou('applicationRDN'),"ou=".$name.",".$baseToUse) ;
+ $appsrc = preg_replace("/".preg_quote(get_ou('faiBaseRDN'), '/')."/",get_ou('applicationRDN'),$baseToUse);
+ $appdst = preg_replace("/".preg_quote(get_ou('faiBaseRDN'), '/')."/",get_ou('applicationRDN'),"ou=".$name.",".$baseToUse) ;
- $mimesrc = preg_replace("/".normalizePreg(get_ou('faiBaseRDN'))."/",get_ou('mimetypeRDN'),$baseToUse);
- $mimedst = preg_replace("/".normalizePreg(get_ou('faiBaseRDN'))."/",get_ou('mimetypeRDN'),"ou=".$name.",".$baseToUse) ;
+ $mimesrc = preg_replace("/".preg_quote(get_ou('faiBaseRDN'), '/')."/",get_ou('mimetypeRDN'),$baseToUse);
+ $mimedst = preg_replace("/".preg_quote(get_ou('faiBaseRDN'), '/')."/",get_ou('mimetypeRDN'),"ou=".$name.",".$baseToUse) ;
/* Check if source depeartments exist */
foreach(array($baseToUse,$appsrc,$mimesrc) as $dep){
echo "<div style='width:100%;text-align:right;'><form name='form' method='post' action='?plug=".$_GET['plug']."' target='_parent'>
<br><input type='submit' name='CloseIFrame' value='"._("Continue")."'>
+ <input type='hidden' name='php_c_check' value='1'>
</form></div>";
echo "<script language=\"javascript\" type=\"text/javascript\">scrollDown2();</script>" ;
$evt = $events['TRIGGERED']['DaemonEvent_recreate_fai_release_db'];
$tmp = new $evt['CLASS_NAME']($this->config);
$tmp->set_type(TRIGGERED_EVENT);
- $tmp->add_targets(array("GOsa"));
+ $tmp->add_targets(array("GOSA"));
$o_queue = new gosaSupportDaemon();
if(!$o_queue->append($tmp)){
msg_dialog::display(_("Service infrastructure"),msgPool::siError($o_queue->get_error()),ERROR_DIALOG);
*/
if("" != $this->config->search("faiManagement", "POSTCREATE",array('menu','tabs'))){
if(($s_action == "branch_branch")||($this->dispNewBranch)){
- if(!$this->acl_is_createable()){
- msg_dialog::display(_("Permission error"), msgPool::permCreate(_("Branch")), ERROR_DIALOG);
+ if(!preg_match("/c/",$this->ui->get_permissions($this->acl_base,"fai/faiManagement"))){
+ msg_dialog::display(_("Permission error"), msgPool::permCreate(_("Branch")), ERROR_DIALOG);
}else{
$this->dispNewBranch=true;
$smarty->assign("iframe",false);
*/
if("" != $this->config->search("faiManagement", "POSTCREATE",array('menu','tabs'))){
if(($s_action == "freeze_branch")||($this->dispNewFreeze)){
- if(!$this->acl_is_createable()){
+ if(!preg_match("/c/",$this->ui->get_permissions($this->acl_base,"fai/faiManagement"))){
msg_dialog::display(_("Permission error"), msgPool::permCreate(_("Branch")), ERROR_DIALOG);
}else{
$this->dispNewFreeze = true;
"new_package" => _("package list"));
if(isset($types[$s_action])){
- $acl = $this->ui->get_permissions($this->fai_base,"fai/".$type_acl_mapping[$types[$s_action]]);
+ $acl = $this->ui->get_permissions($this->acl_base,"fai/".$type_acl_mapping[$types[$s_action]]);
if(preg_match("/c/",$acl)){
$this->dialog = new askClassName($this->config,$this->dn,$this->ui,$types[$s_action]);
$this->dialog->parent = &$this;
if($s_action == "new_profile"){
$this->dn = "new" ;
- $acl = $this->ui->get_permissions($this->fai_base,"fai/faiProfile");
+ $acl = $this->ui->get_permissions($this->acl_base,"fai/faiProfile");
if(preg_match("/c/",$acl)){
$a_setup= $this->get_type(array("objectClass"=>array("FAIprofile")));
$this->dialog = new $a_setup[0]($this->config,$this->config->data['TABS'][$a_setup[2]],$this->dn,"fai");
}
}
$this->base = $base;
- $this->set_acl_base($this->base);
+ $this->set_acl_base($this->acl_base);
$this->lock_type = FAI::get_release_tag(FAI::get_release_dn($base));
/* Append opsi objects, if opsi is available and if we are on the fai_base
*/
if($this->opsi instanceof opsi && $this->opsi->enabled()){
-
- $err = FALSE;
- if(!$err && $this->DivListFai->ShowOpsiNetboot){
- $n_pro = $this->opsi->get_netboot_products();
- $err |= $this->opsi->is_error();
- foreach($n_pro as $name => $data){
- $entry = array("cn" => $name,
- "description" => $data['DESC'],
- "type" => "opsi_netboot");
- $this->objects[$name."_opsi_netboot"] = $entry;
- }
- }
- if(!$err && $this->DivListFai->ShowOpsiLocal){
- $l_pro = $this->opsi->get_local_products();
- $err |= $this->opsi->is_error();
- foreach($l_pro as $name => $data){
- $entry = array("cn" => $name,
- "description" => $data['DESC'],
- "type" => "opsi_local");
- $this->objects[$name."_opsi_local"] = $entry;
+ $opsi_acl = $this->ui->get_permissions($base,"opsi/opsiProperties");
+ if(preg_match("/r/",$opsi_acl)){
+ $err = FALSE;
+ if(!$err && $this->DivListFai->ShowOpsiNetboot){
+ $n_pro = $this->opsi->get_netboot_products();
+ $err |= $this->opsi->is_error();
+ foreach($n_pro as $name => $data){
+ $entry = array("cn" => $name,
+ "description" => $data['DESC'],
+ "type" => "opsi_netboot");
+ $this->objects[$name."_opsi_netboot"] = $entry;
+ }
+ }
+ if(!$err && $this->DivListFai->ShowOpsiLocal){
+ $l_pro = $this->opsi->get_local_products();
+ $err |= $this->opsi->is_error();
+ foreach($l_pro as $name => $data){
+ $entry = array("cn" => $name,
+ "description" => $data['DESC'],
+ "type" => "opsi_local");
+ $this->objects[$name."_opsi_local"] = $entry;
+ }
}
- }
- if($err){
- msg_dialog::display(_("Error"),msgPool::siError($this->opsi->get_error()),ERROR_DIALOG);
+ if($err){
+ msg_dialog::display(_("Error"),msgPool::siError($this->opsi->get_error()),ERROR_DIALOG);
+ }
}
}
if($oc == "FAIprofile"){
$f = "";
- $ocs = array("FAItemplate","FAIhook","FAIpartitionTable","FAIpackageList","FAIscript","FAIvariable");
+ $ocs = array("FAIprofile","FAItemplate","FAIhook","FAIpartitionTable","FAIpackageList","FAIscript","FAIvariable");
foreach($ocs as $oc){
$f .= "(objectClass=".$oc.")";
}