diff options
author | John Terpstra <jht@samba.org> | 2003-04-22 23:27:57 +0000 |
---|---|---|
committer | John Terpstra <jht@samba.org> | 2003-04-22 23:27:57 +0000 |
commit | 08c2e81a18798a5d66d37e75207816e5934941a7 (patch) | |
tree | fdcc3e6c3e46124b8438cd941e092c15d59eb2a3 /source3/web | |
parent | c91cb3098ed9fd365fc9f551fc6099fb97d88852 (diff) | |
download | samba-08c2e81a18798a5d66d37e75207816e5934941a7.tar.gz samba-08c2e81a18798a5d66d37e75207816e5934941a7.tar.bz2 samba-08c2e81a18798a5d66d37e75207816e5934941a7.zip |
Added Stephen Roylance's patch to add buttons to start/stop/restart all three
daemons.
(This used to be commit 2172e558fbb75937592583e81355da4471897032)
Diffstat (limited to 'source3/web')
-rw-r--r-- | source3/web/statuspage.c | 47 |
1 files changed, 38 insertions, 9 deletions
diff --git a/source3/web/statuspage.c b/source3/web/statuspage.c index 8e41d62cb0..ddbe658a6c 100644 --- a/source3/web/statuspage.c +++ b/source3/web/statuspage.c @@ -220,45 +220,46 @@ void status_page(void) int autorefresh=0; int refresh_interval=30; TDB_CONTEXT *tdb; + int nr_running=0; smbd_pid = pidfile_pid("smbd"); - if (cgi_variable("smbd_restart")) { + if (cgi_variable("smbd_restart") || cgi_variable("all_restart")) { stop_smbd(); start_smbd(); } - if (cgi_variable("smbd_start")) { + if (cgi_variable("smbd_start") || cgi_variable("all_start")) { start_smbd(); } - if (cgi_variable("smbd_stop")) { + if (cgi_variable("smbd_stop") || cgi_variable("all_stop")) { stop_smbd(); } - if (cgi_variable("nmbd_restart")) { + if (cgi_variable("nmbd_restart") || cgi_variable("all_restart")) { stop_nmbd(); start_nmbd(); } - if (cgi_variable("nmbd_start")) { + if (cgi_variable("nmbd_start") || cgi_variable("all_start")) { start_nmbd(); } - if (cgi_variable("nmbd_stop")) { + if (cgi_variable("nmbd_stop")|| cgi_variable("all_stop")) { stop_nmbd(); } #ifdef WITH_WINBIND - if (cgi_variable("winbindd_restart")) { + if (cgi_variable("winbindd_restart") || cgi_variable("all_restart")) { stop_winbindd(); start_winbindd(); } - if (cgi_variable("winbindd_start")) { + if (cgi_variable("winbindd_start") || cgi_variable("all_start")) { start_winbindd(); } - if (cgi_variable("winbindd_stop")) { + if (cgi_variable("winbindd_stop") || cgi_variable("all_stop")) { stop_winbindd(); } #endif @@ -314,6 +315,7 @@ void status_page(void) d_printf("<tr><td>%s</td><td>%s</td>\n", _("smbd:"), smbd_running()?_("running"):_("not running")); if (geteuid() == 0) { if (smbd_running()) { + nr_running++; d_printf("<td><input type=submit name=\"smbd_stop\" value=\"%s\"></td>\n", _("Stop smbd")); } else { d_printf("<td><input type=submit name=\"smbd_start\" value=\"%s\"></td>\n", _("Start smbd")); @@ -326,11 +328,25 @@ void status_page(void) d_printf("<tr><td>%s</td><td>%s</td>\n", _("nmbd:"), nmbd_running()?_("running"):_("not running")); if (geteuid() == 0) { if (nmbd_running()) { + nr_running++; d_printf("<td><input type=submit name=\"nmbd_stop\" value=\"%s\"></td>\n", _("Stop nmbd")); } else { d_printf("<td><input type=submit name=\"nmbd_start\" value=\"%s\"></td>\n", _("Start nmbd")); } d_printf("<td><input type=submit name=\"nmbd_restart\" value=\"%s\"></td>\n", _("Restart nmbd")); +#ifndef WITH_WINBIND + if (nr_running >= 1) { + /* stop, restart all */ + d_printf("</tr><tr><td></td><td></td>\n"); + d_printf("<td><input type=submit name=\"all_stop\" value=\"%s\"></td>\n", _("Stop All")); + d_printf("<td><input type=submit name=\"all_restart\" value=\"%s\"></td>\n", _("Restart All")); + } + else if (nr_running == 0) { + /* start all */ + d_printf("</tr><tr><td></td><td></td>\n"); + d_printf("<td><input type=submit name=\"all_start\" value=\"%s\"></td>\n", _("Start All")); + } +#endif } d_printf("</tr>\n"); @@ -339,11 +355,24 @@ void status_page(void) d_printf("<tr><td>%s</td><td>%s</td>\n", _("winbindd:"), winbindd_running()?_("running"):_("not running")); if (geteuid() == 0) { if (winbindd_running()) { + nr_running++; d_printf("<td><input type=submit name=\"winbindd_stop\" value=\"%s\"></td>\n", _("Stop winbindd")); } else { d_printf("<td><input type=submit name=\"winbindd_start\" value=\"%s\"></td>\n", _("Start winbindd")); } d_printf("<td><input type=submit name=\"winbindd_restart\" value=\"%s\"></td>\n", _("Restart winbindd")); + if (nr_running >= 1) { + /* stop, restart all */ + d_printf("</tr><tr><td></td><td></td>\n"); + d_printf("<td><input type=submit name=\"all_stop\" value=\"%s\"></td>\n", _("Stop All")); + d_printf("<td><input type=submit name=\"all_restart\" value=\"%s\"></td>\n", _("Restart All")); + } + else if (nr_running == 0) { + /* start all */ + d_printf("</tr><tr><td></td><td></td>\n"); + d_printf("<td><input type=submit name=\"all_start\" value=\"%s\"></td>\n", _("Start All")); + } + } d_printf("</tr>\n"); #endif |