pax_global_header00006660000000000000000000000064133355205670014523gustar00rootroot0000000000000052 comment=a639ba7c723d32e4731b46fb41bea364c3480e1d gosa-plugins-netgroups-0.2/000077500000000000000000000000001333552056700160205ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/ChangeLog000066400000000000000000000015121333552056700175710ustar00rootroot000000000000002018-08-17 12:20:39 +0200 Mike Gabriel (5a3c371) * release 0.2 (HEAD -> master, tag: 0.2) 2017-12-15 09:40:32 +0100 Mike Gabriel (282f252) * Drop Debian's Changelog file copied into the upstream repo. Does not make much sense here. 2017-12-15 09:09:57 +0100 Mike Gabriel (52ccec0) * README.md: minor cosmetics 2017-12-15 09:07:20 +0100 Mike Gabriel (3fe4dde) * README.md: Convert to markdown, rephrase here and there, add credits to the original author. 2017-12-15 09:00:39 +0100 Mike Gabriel (5d854fe) * Drop Debian-specifif files (control, copyright.in, copyright). 2017-12-13 11:44:47 +0100 bzapiec (d74fcfd) * remove rules since it still uses the old repository 2017-12-13 11:43:07 +0100 bzapiec (e783af6) * add missing files 2017-11-29 17:04:16 +0100 bzapiec (2829481) * initial plugin commit gosa-plugins-netgroups-0.2/README.md000066400000000000000000000031261333552056700173010ustar00rootroot00000000000000# GOsa² Plugin: NIS Netgroups Management This plugin for GOsa² provides you with a UI to manage LDAP based NIS netgroups. ## Installation Instructions *Openldap schemas needed:* nis.schema or rfc2307bis.schema Changes in ``gosa.conf``: In GOsa's menu definition: ```
``` In Tab definitions: ``` ``` And in Location definition: ``` ``` If you want to choose the NIS Netgroup of a system (server, workstation or network device) from the user interface you also must change this: ``` ``` ``` ``` ``` ``` ## More Information GIT: https://github.com/gosa-project/gosa-plugins-netgroups/ ## Author & Credits The NIS netgroups plugin has originally been written by Alejandro Escanero Blanco in 2011 for the Debian Edu project. gosa-plugins-netgroups-0.2/admin/000077500000000000000000000000001333552056700171105ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/admin/netgroups/000077500000000000000000000000001333552056700211365ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/admin/netgroups/class_netgroup.inc000066400000000000000000000717751333552056700247020ustar00rootroot00000000000000objectInfo = array("triple" => array(), "groups" => array()); $this->orig_dn = $dn; $this->orig_cn = $this->cn; // Extract triple informations // . (machine, user, domain) if (isset($this->attrs['nisNetgroupTriple']["count"])) { $tmp = array(); for ($i = 0; $i < $this->attrs['nisNetgroupTriple']['count']; $i++) { if (preg_match("/^\((\S+),\-?,(\S*)\)$/", $this->attrs['nisNetgroupTriple'][$i], $matches)) { // Skip non-fqdn entries if(strpos($matches[1], ".") !== FALSE){ $this->addTriple($matches[1], NULL, $matches[2]); } } if (preg_match("/^\(\-?,(\S+),(\S*)\)$/", $this->attrs['nisNetgroupTriple'][$i], $matches)) { $this->addTriple(NULL, $matches[1], $matches[2]); } } } /* Get netgroups list and put it in $this->netgroups */ if (isset($this->attrs['memberNisNetgroup'][0])) { for ($i = 0; $i < $this->attrs['memberNisNetgroup']['count']; $i++) { $this->addNisGroup($this->attrs['memberNisNetgroup'][$i]); } } if ($this->dn == "new") { if (session::is_set('CurrentMainBase')) { $this->base = session::get('CurrentMainBase'); } else { $ui = get_userinfo(); $this->base = dn2base($ui->dn); } } else { /* Get object base */ $this->base = preg_replace("/^[^,]+," . preg_quote(get_ou("netgroupSystem", "netgroupSystemRDN"),'/') . "/i", "", $this->dn); } $this->orig_base = $this->base; /* Instanciate base selector */ $this->baseSelector = new baseSelector($this->get_allowed_bases(), $this->base); $this->baseSelector->setSubmitButton(false); $this->baseSelector->setHeight(300); $this->baseSelector->update(true); // Prepare lists $this->memberList = new sortableListing(array(),array(), FALSE); $this->memberList->setDeleteable(true); $this->memberList->setInstantDelete(false); $this->memberList->setEditable(false); $this->memberList->setWidth("100%"); $this->memberList->setHeight("300px"); $this->memberList->setColspecs(array('*','*','*','*')); $this->memberList->setHeader(array("-",_("Name"),_("Description"),_("Domain"))); $this->memberList->setDefaultSortColumn(1); } /* Generate the plugin gui, handle posts and fill lists. * */ function execute() { // Call parent execute plugin::execute(); // Log view if ($this->is_account && !$this->view_logged) { $this->view_logged = TRUE; new log("view", "netgroups/" . get_class($this), $this->dn); } // Set list Acls $this->memberList->setAcl($this->getacl("triples")); // Add selected objects if (isset($_POST["edit_membership"]) && preg_match("/w/", $this->getacl("triples"))) { $skip = array(); foreach($this->triples as $key => $data){ if(isset($this->objectInfo['triple'][$key]['data'])){ $skip[] = $this->objectInfo['triple'][$key]['data']['dn']; } } foreach($this->netgroups as $key => $data){ if(isset($this->objectInfo['groups'][$key]['data'])){ $skip[] = $this->objectInfo['groups'][$key]['data']['dn']; } } $skip[] = $this->dn; session::set('filterBlacklist', array("dn" => $skip)); $this->userSelect = new tripleSelect($this->config, get_userinfo(), $this->dn); $this->dialog = TRUE; } // Close add-dialog if (isset($_POST["add_triples_cancel"])) { $this->userSelect = NULL; $this->dialog = FALSE; } // Add to netgroup if (isset($_POST['add_triples_finish']) && $this->userSelect) { $users = $this->userSelect->detectPostActions(); if (isset($users['targets'])) { $headpage = $this->userSelect->getHeadpage(); foreach ($users['targets'] as $dn) { $attrs = $headpage->getEntry($dn); $value = ""; $objectClass = "posixAccount"; if(in_array("posixAccount", $attrs['objectClass'])){ $this->addTriple(NULL, $attrs['uid'][0], '', $attrs); }else if(in_array("nisNetgroup", $attrs['objectClass'])){ $this->addNisGroup($attrs['cn'][0]); }else{ $this->addTriple($attrs['cn'][0], NULL, '', $attrs); } } } $this->userSelect = NULL; $this->dialog = FALSE; } // Render the user selection if ($this->userSelect) { return($this->userSelect->execute()); } // Assign smarty vars $smarty = get_smarty(); $smarty->assign("base", $this->baseSelector->render()); foreach ($this->attributes as $val) { $smarty->assign("$val", $this->$val); } $tmp = $this->plInfo(); foreach ($tmp['plProvidedAcls'] as $name => $translation) { $smarty->assign($name . "ACL", $this->getacl($name)); } if ($this->acl_is_writeable("base")) { $smarty->assign("baseSelect", true); } else { $smarty->assign("baseSelect", false); } $smarty->assign("multiple_support", $this->multiple_support_active); foreach ($this->attributes as $val) { if (in_array($val, $this->multi_boxes)) { $smarty->assign("use_" . $val, TRUE); } else { $smarty->assign("use_" . $val, FALSE); } } foreach (array("base") as $val) { if (in_array($val, $this->multi_boxes)) { $smarty->assign("use_" . $val, TRUE); } else { $smarty->assign("use_" . $val, FALSE); } } // Fill the list $data = $lData = array(); foreach($this->triples_used_by_some as $key => $pattern){ $s_key = "t_{$key}"; $data[$s_key] = $pattern; $list_data = $this->objectInfo['triple'][$key]['list_data']; for($i=1;$i<4;$i++){ $list_data[$i] = "".$list_data[$i].""; } $lData[$s_key] = array('data'=> $list_data); } foreach($this->netgroups_used_by_some as $key => $pattern){ $s_key = "g_{$key}"; $data[$s_key] = $pattern; $list_data = $this->objectInfo['groups'][$key]['list_data']; for($i=1;$i<4;$i++){ $list_data[$i] = "".$list_data[$i].""; } $lData[$s_key] = array('data'=> $list_data); } foreach($this->netgroups as $key => $pattern){ $s_key = "g_{$key}"; $data[$s_key] = $pattern; $lData[$s_key] = array('data'=> $this->objectInfo['groups'][$key]['list_data']); } foreach($this->triples as $key => $pattern){ $s_key = "t_{$key}"; $data[$s_key] = $pattern; $lData[$s_key] = array('data'=> $this->objectInfo['triple'][$key]['list_data']); } $this->memberList->setListData($data, $lData); $this->memberList->update(); $smarty->assign("memberList", $this->memberList->render()); return($smarty->fetch(get_template_path('generic.tpl', TRUE))); } /* Returns an image for the given objectClass array. * This is used to generated the list enties * */ function getImageForOc($objectClasses){ if(in_array("goServer", $objectClasses)){ return(image("plugins/systems/images/select_server.png")); } if(in_array("gotoWorkstation", $objectClasses)){ return(image("plugins/systems/images/select_workstation.png")); } if(in_array("gotoTerminal", $objectClasses)){ return(image("plugins/systems/images/select_terminal.png")); } if(in_array("ieee802Device", $objectClasses)){ return(image("plugins/systems/images/select_component.png")); } if(in_array("posixAccount", $objectClasses)){ return(image("plugins/users/images/select_user.png")); } if(in_array("nisNetgroup", $objectClasses)){ return(image("plugins/netgroups/images/select_netgroup.png")); } } /* This removes a triple from the list/object * */ function removeTriple($name){ if(isset($this->triples[$name])){ unset($this->triples[$name]); } if(isset($this->triples_used_by_some[$name])){ unset($this->triples_used_by_some[$name]); } unset($this->objectInfo['triple'][$name]); } /* Returns the dns-domain name used by the given hostname * If no domainname could be identified, NULL is returned * */ function getDNSZoneForHost($host) { $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(&(objectClass=dNSZone)(relativeDomainName=".$host.")(aRecord=*))", array("zoneName")); while ($attrs = $ldap->fetch()) { return($attrs['zoneName'][0]); } return(NULL); } /* Adds a new triple the the list/object * This method also tries to resolve the hosts domain-name. * */ function addTriple($host, $user, $nis_domain, $attrs = NULL) { $fqdn = ""; $domain = ""; $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); if($host){ $attributes = array("dn", "cn", "description", "objectClass"); // Split name into host and domain if(strpos($host, ".") === FALSE){ $domain = $this->getDNSZoneForHost($host); if(!$domain){ msg_dialog::display(_("Failed to add triple"), sprintf(_("Unable to detect FQDN for host '%s'!"), $host), ERROR_DIALOG); return; } }else{ $domain = preg_replace("/^[^\.]*+\./", "", $host); $host = preg_replace("/\..*/", "", $host); } $fqdn = "{$host}.{$domain}"; if(!$attrs){ $ldap->search("(&(|(objectClass=gotoTerminal)(objectClass=gotoWorkstation)(objectClass=goServer)". "(objectClass=GOhard)(objectClass=ieee802Device))(|(cn=".normalizeldap($host).")(cn=".normalizeldap($fqdn).")))"); if($ldap->count()){ $attrs = $ldap->fetch(); } } $name = $fqdn; }else if($user){ $attributes = array("dn", "cn", "uid", "sn", "givenName", "objectClass"); if(!$attrs){ $ldap->search("(&(objectClass=posixAccount)(uid=".normalizeldap($user)."))"); if($ldap->count()){ $attrs = $ldap->fetch(); } } $name = $user; }else{ return "?"; } $this->removeTriple($name); $this->triples[$name] = array( "host" => $host, "user" => $user, "domain" => $domain, "fqdn" => $fqdn, "nis_domain" => ""); if($attrs){ $type = $this->getImageForOc($attrs['objectClass']); $this->objectInfo['triple'][$name]["data"] = $attrs; if($user){ $this->objectInfo['triple'][$name]["list_data"] = array($type, $attrs['uid'][0], $attrs['cn'][0], $domain); }else{ $desc = " "; if(isset($attrs['description'][0])){ $desc = $attrs['description'][0]; } if(!$domain){ $domain = " "; } $this->objectInfo['triple'][$name]["list_data"] = array($type, $host, $desc, $domain); } }else{ $this->objectInfo['triple'][$name]["list_data"] = array("?", $name, " ", $domain); } } /* Removes a nis-group from this object * */ function removeNisGroup($name){ if(isset($this->netgroups[$name])){ unset($this->netgroups[$name]); } if(isset($this->netgroups_used_by_some[$name])){ unset($this->netgroups_used_by_some[$name]); } unset($this->objectInfo['groups'][$name]); } /* Adds a new nis-group to this object * */ function addNisGroup($name) { $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $attributes = array("dn", "cn", "description", "objectClass"); $ldap->search("(&(objectClass=nisNetgroup)(cn=".normalizeldap($name)."))"); $this->removeNisGroup($name); $this->netgroups[$name] = $name; if($ldap->count()){ while($attrs = $ldap->fetch()){ $desc = " "; if(isset($attrs['description'][0])){ $desc = $attrs['description'][0]; } $type = $this->getImageForOc($attrs['objectClass']); $this->objectInfo['groups'][$name]["data"] = $attrs; $this->objectInfo['groups'][$name]["list_data"] = array($type, $attrs['cn'][0], $desc, " "); } }else{ $this->objectInfo['groups'][$name]["list_data"] = array("?", $name, " ", " "); } } /* Delete this object and its references * */ function remove_from_parent() { plugin::remove_from_parent(); // Remove this object $ldap = $this->config->get_ldap_link(); $ldap->rmdir($this->dn); if (!$ldap->success()) { msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_DEL, get_class())); } new log("remove", "netgroups/" . get_class($this), $this->dn, array_keys($this->attrs), $ldap->get_error()); // Delete references to object netgroups $ldap->cd($this->config->current['BASE']); $ldap->search("(&(objectClass=gosaGroupOfNames)(memberNisNetgroup=" . LDAP::prepare4filter($this->dn) . "))", array("cn")); while ($ldap->fetch()) { $og = new ogroup($this->config, $ldap->getDN()); unset($og->member[$this->dn]); $og->save(); } // Remove ACL dependencies, too acl::remove_acl_for($this->dn); // Send signal to the world that we've done $this->handle_post_events("remove"); } /* Act and HTML posts * */ function save_object() { if (isset($_POST['nisnetgroupedit'])) { // Act on list actions (delete) $this->memberList->save_object(); $action = $this->memberList->getAction(); if(isset($action['action']) && $action['action'] == 'delete'){ foreach($action['targets'] as $id){ $entry = $this->memberList->getKey($id); if(preg_match("/^t_/", $entry)){ $this->removeTriple(preg_replace("/^t_/","",$entry)); }else{ $this->removeNisGroup(preg_replace("/^g_/","",$entry)); } } } /* Create a base backup and reset the base directly after calling plugin::save_object(); Base will be set seperatly a few lines below */ $base_tmp = $this->base; plugin::save_object(); $this->base = $base_tmp; /* Refresh base */ if ($this->acl_is_moveable($this->base)) { if (!$this->baseSelector->update()) { msg_dialog::display(_("Error"), msgPool::permMove(), ERROR_DIALOG); } if ($this->base != $this->baseSelector->getBase()) { $this->base = $this->baseSelector->getBase(); $this->is_modified = TRUE; } } } } /* Save modification back to the LDAP * */ function save() { plugin::save(); $this->attrs['memberNisNetgroup'] = array(); $this->attrs['nisNetgroupTriple'] = array(); foreach($this->triples as $key => $data){ $host = $data['host']; $user = $data['user']; $nis_domain = $data['nis_domain']; $domain = $data['domain']; $fqdn = $data['fqdn']; if($host){ $this->attrs['nisNetgroupTriple'][] = "({$host},{$user},{$nis_domain})"; $this->attrs['nisNetgroupTriple'][] = "({$fqdn},{$user},{$nis_domain})"; }else{ $this->attrs['nisNetgroupTriple'][] = "({$host},{$user},{$nis_domain})"; } } if (count($this->netgroups)) { $this->attrs['memberNisNetgroup'] = array_values(array_unique($this->netgroups)); } /* New accounts need proper 'dn', propagate it to remaining objects */ if ($this->dn == 'new') { $this->dn = 'cn='.$this->cn.','.get_ou("netgroupSystem", "netgroupSystemRDN").$this->base; } /* Save data. Using 'modify' implies that the entry is already present, use 'add' for new entries. So do a check first... */ $ldap = $this->config->get_ldap_link(); $ldap->cat($this->dn, array('dn')); if ($ldap->fetch()) { $mode = "modify"; } else { $mode = "add"; $ldap->cd($this->config->current['BASE']); $ldap->create_missing_trees(preg_replace('/^[^,]+,/', '', $this->dn)); } /* Write back to ldap */ $ldap->cd($this->dn); $this->cleanup(); $ldap->$mode($this->attrs); // Update ACL dependencies if ($this->dn != $this->orig_dn && $this->orig_dn != "new") { $tmp = new acl($this->config, $this->parent, $this->dn); $tmp->update_acl_membership($this->orig_dn, $this->dn); } // Log action if ($this->initially_was_account) { new log("modify", "netgroups/" . get_class($this), $this->dn, array_keys($this->attrs), $ldap->get_error()); } else { new log("create", "netgroups/" . get_class($this), $this->dn, array_keys($this->attrs), $ldap->get_error()); } // Check ldap result $ret = 0; if (!$ldap->success()) { msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class())); $ret = 1; } // Handle post events $this->handle_post_events($mode); return ($ret); } /* Check input values * */ function check() { $message = plugin::check(); if ($this->base != "") { $new_dn = 'cn='.$this->cn.','.get_ou("netgroupSystem", "netgroupSystemRDN").$this->base; } else { $new_dn = $this->dn; } if ($this->cn == "" && $this->acl_is_writeable("cn")) { $message[] = msgPool::required(_("Name")); } if (!$this->baseSelector->checkLastBaseUpdate()) { $message[] = msgPool::check_base(); } // Check for valid group name if (!tests::is_uid($this->cn)) { if (strict_uid_mode ()) { $message[] = msgPool::invalid(_("Name"), $this->cn, "/[a-z0-9_-]/"); } else { $message[] = msgPool::invalid(_("Name"), $this->cn, "/[a-z0-9_-]/i"); } } // Check if a wrong base was supplied if (!$this->baseSelector->checkLastBaseUpdate()) { $message[] = msgPool::check_base(); } // Check netgroup loops and if user is in any netgroup $nisnetmap = array(); $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(objectClass=nisNetgroup)", array("cn", "memberNisNetgroup", "nisNetgroupTriple")); while ($attrs = $ldap->fetch()) { $nisnetmap[$attrs['cn'][0]] = array(); $nisnetmap[$attrs['cn'][0]]['memberNisNetgroup'] = array(); $nisnetmap[$attrs['cn'][0]]['nisNetgroupTriple'] = array(); if(isset($attrs['memberNisNetgroup'])){ foreach ($attrs['memberNisNetgroup'] as $val) { $nisnetmap[$attrs['cn'][0]]['memberNisNetgroup'][] = $val; } } if(isset($attrs['nisNetgroupTriple'])){ foreach ($attrs['nisNetgroupTriple'] as $val) { $nisnetmap[$attrs['cn'][0]]['nisNetgroupTriple'][] = $val; } } } $checkmsg = $this->checkNisNetgroup($nisnetmap); if (count($checkmsg) != 0) $message[] = $checkmsg[0]; // Check if we are allowed to create or move this object if (!$this->orig_dn == "new" || $this->orig_base != $this->base || $this->cn != $this->orig_cn) { if ($this->orig_dn == "new" && !$this->acl_is_createable($this->base)) { $message[] = msgPool::permCreate(); } elseif ($this->orig_dn != "new" && !$this->acl_is_moveable($this->base)) { $message[] = msgPool::permMove(); } } return ($message); } /* Check for loops in nis-group assignment * */ function checkNisNetgroup($nisnetmap, $timeline=FALSE, $checknng=FALSE) { if ($timeline == FALSE) { $timeline = array(); foreach ($this->netgroups as $key => $value) { $timeline[] = $key; if(isset($nisnetmap[$key])){ foreach ($nisnetmap[$key]['memberNisNetgroup'] as $val) { if(isset($nisnetmap[$val])){ $result = $this->checkNisNetgroup($nisnetmap, $timeline, $nisnetmap[$val]); if (count($result) != 0) { return($result); } } } } } } else { foreach ($nisnetmap[$val]['memberNisNetgroup'] as $key) { if (array_search($key, $timeline) !== FALSE) { $result = array(); $result[] = _("NIS Netgroup Error") . "" . _("Error: There are a loop with NIS Netgroups") . " [" . " " . $key . "] " . "
" . _("IMPORTANT: Check the members of NIS Netgroup") . "
"; return($result); } $timeline[] = $key; $result = $this->checkNisNetgroup($nisnetmap, $timeline, $nisnetmap[$val]); if (count($result) != 0) { return($result); } } } return(array()); } //TODO: check function getCopyDialog() { $ret = array(); return($ret); } //TODO: check function saveCopyDialog() { if (isset($_POST['cn'])) { $this->cn = $_POST['cn']; } } //TODO: check ACL! /* Return plugin informations for acl handling */ static function plInfo() { return (array( "plShortName" => _("Generic"), "plDescription" => _("Generic NIS Netgroup settings"), "plSelfModify" => FALSE, "plDepends" => array(), "plPriority" => 0, "plSection" => array("administration"), "plCategory" => array("netgroups" => array("objectClass" => "nisNetgroup", "description" => _("NIS Netgroups"))), "plProvidedAcls" => array( "cn" => _("Name"), "description" => _("Description"), "base" => _("Base"), "memberCn" => _("NIS Netgroup members")) )); } /* Act on HTML-post when in multiple-edit mode. * */ function multiple_save_object() { if (isset($_POST['nisnetgroup_mulitple_edit'])) { $this->memberList->save_object(); $action = $this->memberList->getAction(); if(isset($action['action']) && $action['action'] == 'delete'){ foreach($action['targets'] as $id){ $entry = $this->memberList->getKey($id); if(preg_match("/^t_/", $entry)){ $this->removeTriple(preg_replace("/^t_/","",$entry)); }else{ $this->removeNisGroup(preg_replace("/^g_/","",$entry)); } } } /* Create a base backup and reset the base directly after calling plugin::save_object(); Base will be set seperatly a few lines below */ $base_tmp = $this->base; plugin::multiple_save_object(); plugin::save_object(); $this->base = $base_tmp; foreach (array("base") as $attr) { if (isset($_POST['use_' . $attr])) { $this->multi_boxes[] = $attr; } } /* Refresh base */ if ($this->acl_is_moveable($this->base)) { if (!$this->baseSelector->update()) { msg_dialog::display(_("Error"), msgPool::permMove(), ERROR_DIALOG); } if ($this->base != $this->baseSelector->getBase()) { $this->base = $this->baseSelector->getBase(); $this->is_modified = TRUE; } } } } /* Returns the modified values after a multiple-edit session * */ function get_multi_edit_values() { $ret = plugin::get_multi_edit_values(); foreach (array("base") as $attr) { if (in_array($attr, $this->multi_boxes)) { $ret[$attr] = $this->$attr; } } $ret['triples'] = $this->triples; $ret['triples_used_by_some'] = $this->triples_used_by_some; $ret['netgroups'] = $this->netgroups; $ret['netgroups_used_by_some'] = $this->netgroups_used_by_some; return($ret); } function multiple_execute() { return($this->execute()); } /* Load values for multiple-edit * */ function init_multiple_support($attrs, $all) { plugin::init_multiple_support($attrs, $all); $this->members=array(); $this->allusers=array(); $this->users_used_by_some=array(); $this->netgroups = array(); $this->netgroups_used_by_some = array(); // Load nis-groups used by some groups if (isset($all['memberNisNetgroup'][0])) { for ($i = 0; $i < $all['memberNisNetgroup']['count']; $i++) { $this->addNisGroup($all['memberNisNetgroup'][$i]); } } $this->netgroups_used_by_some = $this->netgroups; // Load nis-groups by all edited-groups $this->netgroups = array(); if (isset($attrs['memberNisNetgroup'][0])) { for ($i = 0; $i < $attrs['memberNisNetgroup']['count']; $i++) { $this->addNisGroup($attrs['memberNisNetgroup'][$i]); } } $this->triples = array(); $this->triples_used_by_some = array(); if (isset($all['nisNetgroupTriple'])) { $tmp = array(); for ($i = 0; $i < $all['nisNetgroupTriple']['count']; $i++) { if (preg_match("/^\((\S+),\-?,(\S*)\)$/", $all['nisNetgroupTriple'][$i], $matches)) { // Skip non-fqdn entries if(strpos($matches[1], ".") !== FALSE){ $this->addTriple($matches[1], NULL, $matches[2]); } } if (preg_match("/^\(\-?,(\S+),(\S*)\)$/", $all['nisNetgroupTriple'][$i], $matches)) { $this->addTriple(NULL, $matches[1], $matches[2]); } } } $this->triples_used_by_some = $this->triples; $this->triples = array(); if (isset($attrs['nisNetgroupTriple'])) { $tmp = array(); for ($i = 0; $i < $attrs['nisNetgroupTriple']['count']; $i++) { if (preg_match("/^\((\S+),\-?,(\S*)\)$/", $attrs['nisNetgroupTriple'][$i], $matches)) { // Skip non-fqdn entries if(strpos($matches[1], ".") !== FALSE){ $this->addTriple($matches[1], NULL, $matches[2]); } } if (preg_match("/^\(\-?,(\S+),(\S*)\)$/", $attrs['nisNetgroupTriple'][$i], $matches)) { $this->addTriple(NULL, $matches[1], $matches[2]); } } } } /* Initialize plugin for multiple edit mode * */ function set_multi_edit_values($attrs) { $triples = array(); $netgroups = array(); // Update netgroupMembership, keep optinal netgroup foreach ($attrs['triples_used_by_some'] as $uid => $value) { if (in_array($uid, array_keys($this->triples))) { $triples[$uid] = $value; } } foreach ($attrs['netgroups_used_by_some'] as $uid => $value) { if (in_array($uid, array_keys($this->netgroups))) { $netgroups[$uid] = $value; } } // Update netgroupMembership, add forced netgroups foreach ($attrs['triples'] as $uid => $value) { $triples[$uid] = $value; } foreach ($attrs['netgroups'] as $uid => $value) { $netgroups[$uid] = $value; } plugin::set_multi_edit_values($attrs); $this->triples = $triples; $this->netgroups = $netgroups; } } ?> gosa-plugins-netgroups-0.2/admin/netgroups/class_netgroupManagement.inc000066400000000000000000000066441333552056700266700ustar00rootroot00000000000000config = $config; $this->ui = $ui; $this->storagePoints = array(get_ou("netgroupSystem", "netgroupSystemRDN")); // Build filter if (session::global_is_set(get_class($this) . "_filter")) { $filter = session::global_get(get_class($this) . "_filter"); } else { $filter = new filter(get_template_path("netgroup-filter.xml", true)); $filter->setObjectStorage($this->storagePoints); } $this->setFilter($filter); // Build headpage $headpage = new listing(get_template_path("netgroup-list.xml", true)); $headpage->setFilter($filter); // Add copy&paste and snapshot handler. if ($this->config->boolValueIsTrue("core", "copyPaste")){ //$this->cpHandler = new CopyPasteHandler($this->config); } if($this->config->get_cfg_value("core","enableSnapshots") == "true"){ //$this->snapHandler = new SnapshotHandler($this->config); } parent::__construct($config, $ui, "netgroups", $headpage); $this->registerAction("edit_netgroup", "editEntry"); } // Inject user actions function detectPostActions() { $action = management::detectPostActions(); if (isset($_POST['save_event_dialog'])) $action['action'] = "saveEventDialog"; if (isset($_POST['abort_event_dialog'])) $action['action'] = "abortEventDialog"; return($action); } function editEntry($action="", $target=array(), $all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="") { $str = management::editEntry($action, $target); if (preg_match("/^edit_/", $action)) { $tab = preg_replace("/^edit_/", "", $action); if (isset($this->tabObject->by_object[$tab])) { $this->tabObject->current = $tab; } else { trigger_error("Unknown tab: " . $tab); } } if (!empty($str)) return($str); } } ?> gosa-plugins-netgroups-0.2/admin/netgroups/generic.tpl000066400000000000000000000054571333552056700233060ustar00rootroot00000000000000{if $multiple_support} {/if}
{if !$multiple_support} {/if}
{$must} {if $multiple_support} {else} {render acl=$cnACL} {/render} {/if}
{render acl=$descriptionACL checkbox=$multiple_support checked=$use_description} {/render}
{$must} {render acl=$baseACL checkbox=$multiple_support checked=$use_base} {$base} {/render}
 

{$memberList}
{render acl=$memberCnACL} {/render}
gosa-plugins-netgroups-0.2/admin/netgroups/main.inc000066400000000000000000000035231333552056700225600ustar00rootroot00000000000000remove_lock(); } } /* Remove this plugin from session */ if ($cleanup) { session::un_set('netgroupManagement'); } else { /* Create netgroupmanagement object on demand */ if (!session::is_set('netgroupManagement')) { $netgroupManagement = new netgroupManagement($config, $ui); session::set('netgroupManagement', $netgroupManagement); } $netgroupManagement = session::get('netgroupManagement'); $display = $netgroupManagement->execute(); /* Reset requested? */ if (isset($_GET['reset']) && $_GET['reset'] == 1) { session::un_set('netgroupManagement'); } /* Show and save dialog */ session::set('netgroupManagement', $netgroupManagement); } ?> gosa-plugins-netgroups-0.2/admin/netgroups/memberNisnetgroupSelect/000077500000000000000000000000001333552056700260035ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/admin/netgroups/memberNisnetgroupSelect/class_memberNisnetgroupSelect.inc000066400000000000000000000034151333552056700345330ustar00rootroot00000000000000config = $config; $this->ui = $ui; $this->storagePoints = array(get_ou("netgroupSystem", "netgroupSystemRDN")); $myFilter = new filter(get_template_path("memberNisnetgroup-filter.xml", true, dirname(__FILE__))); $myFilter->setObjectStorage($this->storagePoints); $this->setFilter($myFilter); // Build headpage $myHeadpage = new listing(get_template_path("memberNisnetgroup-list.xml", true, dirname(__FILE__))); $myHeadpage->setFilter($myFilter); parent::__construct($config, $ui, "memberNisnetgroup", $myHeadpage); } } ?> gosa-plugins-netgroups-0.2/admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-filter.xml000066400000000000000000000012231333552056700335130ustar00rootroot00000000000000 memberNisnetgroups true default dn objectClass cn uid description auto default LDAP (&(objectClass=nisNetgroup)(cn=$)) gosa-plugins-netgroups-0.2/admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.tpl000066400000000000000000000013211333552056700331770ustar00rootroot00000000000000

{$HEADLINE} {$SIZELIMIT}

{$ROOT} {$BACK} {$HOME} {$RELOAD} {t}Base{/t} {$BASE} {$ACTIONS} {$FILTER}
{$LIST}
gosa-plugins-netgroups-0.2/admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml000066400000000000000000000027051333552056700332070ustar00rootroot00000000000000 true false true true 1 nisNetgroup memberNisnetgroups netgroup plugins/netgroups/images/select_netgroup.png |20px;c||| %{filter:objectType(dn,objectClass)} %{filter:departmentLink(row,dn,description)} 1 %{filter:objectType(dn,objectClass)} cn string %{cn} true description string %{description} true
gosa-plugins-netgroups-0.2/admin/netgroups/netgroup-filter.xml000066400000000000000000000010571333552056700250110ustar00rootroot00000000000000 netgroups true default auto dn objectClass cn description default LDAP (&(objectClass=nisNetgroup)(cn=$)) gosa-plugins-netgroups-0.2/admin/netgroups/netgroup-list.tpl000066400000000000000000000010251333552056700244710ustar00rootroot00000000000000

{$HEADLINE} {$SIZELIMIT}

{$ROOT} {$BACK} {$HOME} {$RELOAD} {t}Base{/t} {$BASE} {$ACTIONS} {$FILTER}
{$LIST}
gosa-plugins-netgroups-0.2/admin/netgroups/netgroup-list.xml000066400000000000000000000062161333552056700245010ustar00rootroot00000000000000 true false true true netgroups 1 nisNetgroup netgroups netgroup plugins/netgroups/images/select_netgroup.png |20px;c|||120px|150px;r| %{filter:objectType(dn,objectClass)} %{filter:departmentLink(row,dn,description)} 2 %{filter:objectType(dn,objectClass)} cn string %{filter:link(row,dn,"%s",cn)} true description string %{filter:link(row,dn,"%s",description)} true %{filter:filterProperties(row,objectClass)} %{filter:actions(dn,row,objectClass)}
sub images/lists/new.png new entry plugins/netgroups/images/new.png separator edit entry images/lists/edit.png remove entry images/lists/trash.png exporter separator copypaste snapshot cp copypaste edit entry images/lists/edit.png snapshot snapshot remove entry images/lists/trash.png netgroups/netgroup[d]
gosa-plugins-netgroups-0.2/admin/netgroups/tabs_netgroup.inc000066400000000000000000000061171333552056700245120ustar00rootroot00000000000000addSpecialTabs(); } function save_object($save_current= FALSE) { tabs::save_object($save_current); /* Update reference, transfer variables */ $baseobject = $this->by_object['netgroup']; foreach ($this->by_object as $name => $obj) { /* Don't touch base object */ if ($name != 'netgroup') { $obj->parent = &$this; $obj->cn = $baseobject->cn; $this->by_object[$name] = $obj; } } } function delete() { /* Put baseobjects 'cn' to mailobjects 'uid' */ $baseobject = $this->by_object['netgroup']; tabs::delete(); } function save($ignore_account= FALSE) { $baseobject = $this->by_object['netgroup']; /* Check for new 'dn', in order to propagate the 'dn' to all plugins */ $new_dn = 'cn=' . $baseobject->cn . ',' . get_ou("netgroupSystem", "netgroupSystemRDN") . $baseobject->base; /* Move netgroup? */ if ($this->dn != $new_dn) { /* Write entry on new 'dn' */ if ($this->dn != "new") { $baseobject->update_acls($this->dn, $new_dn); $baseobject->move($this->dn, $new_dn); $this->by_object['netgroup'] = $baseobject; } /* Happen to use the new one */ $this->dn = $new_dn; } $ret = tabs::save(); return $ret; } function saveCopyDialog() { tabs::saveCopyDialog(); /* Update reference, transfer variables */ $baseobject = $this->by_object['netgroup']; foreach ($this->by_object as $name => $obj) { /* Don't touch base object */ if ($name != 'netgroup') { $obj->parent = &$this; $obj->cn = $baseobject->cn; $this->by_object[$name] = $obj; } } } } ?> gosa-plugins-netgroups-0.2/admin/netgroups/tripleSelect/000077500000000000000000000000001333552056700235755ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/admin/netgroups/tripleSelect/class_filterTriplesLDAP.inc000066400000000000000000000043561333552056700307560ustar00rootroot00000000000000get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->search("(&(objectClass=dNSZone)(relativeDomainName=".$entry['cn'][0].")(aRecord=*))", array("zoneName")); while ($attrs = $ldap->fetch()) { $entry['cn'][0] = $entry['cn'][0].".".$attrs['zoneName'][0]; $new_list[] = $entry; } } }else{ $new_list[] = $entry; } } return($new_list); } } ?> gosa-plugins-netgroups-0.2/admin/netgroups/tripleSelect/class_tripleSelect.inc000066400000000000000000000036401333552056700301170ustar00rootroot00000000000000config = $config; $this->ui = $ui; $this->storagePoints = array_unique(array( get_ou("core", "userRDN"), get_ou("netgroupSystem", "netgroupSystemRDN"), get_ou("servgeneric", "serverRDN"), get_ou("workgeneric", "workstationRDN"), get_ou("termgeneric", "terminalRDN"), get_ou("componentGeneric", "componentRDN"))); $myFilter = new filter(get_template_path("triple-filter.xml", true, dirname(__FILE__))); $myFilter->setObjectStorage($this->storagePoints); $this->setFilter($myFilter); // Build headpage $myHeadpage = new listing(get_template_path("triple-list.xml", true, dirname(__FILE__))); $myHeadpage->setFilter($myFilter); parent::__construct($config, $ui, "triples", $myHeadpage); } } ?> gosa-plugins-netgroups-0.2/admin/netgroups/tripleSelect/triple-filter.xml000066400000000000000000000016651333552056700271110ustar00rootroot00000000000000 netgroups true dn objectClass cn uid description auto default default TriplesLDAP (& (| (objectClass=nisNetgroup) (objectClass=ieee802Device) (objectClass=goServer) (objectClass=gotoWorkstation) (objectClass=gotoTerminal) (&(objectClass=posixAccount)(objectClass=gosaAccount)(!(objectClass=gosaUserTemplate))) ) (|(cn=$)(uid=$)) ) gosa-plugins-netgroups-0.2/admin/netgroups/tripleSelect/triple-list.tpl000066400000000000000000000012731333552056700265710ustar00rootroot00000000000000

{$HEADLINE} {$SIZELIMIT}

{$ROOT} {$BACK} {$HOME} {$RELOAD} {t}Base{/t} {$BASE} {$ACTIONS} {$FILTER}
{$LIST}
gosa-plugins-netgroups-0.2/admin/netgroups/tripleSelect/triple-list.xml000066400000000000000000000061061333552056700265720ustar00rootroot00000000000000 true false true true 1 nisNetgroup netgroups netgroup plugins/netgroups/images/select_netgroup.png posixAccount triples triple plugins/users/images/select_user.png goServer server servgeneric plugins/systems/images/select_server.png gotoWorkstation workstation workgeneric plugins/systems/images/select_workstation.png gotoTerminal terminal termgeneric plugins/systems/images/select_terminal.png ieee802Device component componentGeneric plugins/systems/images/select_component.png |20px;c||||| %{filter:objectType(dn,objectClass)} %{filter:departmentLink(row,dn,description)} 1 %{filter:objectType(dn,objectClass)} cn string %{cn} true uid string %{uid} true sn string %{sn} true description string %{description} true
gosa-plugins-netgroups-0.2/admin/systems/000077500000000000000000000000001333552056700206175ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/admin/systems/netgroups/000077500000000000000000000000001333552056700226455ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/admin/systems/netgroups/class_netgroupSystem.inc000066400000000000000000000250131333552056700275760ustar00rootroot00000000000000config = $config; /* Load bases attributes */ plugin::__construct($config, $dn); /* Setting cn to default */ if (isset($this->attrs['cn'][0])) { $this->cn = $this->attrs['cn'][0]; } // Extract host and domain name out of the cn $host = $this->cn; $domain = ""; $this->fqdn_found = TRUE; if(strpos($host, ".") === FALSE){ $domain = $this->getDNSZoneForHost($host); if(!$domain){ $this->fqdn_found = FALSE; } }else{ $domain = preg_replace("/^[^\.]*+\./", "", $host); $host = preg_replace("/\..*/", "", $host); } $this->host = $host; $this->domain = $domain; $this->fqdn = "{$host}.{$domain}"; if ($this->fqdn_found && $this->dn != "new") { $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(&(objectClass=nisNetgroup)(nisNetgroupTriple=*))", array("cn", "nisNetgroupTriple")); while ($attrs = $ldap->fetch()) { foreach ($attrs['nisNetgroupTriple'] as $val) { if (preg_match("/^\(" . $this->fqdn . ",\-?,(\S*)\)$/", $val, $matches)) { $this->addGroup($attrs['cn'][0]); } } } } $this->initial_netgroups = $this->netgroups; // Prepare lists $this->memberList = new sortableListing(array(),array(), FALSE); $this->memberList->setDeleteable(true); $this->memberList->setInstantDelete(false); $this->memberList->setEditable(false); $this->memberList->setWidth("100%"); $this->memberList->setHeight("300px"); $this->memberList->setColspecs(array('20px','*','*')); $this->memberList->setHeader(array("-",_("Name"),_("Description"))); $this->memberList->setDefaultSortColumn(1); } /* Returns the dns-domain name used by the given hostname * If no domainname could be identified, NULL is returned * */ function getDNSZoneForHost($host) { $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(&(objectClass=dNSZone)(relativeDomainName=".$host.")(aRecord=*))", array("zoneName")); while ($attrs = $ldap->fetch()) { return($attrs['zoneName'][0]); } return(NULL); } /* Removes a netgroup from this object * */ function removeGroup($name) { unset($this->objectInfo[$name]); unset($this->netgroups[$name]); } /* Adds a netgroup to this object * */ function addGroup($name, $attrs=NULL) { if($attrs){ $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(&(objectClass=nisNetgroup)(cn=".normalizeldap($name)."))", array("cn", "description")); if(!$ldap->count()){ return; } $attrs= $ldap->fetch(); } $desc = " "; if(isset($attrs['description'])){ $desc = $attrs['description'][0]; } $this->removeGroup($name); $this->objectInfo[$name] = array(image("plugins/netgroups/images/select_netgroup.png"), $name, $desc); $this->netgroups[$name] = $name; } /* Render the gui. * */ function execute($isCopyPaste = false) { /* Call parent execute */ plugin::execute(); $display = ""; // Set list Acls $this->memberList->setAcl($this->getacl("netgroups")); /* Log view */ if ($this->is_account && !$this->view_logged) { $this->view_logged = TRUE; new log("view", "users/" . get_class($this), $this->dn); } if (isset($_POST['del_netgroups']) && isset($_POST['netgroups']) && preg_match("/w/", $this->getacl("netgroups"))) { foreach ($_POST['netgroups'] as $value) { unset($this->netgroups["$value"]); } } /* Add objects? */ if (isset($_POST["edit_membership"]) && preg_match("/w/", $this->getacl("netgroups"))) { $this->netgroupSelect = new memberNisnetgroupSelect($this->config, get_userinfo()); $this->dialog = TRUE; } /* Add objects finished? */ if (isset($_POST["add_memberNisnetgroups_cancel"])) { $this->netgroupSelect = NULL; $this->dialog = FALSE; } /* Add to netgroup */ if (isset($_POST['add_memberNisnetgroups_finish']) && $this->netgroupSelect) { /* Get all the dn from netgroupSelect */ $users = $this->netgroupSelect->detectPostActions(); if (isset($users['targets'])) { $headpage = $this->netgroupSelect->getHeadpage(); foreach ($users['targets'] as $dn) { $attrs = $headpage->getEntry($dn); $this->addGroup($attrs['cn'][0]); } } $this->netgroupSelect = NULL; $this->dialog = FALSE; } /* Manage object add dialog */ if ($this->netgroupSelect) { return($this->netgroupSelect->execute()); } $data = $lData = array(); foreach($this->netgroups as $key => $name){ $data[$key] = $key; $lData[$key] = array('data'=> $this->objectInfo[$name]); } $this->memberList->setListData($data, $lData); $this->memberList->update(); // Assign smarty variables $smarty = get_smarty(); $smarty->assign("fqdn_found", $this->fqdn_found); $smarty->assign("memberList", $this->memberList->render()); $smarty->assign("netgroupsACL", $this->getacl("netgroups")); $display.= $smarty->fetch(get_template_path('netgroupSystem.tpl', TRUE, dirname(__FILE__))); return($display); } /* Take care of HTML POST actions * */ function save_object() { if (isset($_POST['nisnetgroupedit'])) { plugin::save_object(); $this->memberList->save_object(); $action = $this->memberList->getAction(); if(isset($action['action']) && $action['action'] == 'delete'){ foreach($action['targets'] as $id){ $this->removeGroup($entry = $this->memberList->getKey($id)); } } } } /* Save changes back to the ldap. * */ function save() { $orig_cn= $this->cn; /* Set cn if we have been created or renamed */ if ($this->is_new){ $this->cn= preg_replace('/^cn=([^,]+),.*/', '$1', $this->dn); } // If nothing has changed, just return if( (! (array_diff(array_keys($this->initial_netgroups), array_keys($this->netgroups)) || array_diff(array_keys($this->netgroups), array_keys($this->initial_netgroups)))) && ($this->cn===$orig_cn) ) { return; } $to_add = $to_del = array(); foreach(array_keys($this->netgroups) as $val){ $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(&(objectClass=nisNetgroup)(cn=".$val."))", array("dn")); while ($g_data = $ldap->fetch()) { $to_add[] = $g_data['dn']; } } foreach($to_add as $dn){ $ng = new netgroup($this->config, $dn); $ng->addTriple($this->cn, NULL, "", $this->attrs); if($orig_cn!==$this->cn) { /* The below code handles correct removal of NIS netgroup triples * when a system's hostname gets renamed. * * FIXME: This will fail if hostname and DNS zone get changed * at the same time. */ if(strpos($orig_cn, ".") === FALSE){ $domain = $this->getDNSZoneForHost($this->cn); if(!$domain){ msg_dialog::display(_("Failure when modifying NIS netgroup memberships for renamed system"), sprintf(_("Unable to detect FQDN for host '%s'!"), $this->cn), WARNING_DIALOG); } $host= $orig_cn; }else{ $domain = preg_replace("/^[^\.]*+\./", "", $this->cn); $host = preg_replace("/\..*/", "", $orig_cn); } if($domain) { $ng->removeTriple($host.".".$domain); } } $ng->save(); } $nonetgroups=array_diff(array_keys($this->initial_netgroups), array_keys($this->netgroups)); foreach($nonetgroups as $val){ $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(&(objectClass=nisNetgroup)(cn=".$val."))", array("dn")); while ($g_data = $ldap->fetch()) { $to_del[] = $g_data['dn']; } } foreach($to_del as $dn){ $ng = new netgroup($this->config, $dn); $host= $this->cn; if(strpos($host, ".") === FALSE){ $domain = $this->getDNSZoneForHost($host); if(!$domain){ msg_dialog::display(_("Failed to remove triple"), sprintf(_("Unable to detect FQDN for host '%s'!"), $host), WARNING_DIALOG); continue; } }else{ $domain = preg_replace("/^[^\.]*+\./", "", $host); $host = preg_replace("/\..*/", "", $host); } $ng->removeTriple($host.".".$domain); $ng->save(); } } /* Return plugin information * */ static function plInfo() { return (array( "plDescription" => _("NIS Netgroup member"), "plSelfModify" => FALSE, "plDepends" => array("user"), "plPriority" => 2, "plSection" => array("personal"), "plCategory" => array("users"), "plProperties" => array( array( "name" => "netgroupSystemRDN", "type" => "rdn", "default" => "ou=netgroups,", "description" => _("RDN for netgroup storage."), "check" => "gosaProperty::isRdn", "group" => "plugin", "mandatory" => FALSE)), "plOptions" => array(), "plProvidedAcls" => array( "netgroups" => _("NIS Netgroup")) )); } } ?> gosa-plugins-netgroups-0.2/admin/systems/netgroups/netgroupSystem.tpl000066400000000000000000000011051333552056700264330ustar00rootroot00000000000000{if !$fqdn_found}

{t}This host cannot be added to NIS Netgroups{/t}

{t}Only hosts with a fully qualified domain name or those with DNS settings enabled in GOsa can be added to NIS Netgroups!{/t}

{else} {render acl=$netgroupsACL} {$memberList} {/render}
{render acl=$netgroupsACL} {/render} {/if} gosa-plugins-netgroups-0.2/html/000077500000000000000000000000001333552056700167645ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/html/images/000077500000000000000000000000001333552056700202315ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/html/images/plugin.png000066400000000000000000000075311333552056700222430ustar00rootroot00000000000000PNG  IHDR00WsRGBbKGD pHYs11(RtIME+*FMIDATh͚yT՝?W[WuW@74 " }Dqrhp43D2:YD=rB49IfFc18g28uDA B7t7Mݵ?덀9yS^zV 2ӲxD\)O灂.,>J## -fyl^̜_$U?i{"ֶԩfi/[.lRxd mOcݲ&rCZ׽Oξ~ :4*аD{.-x6Z\ rB,|KeH!rU'wn+Rezc=͒ x~v@ӗ*㢋*pBXLlJ+N?$S'@N~a x$yz]aq bLV @30NvBg_QpQU%j/@`ބ?&Е.-W(CPn#yLjy hi0chH`)6 5seſ?2Č$SӄbOlH÷-~"~Zü8YhglŜk2Q5`HT4BA8q(? Ԁs4?]V|f~1NA"v {gϺZF*-Xiw #13E`Sk%|'ٕsk'})nAY5uќ:AP~7oջ-Y Wi97HՕ0hXPd_9J=9RJa5WˆvIl{MXVɧ޽{?>UUKE<BAMM YX}HH"  FC0P 8*NА?@Or.}GZd@ꜫ#f"xC4]񔩵&`̘aSkԐUP@J@(z2դ# (%?FxOfFy qQ7l$ I::; =j0Q|09L]ިRLxC 9AЮK&A&Ld׮]a0Hp8iH)1 c0 -YA)ݻ?>e>9md8r bTr7qpBP$HP..m 3g̠+Bvg3YK_qub^ #cs@63OIENDB`gosa-plugins-netgroups-0.2/html/images/select_netgroup.png000066400000000000000000000016101333552056700241370ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs11(RtIMERRQIDAT8mOhe?y7IܜV:u0PQn9ҹaa8󶓇2"v07PnNiVRh͒IH7P{>_~:Iֳ0MM'Ymφn]:scpĚ[7}7=?u  ={kf.;'&3,/ [J$Lb0,7x}YPzo`ѡMIk+z*l\P1-nyh@3P?֝>};@PF_8]/ѺFF'1H#2Z}bgN2٧?v­dW8ɹթ5U) ~t8"3M{}g(=O}&3,\l#0[;:v*[㯩:Stu"4lfP;a9,bCZ+(pMUɺQH&Hb]!<Ԅ W,"y+H($+AUWD|뺄m WHUFI 偲߷CdϾB*ߺ|>؈JJUH4Y0BGQAlX#Je]l0ih( [.1R qK٥CO5G"]17&LB{m߼/>vÃ\e㢈R#p//ULn)IENDB`gosa-plugins-netgroups-0.2/locale/000077500000000000000000000000001333552056700172575ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/locale/de/000077500000000000000000000000001333552056700176475ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/locale/de/LC_MESSAGES/000077500000000000000000000000001333552056700214345ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/locale/de/LC_MESSAGES/messages.po000066400000000000000000000172571333552056700236170ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Marcel Sandow , 2011. # Cajus Pollmeier , 2012. # msgid "" msgstr "" "Project-Id-Version: gosa-netgroups-plugin\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-07-27 16:57+0200\n" "PO-Revision-Date: 2011-06-03 23:28+0100\n" "Last-Translator: Marcel Sandow \n" "Language-Team: German <>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: German\n" "X-Poedit-Country: GERMANY\n" #: personal/netgroups/class_netgroupAccount.inc:28 #: personal/netgroups/class_netgroupAccount.inc:335 #: admin/systems/netgroups/class_netgroupSystem.inc:27 #: admin/systems/netgroups/class_netgroupSystem.inc:312 #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:14 #: admin/netgroups/netgroup-list.xml:15 admin/netgroups/netgroup-list.xml:79 #: admin/netgroups/tripleSelect/triple-list.xml:14 msgid "NIS Netgroup" msgstr "NIS Netgroup" #: personal/netgroups/class_netgroupAccount.inc:29 msgid "Choose NIS Netgroups for the user" msgstr "NIS Netgroups für den Benutzer auswählen" #: personal/netgroups/class_netgroupAccount.inc:89 #: admin/systems/netgroups/class_netgroupSystem.inc:103 #: admin/netgroups/netgroup-list.xml:41 admin/netgroups/class_netgroup.inc:120 #: admin/netgroups/class_netgroup.inc:587 #: admin/netgroups/class_netgroup.inc:597 #: admin/netgroups/class_netgroup.inc:599 #: admin/netgroups/class_netgroup.inc:711 msgid "Name" msgstr "Name" #: personal/netgroups/class_netgroupAccount.inc:89 #: admin/systems/netgroups/class_netgroupSystem.inc:103 #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:48 #: admin/netgroups/netgroup-list.xml:49 admin/netgroups/class_netgroup.inc:120 #: admin/netgroups/class_netgroup.inc:712 admin/netgroups/generic.tpl:25 #: admin/netgroups/tripleSelect/triple-list.xml:104 msgid "Description" msgstr "Beschreibung" #: personal/netgroups/class_netgroupAccount.inc:327 #: admin/systems/netgroups/class_netgroupSystem.inc:293 msgid "NIS Netgroup member" msgstr "NIS Netgroup Mitglied" #: personal/netgroups/netgroupAccount.tpl:1 #: admin/systems/netgroups/netgroupSystem.tpl:7 msgid "Member of the following NIS Netgroups" msgstr "Mitglied der folgenden NIS Netgroups" #: admin/systems/netgroups/netgroupSystem.tpl:2 msgid "This host cannot be added to NIS Netgroups" msgstr "Dieses System kann nicht zu NIS Netgroups hinzugefügt werden" #: admin/systems/netgroups/netgroupSystem.tpl:3 msgid "" "Only hosts with a fully qualified domain name or those with DNS settings " "enabled in GOsa can be added to NIS Netgroups!" msgstr "" "Nur Systeme mit einem voll qualifizierten Hostnamen oder die über GOsa/DNS " "verwaltet werden können zu NIS Netgroups hinzugefügt werden!" #: admin/systems/netgroups/class_netgroupSystem.inc:28 msgid "Choose NIS Netgroups for the system" msgstr "NIS Netgroups für das System auswählen" #: admin/systems/netgroups/class_netgroupSystem.inc:305 msgid "RDN for netgroup storage." msgstr "RDN für die Ablage von Netgroups." #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.tpl:12 #: admin/netgroups/class_netgroup.inc:713 admin/netgroups/generic.tpl:37 #: admin/netgroups/tripleSelect/triple-list.tpl:12 #: admin/netgroups/netgroup-list.tpl:12 msgid "Base" msgstr "Basis" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-filter.xml:20 #: admin/netgroups/netgroup-filter.xml:18 msgid "Default filter" msgstr "Standard-Filter" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:10 msgid "Please select the desired NIS Netgroups" msgstr "Bitte wählen Sie die gewünschten NIS Netgroups" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:40 #: admin/netgroups/tripleSelect/triple-list.xml:80 msgid "Common name" msgstr "Gewöhnlicher Name" #: admin/netgroups/netgroup-list.xml:11 msgid "List of NIS Netgroups" msgstr "NIS Netgroups Liste" #: admin/netgroups/netgroup-list.xml:57 msgid "Properties" msgstr "Eigenschaften" #: admin/netgroups/netgroup-list.xml:62 msgid "Actions" msgstr "Aktionen" #: admin/netgroups/netgroup-list.xml:73 msgid "Create" msgstr "Anlegen" #: admin/netgroups/netgroup-list.xml:91 msgid "Edit" msgstr "Bearbeiten" #: admin/netgroups/netgroup-list.xml:98 msgid "Remove" msgstr "Löschen" #: admin/netgroups/netgroup-list.xml:130 msgid "Edit NIS Netgroup" msgstr "NIS Netgroup bearbeiten" #: admin/netgroups/netgroup-list.xml:143 msgid "Remove NIS Netgroup" msgstr "NIS Netgroup löschen" #: admin/netgroups/class_netgroup.inc:120 msgid "Domain" msgstr "Domäne" #: admin/netgroups/class_netgroup.inc:330 msgid "Failed to add triple" msgstr "Tripple konnte nicht hinzugefügt werden" #: admin/netgroups/class_netgroup.inc:330 #, php-format msgid "Unable to detect FQDN for host '%s'!" msgstr "" "Der voll qualifizierte Hostname für '%s' konnte nicht ermittelt werden!" #: admin/netgroups/class_netgroup.inc:437 #: admin/netgroups/class_netgroup.inc:564 msgid "LDAP error" msgstr "LDAP Fehler" #: admin/netgroups/class_netgroup.inc:489 #: admin/netgroups/class_netgroup.inc:756 msgid "Error" msgstr "Fehler" #: admin/netgroups/class_netgroup.inc:671 msgid "NIS Netgroup Error" msgstr "NIS Netgroup Fehler" #: admin/netgroups/class_netgroup.inc:671 msgid "Error: There are a loop with NIS Netgroups" msgstr "Fehler: Es gibt eine Schleife mit NIS Netgroups" #: admin/netgroups/class_netgroup.inc:673 msgid "IMPORTANT: Check the members of NIS Netgroup" msgstr "WICHTIG: Überprüfen Sie die NIS Netgroup Mitglieder" #: admin/netgroups/class_netgroup.inc:703 msgid "Generic" msgstr "Allgemein" #: admin/netgroups/class_netgroup.inc:704 msgid "Generic NIS Netgroup settings" msgstr "Allgemeine NIS Netgroup Einstellungen" #: admin/netgroups/class_netgroup.inc:709 #: admin/netgroups/class_netgroupManagement.inc:27 msgid "NIS Netgroups" msgstr "NIS Netgroups" #: admin/netgroups/class_netgroup.inc:714 admin/netgroups/generic.tpl:57 msgid "NIS Netgroup members" msgstr "NIS Netgroup Mitglieder" #: admin/netgroups/generic.tpl:11 msgid "NIS Netgroup name" msgstr "NIS Netgroup Name" #: admin/netgroups/generic.tpl:14 msgid "Multiple edit" msgstr "Mehrere bearbeiten" #: admin/netgroups/generic.tpl:18 msgid "Name of the NIS Netgroup" msgstr "NIS Netgroup Name" #: admin/netgroups/generic.tpl:30 msgid "Descriptive text for this NIS Netgroup" msgstr "NIS Netgroup Beschreibung" #: admin/netgroups/tripleSelect/triple-filter.xml:18 msgid "Default" msgstr "Standard" #: admin/netgroups/tripleSelect/triple-list.xml:10 msgid "Please select the desired entries" msgstr "Bitte wählen Sie die gewünschten Einträge" #: admin/netgroups/tripleSelect/triple-list.xml:22 msgid "User" msgstr "Benutzer" #: admin/netgroups/tripleSelect/triple-list.xml:30 msgid "Server" msgstr "Server" #: admin/netgroups/tripleSelect/triple-list.xml:38 msgid "Workstation" msgstr "Arbeitsplatzrechner" #: admin/netgroups/tripleSelect/triple-list.xml:46 msgid "Terminal" msgstr "Terminal" #: admin/netgroups/tripleSelect/triple-list.xml:54 msgid "Component" msgstr "Komponente" #: admin/netgroups/tripleSelect/triple-list.xml:88 msgid "Login" msgstr "Login" #: admin/netgroups/tripleSelect/triple-list.xml:96 msgid "Surname" msgstr "Nachname" #: admin/netgroups/class_netgroupManagement.inc:28 msgid "NIS Netgroups management" msgstr "NIS Netgroups Verwaltung" #~ msgid "Filter" #~ msgstr "Filter" #~ msgid "Show NIS Netgroups" #~ msgstr "NIS Netgroups anzeigen" #~ msgid "Show Users" #~ msgstr "Benutzer anzeigen" #~ msgid "Show Hosts" #~ msgstr "Hosts anzeigen" #~ msgid "Show NIS Netgroup" #~ msgstr "NIS Netgroup anzeigen" gosa-plugins-netgroups-0.2/locale/es/000077500000000000000000000000001333552056700176665ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/locale/es/LC_MESSAGES/000077500000000000000000000000001333552056700214535ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/locale/es/LC_MESSAGES/messages.po000066400000000000000000000201201333552056700236150ustar00rootroot00000000000000# Header entry was created by Lokalize. # # thoth, 2011. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-07-27 16:57+0200\n" "PO-Revision-Date: 2011-05-12 02:26+0200\n" "Last-Translator: thoth\n" "Language-Team: Spanish <>\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: personal/netgroups/class_netgroupAccount.inc:28 #: personal/netgroups/class_netgroupAccount.inc:335 #: admin/systems/netgroups/class_netgroupSystem.inc:27 #: admin/systems/netgroups/class_netgroupSystem.inc:312 #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:14 #: admin/netgroups/netgroup-list.xml:15 admin/netgroups/netgroup-list.xml:79 #: admin/netgroups/tripleSelect/triple-list.xml:14 msgid "NIS Netgroup" msgstr "NIS Netgroup" #: personal/netgroups/class_netgroupAccount.inc:29 msgid "Choose NIS Netgroups for the user" msgstr "Elija los NIS Netgroups para el usuario" #: personal/netgroups/class_netgroupAccount.inc:89 #: admin/systems/netgroups/class_netgroupSystem.inc:103 #: admin/netgroups/netgroup-list.xml:41 admin/netgroups/class_netgroup.inc:120 #: admin/netgroups/class_netgroup.inc:587 #: admin/netgroups/class_netgroup.inc:597 #: admin/netgroups/class_netgroup.inc:599 #: admin/netgroups/class_netgroup.inc:711 msgid "Name" msgstr "Nombre" #: personal/netgroups/class_netgroupAccount.inc:89 #: admin/systems/netgroups/class_netgroupSystem.inc:103 #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:48 #: admin/netgroups/netgroup-list.xml:49 admin/netgroups/class_netgroup.inc:120 #: admin/netgroups/class_netgroup.inc:712 admin/netgroups/generic.tpl:25 #: admin/netgroups/tripleSelect/triple-list.xml:104 msgid "Description" msgstr "Descripción" #: personal/netgroups/class_netgroupAccount.inc:327 #: admin/systems/netgroups/class_netgroupSystem.inc:293 msgid "NIS Netgroup member" msgstr "Miembro del NIS Netgroup" #: personal/netgroups/netgroupAccount.tpl:1 #: admin/systems/netgroups/netgroupSystem.tpl:7 msgid "Member of the following NIS Netgroups" msgstr "Miembros de los siguientes NIS Netgroups" #: admin/systems/netgroups/netgroupSystem.tpl:2 #, fuzzy msgid "This host cannot be added to NIS Netgroups" msgstr "Por favor seleccione los NIS Netgroups que desee" #: admin/systems/netgroups/netgroupSystem.tpl:3 msgid "" "Only hosts with a fully qualified domain name or those with DNS settings " "enabled in GOsa can be added to NIS Netgroups!" msgstr "" #: admin/systems/netgroups/class_netgroupSystem.inc:28 #, fuzzy msgid "Choose NIS Netgroups for the system" msgstr "Elija los NIS Netgroups para el usuario" #: admin/systems/netgroups/class_netgroupSystem.inc:305 msgid "RDN for netgroup storage." msgstr "" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.tpl:12 #: admin/netgroups/class_netgroup.inc:713 admin/netgroups/generic.tpl:37 #: admin/netgroups/tripleSelect/triple-list.tpl:12 #: admin/netgroups/netgroup-list.tpl:12 msgid "Base" msgstr "Base" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-filter.xml:20 #: admin/netgroups/netgroup-filter.xml:18 msgid "Default filter" msgstr "" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:10 msgid "Please select the desired NIS Netgroups" msgstr "Por favor seleccione los NIS Netgroups que desee" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:40 #: admin/netgroups/tripleSelect/triple-list.xml:80 msgid "Common name" msgstr "Nombre común" #: admin/netgroups/netgroup-list.xml:11 msgid "List of NIS Netgroups" msgstr "Lista de NIS Netgroups" #: admin/netgroups/netgroup-list.xml:57 msgid "Properties" msgstr "Propiedades" #: admin/netgroups/netgroup-list.xml:62 msgid "Actions" msgstr "Acciones" #: admin/netgroups/netgroup-list.xml:73 msgid "Create" msgstr "Crear" #: admin/netgroups/netgroup-list.xml:91 msgid "Edit" msgstr "Editar" #: admin/netgroups/netgroup-list.xml:98 msgid "Remove" msgstr "Eliminar" #: admin/netgroups/netgroup-list.xml:130 msgid "Edit NIS Netgroup" msgstr "Editar NIS Netgroup" #: admin/netgroups/netgroup-list.xml:143 msgid "Remove NIS Netgroup" msgstr "Eliminar NIS Netgroup" #: admin/netgroups/class_netgroup.inc:120 msgid "Domain" msgstr "" #: admin/netgroups/class_netgroup.inc:330 msgid "Failed to add triple" msgstr "" #: admin/netgroups/class_netgroup.inc:330 #, php-format msgid "Unable to detect FQDN for host '%s'!" msgstr "" #: admin/netgroups/class_netgroup.inc:437 #: admin/netgroups/class_netgroup.inc:564 msgid "LDAP error" msgstr "Error LDAP" #: admin/netgroups/class_netgroup.inc:489 #: admin/netgroups/class_netgroup.inc:756 msgid "Error" msgstr "Error" #: admin/netgroups/class_netgroup.inc:671 msgid "NIS Netgroup Error" msgstr "Error en NIS Netgroup" #: admin/netgroups/class_netgroup.inc:671 msgid "Error: There are a loop with NIS Netgroups" msgstr "Error: Existe un bucle en los NIS Netgroups" #: admin/netgroups/class_netgroup.inc:673 msgid "IMPORTANT: Check the members of NIS Netgroup" msgstr "IMPORTANTE: Compruebe los miembros del NIS Netgroup" #: admin/netgroups/class_netgroup.inc:703 msgid "Generic" msgstr "Genérico" #: admin/netgroups/class_netgroup.inc:704 msgid "Generic NIS Netgroup settings" msgstr "Parámetros genéricos de NIS Netgroup" #: admin/netgroups/class_netgroup.inc:709 #: admin/netgroups/class_netgroupManagement.inc:27 msgid "NIS Netgroups" msgstr "NIS Netgroups" #: admin/netgroups/class_netgroup.inc:714 admin/netgroups/generic.tpl:57 msgid "NIS Netgroup members" msgstr "Miembros del NIS Netgroup" #: admin/netgroups/generic.tpl:11 msgid "NIS Netgroup name" msgstr "Nombre NIS Netgroup" #: admin/netgroups/generic.tpl:14 msgid "Multiple edit" msgstr "Edición multiple" #: admin/netgroups/generic.tpl:18 msgid "Name of the NIS Netgroup" msgstr "Nombre del NIS Netgroup" #: admin/netgroups/generic.tpl:30 msgid "Descriptive text for this NIS Netgroup" msgstr "Texto descriptivo para este NIS Netgroup" #: admin/netgroups/tripleSelect/triple-filter.xml:18 msgid "Default" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:10 msgid "Please select the desired entries" msgstr "Por favor seleccione las entradas que desee" #: admin/netgroups/tripleSelect/triple-list.xml:22 msgid "User" msgstr "Usuario" #: admin/netgroups/tripleSelect/triple-list.xml:30 msgid "Server" msgstr "Servidor" #: admin/netgroups/tripleSelect/triple-list.xml:38 msgid "Workstation" msgstr "Estación de trabajo" #: admin/netgroups/tripleSelect/triple-list.xml:46 msgid "Terminal" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:54 msgid "Component" msgstr "componente" #: admin/netgroups/tripleSelect/triple-list.xml:88 msgid "Login" msgstr "Inicio" #: admin/netgroups/tripleSelect/triple-list.xml:96 msgid "Surname" msgstr "Apellido" #: admin/netgroups/class_netgroupManagement.inc:28 msgid "NIS Netgroups management" msgstr "Administración NIS Netgroups" #~ msgid "Filter" #~ msgstr "Filtro" #~ msgid "Show NIS Netgroups" #~ msgstr "Mostrar NIS Netgroups" #~ msgid "Show Users" #~ msgstr "Mostrar usuarios" #~ msgid "Show Hosts" #~ msgstr "Mostrar equipos" #~ msgid "Show NIS Netgroup" #~ msgstr "Mostrar NIS Netgroup" #~ msgid "In all NIS Netgroups" #~ msgstr "En todos los NIS Netgroups" #~ msgid "Not in all NIS Netgroups" #~ msgstr "En ningún NIS Netgroups" #~ msgid "Choose NIS Netgroups for the host" #~ msgstr "Elija los NIS Netgroups para el equipo" #, fuzzy #~ msgid "Add CN/UID '%s' to NIS netgroup '%s' failed: cannot find object!" #~ msgstr "" #~ "¡Añadir CN/UID '%s' al NIS netgroup '%s ha fallado: no podemos encontrar " #~ "el objeto!" #~ msgid "! unknown UID/CN" #~ msgstr "¡CN/UID desconocido!" #~ msgid "Host" #~ msgstr "Nombre de equipo" #~ msgid "Network Device" #~ msgstr "Dispositivo de Red" #~ msgid "" #~ "Add CN/UID '%s' to NIS netgroup '%s' failed: CN/UID is used more than " #~ "once!" #~ msgstr "" #~ "¡Añadir CN/UID '%s' al NIS netgroup '%s ha fallado: el CN/UID es usado " #~ "mas de una vez!" #, fuzzy #~ msgid "nisNetgroup" #~ msgstr "NetGroups" #, fuzzy #~ msgid "nisNetgroup member" #~ msgstr "Miembros del NIS Netgroup" gosa-plugins-netgroups-0.2/locale/fr/000077500000000000000000000000001333552056700176665ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/locale/fr/LC_MESSAGES/000077500000000000000000000000001333552056700214535ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/locale/fr/LC_MESSAGES/messages.po000066400000000000000000000175321333552056700236320ustar00rootroot00000000000000# translation of messages.po to # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Benoit Mortier , 2011. msgid "" msgstr "" "Project-Id-Version: messages\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-07-27 16:57+0200\n" "PO-Revision-Date: 2011-06-26 00:01+0200\n" "Last-Translator: Benoit Mortier \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: personal/netgroups/class_netgroupAccount.inc:28 #: personal/netgroups/class_netgroupAccount.inc:335 #: admin/systems/netgroups/class_netgroupSystem.inc:27 #: admin/systems/netgroups/class_netgroupSystem.inc:312 #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:14 #: admin/netgroups/netgroup-list.xml:15 admin/netgroups/netgroup-list.xml:79 #: admin/netgroups/tripleSelect/triple-list.xml:14 msgid "NIS Netgroup" msgstr "Groupe NIS" #: personal/netgroups/class_netgroupAccount.inc:29 msgid "Choose NIS Netgroups for the user" msgstr "Choisissez le groupe NIS de l'utilisateur" #: personal/netgroups/class_netgroupAccount.inc:89 #: admin/systems/netgroups/class_netgroupSystem.inc:103 #: admin/netgroups/netgroup-list.xml:41 admin/netgroups/class_netgroup.inc:120 #: admin/netgroups/class_netgroup.inc:587 #: admin/netgroups/class_netgroup.inc:597 #: admin/netgroups/class_netgroup.inc:599 #: admin/netgroups/class_netgroup.inc:711 msgid "Name" msgstr "Nom" #: personal/netgroups/class_netgroupAccount.inc:89 #: admin/systems/netgroups/class_netgroupSystem.inc:103 #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:48 #: admin/netgroups/netgroup-list.xml:49 admin/netgroups/class_netgroup.inc:120 #: admin/netgroups/class_netgroup.inc:712 admin/netgroups/generic.tpl:25 #: admin/netgroups/tripleSelect/triple-list.xml:104 msgid "Description" msgstr "" #: personal/netgroups/class_netgroupAccount.inc:327 #: admin/systems/netgroups/class_netgroupSystem.inc:293 msgid "NIS Netgroup member" msgstr "Membre d'un groupe NIS" #: personal/netgroups/netgroupAccount.tpl:1 #: admin/systems/netgroups/netgroupSystem.tpl:7 msgid "Member of the following NIS Netgroups" msgstr "Membre des groupes NIS suivants" #: admin/systems/netgroups/netgroupSystem.tpl:2 #, fuzzy msgid "This host cannot be added to NIS Netgroups" msgstr "Veuillez sélectionner le groupe NIS désiré" #: admin/systems/netgroups/netgroupSystem.tpl:3 msgid "" "Only hosts with a fully qualified domain name or those with DNS settings " "enabled in GOsa can be added to NIS Netgroups!" msgstr "" #: admin/systems/netgroups/class_netgroupSystem.inc:28 #, fuzzy msgid "Choose NIS Netgroups for the system" msgstr "Choisissez le groupe NIS de l'utilisateur" #: admin/systems/netgroups/class_netgroupSystem.inc:305 msgid "RDN for netgroup storage." msgstr "" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.tpl:12 #: admin/netgroups/class_netgroup.inc:713 admin/netgroups/generic.tpl:37 #: admin/netgroups/tripleSelect/triple-list.tpl:12 #: admin/netgroups/netgroup-list.tpl:12 msgid "Base" msgstr "" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-filter.xml:20 #: admin/netgroups/netgroup-filter.xml:18 msgid "Default filter" msgstr "" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:10 msgid "Please select the desired NIS Netgroups" msgstr "Veuillez sélectionner le groupe NIS désiré" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:40 #: admin/netgroups/tripleSelect/triple-list.xml:80 msgid "Common name" msgstr "Nom commun" #: admin/netgroups/netgroup-list.xml:11 msgid "List of NIS Netgroups" msgstr "Liste des groupes NIS" #: admin/netgroups/netgroup-list.xml:57 msgid "Properties" msgstr "Propriétés" #: admin/netgroups/netgroup-list.xml:62 msgid "Actions" msgstr "" #: admin/netgroups/netgroup-list.xml:73 msgid "Create" msgstr "Créer" #: admin/netgroups/netgroup-list.xml:91 msgid "Edit" msgstr "Editer" #: admin/netgroups/netgroup-list.xml:98 msgid "Remove" msgstr "Effacer" #: admin/netgroups/netgroup-list.xml:130 msgid "Edit NIS Netgroup" msgstr "Editer le groupe NIS" #: admin/netgroups/netgroup-list.xml:143 msgid "Remove NIS Netgroup" msgstr "Effacer le groupe NIS" #: admin/netgroups/class_netgroup.inc:120 msgid "Domain" msgstr "" #: admin/netgroups/class_netgroup.inc:330 msgid "Failed to add triple" msgstr "" #: admin/netgroups/class_netgroup.inc:330 #, php-format msgid "Unable to detect FQDN for host '%s'!" msgstr "" #: admin/netgroups/class_netgroup.inc:437 #: admin/netgroups/class_netgroup.inc:564 msgid "LDAP error" msgstr "Erreur LDAP" #: admin/netgroups/class_netgroup.inc:489 #: admin/netgroups/class_netgroup.inc:756 msgid "Error" msgstr "Erreur" #: admin/netgroups/class_netgroup.inc:671 msgid "NIS Netgroup Error" msgstr "Erreur de groupe NIS" #: admin/netgroups/class_netgroup.inc:671 msgid "Error: There are a loop with NIS Netgroups" msgstr "Erreur: il y a une boucle dans les groupes NIS" #: admin/netgroups/class_netgroup.inc:673 msgid "IMPORTANT: Check the members of NIS Netgroup" msgstr "IMPORTANT: vérifier les membres du groupe NIS" #: admin/netgroups/class_netgroup.inc:703 msgid "Generic" msgstr "Générique" #: admin/netgroups/class_netgroup.inc:704 msgid "Generic NIS Netgroup settings" msgstr "Paramètres de base des groupes NIS" #: admin/netgroups/class_netgroup.inc:709 #: admin/netgroups/class_netgroupManagement.inc:27 msgid "NIS Netgroups" msgstr "Groupes NIS" #: admin/netgroups/class_netgroup.inc:714 admin/netgroups/generic.tpl:57 msgid "NIS Netgroup members" msgstr "Membres d'un groupe NIS" #: admin/netgroups/generic.tpl:11 msgid "NIS Netgroup name" msgstr "Nom du groupe NIS" #: admin/netgroups/generic.tpl:14 msgid "Multiple edit" msgstr "Edition multiple" #: admin/netgroups/generic.tpl:18 msgid "Name of the NIS Netgroup" msgstr "Nom du groupe NIS" #: admin/netgroups/generic.tpl:30 msgid "Descriptive text for this NIS Netgroup" msgstr "Description du groupe NIS" #: admin/netgroups/tripleSelect/triple-filter.xml:18 msgid "Default" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:10 msgid "Please select the desired entries" msgstr "Veuillez sélectionner les entrée désirées" #: admin/netgroups/tripleSelect/triple-list.xml:22 msgid "User" msgstr "Utilisateur" #: admin/netgroups/tripleSelect/triple-list.xml:30 msgid "Server" msgstr "Serveur" #: admin/netgroups/tripleSelect/triple-list.xml:38 msgid "Workstation" msgstr "Poste de travail" #: admin/netgroups/tripleSelect/triple-list.xml:46 msgid "Terminal" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:54 msgid "Component" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:88 msgid "Login" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:96 msgid "Surname" msgstr "Nom" #: admin/netgroups/class_netgroupManagement.inc:28 msgid "NIS Netgroups management" msgstr "Gestion des groupes NIS" #~ msgid "Filter" #~ msgstr "Filtre" #~ msgid "Show NIS Netgroups" #~ msgstr "Montrer les groupes NIS" #~ msgid "Show Users" #~ msgstr "Montrer les utilisateurs" #~ msgid "Show Hosts" #~ msgstr "Montrer les hôtes" #~ msgid "Show NIS Netgroup" #~ msgstr "Montrer les groupes NIS" #~ msgid "In all NIS Netgroups" #~ msgstr "Dans tout les groupes NIS" #~ msgid "Not in all NIS Netgroups" #~ msgstr "Pas dans tout les groupes NIS" #~ msgid "Choose NIS Netgroups for the host" #~ msgstr "Choisir le groupe NIS pour l'hôte" #~ msgid "Add CN/UID '%s' to NIS netgroup '%s' failed: cannot find object!" #~ msgstr "" #~ "L'ajout du CN/UID '%s' au groupe NIS '%s' a échoué: impossible de trouver " #~ "l'objet !" #~ msgid "! unknown UID/CN" #~ msgstr "! UID/CN inconnu" #~ msgid "Host" #~ msgstr "Hôte" #~ msgid "Network Device" #~ msgstr "Périphérique réseau" gosa-plugins-netgroups-0.2/locale/messages.po000066400000000000000000000142531333552056700214330ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-07-27 16:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: personal/netgroups/class_netgroupAccount.inc:28 #: personal/netgroups/class_netgroupAccount.inc:335 #: admin/systems/netgroups/class_netgroupSystem.inc:27 #: admin/systems/netgroups/class_netgroupSystem.inc:312 #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:14 #: admin/netgroups/netgroup-list.xml:15 admin/netgroups/netgroup-list.xml:79 #: admin/netgroups/tripleSelect/triple-list.xml:14 msgid "NIS Netgroup" msgstr "" #: personal/netgroups/class_netgroupAccount.inc:29 msgid "Choose NIS Netgroups for the user" msgstr "" #: personal/netgroups/class_netgroupAccount.inc:89 #: admin/systems/netgroups/class_netgroupSystem.inc:103 #: admin/netgroups/netgroup-list.xml:41 admin/netgroups/class_netgroup.inc:120 #: admin/netgroups/class_netgroup.inc:587 #: admin/netgroups/class_netgroup.inc:597 #: admin/netgroups/class_netgroup.inc:599 #: admin/netgroups/class_netgroup.inc:711 msgid "Name" msgstr "" #: personal/netgroups/class_netgroupAccount.inc:89 #: admin/systems/netgroups/class_netgroupSystem.inc:103 #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:48 #: admin/netgroups/netgroup-list.xml:49 admin/netgroups/class_netgroup.inc:120 #: admin/netgroups/class_netgroup.inc:712 admin/netgroups/generic.tpl:25 #: admin/netgroups/tripleSelect/triple-list.xml:104 msgid "Description" msgstr "" #: personal/netgroups/class_netgroupAccount.inc:327 #: admin/systems/netgroups/class_netgroupSystem.inc:293 msgid "NIS Netgroup member" msgstr "" #: personal/netgroups/netgroupAccount.tpl:1 #: admin/systems/netgroups/netgroupSystem.tpl:7 msgid "Member of the following NIS Netgroups" msgstr "" #: admin/systems/netgroups/netgroupSystem.tpl:2 msgid "This host cannot be added to NIS Netgroups" msgstr "" #: admin/systems/netgroups/netgroupSystem.tpl:3 msgid "" "Only hosts with a fully qualified domain name or those with DNS settings " "enabled in GOsa can be added to NIS Netgroups!" msgstr "" #: admin/systems/netgroups/class_netgroupSystem.inc:28 msgid "Choose NIS Netgroups for the system" msgstr "" #: admin/systems/netgroups/class_netgroupSystem.inc:305 msgid "RDN for netgroup storage." msgstr "" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.tpl:12 #: admin/netgroups/class_netgroup.inc:713 admin/netgroups/generic.tpl:37 #: admin/netgroups/tripleSelect/triple-list.tpl:12 #: admin/netgroups/netgroup-list.tpl:12 msgid "Base" msgstr "" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-filter.xml:20 #: admin/netgroups/netgroup-filter.xml:18 msgid "Default filter" msgstr "" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:10 msgid "Please select the desired NIS Netgroups" msgstr "" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:40 #: admin/netgroups/tripleSelect/triple-list.xml:80 msgid "Common name" msgstr "" #: admin/netgroups/netgroup-list.xml:11 msgid "List of NIS Netgroups" msgstr "" #: admin/netgroups/netgroup-list.xml:57 msgid "Properties" msgstr "" #: admin/netgroups/netgroup-list.xml:62 msgid "Actions" msgstr "" #: admin/netgroups/netgroup-list.xml:73 msgid "Create" msgstr "" #: admin/netgroups/netgroup-list.xml:91 msgid "Edit" msgstr "" #: admin/netgroups/netgroup-list.xml:98 msgid "Remove" msgstr "" #: admin/netgroups/netgroup-list.xml:130 msgid "Edit NIS Netgroup" msgstr "" #: admin/netgroups/netgroup-list.xml:143 msgid "Remove NIS Netgroup" msgstr "" #: admin/netgroups/class_netgroup.inc:120 msgid "Domain" msgstr "" #: admin/netgroups/class_netgroup.inc:330 msgid "Failed to add triple" msgstr "" #: admin/netgroups/class_netgroup.inc:330 #, php-format msgid "Unable to detect FQDN for host '%s'!" msgstr "" #: admin/netgroups/class_netgroup.inc:437 #: admin/netgroups/class_netgroup.inc:564 msgid "LDAP error" msgstr "" #: admin/netgroups/class_netgroup.inc:489 #: admin/netgroups/class_netgroup.inc:756 msgid "Error" msgstr "" #: admin/netgroups/class_netgroup.inc:671 msgid "NIS Netgroup Error" msgstr "" #: admin/netgroups/class_netgroup.inc:671 msgid "Error: There are a loop with NIS Netgroups" msgstr "" #: admin/netgroups/class_netgroup.inc:673 msgid "IMPORTANT: Check the members of NIS Netgroup" msgstr "" #: admin/netgroups/class_netgroup.inc:703 msgid "Generic" msgstr "" #: admin/netgroups/class_netgroup.inc:704 msgid "Generic NIS Netgroup settings" msgstr "" #: admin/netgroups/class_netgroup.inc:709 #: admin/netgroups/class_netgroupManagement.inc:27 msgid "NIS Netgroups" msgstr "" #: admin/netgroups/class_netgroup.inc:714 admin/netgroups/generic.tpl:57 msgid "NIS Netgroup members" msgstr "" #: admin/netgroups/generic.tpl:11 msgid "NIS Netgroup name" msgstr "" #: admin/netgroups/generic.tpl:14 msgid "Multiple edit" msgstr "" #: admin/netgroups/generic.tpl:18 msgid "Name of the NIS Netgroup" msgstr "" #: admin/netgroups/generic.tpl:30 msgid "Descriptive text for this NIS Netgroup" msgstr "" #: admin/netgroups/tripleSelect/triple-filter.xml:18 msgid "Default" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:10 msgid "Please select the desired entries" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:22 msgid "User" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:30 msgid "Server" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:38 msgid "Workstation" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:46 msgid "Terminal" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:54 msgid "Component" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:88 msgid "Login" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:96 msgid "Surname" msgstr "" #: admin/netgroups/class_netgroupManagement.inc:28 msgid "NIS Netgroups management" msgstr "" gosa-plugins-netgroups-0.2/locale/nb/000077500000000000000000000000001333552056700176565ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/locale/nb/LC_MESSAGES/000077500000000000000000000000001333552056700214435ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/locale/nb/LC_MESSAGES/messages.po000066400000000000000000000166341333552056700236240ustar00rootroot00000000000000# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Petter Reinholdtsen , 2012. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-07-27 16:57+0200\n" "PO-Revision-Date: 2012-01-10 20:13+0100\n" "Last-Translator: Petter Reinholdtsen \n" "Language-Team: Norwegian Bokmål \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #: personal/netgroups/class_netgroupAccount.inc:28 #: personal/netgroups/class_netgroupAccount.inc:335 #: admin/systems/netgroups/class_netgroupSystem.inc:27 #: admin/systems/netgroups/class_netgroupSystem.inc:312 #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:14 #: admin/netgroups/netgroup-list.xml:15 admin/netgroups/netgroup-list.xml:79 #: admin/netgroups/tripleSelect/triple-list.xml:14 msgid "NIS Netgroup" msgstr "NIS-nettgruppe" #: personal/netgroups/class_netgroupAccount.inc:29 msgid "Choose NIS Netgroups for the user" msgstr "Velg NIS-nettgrupper for brukeren" #: personal/netgroups/class_netgroupAccount.inc:89 #: admin/systems/netgroups/class_netgroupSystem.inc:103 #: admin/netgroups/netgroup-list.xml:41 admin/netgroups/class_netgroup.inc:120 #: admin/netgroups/class_netgroup.inc:587 #: admin/netgroups/class_netgroup.inc:597 #: admin/netgroups/class_netgroup.inc:599 #: admin/netgroups/class_netgroup.inc:711 msgid "Name" msgstr "Navn" #: personal/netgroups/class_netgroupAccount.inc:89 #: admin/systems/netgroups/class_netgroupSystem.inc:103 #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:48 #: admin/netgroups/netgroup-list.xml:49 admin/netgroups/class_netgroup.inc:120 #: admin/netgroups/class_netgroup.inc:712 admin/netgroups/generic.tpl:25 #: admin/netgroups/tripleSelect/triple-list.xml:104 msgid "Description" msgstr "Beskrivelse" #: personal/netgroups/class_netgroupAccount.inc:327 #: admin/systems/netgroups/class_netgroupSystem.inc:293 msgid "NIS Netgroup member" msgstr "NIS-nettgruppemedlem" #: personal/netgroups/netgroupAccount.tpl:1 #: admin/systems/netgroups/netgroupSystem.tpl:7 msgid "Member of the following NIS Netgroups" msgstr "Medlem av de følgende NIS-nettgrupper" #: admin/systems/netgroups/netgroupSystem.tpl:2 #, fuzzy msgid "This host cannot be added to NIS Netgroups" msgstr "Velg ønsket NIS-nettgrupper" #: admin/systems/netgroups/netgroupSystem.tpl:3 msgid "" "Only hosts with a fully qualified domain name or those with DNS settings " "enabled in GOsa can be added to NIS Netgroups!" msgstr "" #: admin/systems/netgroups/class_netgroupSystem.inc:28 #, fuzzy msgid "Choose NIS Netgroups for the system" msgstr "Velg NIS-nettgrupper for brukeren" #: admin/systems/netgroups/class_netgroupSystem.inc:305 msgid "RDN for netgroup storage." msgstr "" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.tpl:12 #: admin/netgroups/class_netgroup.inc:713 admin/netgroups/generic.tpl:37 #: admin/netgroups/tripleSelect/triple-list.tpl:12 #: admin/netgroups/netgroup-list.tpl:12 msgid "Base" msgstr "" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-filter.xml:20 #: admin/netgroups/netgroup-filter.xml:18 msgid "Default filter" msgstr "" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:10 msgid "Please select the desired NIS Netgroups" msgstr "Velg ønsket NIS-nettgrupper" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:40 #: admin/netgroups/tripleSelect/triple-list.xml:80 msgid "Common name" msgstr "" #: admin/netgroups/netgroup-list.xml:11 msgid "List of NIS Netgroups" msgstr "Liste med NIS-nettgrupper" #: admin/netgroups/netgroup-list.xml:57 msgid "Properties" msgstr "Egenskaper" #: admin/netgroups/netgroup-list.xml:62 msgid "Actions" msgstr "" #: admin/netgroups/netgroup-list.xml:73 msgid "Create" msgstr "Opprett" #: admin/netgroups/netgroup-list.xml:91 msgid "Edit" msgstr "Endre" #: admin/netgroups/netgroup-list.xml:98 msgid "Remove" msgstr "Fjern" #: admin/netgroups/netgroup-list.xml:130 msgid "Edit NIS Netgroup" msgstr "Endre NIS-nettgruppe" #: admin/netgroups/netgroup-list.xml:143 msgid "Remove NIS Netgroup" msgstr "Fjern NIS-nettgruppe" #: admin/netgroups/class_netgroup.inc:120 msgid "Domain" msgstr "" #: admin/netgroups/class_netgroup.inc:330 msgid "Failed to add triple" msgstr "" #: admin/netgroups/class_netgroup.inc:330 #, php-format msgid "Unable to detect FQDN for host '%s'!" msgstr "" #: admin/netgroups/class_netgroup.inc:437 #: admin/netgroups/class_netgroup.inc:564 msgid "LDAP error" msgstr "LDAP-feil" #: admin/netgroups/class_netgroup.inc:489 #: admin/netgroups/class_netgroup.inc:756 msgid "Error" msgstr "Feil" #: admin/netgroups/class_netgroup.inc:671 msgid "NIS Netgroup Error" msgstr "NIS-nettgruppefeil" #: admin/netgroups/class_netgroup.inc:671 msgid "Error: There are a loop with NIS Netgroups" msgstr "Feil: Det er en løkke i NIS-nettgruppene" #: admin/netgroups/class_netgroup.inc:673 msgid "IMPORTANT: Check the members of NIS Netgroup" msgstr "VIKTIG: Sjekk medlemmene i NIS-nettgruppe" #: admin/netgroups/class_netgroup.inc:703 msgid "Generic" msgstr "Generisk" #: admin/netgroups/class_netgroup.inc:704 msgid "Generic NIS Netgroup settings" msgstr "Generiske NIS-nettgruppeoppsett" #: admin/netgroups/class_netgroup.inc:709 #: admin/netgroups/class_netgroupManagement.inc:27 msgid "NIS Netgroups" msgstr "NIS-nettgrupper" #: admin/netgroups/class_netgroup.inc:714 admin/netgroups/generic.tpl:57 msgid "NIS Netgroup members" msgstr "NIS-nettgruppemedlemmer" #: admin/netgroups/generic.tpl:11 msgid "NIS Netgroup name" msgstr "NIS-nettgruppenavn" #: admin/netgroups/generic.tpl:14 msgid "Multiple edit" msgstr "" #: admin/netgroups/generic.tpl:18 msgid "Name of the NIS Netgroup" msgstr "NIS-nettgruppens navn" #: admin/netgroups/generic.tpl:30 msgid "Descriptive text for this NIS Netgroup" msgstr "" #: admin/netgroups/tripleSelect/triple-filter.xml:18 msgid "Default" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:10 msgid "Please select the desired entries" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:22 msgid "User" msgstr "Bruker" #: admin/netgroups/tripleSelect/triple-list.xml:30 msgid "Server" msgstr "Tjener" #: admin/netgroups/tripleSelect/triple-list.xml:38 msgid "Workstation" msgstr "Arbeidsstasjon" #: admin/netgroups/tripleSelect/triple-list.xml:46 msgid "Terminal" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:54 msgid "Component" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:88 msgid "Login" msgstr "" #: admin/netgroups/tripleSelect/triple-list.xml:96 msgid "Surname" msgstr "Etternavn" #: admin/netgroups/class_netgroupManagement.inc:28 msgid "NIS Netgroups management" msgstr "NIS-nettgruppeadministrasjon" #~ msgid "Filter" #~ msgstr "Filter" #~ msgid "Show NIS Netgroups" #~ msgstr "Vis NIS-nettgrupper" #~ msgid "Show Users" #~ msgstr "Vis brukere" #~ msgid "Show Hosts" #~ msgstr "Vis verter" #~ msgid "Show NIS Netgroup" #~ msgstr "Vis NIS-nettgruppe" #~ msgid "In all NIS Netgroups" #~ msgstr "I alle NIS-nettgrupper" #~ msgid "Not in all NIS Netgroups" #~ msgstr "Ikke i alle NIS-nettgrupper" #~ msgid "Choose NIS Netgroups for the host" #~ msgstr "Velg NIS-nettgrupper for denne verten" #~ msgid "Host" #~ msgstr "Vert" #~ msgid "Network Device" #~ msgstr "Nettverksenhet" gosa-plugins-netgroups-0.2/locale/ro/000077500000000000000000000000001333552056700176775ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/locale/ro/LC_MESSAGES/000077500000000000000000000000001333552056700214645ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/locale/ro/LC_MESSAGES/messages.po000066400000000000000000000202521333552056700236340ustar00rootroot00000000000000# translation of messages.po to # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Victor Nițu msgid "" msgstr "" "Project-Id-Version: messages\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-07-27 16:57+0200\n" "PO-Revision-Date: 2013-05-23 04:35+0200\n" "Last-Translator: Victor Nițu \n" "Language-Team: Debian l10n Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.4\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "Language: ro\n" #: personal/netgroups/class_netgroupAccount.inc:28 #: personal/netgroups/class_netgroupAccount.inc:335 #: admin/systems/netgroups/class_netgroupSystem.inc:27 #: admin/systems/netgroups/class_netgroupSystem.inc:312 #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:14 #: admin/netgroups/netgroup-list.xml:15 admin/netgroups/netgroup-list.xml:79 #: admin/netgroups/tripleSelect/triple-list.xml:14 msgid "NIS Netgroup" msgstr "Grup NIS" #: personal/netgroups/class_netgroupAccount.inc:29 msgid "Choose NIS Netgroups for the user" msgstr "Alegeți grupul NIS pentru utilizator" #: personal/netgroups/class_netgroupAccount.inc:89 #: admin/systems/netgroups/class_netgroupSystem.inc:103 #: admin/netgroups/netgroup-list.xml:41 admin/netgroups/class_netgroup.inc:120 #: admin/netgroups/class_netgroup.inc:587 #: admin/netgroups/class_netgroup.inc:597 #: admin/netgroups/class_netgroup.inc:599 #: admin/netgroups/class_netgroup.inc:711 msgid "Name" msgstr "Nume" #: personal/netgroups/class_netgroupAccount.inc:89 #: admin/systems/netgroups/class_netgroupSystem.inc:103 #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:48 #: admin/netgroups/netgroup-list.xml:49 admin/netgroups/class_netgroup.inc:120 #: admin/netgroups/class_netgroup.inc:712 admin/netgroups/generic.tpl:25 #: admin/netgroups/tripleSelect/triple-list.xml:104 msgid "Description" msgstr "Descriere" #: personal/netgroups/class_netgroupAccount.inc:327 #: admin/systems/netgroups/class_netgroupSystem.inc:293 msgid "NIS Netgroup member" msgstr "Membru al unui grup NIS" #: personal/netgroups/netgroupAccount.tpl:1 #: admin/systems/netgroups/netgroupSystem.tpl:7 msgid "Member of the following NIS Netgroups" msgstr "Membru al următoarelor grupuri NIS" #: admin/systems/netgroups/netgroupSystem.tpl:2 msgid "This host cannot be added to NIS Netgroups" msgstr "Acest sistem nu poate fi adăugat la grupurile NIS" #: admin/systems/netgroups/netgroupSystem.tpl:3 msgid "" "Only hosts with a fully qualified domain name or those with DNS settings " "enabled in GOsa can be added to NIS Netgroups!" msgstr "" "Numai sistemele cu un nume de domeniu standardizat (FQDN) sau cele cu " "setările DNS activare în GOsa pot fi adăugate la grupurile NIS!" #: admin/systems/netgroups/class_netgroupSystem.inc:28 msgid "Choose NIS Netgroups for the system" msgstr "Alegeți grupurile NIS pentru acest sistem" #: admin/systems/netgroups/class_netgroupSystem.inc:305 msgid "RDN for netgroup storage." msgstr "RDN pentru spațiul de stocare netgroup." #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.tpl:12 #: admin/netgroups/class_netgroup.inc:713 admin/netgroups/generic.tpl:37 #: admin/netgroups/tripleSelect/triple-list.tpl:12 #: admin/netgroups/netgroup-list.tpl:12 msgid "Base" msgstr "Baza" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-filter.xml:20 #: admin/netgroups/netgroup-filter.xml:18 msgid "Default filter" msgstr "Filtrul implicit" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:10 msgid "Please select the desired NIS Netgroups" msgstr "Selectați grupurile NIS dorite" #: admin/netgroups/memberNisnetgroupSelect/memberNisnetgroup-list.xml:40 #: admin/netgroups/tripleSelect/triple-list.xml:80 msgid "Common name" msgstr "Nume comun" #: admin/netgroups/netgroup-list.xml:11 msgid "List of NIS Netgroups" msgstr "Lista de grupuri NIS" #: admin/netgroups/netgroup-list.xml:57 msgid "Properties" msgstr "Proprietăți" #: admin/netgroups/netgroup-list.xml:62 msgid "Actions" msgstr "Acțiuni" #: admin/netgroups/netgroup-list.xml:73 msgid "Create" msgstr "Creează" #: admin/netgroups/netgroup-list.xml:91 msgid "Edit" msgstr "Modifică" #: admin/netgroups/netgroup-list.xml:98 msgid "Remove" msgstr "Șterge" #: admin/netgroups/netgroup-list.xml:130 msgid "Edit NIS Netgroup" msgstr "Modifică grupul NIS" #: admin/netgroups/netgroup-list.xml:143 msgid "Remove NIS Netgroup" msgstr "Șterge grupul NIS" #: admin/netgroups/class_netgroup.inc:120 msgid "Domain" msgstr "Domeniu" #: admin/netgroups/class_netgroup.inc:330 msgid "Failed to add triple" msgstr "Eroare la aduăgarea de triple" #: admin/netgroups/class_netgroup.inc:330 #, php-format msgid "Unable to detect FQDN for host '%s'!" msgstr "Eroare la detectarea FQDN pentru sistemul '%s'!" #: admin/netgroups/class_netgroup.inc:437 #: admin/netgroups/class_netgroup.inc:564 msgid "LDAP error" msgstr "Eroare LDAP" #: admin/netgroups/class_netgroup.inc:489 #: admin/netgroups/class_netgroup.inc:756 msgid "Error" msgstr "Eroare" #: admin/netgroups/class_netgroup.inc:671 msgid "NIS Netgroup Error" msgstr "Eroare de grup NIS" #: admin/netgroups/class_netgroup.inc:671 msgid "Error: There are a loop with NIS Netgroups" msgstr "Eroare: ciclu infinit în grupurile NIS" #: admin/netgroups/class_netgroup.inc:673 msgid "IMPORTANT: Check the members of NIS Netgroup" msgstr "IMPORTANT: verificați membrii grupului NIS" #: admin/netgroups/class_netgroup.inc:703 msgid "Generic" msgstr "Generic" #: admin/netgroups/class_netgroup.inc:704 msgid "Generic NIS Netgroup settings" msgstr "Parametri generali ai grupului NIS" #: admin/netgroups/class_netgroup.inc:709 #: admin/netgroups/class_netgroupManagement.inc:27 msgid "NIS Netgroups" msgstr "Grupuri NIS" #: admin/netgroups/class_netgroup.inc:714 admin/netgroups/generic.tpl:57 msgid "NIS Netgroup members" msgstr "Membri ai grupului NIS" #: admin/netgroups/generic.tpl:11 msgid "NIS Netgroup name" msgstr "Numele grupului NIS" #: admin/netgroups/generic.tpl:14 msgid "Multiple edit" msgstr "Modificare multiplă" #: admin/netgroups/generic.tpl:18 msgid "Name of the NIS Netgroup" msgstr "Numele grupului NIS" #: admin/netgroups/generic.tpl:30 msgid "Descriptive text for this NIS Netgroup" msgstr "Descriere a grupului NIS" #: admin/netgroups/tripleSelect/triple-filter.xml:18 msgid "Default" msgstr "Implicit" #: admin/netgroups/tripleSelect/triple-list.xml:10 msgid "Please select the desired entries" msgstr "Selectați înregistrările dorite" #: admin/netgroups/tripleSelect/triple-list.xml:22 msgid "User" msgstr "Utilizator" #: admin/netgroups/tripleSelect/triple-list.xml:30 msgid "Server" msgstr "Server" #: admin/netgroups/tripleSelect/triple-list.xml:38 msgid "Workstation" msgstr "Stație de lucru" #: admin/netgroups/tripleSelect/triple-list.xml:46 msgid "Terminal" msgstr "Terminal" #: admin/netgroups/tripleSelect/triple-list.xml:54 msgid "Component" msgstr "Componentă" #: admin/netgroups/tripleSelect/triple-list.xml:88 msgid "Login" msgstr "Autentificare" #: admin/netgroups/tripleSelect/triple-list.xml:96 msgid "Surname" msgstr "Nume" #: admin/netgroups/class_netgroupManagement.inc:28 msgid "NIS Netgroups management" msgstr "Gestiunea grupurilor NIS" #~ msgid "Filter" #~ msgstr "Filtre" #~ msgid "Show NIS Netgroups" #~ msgstr "Montrer les groupes NIS" #~ msgid "Show Users" #~ msgstr "Montrer les utilisateurs" #~ msgid "Show Hosts" #~ msgstr "Montrer les hôtes" #~ msgid "Show NIS Netgroup" #~ msgstr "Montrer les groupes NIS" #~ msgid "In all NIS Netgroups" #~ msgstr "Dans tout les groupes NIS" #~ msgid "Not in all NIS Netgroups" #~ msgstr "Pas dans tout les groupes NIS" #~ msgid "Choose NIS Netgroups for the host" #~ msgstr "Choisir le groupe NIS pour l'hôte" #~ msgid "Add CN/UID '%s' to NIS netgroup '%s' failed: cannot find object!" #~ msgstr "" #~ "L'ajout du CN/UID '%s' au groupe NIS '%s' a échoué: impossible de trouver " #~ "l'objet !" #~ msgid "! unknown UID/CN" #~ msgstr "! UID/CN inconnu" #~ msgid "Host" #~ msgstr "Hôte" #~ msgid "Network Device" #~ msgstr "Périphérique réseau" gosa-plugins-netgroups-0.2/personal/000077500000000000000000000000001333552056700176435ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/personal/netgroups/000077500000000000000000000000001333552056700216715ustar00rootroot00000000000000gosa-plugins-netgroups-0.2/personal/netgroups/class_netgroupAccount.inc000066400000000000000000000261271333552056700267410ustar00rootroot00000000000000config = $config; /* Load bases attributes */ plugin::__construct($config, $dn); /* Setting uid to default */ if (isset($this->attrs['uid'][0])) { $this->uid = $this->attrs['uid'][0]; } if ($this->dn != "new") { $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(&(objectClass=nisNetgroup)(nisNetgroupTriple=*))", array("cn", "nisNetgroupTriple")); while ($attrs = $ldap->fetch()) { foreach ($attrs['nisNetgroupTriple'] as $val) { if (preg_match("/^\(\-?," . $this->uid . ",(\S*)\)$/", $val, $matches)) { $this->addGroup($attrs['cn'][0]); } } } } $this->initial_netgroups = $this->netgroups; // Prepare lists $this->memberList = new sortableListing(array(),array(), FALSE); $this->memberList->setDeleteable(true); $this->memberList->setInstantDelete(false); $this->memberList->setEditable(false); $this->memberList->setWidth("100%"); $this->memberList->setHeight("300px"); $this->memberList->setColspecs(array('20px','*','*')); $this->memberList->setHeader(array("-",_("Name"),_("Description"))); $this->memberList->setDefaultSortColumn(1); } /* Removes a netgroup from this object * */ function removeGroup($name) { unset($this->objectInfo[$name]); unset($this->netgroups[$name]); if(isset($this->netgroups_all[$name])){ unset($this->netgroups_all[$name]); } if(isset($this->netgroups_some[$name])){ unset($this->netgroups_some[$name]); } } /* Adds a netgroup to this object * */ function addGroup($name, $attrs=NULL) { if($attrs){ $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(&(objectClass=nisNetgroup)(cn=".normalizeldap($name)."))", array("cn", "description")); if(!$ldap->count()){ return; } $attrs= $ldap->fetch(); } $desc = " "; if(isset($attrs['description'])){ $desc = $attrs['description'][0]; } $this->removeGroup($name); $this->objectInfo[$name] = array(image("plugins/netgroups/images/select_netgroup.png"), $name, $desc); $this->netgroups[$name] = $name; $this->netgroups_all[$name] = $name; } /* Render the gui. * */ function multiple_execute() { return($this->execute()); } function execute($isCopyPaste = false) { /* Call parent execute */ plugin::execute(); $display = ""; // Set list Acls $this->memberList->setAcl($this->getacl("netgroups")); /* Log view */ if ($this->is_account && !$this->view_logged) { $this->view_logged = TRUE; new log("view", "users/" . get_class($this), $this->dn); } if (isset($_POST['del_netgroups']) && isset($_POST['netgroups']) && preg_match("/w/", $this->getacl("netgroups"))) { foreach ($_POST['netgroups'] as $value) { unset($this->netgroups["$value"]); if ($this->multiple_support_active) { unset($this->netgroups_all["$value"]); unset($this->netgroups_some["$value"]); } } } /* Add objects? */ if (isset($_POST["edit_membership"]) && preg_match("/w/", $this->getacl("netgroups"))) { $this->netgroupSelect = new memberNisnetgroupSelect($this->config, get_userinfo()); $this->dialog = TRUE; } /* Add objects finished? */ if (isset($_POST["add_memberNisnetgroups_cancel"])) { $this->netgroupSelect = NULL; $this->dialog = FALSE; } /* Add to netgroup */ if (isset($_POST['add_memberNisnetgroups_finish']) && $this->netgroupSelect) { /* Get all the dn from netgroupSelect */ $users = $this->netgroupSelect->detectPostActions(); if (isset($users['targets'])) { $headpage = $this->netgroupSelect->getHeadpage(); foreach ($users['targets'] as $dn) { $attrs = $headpage->getEntry($dn); $this->addGroup($attrs['cn'][0]); } } $this->netgroupSelect = NULL; $this->dialog = FALSE; } /* Manage object add dialog */ if ($this->netgroupSelect) { return($this->netgroupSelect->execute()); } $data = $lData = array(); foreach($this->netgroups as $key => $name){ $data[$key] = $key; $lData[$key] = array('data'=> $this->objectInfo[$name]); } foreach($this->netgroups_some as $key => $name){ $data[$key] = $name; $list_data = $this->objectInfo[$key]; for($i=1;$i<3;$i++){ $list_data[$i] = "".$list_data[$i].""; } $lData[$key] = array('data'=> $list_data); } $this->memberList->setListData($data, $lData); $this->memberList->update(); // Assign smarty variables $smarty = get_smarty(); $smarty->assign("memberList", $this->memberList->render()); $smarty->assign("netgroupsACL", $this->getacl("netgroups")); $smarty->assign("memberCn_All", $this->netgroups_all); $smarty->assign("memberCn_Some", $this->netgroups_some); $display.= $smarty->fetch(get_template_path('netgroupAccount.tpl', TRUE, dirname(__FILE__))); return($display); } /* Take care of HTML POST actions * */ function multiple_save_object(){ if (isset($_POST['nisnetgroupedit'])) { $this->save_object(); } } function save_object() { if (isset($_POST['nisnetgroupedit'])) { plugin::save_object(); $this->memberList->save_object(); $action = $this->memberList->getAction(); if(isset($action['action']) && $action['action'] == 'delete'){ foreach($action['targets'] as $id){ $this->removeGroup($entry = $this->memberList->getKey($id)); } } } } /* Save changes back to the ldap. * */ function save() { // If nothing has changed, just return if(! (array_diff(array_keys($this->initial_netgroups), array_keys($this->netgroups)) || array_diff(array_keys($this->netgroups), array_keys($this->initial_netgroups)))){ return; } $to_add = $to_del = array(); foreach(array_keys($this->netgroups) as $val){ $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(&(objectClass=nisNetgroup)(cn=".$val."))", array("dn")); while ($g_data = $ldap->fetch()) { $to_add[] = $g_data['dn']; } } foreach($to_add as $dn){ $ng = new netgroup($this->config, $dn); $ng->addTriple(NULL, $this->uid, "", $this->attrs); $ng->save(); } $nonetgroups=array_diff(array_keys($this->initial_netgroups), array_keys($this->netgroups)); foreach($nonetgroups as $val){ $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(&(objectClass=nisNetgroup)(cn=".$val."))", array("dn")); while ($g_data = $ldap->fetch()) { $to_del[] = $g_data['dn']; } } foreach($to_del as $dn){ $ng = new netgroup($this->config, $dn); $ng->removeTriple($this->uid); $ng->save(); } } /* Returns object modification after multi-edit process * */ function get_multi_edit_values() { $ret = plugin::get_multi_edit_values(); foreach (array("base") as $attr) { if (in_array($attr, $this->multi_boxes)) { $ret[$attr] = $this->$attr; } } $ret['netgroups'] = $this->netgroups; $ret['netgroups_some'] = $this->netgroups_some; return($ret); } /* Set collected multi-edit changes to this plugin * */ function set_multi_edit_values($attrs) { $netgroups = array(); foreach ($attrs['netgroups_some'] as $uid => $value) { if (in_array($uid, array_keys($this->initial_netgroups))) { $netgroups[$uid] = $uid; } } foreach ($attrs['netgroups'] as $uid => $value) { $netgroups[$uid] = $uid; } plugin::set_multi_edit_values($attrs); $this->netgroups = $netgroups; } /* Return plugin information * */ static function plInfo() { return (array( "plDescription" => _("NIS Netgroup member"), "plSelfModify" => FALSE, "plDepends" => array("user"), "plPriority" => 2, "plSection" => array("personal"), "plCategory" => array("users"), "plOptions" => array(), "plProvidedAcls" => array( "netgroups" => _("NIS Netgroup")) )); } /* Prepare this pkugin for multiple-edit. * */ function init_multiple_support($attrs, $all) { plugin::init_multiple_support($attrs, $all); $multiuid=$all["uid"]; $netgroup_map=array(); // Collect all groups $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(&(objectClass=nisNetgroup)(nisNetgroupTriple=*))", array("cn", "nisNetgroupTriple", "description")); $group_map = array(); while ($group = $ldap->fetch()) { $name = $group['cn'][0]; $group_map[$name] = array('uid' => array()); foreach ($group['nisNetgroupTriple'] as $value) { if (preg_match("/^\(\-?,(\S+),(\S*)\)$/", $value, $matches)) { if(in_array($matches[1], $multiuid)){ $group_map[$name]['uid'][] = $matches[1]; $group_map[$name]['attrs'] = $group; } } } } // Get groups used by some users $this->netgroups = array(); foreach($group_map as $name => $data){ $uids = $data['uid']; $inter = array_intersect($multiuid, $uids); if(count($inter) && $multiuid["count"] != count($inter)){ $this->addGroup($name, $data['attrs']); } } $this->netgroups_some = $this->netgroups; // Get groups used by all users $this->netgroups = array(); foreach($group_map as $name => $data){ $uids = $data['uid']; $inter = array_intersect($multiuid, $uids); if(count($inter) && $multiuid["count"] == count($inter)){ $this->addGroup($name, $data['attrs']); } } } } ?> gosa-plugins-netgroups-0.2/personal/netgroups/netgroupAccount.tpl000066400000000000000000000004761333552056700256010ustar00rootroot00000000000000 {render acl=$netgroupsACL} {$memberList} {/render}
{render acl=$netgroupsACL} {/render} gosa-plugins-netgroups-0.2/plugin.dsc000066400000000000000000000004161333552056700200120ustar00rootroot00000000000000[gosa-plugin] name = netgroups description = "nisNetgroup features" version = 0.2 author = "Alejandro Escanero Blanco " maintainer = "Mike Gabriel " homepage = https://github.com/gosa-project/gosa-plugins-netgroups