summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 4ff0d6f)
raw | patch | inline | side by side (parent: 4ff0d6f)
author | psc <psc@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Tue, 16 Mar 2010 10:28:57 +0000 (10:28 +0000) | ||
committer | psc <psc@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Tue, 16 Mar 2010 10:28:57 +0000 (10:28 +0000) |
- When editting a package list enable the user to
click 'Edit configurations' and get an overview of
and edit all debconf configurations in the given package list.
- Add the possibility to add debconf settings for settings
which are not known to gosa-si.
- Add some safety measures to the debconfTemplate class
to avoid breaking values because of quotes etc.
git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.6-lhm@16619 594d385d-05f5-0310-b6e9-bd551577e9d8
click 'Edit configurations' and get an overview of
and edit all debconf configurations in the given package list.
- Add the possibility to add debconf settings for settings
which are not known to gosa-si.
- Add some safety measures to the debconfTemplate class
to avoid breaking values because of quotes etc.
git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.6-lhm@16619 594d385d-05f5-0310-b6e9-bd551577e9d8
diff --git a/trunk/gosa-plugins/fai/admin/fai/NewDebconfConfiguration.tpl b/trunk/gosa-plugins/fai/admin/fai/NewDebconfConfiguration.tpl
--- /dev/null
@@ -0,0 +1,63 @@
+<div style="font-size: 18px;">
+{t}New debconf configuration{/t}
+</div>
+<br>
+<p class="seperator">
+{t}In this dialog you can add a new debconf configuration.{/t}
+<br>
+<br>
+<br>
+<table summary="" style='width:100%'>
+ <tr>
+ <td style='width:49%'>
+ <table summary="">
+ <tr>
+ <td>
+ <b>{t}Package{/t}</b>
+ </td>
+ <td>
+ <b>{t}Variable{/t}</b>
+ </td>
+ <td>
+ <b>{t}Type{/t}</b>
+ </td>
+ <td>
+ <b>{t}Value{/t}</b>
+ </td>
+ </tr>
+ <tr>
+ <td style="width:180px";>
+ <select name="Package" title="{t}Select package{/t}" style="width:150px;">
+ {html_options options=$packages selected=$package}
+ </select>
+ </td>
+ <td style="width: 300px;">
+ <input type="text" style="width:280px" name="FAIvariable" value="{$variable}">
+ </td>
+ <td style="width: 120px;">
+ <select name="FAIvariableType" title="{t}Select type{/t}" style="width: 100px;">
+ {html_options options=$variable_types selected=$variable_type}
+ </select>
+ </td>
+ <td style="width:300px;">
+ <input type="text" name="FAIvariableContent" title="{t}Value{/t}" value="{$content}" style="width:280px;">
+ </td>
+ </tr>
+ </table>
+ <br>
+ <br>
+ </td>
+ </tr>
+</table>
+</table>
+<br>
+<div align="right">
+ <input type="submit" name="save_AddDebconf" value="{msgPool type=applyButton}">
+ <input type="submit" name="cancel_AddDeconf" value="{msgPool type=cancelButton}">
+</div>
+<!-- Place cursor -->
+<script language="JavaScript" type="text/javascript">
+ <!--
+ focus_field('SelectedPackage');
+ -->
+</script>
diff --git a/trunk/gosa-plugins/fai/admin/fai/class_NewDebconfConfiguration.inc b/trunk/gosa-plugins/fai/admin/fai/class_NewDebconfConfiguration.inc
--- /dev/null
@@ -0,0 +1,149 @@
+<?php
+
+class NewDebconfConfiguration extends plugin
+{
+ /* attribute list for save action */
+ var $ignore_account = TRUE;
+ var $attributes = array();
+ var $objectclasses = array("whatever");
+
+ var $objectClass = false;
+ var $DebconfConfiguration = array();
+ var $packages = array();
+ var $variable_types = array(
+ "boolean" => "boolean",
+ "multiselect" => "multiselect",
+ "password" => "password",
+ "select" => "select",
+ "string" => "string",
+ );
+ var $parent;
+
+ function NewDebconfConfiguration (&$config, $dn, &$parent)
+ {
+ plugin::plugin ($config, $dn);
+
+ /* Get list of packages */
+ $this->packages = $parent->packages;
+ /* Add d-i as special exception */
+ $this->packages['d-i'] = 'd-i';
+ ksort($this->packages);
+
+ $this->parent = $parent;
+ }
+
+ function execute()
+ {
+ /* Call parent execute */
+ plugin::execute();
+
+ /* Fill templating stuff */
+ $smarty = get_smarty();
+ $display= "";
+
+ $ldap = $this->config->get_ldap_link();
+ /* Get package names */
+
+ /* Pre-Fill input fields (needed for save_object if input fields are missing) */
+ $variable = "";
+ $variable_type = "";
+ $content = "";
+ $package = "";
+ if (isset($this->DebconfConfiguration['Package'])) {
+ $package = $this->DebconfConfiguration['Package'];
+ }
+ if (isset($this->DebconfConfiguration['FAIvariable'])) {
+ $variable = $this->DebconfConfiguration['FAIvariable'];
+ }
+ if (isset($this->DebconfConfiguration['FAIvariableType'])) {
+ $variable_type = $this->DebconfConfiguration['FAIvariableType'];
+ }
+
+ if (isset($this->DebconfConfiguration['FAIvariableContent'])){
+ $content = $this->DebconfConfiguration['FAIvariableContent'];
+ }
+ $smarty->assign("package", $package);
+ $smarty->assign("variable", $variable);
+ $smarty->assign("variable_type", $variable_type);
+ $smarty->assign("content", $content);
+
+
+ /* Assign packages and variable types */
+ $smarty->assign("variable_types", $this->variable_types);
+ $smarty->assign("packages", $this->packages);
+
+ /* Fetch template and display */
+ $display.= $smarty->fetch(get_template_path('NewDebconfConfiguration.tpl', TRUE));
+ return($display);
+ }
+
+ /* Get posts and set class name
+ */
+ function save_object()
+ {
+ if (isset($_POST['save_AddDebconf'])) {
+ foreach (array("FAIvariableType", "FAIvariableContent", "FAIvariable", "Package") as $attr)
+ {
+ if (isset($_POST[$attr])) {
+ $this->DebconfConfiguration[$attr] = get_post($attr);
+ }
+ }
+
+ /* Normalize boolean values */
+ if($this->DebconfConfiguration['FAIvariableType'] == 'boolean') {
+ $this->DebconfConfiguration['FAIvariableContent'] = $this->parent->normalize_bool($this->DebconfConfiguration['FAIvariableContent']);
+ }
+ }
+ }
+
+ /* Check given class name
+ */
+ function check()
+ {
+ /* Call common method to give check the hook */
+ $message= plugin::check();
+
+ $package = $this->DebconfConfiguration['Package'];
+ if (!isset($this->DebconfConfiguration['FAIvariable']) || empty($this->DebconfConfiguration['FAIvariable'])) {
+ $message[] = msgPool::required("Variable");
+ }
+
+ if ($this->DebconfConfiguration['FAIvariableType'] == 'boolean') {
+ if (!empty($this->DebconfConfiguration['FAIvariableContent'])) {
+ $value = strtolower($this->DebconfConfiguration['FAIvariableContent']);
+ }
+ else {
+ $value = "";
+ }
+ if (!$this->parent->normalize_bool($value, TRUE)) {
+ $message[] = sprintf(_("The specified value '%s' for the variable type boolean is invalid.<br><i>Allowed values: true, false, 1, 0.</i>"), $this->DebconfConfiguration['FAIvariableContent']);
+ }
+
+ }
+
+ if (isset($this->DebconfConfiguration['FAIvariable'])){
+ $name = $this->DebconfConfiguration['FAIvariable'];
+ if (isset($this->parent->DebconfConfigurations[$package][$name])) {
+ $message[] = msgPool::duplicated('Variable');
+ }
+
+ if (isset($this->parent->DebconfDefaults[$package][$name])) {
+ $message[] = msgPool::duplicated('Variable');
+ }
+ }
+
+
+ return ($message);
+ }
+
+
+ /* Return the class name */
+ function save()
+ {
+ return($this->DebconfConfiguration);
+ }
+
+}
+
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>
diff --git a/trunk/gosa-plugins/fai/admin/fai/class_debconfTemplate.inc b/trunk/gosa-plugins/fai/admin/fai/class_debconfTemplate.inc
index 2e9fca6b30ed59dea9958207e5274ef074f77d56..56dadcb21f6d77c96aeba49c5c61ea7e08a8032d 100644 (file)
/* special handling for arrays */
if(is_array($_POST[$entry['post_name']])){
$str = "";
/* special handling for arrays */
if(is_array($_POST[$entry['post_name']])){
$str = "";
- foreach($_POST[$entry['post_name']] as $val){
+ foreach(get_post($entry['post_name']) as $val){
$str.= $val.", ";
}
$str = preg_replace("/\,\ $/","",$str);
$this->template[$post_name]['Default'] = $str;
}else{
$str.= $val.", ";
}
$str = preg_replace("/\,\ $/","",$str);
$this->template[$post_name]['Default'] = $str;
}else{
- $this->template[$post_name]['Default'] = $_POST[$entry['post_name']];
+ $this->template[$post_name]['Default'] = get_post($entry['post_name']);
}
}
}
}
}
}
if(isset($_POST["multi-".$entry['post_name']])){
$this->template[$post_name]['Default']= "";
foreach($_POST as $name => $value){
if(isset($_POST["multi-".$entry['post_name']])){
$this->template[$post_name]['Default']= "";
foreach($_POST as $name => $value){
+ if (get_magic_quotes_gpc()) {
+ $value = stripcslashes($value);
+ }
if(preg_match("/".$entry['post_name']."-multi-/",$name)){
$this->template[$post_name]['Default'] .= $value.", ";
}
if(preg_match("/".$entry['post_name']."-multi-/",$name)){
$this->template[$post_name]['Default'] .= $value.", ";
}
foreach(array("true","false") as $value){
if($data['Default'] == $value){
foreach(array("true","false") as $value){
if($data['Default'] == $value){
- $result.="<input type='radio' name='".$data['post_name']."' value='".$value."' checked>"._($value);
+ $result.="<input type='radio' name='".$data['post_name']."' value=\"".$value."\" checked>"._($value);
}else{
}else{
- $result.="<input type='radio' name='".$data['post_name']."' value='".$value."' >"._($value);
+ $result.="<input type='radio' name='".$data['post_name']."' value=\"".$value."\" >"._($value);
}
$result.="<br>";
}
}
$result.="<br>";
}
$defs = split(", ",$data['Default']);
foreach($choices as $value){
if(in_array($value,$defs)){
$defs = split(", ",$data['Default']);
foreach($choices as $value){
if(in_array($value,$defs)){
- $result.="\n<input name='".$post_name."-multi-".$value."' type='checkbox' value='".htmlentities($value)."' checked>".$value."<br>";
+ $result.="\n<input name='".$post_name."-multi-".$value."' type='checkbox' value=\"".htmlentities($value)."\" checked>".$value."<br>";
}else{
}else{
- $result.="\n<input name='".$post_name."-multi-".$value."' type='checkbox' value='".htmlentities($value)."'>".$value."<br>";
+ $result.="\n<input name='".$post_name."-multi-".$value."' type='checkbox' value=\"".htmlentities($value)."\">".$value."<br>";
}
}
}
}
{
$result= "";
$result.= "<tr><td valign='top'>";
{
$result= "";
$result.= "<tr><td valign='top'>";
- $result.= "<h2>".$data['Topic']."</h2>".$data['Description']."</td><td style=\"white-space:nowrap; border-left: 1px solid rgb(160, 160, 160);\"> <input type='text' name='".$data['post_name']."' value='".$data['Default']."'></b><br><br>";
+ $result.= "<h2>".$data['Topic']."</h2>".$data['Description']."</td><td style=\"white-space:nowrap; border-left: 1px solid rgb(160, 160, 160);\"> <input type='text' name='".$data['post_name']."' value=\"".$data['Default']."\"></b><br><br>";
$result.= $data['Description'];
$result.= "</td>";
$result.= $data['Description'];
$result.= "</td>";
foreach($choices as $value){
if($data['Default'] == $value){
foreach($choices as $value){
if($data['Default'] == $value){
- $result.="\n<input type='radio' name='".$post_name."' value='".htmlentities($value)."' checked >".htmlentities($value)."<br>";
+ $result.="\n<input type='radio' name='".$post_name."' value=\"".htmlentities($value)."\" checked >".htmlentities($value)."<br>";
}else{
}else{
- $result.="\n<input type='radio' name='".$post_name."' value='".htmlentities($value)."'>".htmlentities($value)."<br>";
+ $result.="\n<input type='radio' name='".$post_name."' value=\"".htmlentities($value)."\">".htmlentities($value)."<br>";
}
}
}
}
<h2>".$data['Topic']."</h2>".$data['Description']."
</td>
<td style=\"white-space:nowrap; border-left: 1px solid rgb(160, 160, 160);\" valign='top'>
<h2>".$data['Topic']."</h2>".$data['Description']."
</td>
<td style=\"white-space:nowrap; border-left: 1px solid rgb(160, 160, 160);\" valign='top'>
- <input type='text' name='".$data['post_name']."' value='".$data['Default']."' style='width:300px;'>
+ <input type='text' name='".$data['post_name']."' value=\"".$data['Default']."\" style='width:300px;'>
</td>
</tr>
";
</td>
</tr>
";
diff --git a/trunk/gosa-plugins/fai/admin/fai/class_faiDebconfConfigurations.inc b/trunk/gosa-plugins/fai/admin/fai/class_faiDebconfConfigurations.inc
--- /dev/null
@@ -0,0 +1,456 @@
+<?php
+
+class faiDebconfConfigurations extends plugin
+{
+ /* attribute list for save action */
+ var $ignore_account = TRUE;
+ var $attributes = array();
+ var $objectclasses = array();
+ var $FAIstate = "";
+ var $DebconfConfigurations = array();
+ var $DebconfDefaults = array();
+ var $DebconfAll = array();
+ var $to_remove = array();
+ var $removed = array();
+ var $package_list = FALSE;
+ var $parent = FALSE;
+ var $packages = array();
+
+ /* Some settings */
+ var $query_gosa_si = TRUE;
+ var $merge_defaults_into_view = TRUE;
+ var $bool_mapping = array(
+ "0" => 'false',
+ "1" => 'true',
+ "true" => 'true',
+ "false" => 'false'
+ );
+
+ /*! \brief Configure all debconf configurations of a given package list
+ @param Object $config GOsa configuration object;
+ @param String The DN of the current package list.
+ */
+ function faiDebconfConfigurations (&$config, $dn= NULL, &$parent)
+ {
+ plugin::plugin ($config, $dn);
+
+ /* Store some information we need from the parent object */
+ $this->FAIstate = $parent->FAIstate;
+ $this->package_list = $parent->cn;
+ $this->parent = $parent;
+
+ /* Get the list of configurations from the parent object */
+ $this->DebconfConfigurations = $this->parent->ConfiguredPackages;
+
+ /* Load packages */
+ foreach(array_keys($this->parent->usedPackages) as $package) {
+ $this->packages[$package] = $package;
+ }
+ ksort($this->packages);
+
+
+ /* Determine and assemble release name */
+ $release = $this->parent->parent->parent->fai_release;
+ $tmp= preg_replace('/[,]*'.preg_quote(get_ou('faiBaseRDN'), '/').'.*$/', '', $release);
+ $tmp= preg_replace('/ou=/', '', $tmp);
+ $rev= array_reverse(split(',', $tmp));
+ $this->release= "/";
+ foreach ($rev as $part){
+ $this->release.= "/$part";
+ }
+ $this->release= preg_replace('#^[/]*#', '', $this->release);
+
+ /* Get the list of debconf configuration for the given package list */
+ $ldap = $config->get_ldap_link();
+
+ /* Get the defaults from gosa-si */
+ if ($this->query_gosa_si == TRUE) {
+ $q = new gosaSupportDaemon();
+ $ret = $q->FAI_get_packages($this->release,array("package","template"),$this->packages);
+ if($q->is_error()){
+ msg_dialog::display(_("Service infrastructure"),msgPool::siError($q->get_error()),ERROR_DIALOG);
+ }
+ else {
+ foreach($ret as $res) {
+ $package = $res['PACKAGE'];
+ if (isset($res['TEMPLATE'])) {
+ $template = base64_decode($res['TEMPLATE']);
+ $debconf_handle = new debconf(preg_replace('/_.*$/', '', get_browser_language()));
+ $debconf_handle->load_from_string($template);
+ $templates = $debconf_handle->template;
+ unset($debconf_handle);
+ foreach($templates as $template) {
+ if (!isset($this->DebconfDefaults[$package][$template['Name']])) {
+ $this->DebconfDefaults[$package][$template['Name']] = $template;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+
+ /*! \brief Returns a html interface, that allow to modify
+ the package attributes.
+ @return String HTML content/ui for this plugin
+ */
+ function execute()
+ {
+ /* Call parent execute */
+ plugin::execute();
+
+ ksort($this->DebconfConfigurations);
+
+ if(is_object($this->dialog)) {
+ $this->dialog->save_object();
+ $display = $this->dialog->execute();
+ return($display);
+ }
+
+ $divlist = new divSelectBox("faiDebconfConfigurations");
+ $divlist->setHeight(400);
+
+ /* Define header */
+ $field1 = array ("string" => "<b>" . _("Package") . "</b>");
+ $field2 = array ("string" => "<b>" . _("Variable") . "</b>");
+ $field3 = array ("string" => "<b>" . _("Type"). "</b>");
+ $field4 = array ("string" => "<b>" . _("Value") . "</b>");
+ $field5 = array ("string" => "");
+ $divlist->AddEntry(array($field1,$field2,$field3,$field4,$field5));
+
+ /* Define some vars we will need in the following loop */
+ $str_reset = "<input type='image' title='"._("Reset")."'
+ src='images/lists/reload.png' name='reset_%s'> ";
+ $str_delete = "<input type='image' title='"._("Delete")."'
+ src='images/lists/trash.png' name='reset_%s'> ";
+ $str_edit = "<input type='image' title='"._("Edit")."'
+ src='images/lists/edit.png' name='edit_%s'> ";
+ $str_input = "<input type=text length=100 value=\"%s\" name='val_%s' %s>";
+
+ /* Merge defaults into display */
+ if ($this->merge_defaults_into_view) {
+ $defaults = array();
+ foreach($this->DebconfDefaults as $package => $package_data){
+ foreach($package_data as $debconf_info) {
+ $name = $debconf_info['Name'];
+ $value = $debconf_info['Default'];
+ $type = $debconf_info['Type'];
+ if(!in_array($type,array("boolean","multiselect","password","select","string","text"))){
+ continue;
+ }
+ $defaults[$package][$name] = array( 'Name' => $name, 'Value' => $value, 'Type' => $type);
+ }
+ }
+ $this->DebconfAll = $this->DebconfConfigurations;
+
+ foreach($this->packages as $package) {
+ if (isset($defaults[$package])) {
+ if (isset($this->DebconfConfigurations[$package])) {
+ $this->DebconfAll[$package] = array_merge($defaults[$package], $this->DebconfConfigurations[$package]);
+ }else {
+ $this->DebconfAll[$package] = $defaults[$package];
+ }
+
+ }
+
+ }
+ } else {
+ $this->DebconfAll = $this->DebconfConfigurations;
+ }
+ ksort($this->DebconfAll);
+
+ /* Build package list */
+ $defaults_count = count($this->DebconfDefaults);
+ foreach($this->DebconfAll as $package => $package_data) {
+ foreach($package_data as $debconf_info) {
+ /* Do not show removed entries */
+ if (isset($debconf_info['Status']) && $debconf_info['Status'] == 'removed') {
+ continue;
+ }
+
+ /* Base64-encoded identifier for every package/debconf_data combination
+ * is in the form of packge/Name e.g. locales/locales/locales_to_generate */
+ $identifier = base64_encode(sprintf("%s/%s",$package, $debconf_info['Name']));
+
+ /* Define actions for this entry */
+ $actions = "";
+ if(!preg_match('/^freeze/', $this->FAIstate) &&
+ $this->acl_is_writeable("FAIdebconfInfo")) {
+ /* Don't enable actions if no gosa-si defaults available */
+ $show_reset = FALSE;
+ $show_edit = FALSE;
+ $show_blank = FALSE;
+ if ($defaults_count != 0) {
+ $name = $debconf_info['Name'];
+
+ if (isset($this->DebconfDefaults[$package][$name])) {
+ $show_edit = TRUE;
+ }
+ else {
+ $show_delete = TRUE;
+ }
+
+ if (isset($this->DebconfConfigurations[$package][$name]) && isset($this->DebconfDefaults[$package][$name])) {
+ $val = $this->DebconfConfigurations[$package][$name]['Value'];
+ $default_val = $this->DebconfDefaults[$package][$name]['Default'];
+ /* Make values comparable */
+ if (is_array($val)) {
+ $val = "";
+ }
+ if ($val != $default_val) {
+ $show_reset = TRUE;
+ }
+ else {
+ $show_blank = TRUE;
+ }
+ }elseif (!isset($this->DebconfConfigurations[$package][$name]) && isset($this->DebconfDefaults[$package][$name])) {
+ $show_blank = TRUE;
+ }
+ }
+
+ if ($show_reset) {
+ $actions .= sprintf("$str_reset", $identifier);
+ } elseif ($show_blank) {
+ $actions .= "<img src='images/empty.png' width=18>";
+ } else {
+ $actions .= sprintf("$str_delete", $identifier);
+ }
+ if ($show_edit) {
+ $actions .= sprintf("$str_edit", $identifier);
+ }
+ }
+
+ /* Do not allow editing if FAIstate is freeze */
+ $input_disabled = "";
+ if (preg_match('/^freeze/', $this->FAIstate)) {
+ $input_disabled = "disabled";
+ }
+
+ /* Pre-Fill input field with the defined value */
+ $input_value = "";
+ if (!empty($debconf_info['Value'])) {
+ $input_value = htmlentities($debconf_info['Value']);
+ }
+ $input_field = sprintf("$str_input", $input_value, $identifier, $input_disabled);
+
+
+ $field1 = array( "string" => $package, "attach" => "style='width:120px;'" );
+ $field2 = array( "string" => $debconf_info['Name']);
+ $field3 = array( "string" => $debconf_info['Type'],"attach" => "style='width:100px;'");
+ $field4 = array( "string" => $input_field);
+ $field5 = array( "string" => $actions, "attach" => "style='width:50px; border-right:0px;'");
+ $divlist->AddEntry(array($field1, $field2, $field3, $field4, $field5));
+ }
+ }
+ /* Fill templating stuff */
+ $smarty = get_smarty();
+ $smarty->assign("divlist", $divlist->DrawList());
+ $smarty->assign("headline", sprintf(_("Debconf information for package list '%s'"), $this->package_list));
+ return($smarty->fetch(get_template_path('faiDebconfConfigurations.tpl', TRUE)));
+ }
+
+
+ function normalize_bool($bool_value, $check_mode=FALSE) {
+ $bool_value = strtolower($bool_value);
+ if(isset($this->bool_mapping[$bool_value])) {
+ return $this->bool_mapping[$bool_value];
+ } else {
+ return ($check_mode) ? FALSE : $bool_value;
+ }
+ }
+
+ /*! \brief Return the components of an identifier as an array of two elements */
+ function getIdentifierComponents($identifier) {
+ $identifier_components = explode('/', $identifier);
+ $package = $identifier_components[0];
+ $name = preg_replace("/^".$package."\//", "", $identifier, 1);
+ return(array($package, $name));
+ }
+
+ function DeleteEntry($identifier) {
+ list($package, $name) = $this->getIdentifierComponents($identifier);
+ if (isset($this->DebconfConfigurations[$package][$name])) {
+ $this->to_remove[$package][$name] = $this->DebconfConfigurations[$package][$name];
+ unset($this->DebconfConfigurations[$package][$name]);
+ }
+ }
+
+ function UpdateEntry($identifier, $newval="") {
+ list($package, $name) = $this->getIdentifierComponents($identifier);
+ if (!isset($this->DebconfConfigurations[$package][$name])) {
+ $this->DebconfConfigurations[$package][$name] = $this->DebconfDefaults[$package][$name];
+ }
+
+ /* Normalize boolean values */
+ if ($this->DebconfConfigurations[$package][$name]['Type'] == 'boolean') {
+ $newval = $this->normalize_bool($newval);
+ }
+
+ $this->DebconfConfigurations[$package][$name]['Value'] = $newval;
+
+ if (isset($this->DebconfDefaults[$package][$name])) {
+ $default_value = $this->DebconfDefaults[$package][$name]['Default'];
+
+ if ($default_value == $newval) {
+ $dn = "FAIvariable=".$name.",".$this->parent->dn;
+ $ldap = $this->config->get_ldap_link();
+ $ldap->cat($dn);
+ if ($ldap->count()) {
+ $attrs = $ldap->fetch();
+ if (isset($attrs['FAIvariableContent']) && $attrs['FAIvariableContent'][0] == $newval) {
+ /* Do not store default values unless its still a change compared to the LDAP */
+ unset($this->DebconfConfigurations[$package][$name]);
+ } else {
+ /* Values different from the default reset removal status */
+ unset($this->to_remove[$package][$name]);
+ }
+ } else {
+ unset($this->DebconfConfigurations[$package][$name]);
+ }
+ }
+ else {
+ /* Values different from the default reset removal status */
+ unset($this->to_remove[$package][$name]);
+ }
+ }
+ else {
+ /* This is no entry with a default value setting, so a new value removes
+ * the removal status */
+ if (isset($this->to_remove[$package][$name])) {
+ unset($this->to_remove[$package][$name]);
+ }
+ }
+
+ if (isset($this->DebconfConfigurations[$package][$name]) && !$this->DebconfConfigurations[$package][$name]['Value']) {
+ $this->DebconfConfigurations[$package][$name]['Value'] = array();
+ }
+ }
+
+ /* Save data to object */
+ function save_object()
+ {
+ /* Process values */
+ if (isset($_POST['update_values'])) {
+ foreach($this->DebconfAll as $package => $package_data) {
+ foreach($package_data as $debconf_info) {
+ $identifier = sprintf("%s/%s",$package, $debconf_info['Name']);
+ $post_key = sprintf("val_%s", base64_encode($identifier));
+ if (isset($_POST[$post_key])) {
+ $this->UpdateEntry($identifier, get_post($post_key));
+ }
+ else {
+ $this->UpdateEntry($identifier);
+ }
+ }
+ }
+ }
+
+ foreach($_POST as $key => $value) {
+ if (preg_match("/^reset_/", $key)) {
+ $identifier = base64_decode(str_replace("reset_", "", $key));
+ $this->DeleteEntry($identifier);
+ break;
+ }
+
+ if (preg_match("/^edit_/", $key)) {
+ $identifier = base64_decode(str_replace("edit_", "", $key));
+ list($package, $name) = $this->getIdentifierComponents($identifier);
+ $this->dialog = new faiPackageConfiguration($this->config, $this->parent->dn, $package, $this->release, $this->DebconfConfigurations[$package]);
+ $this->dialog->used_by_faiDebconfConfigurations = TRUE;
+ break;
+ }
+ if (preg_match("/^NewDebconfEntry$/", $key)) {
+ $this->dialog = new NewDebconfConfiguration($this->config, $this->parent->dn, $this);
+ $this->is_dialog = TRUE;
+ break;
+ }
+ }
+
+ /* Cancel add debconf dialog */
+ if (isset($_POST['cancel_AddDeconf'])) {
+ $this->dialog = FALSE;
+ }
+
+ /* Save add debconf dialog */
+ if (isset($_POST['save_AddDebconf'])) {
+ $this->dialog->save_object();
+ $msgs = $this->dialog->check();
+ if (count($msgs)>0) {
+ foreach($msgs as $msg){
+ msg_dialog::display(_("Error"), $msg, ERROR_DIALOG);
+ }
+ }else {
+ $new_config = $this->dialog->DebconfConfiguration;
+ $this->dialog = FALSE;
+ $package = $new_config['Package'];
+ $name = $new_config['FAIvariable'];
+ $data = array(
+ 'Name' => $name,
+ 'Value' => $new_config['FAIvariableContent'],
+ 'Type' => $new_config['FAIvariableType'],
+ 'Status' => 'manually_added',
+ );
+ $this->DebconfConfigurations[$package][$name] = $data;
+ }
+ }
+
+ /* Handle the classical debconf dialog */
+ /* Cancel configuration */
+ if(isset($_POST['CancelObjectConfig'])){
+ $this->dialog = false;
+ $this->is_dialog=false;
+ }
+
+ /* Save Configuration */
+ if(isset($_POST['SaveObjectConfig'])){
+ if(!preg_match("/^freeze/", $this->FAIstate)){
+ $result = $this->dialog->save();
+ foreach($this->packages as $package) {
+ if (isset($result[$package])) {
+ foreach($result[$package] as $attr => $data) {
+ $identifier = sprintf("%s/%s", $package, $attr);
+ $this->UpdateEntry($identifier, $data['Value']);
+ }
+ }
+ }
+ }
+ $this->dialog = false;
+ $this->is_dialog=false;
+ }
+ }
+
+ /* Check supplied data */
+ function check()
+ {
+ /* Call common method to give check the hook */
+ $message= plugin::check();
+ $message = array();
+
+ foreach($this->DebconfConfigurations as $package => $package_data) {
+ foreach($package_data as $debconf_info) {
+ if ($debconf_info['Type'] == 'boolean') {
+ if (!empty($debconf_info['Value'])) {
+ $value = strtolower($debconf_info['Value']);
+ } else {
+ $value = "";
+ }
+
+ if (!$this->normalize_bool($value, TRUE)) {
+ $message[] = sprintf(_("The specified value '%s' for variable '%s' is not valid with the specified boolean variable type.<br><i>Allowed values: true, false, 1, 0.</i>"), $debconf_info['Value'], $debconf_info['Name']);
+ }
+ }
+ }
+ }
+
+ return ($message);
+ }
+
+ function save()
+ {
+ $this->save_object();
+ return($this->DebconfConfigurations);
+ }
+}
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>
diff --git a/trunk/gosa-plugins/fai/admin/fai/class_faiPackage.inc b/trunk/gosa-plugins/fai/admin/fai/class_faiPackage.inc
index e877dfd1515aa858d6ff25f08f8b8245762da3ec..f801ece82281382189d3ebc78f5e0efd5ef0ce86 100644 (file)
var $sub64coded = array();
var $ConfiguredPackages = array();
var $sub64coded = array();
var $ConfiguredPackages = array();
+ var $ConfigurationsToRemove = array();
/* Specific attributes */
var $cn = ""; // The class name for this object
/* Specific attributes */
var $cn = ""; // The class name for this object
"pending", "dpkgc" );
var $direct_packages_add = FALSE;
"pending", "dpkgc" );
var $direct_packages_add = FALSE;
-
+ var $configure_dialog_shown = FALSE;
function faiPackage (&$config, $dn= NULL)
{
function faiPackage (&$config, $dn= NULL)
{
foreach($this->usedPackages as $name => $value){
$PackageFilter .= "(FAIpackage=".$name.")";
}
foreach($this->usedPackages as $name => $value){
$PackageFilter .= "(FAIpackage=".$name.")";
}
+ /* Also fetch d-i */
+ $PackageFilter .= "(FAIpackage=d-i)";
+
$PackageFilter = "(&(objectClass=FAIdebconfInfo)(|".$PackageFilter."))";
/* Search for configuration objects */
$PackageFilter = "(&(objectClass=FAIdebconfInfo)(|".$PackageFilter."))";
/* Search for configuration objects */
}
$this->ConfiguredPackages[$attr['FAIpackage'][0]][$attr['FAIvariable'][0]]=$tmp;
}
}
$this->ConfiguredPackages[$attr['FAIpackage'][0]][$attr['FAIvariable'][0]]=$tmp;
}
+ else {
+ $tmp['Value'] = "";
+ $this->ConfiguredPackages[$attr['FAIpackage'][0]][$attr['FAIvariable'][0]]=$tmp;
+ }
}
$this->FAIdebianSection = array();
}
$this->FAIdebianSection = array();
foreach ($valid_packages as $value) {
foreach ($valid_packages as $value) {
-
if( $do_si_query == true ) {
$res = $daemon->FAI_get_packages($this->FAIdebianRelease,$query_attrs,array($value),0,1);
if( ! $daemon->is_error()){
if( $do_si_query == true ) {
$res = $daemon->FAI_get_packages($this->FAIdebianRelease,$query_attrs,array($value),0,1);
if( ! $daemon->is_error()){
}
}
}
}
+ if(isset($_POST['EditConfigurations']) &&
+ $this->acl_is_writeable("FAIpackage")) {
+ $this->dialog = new faiDebconfConfigurations($this->config, $this->dn, $this);
+ $this->dialog->set_acl_base($this->acl_base);
+ $this->is_dialog = true;
+ }
+
/* + was pressed to open the package dialog */
if(isset($_POST['Addpkg']) &&
$this->acl_is_writeable("FAIpackage") &&
/* + was pressed to open the package dialog */
if(isset($_POST['Addpkg']) &&
$this->acl_is_writeable("FAIpackage") &&
if(isset($this->ConfiguredPackages[$pkg])){
$pkg_config = $this->ConfiguredPackages[$pkg];
}
if(isset($this->ConfiguredPackages[$pkg])){
$pkg_config = $this->ConfiguredPackages[$pkg];
}
+ $this->configure_dialog_shown = TRUE;
$this->dialog = new faiPackageConfiguration($this->config, $this->dn,$pkg, $this->FAIdebianRelease , $pkg_config);
$this->is_dialog =true;
}
$this->dialog = new faiPackageConfiguration($this->config, $this->dn,$pkg, $this->FAIdebianRelease , $pkg_config);
$this->is_dialog =true;
}
}
/* Save Configuration */
}
/* Save Configuration */
- if(isset($_POST['SaveObjectConfig'])){
+ if(isset($_POST['SaveObjectConfig']) && $this->configure_dialog_shown){
if(!preg_match("/^freeze/", $this->FAIstate)){
$this->ConfiguredPackages= array_merge($this->ConfiguredPackages,$this->dialog->save());
}
$this->dialog = false;
$this->is_dialog=false;
if(!preg_match("/^freeze/", $this->FAIstate)){
$this->ConfiguredPackages= array_merge($this->ConfiguredPackages,$this->dialog->save());
}
$this->dialog = false;
$this->is_dialog=false;
+ $this->configure_dialog_shown=false;
+ }
+
+ if (isset($_POST['SaveDebconfConfig'])){
+ $this->dialog->save_object();
+ $msgs = $this->dialog->check();
+ if(count($msgs)>0) {
+ foreach($msgs as $msg){
+ msg_dialog::display(_("Error"), $msg, ERROR_DIALOG);
+ }
+ } else {
+ if(!preg_match("/^freeze/", $this->FAIstate)){
+ $this->ConfiguredPackages= $this->dialog->save();
+ $this->ConfigurationsToRemove = $this->dialog->to_remove;
+ }
+ $this->dialog = false;
+ $this->is_dialog = false;
+ }
}
/* cancel configuration */
}
/* cancel configuration */
- if(isset($_POST['CancelObjectConfig'])){
+ if(isset($_POST['CancelObjectConfig']) && $this->configure_dialog_shown){
$this->dialog = false;
$this->is_dialog=false;
$this->dialog = false;
$this->is_dialog=false;
+ $this->configure_dialog_shown=false;
}
/* Display dialog */
}
/* Display dialog */
/* Create divlist to display a list of all currently used packages
*/
$divlist = new divSelectBox("faiPackages");
/* Create divlist to display a list of all currently used packages
*/
$divlist = new divSelectBox("faiPackages");
+ $divlist->setHeight(600);
ksort($this->usedPackages);
if(is_array($this->usedPackages)){
ksort($this->usedPackages);
if(is_array($this->usedPackages)){
/* Save Package configurations */
foreach($this->ConfiguredPackages as $pkgname => $attrs){
foreach($attrs as $name => $attr){
/* Save Package configurations */
foreach($this->ConfiguredPackages as $pkgname => $attrs){
foreach($attrs as $name => $attr){
-
$pkgattrs = array();
foreach($attr as $n=>$v){
$pkgattrs = array();
foreach($attr as $n=>$v){
$pkgattrs['FAIvariableContent'] = $attr['Value'];
$pkgdn = "FAIvariable=".$name.",".$this->dn;
$pkgattrs['FAIvariableContent'] = $attr['Value'];
$pkgdn = "FAIvariable=".$name.",".$this->dn;
+ if (is_array($pkgattrs['FAIvariableContent'])) {
+ $ldap = $this->config->get_ldap_link();
+ $ldap->cat($pkgdn);
+ if (!$ldap->count()) {
+ /* Do not try to set FAIvariableContent to empty array if this
+ * debconfInfo object is new */
+ unset($pkgattrs['FAIvariableContent']);
+ }
+ }
+
/* Tag object */
$ui= get_userinfo();
$this->tag_attrs($pkgattrs, $pkgdn, $ui->gosaUnitTag);
/* Tag object */
$ui= get_userinfo();
$this->tag_attrs($pkgattrs, $pkgdn, $ui->gosaUnitTag);
}
}
}
}
}
}
+
+ /* Remove obsolete configurations */
+ foreach($this->ConfigurationsToRemove as $package => $attr) {
+ foreach($attr as $name => $attr) {
+ $dn = "FAIvariable=".$name.",".$this->dn;
+ $ldap = $this->config->get_ldap_link();
+ $ldap->cd($dn);
+ $ldap->rmdir($dn);
+ }
+ }
}
}
foreach($this->usedPackages as $name){
$PackageFilter .= "(FAIpackage=".$name.")";
}
foreach($this->usedPackages as $name){
$PackageFilter .= "(FAIpackage=".$name.")";
}
- $PackageFilter = "(&(objectClass=FAIdebconfInfo)(|".$PackageFilter."))";
/* Search for configuration objects */
$ldap = $this->config->get_ldap_link();
/* Search for configuration objects */
$ldap = $this->config->get_ldap_link();
diff --git a/trunk/gosa-plugins/fai/admin/fai/class_faiPackageConfiguration.inc b/trunk/gosa-plugins/fai/admin/fai/class_faiPackageConfiguration.inc
index ab437c3bc3254caff06dc610194527eb1a9f1a74..d0e0df3c5784811acb347ea53e0e17e16f8db68e 100644 (file)
$this->Debconf_handle->load_from_string($tpl);
if($this->Debconf_handle->has_template()){
foreach($this->pkg_config as $var){
$this->Debconf_handle->load_from_string($tpl);
if($this->Debconf_handle->has_template()){
foreach($this->pkg_config as $var){
+ if (is_array($var['Value'])) {
+ $var['Value'] = "";
+ }
$this->Debconf_handle->SetDefault($var['Name'],$var['Value']);
}
}
$this->Debconf_handle->SetDefault($var['Name'],$var['Value']);
}
}
diff --git a/trunk/gosa-plugins/fai/admin/fai/faiDebconfConfigurations.tpl b/trunk/gosa-plugins/fai/admin/fai/faiDebconfConfigurations.tpl
--- /dev/null
@@ -0,0 +1,13 @@
+<h1><img class="center" alt="" src="images/forward.png" align="middle" title="{t}Package{/t}"> {$headline}</h1>
+{$divlist}
+<div align="left" valign="bottom" style="align:left;">
+ <input name="NewDebconfEntry" value="{t}Add{/t}" type="submit">
+</div>
+</table>
+<br>
+<input type="hidden" name="update_values" value="1">
+<div align="right" valign="bottom" style="align:right;">
+ <input name="SaveDebconfConfig" value="{msgPool type=applyButton}" type="submit">
+ <input name="CancelSubObject" value="{msgPool type=cancelButton}" type="submit">
+</div>
+<table style="visibility: hidden;">
diff --git a/trunk/gosa-plugins/fai/admin/fai/faiPackage.tpl b/trunk/gosa-plugins/fai/admin/fai/faiPackage.tpl
index 3afc580c78468877fde48400e051bb3236e4cff6..870ae6ea999e2e753ce128320b341fe322abddaf 100644 (file)
<p class="seperator"> </p>
<table width="99%" summary="">
<tr>
<p class="seperator"> </p>
<table width="99%" summary="">
<tr>
- <td>
+ <td colspan="2">
<h2><img class="center" alt="" src="plugins/fai/images/fai_packages.png" align="middle" title="{t}Used packages{/t}"> {t}Used packages{/t}</h2>
{$divlist}
</td>
</tr>
<h2><img class="center" alt="" src="plugins/fai/images/fai_packages.png" align="middle" title="{t}Used packages{/t}"> {t}Used packages{/t}</h2>
{$divlist}
</td>
</tr>
+</table>
+<table width="99%" summary="">
{render acl=$FAIpackageACL}
<tr>
{render acl=$FAIpackageACL}
<tr>
- <td>
+ <td style="width:600px;">
{if $direct_packages_add}
<input type="text" size="25" name="addPpkgsText" value="" />
<input type="submit" name="AddManualpkg" value="{msgPool type=addButton}" />
{if $direct_packages_add}
<input type="text" size="25" name="addPpkgsText" value="" />
<input type="submit" name="AddManualpkg" value="{msgPool type=addButton}" />
<input type="submit" name="Addpkg" value="{msgPool type=addButton}">
{/if}
</td>
<input type="submit" name="Addpkg" value="{msgPool type=addButton}">
{/if}
</td>
+ <td style="text-align: right;">
+ <!-- ToDo: ACL? --!>
+ <input type="submit" name="EditConfigurations" value="{t}Edit package configurations{/t}">
+ </td>
</tr>
{/render}
</table>
</tr>
{/render}
</table>
diff --git a/trunk/gosa-plugins/fai/locale/de/LC_MESSAGES/messages.po b/trunk/gosa-plugins/fai/locale/de/LC_MESSAGES/messages.po
index 3ebe8cdf826ea0258e11e03dc2169e7627c63369..aa070ab393e829c55f6938d7e771742c37ccc7ea 100644 (file)
msgstr ""
"Project-Id-Version: messages\n"
"Report-Msgid-Bugs-To: \n"
msgstr ""
"Project-Id-Version: messages\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-11 13:22+0100\n"
+"POT-Creation-Date: 2010-03-15 11:14+0100\n"
"PO-Revision-Date: 2008-12-04 11:27+0100\n"
"Last-Translator: Cajus Pollmeier <pollmeier@gonicus.de>\n"
"Language-Team: deutsch <de@li.org>\n"
"PO-Revision-Date: 2008-12-04 11:27+0100\n"
"Last-Translator: Cajus Pollmeier <pollmeier@gonicus.de>\n"
"Language-Team: deutsch <de@li.org>\n"
@@ -40,20 +40,22 @@ msgstr "Sie können diese Erweiterung erst verwenden, wenn FAI aktiviert wurde."
#: admin/systems/services/repository/class_servRepository.inc:182
#: admin/systems/services/repository/class_servRepositorySetup.inc:204
#: admin/fai/class_faiSummaryTab.inc:89
#: admin/systems/services/repository/class_servRepository.inc:182
#: admin/systems/services/repository/class_servRepositorySetup.inc:204
#: admin/fai/class_faiSummaryTab.inc:89
-#: admin/fai/class_faiPartitionTable.inc:180 admin/fai/tabsHook.inc:32
-#: admin/fai/class_faiTemplate.inc:212 admin/fai/tabsProfile.inc:33
-#: admin/fai/class_faiManagement.inc:238 admin/fai/class_faiManagement.inc:614
-#: admin/fai/class_faiManagement.inc:620 admin/fai/class_faiManagement.inc:906
-#: admin/fai/class_faiManagement.inc:950 admin/fai/class_faiManagement.inc:974
+#: admin/fai/class_faiPartitionTable.inc:173 admin/fai/tabsHook.inc:32
+#: admin/fai/class_faiTemplate.inc:208
+#: admin/fai/class_faiDebconfConfigurations.inc:341
+#: admin/fai/tabsProfile.inc:33 admin/fai/class_faiManagement.inc:238
+#: admin/fai/class_faiManagement.inc:614 admin/fai/class_faiManagement.inc:620
+#: admin/fai/class_faiManagement.inc:906 admin/fai/class_faiManagement.inc:950
+#: admin/fai/class_faiManagement.inc:974
#: admin/fai/class_faiManagement.inc:1238
#: admin/fai/class_faiScriptEntry.inc:59 admin/fai/class_faiScriptEntry.inc:62
#: admin/fai/tabsScript.inc:33 admin/fai/tabsPackage.inc:33
#: admin/fai/class_faiManagement.inc:1238
#: admin/fai/class_faiScriptEntry.inc:59 admin/fai/class_faiScriptEntry.inc:62
#: admin/fai/tabsScript.inc:33 admin/fai/tabsPackage.inc:33
-#: admin/fai/tabsPartition.inc:34 admin/fai/class_faiScript.inc:229
+#: admin/fai/tabsPartition.inc:34 admin/fai/class_faiScript.inc:224
#: admin/fai/tabsTemplate.inc:33 admin/fai/class_FAI.inc:548
#: admin/fai/tabsTemplate.inc:33 admin/fai/class_FAI.inc:548
-#: admin/fai/class_faiHook.inc:239 admin/fai/class_faiProfile.inc:259
+#: admin/fai/class_faiHook.inc:233 admin/fai/class_faiProfile.inc:263
#: admin/fai/class_faiHookEntry.inc:62 admin/fai/class_faiHookEntry.inc:65
#: admin/fai/class_faiHookEntry.inc:62 admin/fai/class_faiHookEntry.inc:65
-#: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiPackage.inc:356
-#: admin/fai/tabsVariable.inc:33
+#: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiPackage.inc:367
+#: admin/fai/class_faiPackage.inc:400 admin/fai/tabsVariable.inc:33
msgid "Error"
msgstr "Fehler"
msgid "Error"
msgstr "Fehler"
#: admin/systems/services/repository/class_servRepository.inc:177
#: admin/fai/class_faiSummaryTab.inc:343
#: admin/systems/services/repository/class_servRepository.inc:177
#: admin/fai/class_faiSummaryTab.inc:343
-#: admin/fai/class_faiPartitionTable.inc:371
-#: admin/fai/class_faiPartitionTable.inc:551 admin/fai/faiPackage.tpl:9
+#: admin/fai/class_faiPartitionTable.inc:364
+#: admin/fai/class_faiPartitionTable.inc:536 admin/fai/faiPackage.tpl:9
#: admin/fai/class_faiPartitionTableEntry.inc:375
#: admin/fai/class_faiPartitionTableEntry.inc:378
#: admin/fai/class_faiPartitionTableEntry.inc:474
#: admin/fai/class_faiPartitionTableEntry.inc:375
#: admin/fai/class_faiPartitionTableEntry.inc:378
#: admin/fai/class_faiPartitionTableEntry.inc:474
-#: admin/fai/class_faiTemplate.inc:421 admin/fai/class_faiTemplate.inc:545
+#: admin/fai/class_faiTemplate.inc:417 admin/fai/class_faiTemplate.inc:537
#: admin/fai/faiVariable.tpl:9 admin/fai/class_askClassName.inc:142
#: admin/fai/class_askClassName.inc:151 admin/fai/class_askClassName.inc:155
#: admin/fai/class_faiManagement.inc:614 admin/fai/class_faiManagement.inc:620
#: admin/fai/faiVariable.tpl:9 admin/fai/class_askClassName.inc:142
#: admin/fai/class_askClassName.inc:151 admin/fai/class_askClassName.inc:155
#: admin/fai/class_faiManagement.inc:614 admin/fai/class_faiManagement.inc:620
#: admin/fai/class_faiScriptEntry.inc:142
#: admin/fai/class_faiScriptEntry.inc:145
#: admin/fai/class_faiScriptEntry.inc:189 admin/fai/faiVariableEntry.tpl:9
#: admin/fai/class_faiScriptEntry.inc:142
#: admin/fai/class_faiScriptEntry.inc:145
#: admin/fai/class_faiScriptEntry.inc:189 admin/fai/faiVariableEntry.tpl:9
-#: admin/fai/faiScript.tpl:9 admin/fai/class_faiScript.inc:327
-#: admin/fai/class_faiScript.inc:483 admin/fai/class_faiScript.inc:646
+#: admin/fai/faiScript.tpl:9 admin/fai/class_faiScript.inc:322
+#: admin/fai/class_faiScript.inc:478 admin/fai/class_faiScript.inc:637
#: admin/fai/faiScriptEntry.tpl:9 admin/fai/class_faiTemplateEntry.inc:207
#: admin/fai/class_faiTemplateEntry.inc:273 admin/fai/faiTemplate.tpl:9
#: admin/fai/faiHookEntry.tpl:9 admin/fai/faiHook.tpl:9
#: admin/fai/faiScriptEntry.tpl:9 admin/fai/class_faiTemplateEntry.inc:207
#: admin/fai/class_faiTemplateEntry.inc:273 admin/fai/faiTemplate.tpl:9
#: admin/fai/faiHookEntry.tpl:9 admin/fai/faiHook.tpl:9
-#: admin/fai/class_faiHook.inc:440 admin/fai/class_faiHook.inc:562
-#: admin/fai/class_faiProfile.inc:407 admin/fai/class_faiProfile.inc:417
-#: admin/fai/class_faiProfile.inc:491 admin/fai/class_faiHookEntry.inc:145
+#: admin/fai/class_faiHook.inc:434 admin/fai/class_faiHook.inc:552
+#: admin/fai/class_faiProfile.inc:413 admin/fai/class_faiProfile.inc:423
+#: admin/fai/class_faiProfile.inc:497 admin/fai/class_faiHookEntry.inc:145
#: admin/fai/class_faiHookEntry.inc:150 admin/fai/class_faiHookEntry.inc:153
#: admin/fai/class_faiHookEntry.inc:196 admin/fai/class_faiVariable.inc:296
#: admin/fai/class_faiHookEntry.inc:150 admin/fai/class_faiHookEntry.inc:153
#: admin/fai/class_faiHookEntry.inc:196 admin/fai/class_faiVariable.inc:296
-#: admin/fai/class_faiVariable.inc:398 admin/fai/class_faiVariableEntry.inc:90
+#: admin/fai/class_faiVariable.inc:397 admin/fai/class_faiVariableEntry.inc:90
#: admin/fai/class_faiVariableEntry.inc:99
#: admin/fai/class_faiVariableEntry.inc:102
#: admin/fai/class_faiVariableEntry.inc:99
#: admin/fai/class_faiVariableEntry.inc:102
-#: admin/fai/class_faiVariableEntry.inc:137 admin/fai/class_faiPackage.inc:541
-#: admin/fai/class_faiPackage.inc:667 admin/fai/faiPartitionTable.tpl:9
+#: admin/fai/class_faiVariableEntry.inc:137 admin/fai/class_faiPackage.inc:572
+#: admin/fai/class_faiPackage.inc:707 admin/fai/faiPartitionTable.tpl:9
#: admin/fai/faiPartitionTableEntry.tpl:6 admin/fai/faiProfile.tpl:9
msgid "Name"
msgstr "Name"
#: admin/systems/services/repository/class_servRepository.inc:352
#: admin/fai/faiPartitionTableEntry.tpl:6 admin/fai/faiProfile.tpl:9
msgid "Name"
msgstr "Name"
#: admin/systems/services/repository/class_servRepository.inc:352
+#: admin/fai/class_faiDebconfConfigurations.inc:71
#: admin/fai/class_faiManagement.inc:788
#: admin/fai/class_faiPackageConfiguration.inc:35 admin/fai/class_FAI.inc:566
#: admin/fai/class_faiManagement.inc:788
#: admin/fai/class_faiPackageConfiguration.inc:35 admin/fai/class_FAI.inc:566
-#: admin/fai/class_faiPackage.inc:266 admin/fai/class_faiPackage.inc:563
+#: admin/fai/class_faiPackage.inc:269 admin/fai/class_faiPackage.inc:594
#: admin/fai/class_faiPackageEntry.inc:53
#: admin/fai/class_faiPackageEntry.inc:193
msgid "Service infrastructure"
#: admin/fai/class_faiPackageEntry.inc:53
#: admin/fai/class_faiPackageEntry.inc:193
msgid "Service infrastructure"
#: admin/systems/services/repository/servRepositorySetup.tpl:19
#: admin/systems/services/repository/class_divListRepositories.inc:23
#: admin/fai/faiPackage.tpl:37 admin/fai/branch_selector.tpl:25
#: admin/systems/services/repository/servRepositorySetup.tpl:19
#: admin/systems/services/repository/class_divListRepositories.inc:23
#: admin/fai/faiPackage.tpl:37 admin/fai/branch_selector.tpl:25
-#: admin/fai/class_faiPackage.inc:673
+#: admin/fai/class_faiPackage.inc:713
msgid "Release"
msgstr "Release"
msgid "Release"
msgstr "Release"
msgid "Add repository"
msgstr "Repository hinzufügen"
msgid "Add repository"
msgstr "Repository hinzufügen"
-#: admin/fai/faiPackageConfiguration.tpl:1 admin/fai/class_divListFai.inc:68
-#: admin/fai/class_faiPackage.inc:659
+#: admin/fai/faiPackageConfiguration.tpl:1
+#: admin/fai/class_faiDebconfConfigurations.inc:115
+#: admin/fai/NewDebconfConfiguration.tpl:16 admin/fai/class_divListFai.inc:68
+#: admin/fai/faiDebconfConfigurations.tpl:1 admin/fai/class_faiPackage.inc:699
msgid "Package"
msgstr "Paket"
msgid "Package"
msgstr "Paket"
msgstr "Vorlagen"
#: admin/fai/class_faiSummaryTab.inc:48
msgstr "Vorlagen"
#: admin/fai/class_faiSummaryTab.inc:48
-#: admin/fai/class_faiPartitionTable.inc:543
+#: admin/fai/class_faiPartitionTable.inc:528
#: admin/fai/class_askClassName.inc:79 admin/fai/class_divListFai.inc:154
#: admin/fai/class_divListFai.inc:208 admin/fai/class_faiGroupHandle.inc:100
#: admin/fai/class_askClassName.inc:79 admin/fai/class_divListFai.inc:154
#: admin/fai/class_divListFai.inc:208 admin/fai/class_faiGroupHandle.inc:100
-#: admin/fai/class_faiProfileEntry.inc:143 admin/fai/class_faiProfile.inc:294
+#: admin/fai/class_faiProfileEntry.inc:143 admin/fai/class_faiProfile.inc:298
msgid "Partition table"
msgstr "Partitionstabelle"
msgid "Partition table"
msgstr "Partitionstabelle"
#: admin/fai/class_faiSummaryTab.inc:348
#: admin/fai/class_faiPartitionTableEntry.inc:183
#: admin/fai/class_faiSummaryTab.inc:348
#: admin/fai/class_faiPartitionTableEntry.inc:183
+#: admin/fai/class_faiDebconfConfigurations.inc:117
+#: admin/fai/NewDebconfConfiguration.tpl:22
msgid "Type"
msgstr "Typ"
msgid "Type"
msgstr "Typ"
-#: admin/fai/class_faiPartitionTable.inc:301
-#: admin/fai/class_faiPartitionTable.inc:307
+#: admin/fai/class_faiPartitionTable.inc:294
+#: admin/fai/class_faiPartitionTable.inc:300
#, php-format
msgid "%s partition"
msgstr "%s Partition"
#, php-format
msgid "%s partition"
msgstr "%s Partition"
-#: admin/fai/class_faiPartitionTable.inc:303
-#: admin/fai/class_faiPartitionTable.inc:309
+#: admin/fai/class_faiPartitionTable.inc:296
+#: admin/fai/class_faiPartitionTable.inc:302
#, php-format
msgid "%s partition(s)"
msgstr "%s Partition(en)"
#, php-format
msgid "%s partition(s)"
msgstr "%s Partition(en)"
-#: admin/fai/class_faiPartitionTable.inc:544
+#: admin/fai/class_faiPartitionTable.inc:529
msgid "FAI partition table"
msgstr "FAI-Partitionstabelle"
msgid "FAI partition table"
msgstr "FAI-Partitionstabelle"
-#: admin/fai/class_faiPartitionTable.inc:551 admin/fai/class_faiHook.inc:562
-#: admin/fai/class_faiVariable.inc:398
+#: admin/fai/class_faiPartitionTable.inc:536 admin/fai/class_faiHook.inc:552
+#: admin/fai/class_faiVariable.inc:397
msgid "Read only"
msgstr "Nur Lesen"
msgid "Read only"
msgstr "Nur Lesen"
-#: admin/fai/class_faiPartitionTable.inc:552 admin/fai/faiPackage.tpl:21
+#: admin/fai/class_faiPartitionTable.inc:537 admin/fai/faiPackage.tpl:21
#: admin/fai/class_faiPartitionTableEntry.inc:475
#: admin/fai/class_faiPartitionTableEntry.inc:475
-#: admin/fai/class_faiTemplate.inc:546 admin/fai/faiVariable.tpl:21
+#: admin/fai/class_faiTemplate.inc:538 admin/fai/faiVariable.tpl:21
#: admin/fai/class_faiScriptEntry.inc:190 admin/fai/faiVariableEntry.tpl:19
#: admin/fai/faiScript.tpl:21 admin/fai/faiTemplateEntry.tpl:33
#: admin/fai/class_faiScriptEntry.inc:190 admin/fai/faiVariableEntry.tpl:19
#: admin/fai/faiScript.tpl:21 admin/fai/faiTemplateEntry.tpl:33
-#: admin/fai/class_faiScript.inc:647 admin/fai/faiScriptEntry.tpl:19
+#: admin/fai/class_faiScript.inc:638 admin/fai/faiScriptEntry.tpl:19
#: admin/fai/class_faiTemplateEntry.inc:274 admin/fai/faiTemplate.tpl:21
#: admin/fai/faiHookEntry.tpl:19 admin/fai/faiHook.tpl:21
#: admin/fai/class_faiTemplateEntry.inc:274 admin/fai/faiTemplate.tpl:21
#: admin/fai/faiHookEntry.tpl:19 admin/fai/faiHook.tpl:21
-#: admin/fai/class_faiHook.inc:563 admin/fai/class_faiProfile.inc:492
-#: admin/fai/class_faiHookEntry.inc:197 admin/fai/class_faiVariable.inc:399
-#: admin/fai/class_faiVariableEntry.inc:138 admin/fai/class_faiPackage.inc:668
+#: admin/fai/class_faiHook.inc:553 admin/fai/class_faiProfile.inc:498
+#: admin/fai/class_faiHookEntry.inc:197 admin/fai/class_faiVariable.inc:398
+#: admin/fai/class_faiVariableEntry.inc:138 admin/fai/class_faiPackage.inc:708
#: admin/fai/faiPartitionTable.tpl:21 admin/fai/faiPartitionTableEntry.tpl:13
#: admin/fai/faiProfile.tpl:21
msgid "Description"
#: admin/fai/faiPartitionTable.tpl:21 admin/fai/faiPartitionTableEntry.tpl:13
#: admin/fai/faiProfile.tpl:21
msgid "Description"
msgid "Generic"
msgstr "Allgemein"
msgid "Generic"
msgstr "Allgemein"
-#: admin/fai/faiPackage.tpl:45 admin/fai/class_faiPackage.inc:670
+#: admin/fai/faiPackage.tpl:45 admin/fai/class_faiPackage.inc:710
msgid "Section"
msgstr "Section"
msgid "Section"
msgstr "Section"
msgid "Used packages"
msgstr "Verwendete Pakete"
msgid "Used packages"
msgstr "Verwendete Pakete"
-#: admin/fai/faiPackage.tpl:82
+#: admin/fai/faiPackage.tpl:84
msgid "Add from list"
msgstr "Aus Liste hinzufügen"
msgid "Add from list"
msgstr "Aus Liste hinzufügen"
+#: admin/fai/faiPackage.tpl:91
+msgid "Edit package configurations"
+msgstr "Bearbeite Paket-Konfigurationen"
+
#: admin/fai/class_faiPartitionTableEntry.inc:176
msgid "primary"
msgstr "primär"
#: admin/fai/class_faiPartitionTableEntry.inc:176
msgid "primary"
msgstr "primär"
"Verschieben des Baums ist fehlgeschlagen: Der Zielbaum ist ein Teilbaum des "
"Quellbaumes."
"Verschieben des Baums ist fehlgeschlagen: Der Zielbaum ist ein Teilbaum des "
"Quellbaumes."
-#: admin/fai/class_faiTemplate.inc:286 admin/fai/class_faiTemplate.inc:288
-#: admin/fai/class_faiScript.inc:344 admin/fai/class_faiScript.inc:346
+#: admin/fai/class_faiTemplate.inc:282 admin/fai/class_faiTemplate.inc:284
+#: admin/fai/class_faiScript.inc:339 admin/fai/class_faiScript.inc:341
msgid "edit"
msgstr "Bearbeiten"
msgid "edit"
msgstr "Bearbeiten"
-#: admin/fai/class_faiTemplate.inc:290 admin/fai/class_faiScript.inc:348
+#: admin/fai/class_faiTemplate.inc:286 admin/fai/class_faiScript.inc:343
msgid "delete"
msgstr "Entfernen"
msgid "delete"
msgstr "Entfernen"
-#: admin/fai/class_faiTemplate.inc:300 admin/fai/class_faiScriptEntry.inc:88
-#: admin/fai/class_faiScript.inc:330 admin/fai/class_faiScript.inc:358
-#: admin/fai/class_faiHook.inc:326 admin/fai/class_faiHookEntry.inc:80
+#: admin/fai/class_faiTemplate.inc:296 admin/fai/class_faiScriptEntry.inc:88
+#: admin/fai/class_faiScript.inc:325 admin/fai/class_faiScript.inc:353
+#: admin/fai/class_faiHook.inc:320 admin/fai/class_faiHookEntry.inc:80
msgid "Download"
msgstr "Herunterladen"
msgid "Download"
msgstr "Herunterladen"
-#: admin/fai/class_faiTemplate.inc:537
+#: admin/fai/class_faiTemplate.inc:529
msgid "Template"
msgstr "Vorlage"
msgid "Template"
msgstr "Vorlage"
-#: admin/fai/class_faiTemplate.inc:538
+#: admin/fai/class_faiTemplate.inc:530
msgid "FAI template"
msgstr "FAI-Vorlage"
msgid "FAI template"
msgstr "FAI-Vorlage"
-#: admin/fai/class_faiTemplate.inc:545 admin/fai/class_faiScript.inc:646
-#: admin/fai/class_faiPackage.inc:670 admin/fai/class_faiPackage.inc:673
+#: admin/fai/class_faiTemplate.inc:537 admin/fai/class_faiScript.inc:637
+#: admin/fai/class_faiPackage.inc:710 admin/fai/class_faiPackage.inc:713
msgid "Readonly"
msgstr "Nur Lesen"
msgid "Readonly"
msgstr "Nur Lesen"
msgid "Choose a variable to delete or edit"
msgstr "Wählen Sie eine Variable zum Entfernen oder Bearbeiten"
msgid "Choose a variable to delete or edit"
msgstr "Wählen Sie eine Variable zum Entfernen oder Bearbeiten"
-#: admin/fai/faiVariable.tpl:53 admin/fai/class_faiHook.inc:312
-#: admin/fai/class_faiHook.inc:314 admin/fai/faiPartitionTable.tpl:54
+#: admin/fai/faiVariable.tpl:53
+#: admin/fai/class_faiDebconfConfigurations.inc:127
+#: admin/fai/class_faiHook.inc:306 admin/fai/class_faiHook.inc:308
+#: admin/fai/faiPartitionTable.tpl:54
msgid "Edit"
msgstr "Bearbeiten"
msgid "Edit"
msgstr "Bearbeiten"
+#: admin/fai/class_faiDebconfConfigurations.inc:116
+#: admin/fai/NewDebconfConfiguration.tpl:19 admin/fai/class_divListFai.inc:60
+#: admin/fai/class_divListFai.inc:66 admin/fai/class_faiVariable.inc:389
+msgid "Variable"
+msgstr "Variable"
+
+#: admin/fai/class_faiDebconfConfigurations.inc:118
+#: admin/fai/NewDebconfConfiguration.tpl:25
+#: admin/fai/NewDebconfConfiguration.tpl:43
+msgid "Value"
+msgstr "Wert"
+
+#: admin/fai/class_faiDebconfConfigurations.inc:123
+msgid "Reset"
+msgstr "Zurücksetzen"
+
+#: admin/fai/class_faiDebconfConfigurations.inc:125
+#: admin/fai/class_faiHook.inc:310
+msgid "Delete"
+msgstr "Entfernen"
+
+#: admin/fai/class_faiDebconfConfigurations.inc:218
+#, php-format
+msgid "Debconf information for package list '%s'"
+msgstr "Debconf-Informationen für Paketliste '%s'"
+
+#: admin/fai/class_faiDebconfConfigurations.inc:400
+#, php-format
+msgid ""
+"The specified value '%s' for variable '%s' is not valid with the specified "
+"boolean variable type.<br><i>Allowed values: true, false, 1, 0.</i>"
+msgstr "Der angegebene Wert '%s' in der Variable '%s' ist mit dem angegebenen "
+"Variablen-Typ boolean nicht zulässig.<br><i>Erlaubte Werte: true, false, 1, 0.</i>"
+
#: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80
#: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82
#: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84
#: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80
#: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82
#: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84
msgstr "Erstelle neues FAI-Objekt"
#: admin/fai/class_askClassName.inc:80 admin/fai/class_faiProfileEntry.inc:142
msgstr "Erstelle neues FAI-Objekt"
#: admin/fai/class_askClassName.inc:80 admin/fai/class_faiProfileEntry.inc:142
-#: admin/fai/class_faiProfile.inc:293
+#: admin/fai/class_faiProfile.inc:297
msgid "Package bundle"
msgstr "Paket-Gruppe"
#: admin/fai/class_askClassName.inc:81 admin/fai/class_faiProfileEntry.inc:140
msgid "Package bundle"
msgstr "Paket-Gruppe"
#: admin/fai/class_askClassName.inc:81 admin/fai/class_faiProfileEntry.inc:140
-#: admin/fai/class_faiProfile.inc:291
+#: admin/fai/class_faiProfile.inc:295
msgid "Script bundle"
msgstr "Skript-Gruppe"
#: admin/fai/class_askClassName.inc:82 admin/fai/class_faiProfileEntry.inc:141
msgid "Script bundle"
msgstr "Skript-Gruppe"
#: admin/fai/class_askClassName.inc:82 admin/fai/class_faiProfileEntry.inc:141
-#: admin/fai/class_faiProfile.inc:292
+#: admin/fai/class_faiProfile.inc:296
msgid "Variable bundle"
msgstr "Variablen-Gruppe"
#: admin/fai/class_askClassName.inc:83 admin/fai/class_faiProfileEntry.inc:138
msgid "Variable bundle"
msgstr "Variablen-Gruppe"
#: admin/fai/class_askClassName.inc:83 admin/fai/class_faiProfileEntry.inc:138
-#: admin/fai/class_faiProfile.inc:289
+#: admin/fai/class_faiProfile.inc:293
msgid "Hook bundle"
msgstr "Hook-Gruppe"
#: admin/fai/class_askClassName.inc:84 admin/fai/class_divListFai.inc:58
#: admin/fai/class_divListFai.inc:149 admin/fai/class_divListFai.inc:218
msgid "Hook bundle"
msgstr "Hook-Gruppe"
#: admin/fai/class_askClassName.inc:84 admin/fai/class_divListFai.inc:58
#: admin/fai/class_divListFai.inc:149 admin/fai/class_divListFai.inc:218
-#: admin/fai/class_faiGroupHandle.inc:110 admin/fai/class_faiProfile.inc:483
+#: admin/fai/class_faiGroupHandle.inc:110 admin/fai/class_faiProfile.inc:489
msgid "Profile"
msgstr "Profil"
#: admin/fai/class_askClassName.inc:85 admin/fai/class_faiProfileEntry.inc:139
msgid "Profile"
msgstr "Profil"
#: admin/fai/class_askClassName.inc:85 admin/fai/class_faiProfileEntry.inc:139
-#: admin/fai/class_faiProfile.inc:290
+#: admin/fai/class_faiProfile.inc:294
msgid "Template bundle"
msgstr "Vorlagen-Gruppe"
msgid "Template bundle"
msgstr "Vorlagen-Gruppe"
"Dieses Menü erlaubt es Ihnen, Pakete auszuwählen und zur gegenwärtig "
"bearbeiteten Paketliste hinzuzufügen."
"Dieses Menü erlaubt es Ihnen, Pakete auszuwählen und zur gegenwärtig "
"bearbeiteten Paketliste hinzuzufügen."
+#: admin/fai/NewDebconfConfiguration.tpl:2
+msgid "New debconf configuration"
+msgstr "Neue Debconf-Konfiguration"
+
+#: admin/fai/NewDebconfConfiguration.tpl:6
+msgid "In this dialog you can add a new debconf configuration."
+msgstr "In diesem Dialog können Sie eine neue Debconf-Konfiguration festlegen."
+
+#: admin/fai/NewDebconfConfiguration.tpl:30
+msgid "Select package"
+msgstr "Wählen Sie ein Paket"
+
+#: admin/fai/NewDebconfConfiguration.tpl:38
+msgid "Select type"
+msgstr "Wählen Sie einen Typ"
+
#: admin/fai/faiSummary.tpl:4
msgid "FAI object tree"
msgstr "FAI-Objekthierarchie"
#: admin/fai/faiSummary.tpl:4
msgid "FAI object tree"
msgstr "FAI-Objekthierarchie"
msgstr "Datei ist leer"
#: admin/fai/class_faiScriptEntry.inc:150 admin/fai/class_divListFai.inc:62
msgstr "Datei ist leer"
#: admin/fai/class_faiScriptEntry.inc:150 admin/fai/class_divListFai.inc:62
-#: admin/fai/class_faiScript.inc:638 admin/fai/faiScriptEntry.tpl:56
+#: admin/fai/class_faiScript.inc:629 admin/fai/faiScriptEntry.tpl:56
#: admin/fai/faiHookEntry.tpl:56 admin/fai/class_faiHookEntry.inc:158
msgid "Script"
msgstr "Skript"
#: admin/fai/faiHookEntry.tpl:56 admin/fai/class_faiHookEntry.inc:158
msgid "Script"
msgstr "Skript"
msgid "Show profiles"
msgstr "Zeige Profile"
msgid "Show profiles"
msgstr "Zeige Profile"
-#: admin/fai/class_divListFai.inc:60 admin/fai/class_divListFai.inc:66
-#: admin/fai/class_faiVariable.inc:390
-msgid "Variable"
-msgstr "Variable"
-
#: admin/fai/class_divListFai.inc:60
msgid "Show templates"
msgstr "Zeige Vorlagen"
#: admin/fai/class_divListFai.inc:60
msgid "Show templates"
msgstr "Zeige Vorlagen"
msgid "Show scripts"
msgstr "Zeige Skripte"
msgid "Show scripts"
msgstr "Zeige Skripte"
-#: admin/fai/class_divListFai.inc:64 admin/fai/class_faiHook.inc:554
+#: admin/fai/class_divListFai.inc:64 admin/fai/class_faiHook.inc:544
msgid "Hook"
msgstr "Hook"
msgid "Hook"
msgstr "Hook"
msgid "List of scripts"
msgstr "Liste der Skripte"
msgid "List of scripts"
msgstr "Liste der Skripte"
-#: admin/fai/class_debconfTemplate.inc:210
+#: admin/fai/class_debconfTemplate.inc:213
msgid "This package has no debconf options."
msgstr "Dieses Paket verfügt über keine debconf-Optionen."
msgid "This package has no debconf options."
msgstr "Dieses Paket verfügt über keine debconf-Optionen."
-#: admin/fai/class_debconfTemplate.inc:247
+#: admin/fai/class_debconfTemplate.inc:250
msgid ""
"This debconf question is dynamically generated during package installation "
"and requires choosing between specific options which cannot be presented "
msgid ""
"This debconf question is dynamically generated during package installation "
"and requires choosing between specific options which cannot be presented "
msgid "sticky"
msgstr "sticky"
msgid "sticky"
msgstr "sticky"
-#: admin/fai/class_faiScript.inc:314 admin/fai/class_faiScript.inc:316
+#: admin/fai/class_faiScript.inc:309 admin/fai/class_faiScript.inc:311
msgid "Sort direction"
msgstr "Sortierrichtung"
msgid "Sort direction"
msgstr "Sortierrichtung"
-#: admin/fai/class_faiScript.inc:328 admin/fai/faiScriptEntry.tpl:38
+#: admin/fai/class_faiScript.inc:323 admin/fai/faiScriptEntry.tpl:38
msgid "Priority"
msgstr "Priorität"
msgid "Priority"
msgstr "Priorität"
-#: admin/fai/class_faiScript.inc:332
+#: admin/fai/class_faiScript.inc:327
msgid "Action"
msgstr "Aktion"
msgid "Action"
msgstr "Aktion"
-#: admin/fai/class_faiScript.inc:639 admin/fai/class_faiHookEntry.inc:199
+#: admin/fai/class_faiScript.inc:630 admin/fai/class_faiHookEntry.inc:199
msgid "FAI script"
msgstr "FAI-Skript"
msgid "FAI script"
msgstr "FAI-Skript"
msgid "Debconf information for package '%s'"
msgstr "Debconf-Information für Paket '%s'"
msgid "Debconf information for package '%s'"
msgstr "Debconf-Information für Paket '%s'"
+#: admin/fai/faiDebconfConfigurations.tpl:4
+msgid "Add"
+msgstr "Hinzufügen"
+
#: admin/fai/class_faiGroupHandle.inc:116
msgid "OPSI local product"
msgstr "OPSI Local-Produkt"
#: admin/fai/class_faiGroupHandle.inc:116
msgid "OPSI local product"
msgstr "OPSI Local-Produkt"
+#: admin/fai/class_NewDebconfConfiguration.inc:122
+#, php-format
+msgid ""
+"The specified value '%s' for the variable type boolean is invalid."
+"<br><i>Allowed values: true, false, 1, 0.</i>"
+msgstr "Der angegebene Wert '%s' für den Variablen-Typ Boolean ist unzulässig."
+"<br><i>Erlaubte Werte: true, false, 1, 0.</i>"
+
#: admin/fai/faiHookEntry.tpl:33 admin/fai/faiHookEntry.tpl:54
msgid "Hook attributes"
msgstr "Hook-Attribute"
#: admin/fai/faiHookEntry.tpl:33 admin/fai/faiHookEntry.tpl:54
msgid "Hook attributes"
msgstr "Hook-Attribute"
msgid "FAI settings"
msgstr "FAI-Einstellungen"
msgid "FAI settings"
msgstr "FAI-Einstellungen"
-#: admin/fai/class_faiProfileEntry.inc:172 admin/fai/class_faiProfile.inc:286
+#: admin/fai/class_faiProfileEntry.inc:172 admin/fai/class_faiProfile.inc:290
msgid "This list displays all assigned class names for this profile."
msgstr "Diese Liste zeigt alle diesem Profil zugeordneten Klassen-Namen."
msgid "This list displays all assigned class names for this profile."
msgstr "Diese Liste zeigt alle diesem Profil zugeordneten Klassen-Namen."
-#: admin/fai/class_faiHook.inc:316
-msgid "Delete"
-msgstr "Entfernen"
-
-#: admin/fai/class_faiHook.inc:555
+#: admin/fai/class_faiHook.inc:545
msgid "FAI hook"
msgstr "FAI-Hook"
msgid "FAI hook"
msgstr "FAI-Hook"
-#: admin/fai/class_faiProfile.inc:297
+#: admin/fai/class_faiProfile.inc:301
msgid "Remove class from profile"
msgstr "Entferne Klasse von Profil"
msgid "Remove class from profile"
msgstr "Entferne Klasse von Profil"
-#: admin/fai/class_faiProfile.inc:300
+#: admin/fai/class_faiProfile.inc:304
msgid "Up"
msgstr "Auf"
msgid "Up"
msgstr "Auf"
-#: admin/fai/class_faiProfile.inc:301
+#: admin/fai/class_faiProfile.inc:305
msgid "Down"
msgstr "Ab"
msgid "Down"
msgstr "Ab"
-#: admin/fai/class_faiProfile.inc:403
+#: admin/fai/class_faiProfile.inc:409
msgid "No class specified for this profile!"
msgstr "Es wurde für dieses Profil keine Klasse definiert!"
msgid "No class specified for this profile!"
msgstr "Es wurde für dieses Profil keine Klasse definiert!"
-#: admin/fai/class_faiProfile.inc:484
+#: admin/fai/class_faiProfile.inc:490
msgid "FAI profile"
msgstr "FAI-Profil"
msgid "FAI profile"
msgstr "FAI-Profil"
-#: admin/fai/class_faiProfile.inc:493 admin/fai/faiProfile.tpl:36
+#: admin/fai/class_faiProfile.inc:499 admin/fai/faiProfile.tpl:36
msgid "FAI classes"
msgstr "FAI-Klassen"
msgid "FAI classes"
msgstr "FAI-Klassen"
msgid "FAI hook entry"
msgstr "FAI-Hook-Eintrag"
msgid "FAI hook entry"
msgstr "FAI-Hook-Eintrag"
-#: admin/fai/class_faiVariable.inc:391
+#: admin/fai/class_faiVariable.inc:390
msgid "FAI variable"
msgstr "FAI-Variable"
msgid "FAI variable"
msgstr "FAI-Variable"
msgid "FAI variable entry "
msgstr "FAI-Variablen-Eintrag"
msgid "FAI variable entry "
msgstr "FAI-Variablen-Eintrag"
-#: admin/fai/class_faiPackage.inc:228
+#: admin/fai/class_faiPackage.inc:232
msgid "Invalid package names"
msgstr "Ungültige Paketnamen"
msgid "Invalid package names"
msgstr "Ungültige Paketnamen"
-#: admin/fai/class_faiPackage.inc:229
+#: admin/fai/class_faiPackage.inc:233
#, php-format
msgid "The following package names don't match the Debian policy: %s"
msgstr "Die folgenden Paketnamen entsprechen nicht der Debian policy: %s"
#, php-format
msgid "The following package names don't match the Debian policy: %s"
msgstr "Die folgenden Paketnamen entsprechen nicht der Debian policy: %s"
-#: admin/fai/class_faiPackage.inc:413 admin/fai/class_faiPackage.inc:414
+#: admin/fai/class_faiPackage.inc:444 admin/fai/class_faiPackage.inc:445
msgid "Configured"
msgstr "Konfiguriert"
msgid "Configured"
msgstr "Konfiguriert"
-#: admin/fai/class_faiPackage.inc:420 admin/fai/class_faiPackage.inc:421
+#: admin/fai/class_faiPackage.inc:451 admin/fai/class_faiPackage.inc:452
msgid "Package marked for removal"
msgstr "Paket zum Entfernen vorgemerkt"
msgid "Package marked for removal"
msgstr "Paket zum Entfernen vorgemerkt"
-#: admin/fai/class_faiPackage.inc:437
+#: admin/fai/class_faiPackage.inc:468
msgid "Mark package for removal"
msgstr "Paket zum Entfernen vormerken"
msgid "Mark package for removal"
msgstr "Paket zum Entfernen vormerken"
-#: admin/fai/class_faiPackage.inc:443
+#: admin/fai/class_faiPackage.inc:474
msgid "Configure this package"
msgstr "Dieses Paket konfigurieren"
msgid "Configure this package"
msgstr "Dieses Paket konfigurieren"
-#: admin/fai/class_faiPackage.inc:447
+#: admin/fai/class_faiPackage.inc:478
msgid "Remove this package"
msgstr "Dieses Paket entfernen"
msgid "Remove this package"
msgstr "Dieses Paket entfernen"
-#: admin/fai/class_faiPackage.inc:527
+#: admin/fai/class_faiPackage.inc:558
msgid "Please select a least one package!"
msgstr "Bitte wählen Sie mindestens ein Paket!"
msgid "Please select a least one package!"
msgstr "Bitte wählen Sie mindestens ein Paket!"
-#: admin/fai/class_faiPackage.inc:531
+#: admin/fai/class_faiPackage.inc:562
msgid ""
"Please choose a valid release/section combination for your repository setup!"
msgstr ""
"Bitte wählen Sie eine gültige Kombination aus Release und Sektion für Ihr "
"gewünschtes Repository!"
msgid ""
"Please choose a valid release/section combination for your repository setup!"
msgstr ""
"Bitte wählen Sie eine gültige Kombination aus Release und Sektion für Ihr "
"gewünschtes Repository!"
-#: admin/fai/class_faiPackage.inc:660
+#: admin/fai/class_faiPackage.inc:700
msgid "FAI Package list"
msgstr "FAI-Paketliste"
msgid "FAI Package list"
msgstr "FAI-Paketliste"
-#: admin/fai/class_faiPackage.inc:669
+#: admin/fai/class_faiPackage.inc:709
msgid "Packages"
msgstr "Pakete"
msgid "Packages"
msgstr "Pakete"
-#: admin/fai/class_faiPackage.inc:671
+#: admin/fai/class_faiPackage.inc:711
msgid "Install Method"
msgstr "Installations-Methode"
msgid "Install Method"
msgstr "Installations-Methode"
-#: admin/fai/class_faiPackage.inc:672
+#: admin/fai/class_faiPackage.inc:712
msgid "Package configuration"
msgstr "Paket-Konfiguration"
msgid "Package configuration"
msgstr "Paket-Konfiguration"
index b158485e678be4872a30a6f471e37b9708c870b7..009b5154efd8287c44d327557d141bef36c4114d 100644 (file)
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-11 13:22+0100\n"
+"POT-Creation-Date: 2010-03-15 11:14+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
#: admin/systems/services/repository/class_servRepository.inc:182
#: admin/systems/services/repository/class_servRepositorySetup.inc:204
#: admin/fai/class_faiSummaryTab.inc:89
#: admin/systems/services/repository/class_servRepository.inc:182
#: admin/systems/services/repository/class_servRepositorySetup.inc:204
#: admin/fai/class_faiSummaryTab.inc:89
-#: admin/fai/class_faiPartitionTable.inc:180 admin/fai/tabsHook.inc:32
-#: admin/fai/class_faiTemplate.inc:212 admin/fai/tabsProfile.inc:33
-#: admin/fai/class_faiManagement.inc:238 admin/fai/class_faiManagement.inc:614
-#: admin/fai/class_faiManagement.inc:620 admin/fai/class_faiManagement.inc:906
-#: admin/fai/class_faiManagement.inc:950 admin/fai/class_faiManagement.inc:974
+#: admin/fai/class_faiPartitionTable.inc:173 admin/fai/tabsHook.inc:32
+#: admin/fai/class_faiTemplate.inc:208
+#: admin/fai/class_faiDebconfConfigurations.inc:341
+#: admin/fai/tabsProfile.inc:33 admin/fai/class_faiManagement.inc:238
+#: admin/fai/class_faiManagement.inc:614 admin/fai/class_faiManagement.inc:620
+#: admin/fai/class_faiManagement.inc:906 admin/fai/class_faiManagement.inc:950
+#: admin/fai/class_faiManagement.inc:974
#: admin/fai/class_faiManagement.inc:1238
#: admin/fai/class_faiScriptEntry.inc:59 admin/fai/class_faiScriptEntry.inc:62
#: admin/fai/tabsScript.inc:33 admin/fai/tabsPackage.inc:33
#: admin/fai/class_faiManagement.inc:1238
#: admin/fai/class_faiScriptEntry.inc:59 admin/fai/class_faiScriptEntry.inc:62
#: admin/fai/tabsScript.inc:33 admin/fai/tabsPackage.inc:33
-#: admin/fai/tabsPartition.inc:34 admin/fai/class_faiScript.inc:229
+#: admin/fai/tabsPartition.inc:34 admin/fai/class_faiScript.inc:224
#: admin/fai/tabsTemplate.inc:33 admin/fai/class_FAI.inc:548
#: admin/fai/tabsTemplate.inc:33 admin/fai/class_FAI.inc:548
-#: admin/fai/class_faiHook.inc:239 admin/fai/class_faiProfile.inc:259
+#: admin/fai/class_faiHook.inc:233 admin/fai/class_faiProfile.inc:263
#: admin/fai/class_faiHookEntry.inc:62 admin/fai/class_faiHookEntry.inc:65
#: admin/fai/class_faiHookEntry.inc:62 admin/fai/class_faiHookEntry.inc:65
-#: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiPackage.inc:356
-#: admin/fai/tabsVariable.inc:33
+#: admin/fai/class_faiVariable.inc:142 admin/fai/class_faiPackage.inc:367
+#: admin/fai/class_faiPackage.inc:400 admin/fai/tabsVariable.inc:33
msgid "Error"
msgstr ""
msgid "Error"
msgstr ""
#: admin/systems/services/repository/class_servRepository.inc:177
#: admin/fai/class_faiSummaryTab.inc:343
#: admin/systems/services/repository/class_servRepository.inc:177
#: admin/fai/class_faiSummaryTab.inc:343
-#: admin/fai/class_faiPartitionTable.inc:371
-#: admin/fai/class_faiPartitionTable.inc:551 admin/fai/faiPackage.tpl:9
+#: admin/fai/class_faiPartitionTable.inc:364
+#: admin/fai/class_faiPartitionTable.inc:536 admin/fai/faiPackage.tpl:9
#: admin/fai/class_faiPartitionTableEntry.inc:375
#: admin/fai/class_faiPartitionTableEntry.inc:378
#: admin/fai/class_faiPartitionTableEntry.inc:474
#: admin/fai/class_faiPartitionTableEntry.inc:375
#: admin/fai/class_faiPartitionTableEntry.inc:378
#: admin/fai/class_faiPartitionTableEntry.inc:474
-#: admin/fai/class_faiTemplate.inc:421 admin/fai/class_faiTemplate.inc:545
+#: admin/fai/class_faiTemplate.inc:417 admin/fai/class_faiTemplate.inc:537
#: admin/fai/faiVariable.tpl:9 admin/fai/class_askClassName.inc:142
#: admin/fai/class_askClassName.inc:151 admin/fai/class_askClassName.inc:155
#: admin/fai/class_faiManagement.inc:614 admin/fai/class_faiManagement.inc:620
#: admin/fai/faiVariable.tpl:9 admin/fai/class_askClassName.inc:142
#: admin/fai/class_askClassName.inc:151 admin/fai/class_askClassName.inc:155
#: admin/fai/class_faiManagement.inc:614 admin/fai/class_faiManagement.inc:620
#: admin/fai/class_faiScriptEntry.inc:142
#: admin/fai/class_faiScriptEntry.inc:145
#: admin/fai/class_faiScriptEntry.inc:189 admin/fai/faiVariableEntry.tpl:9
#: admin/fai/class_faiScriptEntry.inc:142
#: admin/fai/class_faiScriptEntry.inc:145
#: admin/fai/class_faiScriptEntry.inc:189 admin/fai/faiVariableEntry.tpl:9
-#: admin/fai/faiScript.tpl:9 admin/fai/class_faiScript.inc:327
-#: admin/fai/class_faiScript.inc:483 admin/fai/class_faiScript.inc:646
+#: admin/fai/faiScript.tpl:9 admin/fai/class_faiScript.inc:322
+#: admin/fai/class_faiScript.inc:478 admin/fai/class_faiScript.inc:637
#: admin/fai/faiScriptEntry.tpl:9 admin/fai/class_faiTemplateEntry.inc:207
#: admin/fai/class_faiTemplateEntry.inc:273 admin/fai/faiTemplate.tpl:9
#: admin/fai/faiHookEntry.tpl:9 admin/fai/faiHook.tpl:9
#: admin/fai/faiScriptEntry.tpl:9 admin/fai/class_faiTemplateEntry.inc:207
#: admin/fai/class_faiTemplateEntry.inc:273 admin/fai/faiTemplate.tpl:9
#: admin/fai/faiHookEntry.tpl:9 admin/fai/faiHook.tpl:9
-#: admin/fai/class_faiHook.inc:440 admin/fai/class_faiHook.inc:562
-#: admin/fai/class_faiProfile.inc:407 admin/fai/class_faiProfile.inc:417
-#: admin/fai/class_faiProfile.inc:491 admin/fai/class_faiHookEntry.inc:145
+#: admin/fai/class_faiHook.inc:434 admin/fai/class_faiHook.inc:552
+#: admin/fai/class_faiProfile.inc:413 admin/fai/class_faiProfile.inc:423
+#: admin/fai/class_faiProfile.inc:497 admin/fai/class_faiHookEntry.inc:145
#: admin/fai/class_faiHookEntry.inc:150 admin/fai/class_faiHookEntry.inc:153
#: admin/fai/class_faiHookEntry.inc:196 admin/fai/class_faiVariable.inc:296
#: admin/fai/class_faiHookEntry.inc:150 admin/fai/class_faiHookEntry.inc:153
#: admin/fai/class_faiHookEntry.inc:196 admin/fai/class_faiVariable.inc:296
-#: admin/fai/class_faiVariable.inc:398 admin/fai/class_faiVariableEntry.inc:90
+#: admin/fai/class_faiVariable.inc:397 admin/fai/class_faiVariableEntry.inc:90
#: admin/fai/class_faiVariableEntry.inc:99
#: admin/fai/class_faiVariableEntry.inc:102
#: admin/fai/class_faiVariableEntry.inc:99
#: admin/fai/class_faiVariableEntry.inc:102
-#: admin/fai/class_faiVariableEntry.inc:137 admin/fai/class_faiPackage.inc:541
-#: admin/fai/class_faiPackage.inc:667 admin/fai/faiPartitionTable.tpl:9
+#: admin/fai/class_faiVariableEntry.inc:137 admin/fai/class_faiPackage.inc:572
+#: admin/fai/class_faiPackage.inc:707 admin/fai/faiPartitionTable.tpl:9
#: admin/fai/faiPartitionTableEntry.tpl:6 admin/fai/faiProfile.tpl:9
msgid "Name"
msgstr ""
#: admin/systems/services/repository/class_servRepository.inc:352
#: admin/fai/faiPartitionTableEntry.tpl:6 admin/fai/faiProfile.tpl:9
msgid "Name"
msgstr ""
#: admin/systems/services/repository/class_servRepository.inc:352
+#: admin/fai/class_faiDebconfConfigurations.inc:71
#: admin/fai/class_faiManagement.inc:788
#: admin/fai/class_faiPackageConfiguration.inc:35 admin/fai/class_FAI.inc:566
#: admin/fai/class_faiManagement.inc:788
#: admin/fai/class_faiPackageConfiguration.inc:35 admin/fai/class_FAI.inc:566
-#: admin/fai/class_faiPackage.inc:266 admin/fai/class_faiPackage.inc:563
+#: admin/fai/class_faiPackage.inc:269 admin/fai/class_faiPackage.inc:594
#: admin/fai/class_faiPackageEntry.inc:53
#: admin/fai/class_faiPackageEntry.inc:193
msgid "Service infrastructure"
#: admin/fai/class_faiPackageEntry.inc:53
#: admin/fai/class_faiPackageEntry.inc:193
msgid "Service infrastructure"
#: admin/systems/services/repository/servRepositorySetup.tpl:19
#: admin/systems/services/repository/class_divListRepositories.inc:23
#: admin/fai/faiPackage.tpl:37 admin/fai/branch_selector.tpl:25
#: admin/systems/services/repository/servRepositorySetup.tpl:19
#: admin/systems/services/repository/class_divListRepositories.inc:23
#: admin/fai/faiPackage.tpl:37 admin/fai/branch_selector.tpl:25
-#: admin/fai/class_faiPackage.inc:673
+#: admin/fai/class_faiPackage.inc:713
msgid "Release"
msgstr ""
msgid "Release"
msgstr ""
msgid "Add repository"
msgstr ""
msgid "Add repository"
msgstr ""
-#: admin/fai/faiPackageConfiguration.tpl:1 admin/fai/class_divListFai.inc:68
-#: admin/fai/class_faiPackage.inc:659
+#: admin/fai/faiPackageConfiguration.tpl:1
+#: admin/fai/class_faiDebconfConfigurations.inc:115
+#: admin/fai/NewDebconfConfiguration.tpl:16 admin/fai/class_divListFai.inc:68
+#: admin/fai/faiDebconfConfigurations.tpl:1 admin/fai/class_faiPackage.inc:699
msgid "Package"
msgstr ""
msgid "Package"
msgstr ""
msgstr ""
#: admin/fai/class_faiSummaryTab.inc:48
msgstr ""
#: admin/fai/class_faiSummaryTab.inc:48
-#: admin/fai/class_faiPartitionTable.inc:543
+#: admin/fai/class_faiPartitionTable.inc:528
#: admin/fai/class_askClassName.inc:79 admin/fai/class_divListFai.inc:154
#: admin/fai/class_divListFai.inc:208 admin/fai/class_faiGroupHandle.inc:100
#: admin/fai/class_askClassName.inc:79 admin/fai/class_divListFai.inc:154
#: admin/fai/class_divListFai.inc:208 admin/fai/class_faiGroupHandle.inc:100
-#: admin/fai/class_faiProfileEntry.inc:143 admin/fai/class_faiProfile.inc:294
+#: admin/fai/class_faiProfileEntry.inc:143 admin/fai/class_faiProfile.inc:298
msgid "Partition table"
msgstr ""
msgid "Partition table"
msgstr ""
#: admin/fai/class_faiSummaryTab.inc:348
#: admin/fai/class_faiPartitionTableEntry.inc:183
#: admin/fai/class_faiSummaryTab.inc:348
#: admin/fai/class_faiPartitionTableEntry.inc:183
+#: admin/fai/class_faiDebconfConfigurations.inc:117
+#: admin/fai/NewDebconfConfiguration.tpl:22
msgid "Type"
msgstr ""
msgid "Type"
msgstr ""
-#: admin/fai/class_faiPartitionTable.inc:301
-#: admin/fai/class_faiPartitionTable.inc:307
+#: admin/fai/class_faiPartitionTable.inc:294
+#: admin/fai/class_faiPartitionTable.inc:300
#, php-format
msgid "%s partition"
msgstr ""
#, php-format
msgid "%s partition"
msgstr ""
-#: admin/fai/class_faiPartitionTable.inc:303
-#: admin/fai/class_faiPartitionTable.inc:309
+#: admin/fai/class_faiPartitionTable.inc:296
+#: admin/fai/class_faiPartitionTable.inc:302
#, php-format
msgid "%s partition(s)"
msgstr ""
#, php-format
msgid "%s partition(s)"
msgstr ""
-#: admin/fai/class_faiPartitionTable.inc:544
+#: admin/fai/class_faiPartitionTable.inc:529
msgid "FAI partition table"
msgstr ""
msgid "FAI partition table"
msgstr ""
-#: admin/fai/class_faiPartitionTable.inc:551 admin/fai/class_faiHook.inc:562
-#: admin/fai/class_faiVariable.inc:398
+#: admin/fai/class_faiPartitionTable.inc:536 admin/fai/class_faiHook.inc:552
+#: admin/fai/class_faiVariable.inc:397
msgid "Read only"
msgstr ""
msgid "Read only"
msgstr ""
-#: admin/fai/class_faiPartitionTable.inc:552 admin/fai/faiPackage.tpl:21
+#: admin/fai/class_faiPartitionTable.inc:537 admin/fai/faiPackage.tpl:21
#: admin/fai/class_faiPartitionTableEntry.inc:475
#: admin/fai/class_faiPartitionTableEntry.inc:475
-#: admin/fai/class_faiTemplate.inc:546 admin/fai/faiVariable.tpl:21
+#: admin/fai/class_faiTemplate.inc:538 admin/fai/faiVariable.tpl:21
#: admin/fai/class_faiScriptEntry.inc:190 admin/fai/faiVariableEntry.tpl:19
#: admin/fai/faiScript.tpl:21 admin/fai/faiTemplateEntry.tpl:33
#: admin/fai/class_faiScriptEntry.inc:190 admin/fai/faiVariableEntry.tpl:19
#: admin/fai/faiScript.tpl:21 admin/fai/faiTemplateEntry.tpl:33
-#: admin/fai/class_faiScript.inc:647 admin/fai/faiScriptEntry.tpl:19
+#: admin/fai/class_faiScript.inc:638 admin/fai/faiScriptEntry.tpl:19
#: admin/fai/class_faiTemplateEntry.inc:274 admin/fai/faiTemplate.tpl:21
#: admin/fai/faiHookEntry.tpl:19 admin/fai/faiHook.tpl:21
#: admin/fai/class_faiTemplateEntry.inc:274 admin/fai/faiTemplate.tpl:21
#: admin/fai/faiHookEntry.tpl:19 admin/fai/faiHook.tpl:21
-#: admin/fai/class_faiHook.inc:563 admin/fai/class_faiProfile.inc:492
-#: admin/fai/class_faiHookEntry.inc:197 admin/fai/class_faiVariable.inc:399
-#: admin/fai/class_faiVariableEntry.inc:138 admin/fai/class_faiPackage.inc:668
+#: admin/fai/class_faiHook.inc:553 admin/fai/class_faiProfile.inc:498
+#: admin/fai/class_faiHookEntry.inc:197 admin/fai/class_faiVariable.inc:398
+#: admin/fai/class_faiVariableEntry.inc:138 admin/fai/class_faiPackage.inc:708
#: admin/fai/faiPartitionTable.tpl:21 admin/fai/faiPartitionTableEntry.tpl:13
#: admin/fai/faiProfile.tpl:21
msgid "Description"
#: admin/fai/faiPartitionTable.tpl:21 admin/fai/faiPartitionTableEntry.tpl:13
#: admin/fai/faiProfile.tpl:21
msgid "Description"
msgid "Generic"
msgstr ""
msgid "Generic"
msgstr ""
-#: admin/fai/faiPackage.tpl:45 admin/fai/class_faiPackage.inc:670
+#: admin/fai/faiPackage.tpl:45 admin/fai/class_faiPackage.inc:710
msgid "Section"
msgstr ""
msgid "Section"
msgstr ""
msgid "Used packages"
msgstr ""
msgid "Used packages"
msgstr ""
-#: admin/fai/faiPackage.tpl:82
+#: admin/fai/faiPackage.tpl:84
msgid "Add from list"
msgstr ""
msgid "Add from list"
msgstr ""
+#: admin/fai/faiPackage.tpl:91
+msgid "Edit package configurations"
+msgstr ""
+
#: admin/fai/class_faiPartitionTableEntry.inc:176
msgid "primary"
msgstr ""
#: admin/fai/class_faiPartitionTableEntry.inc:176
msgid "primary"
msgstr ""
msgid "Moving the tree failed. Destination tree is subtree of source tree."
msgstr ""
msgid "Moving the tree failed. Destination tree is subtree of source tree."
msgstr ""
-#: admin/fai/class_faiTemplate.inc:286 admin/fai/class_faiTemplate.inc:288
-#: admin/fai/class_faiScript.inc:344 admin/fai/class_faiScript.inc:346
+#: admin/fai/class_faiTemplate.inc:282 admin/fai/class_faiTemplate.inc:284
+#: admin/fai/class_faiScript.inc:339 admin/fai/class_faiScript.inc:341
msgid "edit"
msgstr ""
msgid "edit"
msgstr ""
-#: admin/fai/class_faiTemplate.inc:290 admin/fai/class_faiScript.inc:348
+#: admin/fai/class_faiTemplate.inc:286 admin/fai/class_faiScript.inc:343
msgid "delete"
msgstr ""
msgid "delete"
msgstr ""
-#: admin/fai/class_faiTemplate.inc:300 admin/fai/class_faiScriptEntry.inc:88
-#: admin/fai/class_faiScript.inc:330 admin/fai/class_faiScript.inc:358
-#: admin/fai/class_faiHook.inc:326 admin/fai/class_faiHookEntry.inc:80
+#: admin/fai/class_faiTemplate.inc:296 admin/fai/class_faiScriptEntry.inc:88
+#: admin/fai/class_faiScript.inc:325 admin/fai/class_faiScript.inc:353
+#: admin/fai/class_faiHook.inc:320 admin/fai/class_faiHookEntry.inc:80
msgid "Download"
msgstr ""
msgid "Download"
msgstr ""
-#: admin/fai/class_faiTemplate.inc:537
+#: admin/fai/class_faiTemplate.inc:529
msgid "Template"
msgstr ""
msgid "Template"
msgstr ""
-#: admin/fai/class_faiTemplate.inc:538
+#: admin/fai/class_faiTemplate.inc:530
msgid "FAI template"
msgstr ""
msgid "FAI template"
msgstr ""
-#: admin/fai/class_faiTemplate.inc:545 admin/fai/class_faiScript.inc:646
-#: admin/fai/class_faiPackage.inc:670 admin/fai/class_faiPackage.inc:673
+#: admin/fai/class_faiTemplate.inc:537 admin/fai/class_faiScript.inc:637
+#: admin/fai/class_faiPackage.inc:710 admin/fai/class_faiPackage.inc:713
msgid "Readonly"
msgstr ""
msgid "Readonly"
msgstr ""
msgid "Choose a variable to delete or edit"
msgstr ""
msgid "Choose a variable to delete or edit"
msgstr ""
-#: admin/fai/faiVariable.tpl:53 admin/fai/class_faiHook.inc:312
-#: admin/fai/class_faiHook.inc:314 admin/fai/faiPartitionTable.tpl:54
+#: admin/fai/faiVariable.tpl:53
+#: admin/fai/class_faiDebconfConfigurations.inc:127
+#: admin/fai/class_faiHook.inc:306 admin/fai/class_faiHook.inc:308
+#: admin/fai/faiPartitionTable.tpl:54
msgid "Edit"
msgstr ""
msgid "Edit"
msgstr ""
+#: admin/fai/class_faiDebconfConfigurations.inc:116
+#: admin/fai/NewDebconfConfiguration.tpl:19 admin/fai/class_divListFai.inc:60
+#: admin/fai/class_divListFai.inc:66 admin/fai/class_faiVariable.inc:389
+msgid "Variable"
+msgstr ""
+
+#: admin/fai/class_faiDebconfConfigurations.inc:118
+#: admin/fai/NewDebconfConfiguration.tpl:25
+#: admin/fai/NewDebconfConfiguration.tpl:43
+msgid "Value"
+msgstr ""
+
+#: admin/fai/class_faiDebconfConfigurations.inc:123
+msgid "Reset"
+msgstr ""
+
+#: admin/fai/class_faiDebconfConfigurations.inc:125
+#: admin/fai/class_faiHook.inc:310
+msgid "Delete"
+msgstr ""
+
+#: admin/fai/class_faiDebconfConfigurations.inc:218
+#, php-format
+msgid "Debconf information for package list '%s'"
+msgstr ""
+
+#: admin/fai/class_faiDebconfConfigurations.inc:400
+#, php-format
+msgid ""
+"The specified value '%s' for variable '%s' is not valid with the specified "
+"boolean variable type.<br><i>Allowed values: true, false, 1, 0."
+msgstr ""
+
#: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80
#: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82
#: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84
#: admin/fai/class_askClassName.inc:79 admin/fai/class_askClassName.inc:80
#: admin/fai/class_askClassName.inc:81 admin/fai/class_askClassName.inc:82
#: admin/fai/class_askClassName.inc:83 admin/fai/class_askClassName.inc:84
msgstr ""
#: admin/fai/class_askClassName.inc:80 admin/fai/class_faiProfileEntry.inc:142
msgstr ""
#: admin/fai/class_askClassName.inc:80 admin/fai/class_faiProfileEntry.inc:142
-#: admin/fai/class_faiProfile.inc:293
+#: admin/fai/class_faiProfile.inc:297
msgid "Package bundle"
msgstr ""
#: admin/fai/class_askClassName.inc:81 admin/fai/class_faiProfileEntry.inc:140
msgid "Package bundle"
msgstr ""
#: admin/fai/class_askClassName.inc:81 admin/fai/class_faiProfileEntry.inc:140
-#: admin/fai/class_faiProfile.inc:291
+#: admin/fai/class_faiProfile.inc:295
msgid "Script bundle"
msgstr ""
#: admin/fai/class_askClassName.inc:82 admin/fai/class_faiProfileEntry.inc:141
msgid "Script bundle"
msgstr ""
#: admin/fai/class_askClassName.inc:82 admin/fai/class_faiProfileEntry.inc:141
-#: admin/fai/class_faiProfile.inc:292
+#: admin/fai/class_faiProfile.inc:296
msgid "Variable bundle"
msgstr ""
#: admin/fai/class_askClassName.inc:83 admin/fai/class_faiProfileEntry.inc:138
msgid "Variable bundle"
msgstr ""
#: admin/fai/class_askClassName.inc:83 admin/fai/class_faiProfileEntry.inc:138
-#: admin/fai/class_faiProfile.inc:289
+#: admin/fai/class_faiProfile.inc:293
msgid "Hook bundle"
msgstr ""
#: admin/fai/class_askClassName.inc:84 admin/fai/class_divListFai.inc:58
#: admin/fai/class_divListFai.inc:149 admin/fai/class_divListFai.inc:218
msgid "Hook bundle"
msgstr ""
#: admin/fai/class_askClassName.inc:84 admin/fai/class_divListFai.inc:58
#: admin/fai/class_divListFai.inc:149 admin/fai/class_divListFai.inc:218
-#: admin/fai/class_faiGroupHandle.inc:110 admin/fai/class_faiProfile.inc:483
+#: admin/fai/class_faiGroupHandle.inc:110 admin/fai/class_faiProfile.inc:489
msgid "Profile"
msgstr ""
#: admin/fai/class_askClassName.inc:85 admin/fai/class_faiProfileEntry.inc:139
msgid "Profile"
msgstr ""
#: admin/fai/class_askClassName.inc:85 admin/fai/class_faiProfileEntry.inc:139
-#: admin/fai/class_faiProfile.inc:290
+#: admin/fai/class_faiProfile.inc:294
msgid "Template bundle"
msgstr ""
msgid "Template bundle"
msgstr ""
"currently edited package list."
msgstr ""
"currently edited package list."
msgstr ""
+#: admin/fai/NewDebconfConfiguration.tpl:2
+msgid "New debconf configuration"
+msgstr ""
+
+#: admin/fai/NewDebconfConfiguration.tpl:6
+msgid "In this dialog you can add a new debconf configuration."
+msgstr ""
+
+#: admin/fai/NewDebconfConfiguration.tpl:30
+msgid "Select package"
+msgstr ""
+
+#: admin/fai/NewDebconfConfiguration.tpl:38
+msgid "Select type"
+msgstr ""
+
#: admin/fai/faiSummary.tpl:4
msgid "FAI object tree"
msgstr ""
#: admin/fai/faiSummary.tpl:4
msgid "FAI object tree"
msgstr ""
msgstr ""
#: admin/fai/class_faiScriptEntry.inc:150 admin/fai/class_divListFai.inc:62
msgstr ""
#: admin/fai/class_faiScriptEntry.inc:150 admin/fai/class_divListFai.inc:62
-#: admin/fai/class_faiScript.inc:638 admin/fai/faiScriptEntry.tpl:56
+#: admin/fai/class_faiScript.inc:629 admin/fai/faiScriptEntry.tpl:56
#: admin/fai/faiHookEntry.tpl:56 admin/fai/class_faiHookEntry.inc:158
msgid "Script"
msgstr ""
#: admin/fai/faiHookEntry.tpl:56 admin/fai/class_faiHookEntry.inc:158
msgid "Script"
msgstr ""
msgid "Show profiles"
msgstr ""
msgid "Show profiles"
msgstr ""
-#: admin/fai/class_divListFai.inc:60 admin/fai/class_divListFai.inc:66
-#: admin/fai/class_faiVariable.inc:390
-msgid "Variable"
-msgstr ""
-
#: admin/fai/class_divListFai.inc:60
msgid "Show templates"
msgstr ""
#: admin/fai/class_divListFai.inc:60
msgid "Show templates"
msgstr ""
msgid "Show scripts"
msgstr ""
msgid "Show scripts"
msgstr ""
-#: admin/fai/class_divListFai.inc:64 admin/fai/class_faiHook.inc:554
+#: admin/fai/class_divListFai.inc:64 admin/fai/class_faiHook.inc:544
msgid "Hook"
msgstr ""
msgid "Hook"
msgstr ""
msgid "List of scripts"
msgstr ""
msgid "List of scripts"
msgstr ""
-#: admin/fai/class_debconfTemplate.inc:210
+#: admin/fai/class_debconfTemplate.inc:213
msgid "This package has no debconf options."
msgstr ""
msgid "This package has no debconf options."
msgstr ""
-#: admin/fai/class_debconfTemplate.inc:247
+#: admin/fai/class_debconfTemplate.inc:250
msgid ""
"This debconf question is dynamically generated during package installation "
"and requires choosing between specific options which cannot be presented "
msgid ""
"This debconf question is dynamically generated during package installation "
"and requires choosing between specific options which cannot be presented "
msgid "sticky"
msgstr ""
msgid "sticky"
msgstr ""
-#: admin/fai/class_faiScript.inc:314 admin/fai/class_faiScript.inc:316
+#: admin/fai/class_faiScript.inc:309 admin/fai/class_faiScript.inc:311
msgid "Sort direction"
msgstr ""
msgid "Sort direction"
msgstr ""
-#: admin/fai/class_faiScript.inc:328 admin/fai/faiScriptEntry.tpl:38
+#: admin/fai/class_faiScript.inc:323 admin/fai/faiScriptEntry.tpl:38
msgid "Priority"
msgstr ""
msgid "Priority"
msgstr ""
-#: admin/fai/class_faiScript.inc:332
+#: admin/fai/class_faiScript.inc:327
msgid "Action"
msgstr ""
msgid "Action"
msgstr ""
-#: admin/fai/class_faiScript.inc:639 admin/fai/class_faiHookEntry.inc:199
+#: admin/fai/class_faiScript.inc:630 admin/fai/class_faiHookEntry.inc:199
msgid "FAI script"
msgstr ""
msgid "FAI script"
msgstr ""
msgid "Debconf information for package '%s'"
msgstr ""
msgid "Debconf information for package '%s'"
msgstr ""
+#: admin/fai/faiDebconfConfigurations.tpl:4
+msgid "Add"
+msgstr ""
+
#: admin/fai/class_faiGroupHandle.inc:116
msgid "OPSI local product"
msgstr ""
#: admin/fai/class_faiGroupHandle.inc:116
msgid "OPSI local product"
msgstr ""
+#: admin/fai/class_NewDebconfConfiguration.inc:122
+#, php-format
+msgid ""
+"The specified value '%s' for the variable type boolean is invalid."
+"<br><i>Allowed values: true, false, 1, 0."
+msgstr ""
+
#: admin/fai/faiHookEntry.tpl:33 admin/fai/faiHookEntry.tpl:54
msgid "Hook attributes"
msgstr ""
#: admin/fai/faiHookEntry.tpl:33 admin/fai/faiHookEntry.tpl:54
msgid "Hook attributes"
msgstr ""
msgid "FAI settings"
msgstr ""
msgid "FAI settings"
msgstr ""
-#: admin/fai/class_faiProfileEntry.inc:172 admin/fai/class_faiProfile.inc:286
+#: admin/fai/class_faiProfileEntry.inc:172 admin/fai/class_faiProfile.inc:290
msgid "This list displays all assigned class names for this profile."
msgstr ""
msgid "This list displays all assigned class names for this profile."
msgstr ""
-#: admin/fai/class_faiHook.inc:316
-msgid "Delete"
-msgstr ""
-
-#: admin/fai/class_faiHook.inc:555
+#: admin/fai/class_faiHook.inc:545
msgid "FAI hook"
msgstr ""
msgid "FAI hook"
msgstr ""
-#: admin/fai/class_faiProfile.inc:297
+#: admin/fai/class_faiProfile.inc:301
msgid "Remove class from profile"
msgstr ""
msgid "Remove class from profile"
msgstr ""
-#: admin/fai/class_faiProfile.inc:300
+#: admin/fai/class_faiProfile.inc:304
msgid "Up"
msgstr ""
msgid "Up"
msgstr ""
-#: admin/fai/class_faiProfile.inc:301
+#: admin/fai/class_faiProfile.inc:305
msgid "Down"
msgstr ""
msgid "Down"
msgstr ""
-#: admin/fai/class_faiProfile.inc:403
+#: admin/fai/class_faiProfile.inc:409
msgid "No class specified for this profile!"
msgstr ""
msgid "No class specified for this profile!"
msgstr ""
-#: admin/fai/class_faiProfile.inc:484
+#: admin/fai/class_faiProfile.inc:490
msgid "FAI profile"
msgstr ""
msgid "FAI profile"
msgstr ""
-#: admin/fai/class_faiProfile.inc:493 admin/fai/faiProfile.tpl:36
+#: admin/fai/class_faiProfile.inc:499 admin/fai/faiProfile.tpl:36
msgid "FAI classes"
msgstr ""
msgid "FAI classes"
msgstr ""
msgid "FAI hook entry"
msgstr ""
msgid "FAI hook entry"
msgstr ""
-#: admin/fai/class_faiVariable.inc:391
+#: admin/fai/class_faiVariable.inc:390
msgid "FAI variable"
msgstr ""
msgid "FAI variable"
msgstr ""
msgid "FAI variable entry "
msgstr ""
msgid "FAI variable entry "
msgstr ""
-#: admin/fai/class_faiPackage.inc:228
+#: admin/fai/class_faiPackage.inc:232
msgid "Invalid package names"
msgstr ""
msgid "Invalid package names"
msgstr ""
-#: admin/fai/class_faiPackage.inc:229
+#: admin/fai/class_faiPackage.inc:233
#, php-format
msgid "The following package names don't match the Debian policy: %s"
msgstr ""
#, php-format
msgid "The following package names don't match the Debian policy: %s"
msgstr ""
-#: admin/fai/class_faiPackage.inc:413 admin/fai/class_faiPackage.inc:414
+#: admin/fai/class_faiPackage.inc:444 admin/fai/class_faiPackage.inc:445
msgid "Configured"
msgstr ""
msgid "Configured"
msgstr ""
-#: admin/fai/class_faiPackage.inc:420 admin/fai/class_faiPackage.inc:421
+#: admin/fai/class_faiPackage.inc:451 admin/fai/class_faiPackage.inc:452
msgid "Package marked for removal"
msgstr ""
msgid "Package marked for removal"
msgstr ""
-#: admin/fai/class_faiPackage.inc:437
+#: admin/fai/class_faiPackage.inc:468
msgid "Mark package for removal"
msgstr ""
msgid "Mark package for removal"
msgstr ""
-#: admin/fai/class_faiPackage.inc:443
+#: admin/fai/class_faiPackage.inc:474
msgid "Configure this package"
msgstr ""
msgid "Configure this package"
msgstr ""
-#: admin/fai/class_faiPackage.inc:447
+#: admin/fai/class_faiPackage.inc:478
msgid "Remove this package"
msgstr ""
msgid "Remove this package"
msgstr ""
-#: admin/fai/class_faiPackage.inc:527
+#: admin/fai/class_faiPackage.inc:558
msgid "Please select a least one package!"
msgstr ""
msgid "Please select a least one package!"
msgstr ""
-#: admin/fai/class_faiPackage.inc:531
+#: admin/fai/class_faiPackage.inc:562
msgid ""
"Please choose a valid release/section combination for your repository setup!"
msgstr ""
msgid ""
"Please choose a valid release/section combination for your repository setup!"
msgstr ""
-#: admin/fai/class_faiPackage.inc:660
+#: admin/fai/class_faiPackage.inc:700
msgid "FAI Package list"
msgstr ""
msgid "FAI Package list"
msgstr ""
-#: admin/fai/class_faiPackage.inc:669
+#: admin/fai/class_faiPackage.inc:709
msgid "Packages"
msgstr ""
msgid "Packages"
msgstr ""
-#: admin/fai/class_faiPackage.inc:671
+#: admin/fai/class_faiPackage.inc:711
msgid "Install Method"
msgstr ""
msgid "Install Method"
msgstr ""
-#: admin/fai/class_faiPackage.inc:672
+#: admin/fai/class_faiPackage.inc:712
msgid "Package configuration"
msgstr ""
msgid "Package configuration"
msgstr ""