]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cgi-bin/classes.c
Load cups into easysw/current.
[thirdparty/cups.git] / cgi-bin / classes.c
index abf19ffffa1658e3f399cb44fd1f8496a7d02dcd..1c22d513e2d2277a6142f617603aeb7fb414b45d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: classes.c 5097 2006-02-10 04:06:23Z mike $"
+ * "$Id: classes.c 5571 2006-05-22 18:46:55Z mike $"
  *
  *   Class status CGI for the Common UNIX Printing System (CUPS).
  *
@@ -83,17 +83,19 @@ main(int  argc,                             /* I - Number of command-line arguments */
   * See if we are displaying a printer or all classes...
   */
 
-  if (!strcmp(argv[0], "/") || strstr(argv[0], "classes.cgi"))
-    pclass = NULL;
-  else
-    pclass = argv[0];
+  if ((pclass = getenv("PATH_INFO")) != NULL)
+  {
+    pclass ++;
+
+    if (!*pclass)
+      pclass = NULL;
+  }
 
  /*
   * See who is logged in...
   */
 
-  if ((user = getenv("REMOTE_USER")) == NULL)
-    user = "guest";
+  user = getenv("REMOTE_USER");
 
  /*
   * Connect to the HTTP server...
@@ -184,7 +186,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
 void
 show_all_classes(http_t     *http,     /* I - Connection to server */
-                  const char *user)    /* I - Username */
+                 const char *user)     /* I - Username */
 {
   int                  i;              /* Looping var */
   ipp_t                        *request,       /* IPP request */
@@ -218,8 +220,9 @@ show_all_classes(http_t     *http,  /* I - Connection to server */
 
   request = ippNewRequest(CUPS_GET_CLASSES);
 
-  ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME,
-               "requesting-user-name", NULL, user);
+  if (user)
+    ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME,
+                "requesting-user-name", NULL, user);
 
   cgiGetAttributes(request, "classes.tmpl");
 
@@ -416,7 +419,7 @@ show_class(http_t     *http,                /* I - Connection to server */
       */
 
       cgiFormEncode(uri, pclass, sizeof(uri));
-      snprintf(refresh, sizeof(refresh), "10;/classes/%s", uri);
+      snprintf(refresh, sizeof(refresh), "10;URL=/classes/%s", uri);
       cgiSetVariable("refresh_page", refresh);
     }
 
@@ -460,5 +463,5 @@ show_class(http_t     *http,                /* I - Connection to server */
 
 
 /*
- * End of "$Id: classes.c 5097 2006-02-10 04:06:23Z mike $".
+ * End of "$Id: classes.c 5571 2006-05-22 18:46:55Z mike $".
  */