/*
- * "$Id: help.c 177 2006-06-21 00:20:03Z jlovell $"
+ * Online help CGI for CUPS.
*
- * On-line help CGI for the Common UNIX Printing System (CUPS).
+ * Copyright 2007-2011 by Apple Inc.
+ * Copyright 1997-2006 by Easy Software Products.
*
- * Copyright 1997-2006 by Easy Software Products.
- *
- * These coded instructions, statements, and computer programs are the
- * property of Easy Software Products and are protected by Federal
- * copyright law. Distribution and use rights are outlined in the file
- * "LICENSE.txt" which should have been included with this file. If this
- * file is missing or damaged please contact Easy Software Products
- * at:
- *
- * Attn: CUPS Licensing Information
- * Easy Software Products
- * 44141 Airport View Drive, Suite 204
- * Hollywood, Maryland 20636 USA
- *
- * Voice: (301) 373-9600
- * EMail: cups-info@cups.org
- * WWW: http://www.cups.org
- *
- * Contents:
- *
- * main() - Main entry for CGI.
+ * Licensed under Apache License v2.0. See the file "LICENSE" for more information.
*/
/*
const char *query; /* Search query */
const char *cache_dir; /* CUPS_CACHEDIR environment variable */
const char *docroot; /* CUPS_DOCROOT environment variable */
- const char *helpfile; /* Current help file */
+ const char *helpfile, /* Current help file */
+ *helptitle = NULL; /* Current help title */
const char *topic; /* Current topic */
char topic_data[1024]; /* Topic form data */
const char *section; /* Current section */
*/
cgiSetVariable("SECTION", "help");
+ cgiSetVariable("REFRESH_PAGE", "");
/*
* Load the help index...
{
perror(filename);
- cgiStartHTML(cgiText(_("Help")));
- cgiSetVariable("ERROR", "Unable to load help index!");
+ cgiStartHTML(cgiText(_("Online Help")));
+ cgiSetVariable("ERROR", cgiText(_("Unable to load help index.")));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
*/
for (i = 0; i < argc; i ++)
- fprintf(stderr, "argv[%d]=\"%s\"\n", i, argv[i]);
+ fprintf(stderr, "DEBUG: argv[%d]=\"%s\"\n", i, argv[i]);
if ((helpfile = getenv("PATH_INFO")) != NULL)
{
{
perror(filename);
- cgiStartHTML(cgiText(_("Help")));
- cgiSetVariable("ERROR", "Unable to access help file!");
+ cgiStartHTML(cgiText(_("Online Help")));
+ cgiSetVariable("ERROR", cgiText(_("Unable to access help file.")));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
if ((n = helpFindNode(hi, helpfile, NULL)) == NULL)
{
- cgiStartHTML(cgiText(_("Help")));
- cgiSetVariable("ERROR", "Help file not in index!");
+ cgiStartHTML(cgiText(_("Online Help")));
+ cgiSetVariable("ERROR", cgiText(_("Help file not in index.")));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
}
/*
- * Set the page title and save the help file...
+ * Save the page title and help file...
*/
- cgiSetVariable("HELPFILE", helpfile);
- cgiSetVariable("HELPTITLE", n->text);
+ helptitle = n->text;
+ topic = n->section;
/*
* Send a standard page header...
* Send a standard page header...
*/
- cgiStartHTML(cgiText(_("Help")));
+ cgiStartHTML(cgiText(_("Online Help")));
+
+ topic = cgiGetVariable("TOPIC");
}
/*
* Do a search as needed...
*/
+ if (cgiGetVariable("CLEAR"))
+ cgiSetVariable("QUERY", "");
+
query = cgiGetVariable("QUERY");
- topic = cgiGetVariable("TOPIC");
si = helpSearchIndex(hi, query, topic, helpfile);
+ cgiClearVariables();
+ if (query)
+ cgiSetVariable("QUERY", query);
+ if (topic)
+ cgiSetVariable("TOPIC", topic);
+ if (helpfile)
+ cgiSetVariable("HELPFILE", helpfile);
+ if (helptitle)
+ cgiSetVariable("HELPTITLE", helptitle);
+
fprintf(stderr, "DEBUG: query=\"%s\", topic=\"%s\"\n",
query ? query : "(null)", topic ? topic : "(null)");
section = n->section;
}
- if (!topic || strcmp(n->section, topic))
+ if (!topic || !n->section || strcmp(n->section, topic))
continue;
/*
if ((fp = cupsFileOpen(filename, "r")) != NULL)
{
int inbody; /* Are we inside the body? */
-
+ char *lineptr; /* Pointer into line */
inbody = 0;
while (cupsFileGets(fp, line, sizeof(line)))
{
+ for (lineptr = line; *lineptr && isspace(*lineptr & 255); lineptr ++);
+
if (inbody)
{
- if (!strncasecmp(line, "</BODY>", 7))
+ if (!_cups_strncasecmp(lineptr, "</BODY>", 7))
break;
printf("%s\n", line);
}
- else if (!strncasecmp(line, "<BODY", 5))
+ else if (!_cups_strncasecmp(lineptr, "<BODY", 5))
inbody = 1;
}
else
{
perror(filename);
- cgiSetVariable("ERROR", "Unable to open help file.");
+ cgiSetVariable("ERROR", cgiText(_("Unable to open help file.")));
cgiCopyTemplateLang("error.tmpl");
}
}
*/
if (!printable)
+ {
+ cgiCopyTemplateLang("help-trailer.tmpl");
cgiEndHTML();
+ }
else
puts("</BODY>\n</HTML>");
return (0);
}
-
-
-/*
- * End of "$Id: help.c 177 2006-06-21 00:20:03Z jlovell $".
- */