Example #1
0
        continue;
    }
    if (is_string($entry->get_config_answer()) && $entry->get_config_answer() == $entry->get_default_answer()) {
        continue;
    }
    $undocumented_configs[] = $entry;
}
if (count($undocumented_configs) > 0) {
    output("\nThe following settings are missing or differing in your config:\n(Missing values are marked with an asterisk '*')\n");
    foreach ($undocumented_configs as $entry) {
        output((is_string($entry->get_config_answer()) ? "  " : "* ") . $entry->get_config_key() . " = " . $entry->get_config_answer() . " (default: " . $entry->get_default_answer() . ")\n");
    }
    $ask_continue = new ConfigEntry("continue", "YesNo", "\nDo you want to insert or change any of these?");
    if ($ask_continue->ask() == "yes") {
        foreach ($undocumented_configs as $entry) {
            $entry = $config->add_entry($entry->get_config_key(), "Any", $entry->get_config_key());
            $entry->set_is_optional(TRUE);
            // if the user didn't set a value for an undocumented entry, make it undocumented again:
            if (!is_string($entry->ask())) {
                $config->remove_entry($entry->get_config_key());
                $config->add_undocumented_entry($entry->get_config_key(), $entry->get_default_answer());
            }
        }
    }
}
// show config and changes to user:
output("\nYour chosen settings:\n(Changed values are marked with an asterisk '*')\n");
foreach ($config->get_entries() as $entry) {
    output(($entry->has_changed() ? "* " : "  ") . $entry->get_config_key() . " = " . $entry->get_answer() . "\n");
}
// write config to file (if necessary):