|
From: Rene <re...@gr...> - 2002-07-14 21:23:28
|
Hi Joe. This is my suggestion to a new configuration editor. This should ensure that options that are not used are not displayed. eg. nfs_share should not be display if backup_method and restore_method are "smb" Feel free to change, disregard or extend it. The changes to admin.php looked nice. -Rene New functions in class_config (a lot of the old stuff could then be removed): make_server($server_defs) creates the basic empty configuration for a new server store the result in "$this->config" in class_config stores$server_defs in $this->server_defs for use in other functions. (like check_rules) check_rules ($name) check option "$name" to see if if passes the rules. returns TRUE or FALSE edit_server ($config_from_admin.pgp) for each option in $this->config (also empty ones) it calls check_rules() If TRUE it passes the option to html_parse_option($name) returns html html_parse_option ($name) checks the type of the option and parses it into an html format for editing. returns hmtl -- sample of added lines to config.php ---- $server_defs["backup_method"]["name"] = "backup_method"; $server_defs["backup_method"]["type"] = "list"; $server_defs["backup_method"]["desc"] = "What method do you wish to use for making backups"; $server_defs["backup_method"]["list"]["0"] = "rsync"; $server_defs["backup_method"]["list"]["1"] = "nfs"; $server_defs["backup_method"]["list"]["2"] = "smb"; $server_defs["restore_method"]["name"] = "restore_method"; $server_defs["restore_method"]["type"] = "list"; $server_defs["restore_method"]["desc"] = "What method do you wish to use for restoring files"; $server_defs["restore_method"]["list"]["0"] = "nfs"; $server_defs["restore_method"]["list"]["1"] = "smb"; $server_defs["smb_share"]["name"] = "smb_share"; $server_defs["smb_share"]["type"] = "text"; $server_defs["smb_share"]["desc"] = "Name of the smb share to use"; $server_defs["smb_share"]["depends"]["name"]["0"] = "backup_method"; $server_defs["smb_share"]["depends"]["name"]["1"] = "restore_method"; $server_defs["smb_share"]["depends"]["value"]["0"] = "smb"; $server_defs["smb_share"]["depends"]["value"]["1"] = "smb"; $server_defs["smb_share"]["depends"]["rule"]["0"] = "0:TRUE"; $server_defs["smb_share"]["depends"]["rule"]["1"] = "1:TRUE"; $server_defs["smb_share"]["name"] = "nfs_share"; $server_defs["nfs_share"]["type"] = "path"; $server_defs["nfs_share"]["desc"] = "Path of the nfs share to use"; $server_defs["nfs_share"]["depends"]["name"]["0"] = "backup_method"; $server_defs["nfs_share"]["depends"]["name"]["1"] = "restore_method"; $server_defs["nfs_share"]["depends"]["value"]["0"] = "nfs"; $server_defs["nfs_share"]["depends"]["value"]["1"] = "nfs"; $server_defs["nfs_share"]["depends"]["rule"]["0"] = "0:TRUE"; $server_defs["nfs_share"]["depends"]["rule"]["1"] = "1:TRUE"; |