void cgi_load_variables(FILE *f1);
char *cgi_variable(char *name);
BOOL am_root(void);
-char *get_user_name(void);
+char *cgi_user_name(void);
void cgi_setup(char *rootdir, int auth_required);
char *cgi_baseurl(void);
char *cgi_pathinfo(void);
static pstring servicesf = CONFIGFILE;
static BOOL demo_mode = False;
+static BOOL have_write_access = False;
/*
* Password Management Globals
printf("<FORM name=\"swatform\" method=post>\n");
- printf("<input type=submit name=\"Commit\" value=\"Commit Changes\">\n");
+ if (have_write_access) {
+ printf("<input type=submit name=\"Commit\" value=\"Commit Changes\">\n");
+ }
+
printf("<input type=reset name=\"Reset Values\" value=\"Reset Values\">\n");
if (advanced == 0) {
printf("<input type=submit name=\"Advanced\" value=\"Advanced View\">\n");
if (snum >= 0) {
- printf("<input type=submit name=\"Commit\" value=\"Commit Changes\">\n");
+ if (have_write_access) {
+ printf("<input type=submit name=\"Commit\" value=\"Commit Changes\">\n");
+ }
+
printf("<input type=submit name=\"Delete\" value=\"Delete Share\">\n");
if (advanced == 0) {
printf("<input type=submit name=\"Advanced\" value=\"Advanced View\">\n");
if (snum >= 0) {
- printf("<input type=submit name=\"Commit\" value=\"Commit Changes\">\n");
+ if (have_write_access) {
+ printf("<input type=submit name=\"Commit\" value=\"Commit Changes\">\n");
+ }
printf("<input type=submit name=\"Delete\" value=\"Delete Printer\">\n");
if (advanced == 0) {
printf("<input type=submit name=\"Advanced\" value=\"Advanced View\">\n");
page = cgi_pathinfo();
+ /* check if the authenticated user has write access - if not then
+ don't show write options */
+ have_write_access = (access(servicesf,W_OK) == 0);
+
/* Root gets full functionality */
if (strcmp(page, "globals")==0) {
globals_page();