diff options
-rw-r--r-- | source3/include/proto.h | 1 | ||||
-rw-r--r-- | source3/web/cgi.c | 14 | ||||
-rw-r--r-- | source3/web/statuspage.c | 14 |
3 files changed, 23 insertions, 6 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index b7c64cbc25..54f833a93e 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1929,6 +1929,7 @@ char *cgi_rooturl(void); char *cgi_pathinfo(void); char *cgi_remote_host(void); char *cgi_remote_addr(void); +BOOL cgi_waspost(void); /*The following definitions come from web/diagnose.c */ diff --git a/source3/web/cgi.c b/source3/web/cgi.c index c5b2ac55f1..065c524cb8 100644 --- a/source3/web/cgi.c +++ b/source3/web/cgi.c @@ -26,7 +26,7 @@ /* set the expiry on fixed pages */ #define EXPIRY_TIME (60*60*24*7) -#define CGI_LOGGING 0 +#define CGI_LOGGING 1 #ifdef DEBUG_COMMENTS extern void print_title(char *fmt, ...); @@ -688,3 +688,15 @@ char *cgi_remote_addr(void) } return getenv("REMOTE_ADDR"); } + + +/*************************************************************************** +return True if the request was a POST + ***************************************************************************/ +BOOL cgi_waspost(void) +{ + if (baseurl) { + return request_post; + } + return strequal(getenv("REQUEST_METHOD"), "POST"); +} diff --git a/source3/web/statuspage.c b/source3/web/statuspage.c index 41681c2228..98c0982b99 100644 --- a/source3/web/statuspage.c +++ b/source3/web/statuspage.c @@ -107,11 +107,6 @@ void status_page(void) refresh_interval = atoi(v); } - if (autorefresh) { - printf("<META HTTP-EQUIV=refresh CONTENT=\"%d;URL=%s/status?refresh=1&refresh_interval=%d\">\n", - refresh_interval, cgi_baseurl(), refresh_interval); - } - pstrcpy(fname,lp_lockdir()); standard_sub_basic(fname); trim_string(fname,"","/"); @@ -147,6 +142,15 @@ void status_page(void) printf("<input type=submit value=\"Stop Refreshing\" name=norefresh>\n"); printf("<br>Refresh Interval: %d\n", refresh_interval); printf("<input type=hidden name=refresh value=1>\n"); + /* this little JavaScript allows for automatic refresh + of the page. There are other methods but this seems + to be the best alternative */ + printf("<script language=\"JavaScript\">\n"); + printf("<!--\nsetTimeout('window.location.replace(\"%s/status?refresh_interval=%d&refresh=1\")', %d)\n", + cgi_baseurl(), + refresh_interval, + refresh_interval*1000); + printf("//-->\n</script>\n"); } printf("<p>\n"); |