Improve performance of web interface with large numbers of jobs (Issue #3819)
Also re-work web interface to not allow the order to be changed (since that will negatively impact performance) but instead add first/last buttons to the pager.
Esse commit está contido em:
+3
-1
@@ -1,8 +1,10 @@
|
||||
CHANGES.txt - 2.2b1 - 2016-05-18
|
||||
CHANGES.txt - 2.2b1 - 2016-05-25
|
||||
--------------------------------
|
||||
|
||||
CHANGES IN CUPS V2.2b1
|
||||
|
||||
- Improved performance of web interface with large numbers of jobs
|
||||
(Issue #3819)
|
||||
- Encrypted printing can now be limited to only trusted printers and
|
||||
servers (<rdar://problem/25711658>)
|
||||
- The scheduler now advertises PWG Raster attributes for IPP Everywhere
|
||||
|
||||
+12
-22
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Class status CGI for CUPS.
|
||||
*
|
||||
* Copyright 2007-2014 by Apple Inc.
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
@@ -297,8 +297,7 @@ show_all_classes(http_t *http, /* I - Connection to server */
|
||||
*response; /* IPP response */
|
||||
cups_array_t *classes; /* Array of class objects */
|
||||
ipp_attribute_t *pclass; /* Class object */
|
||||
int ascending, /* Order of classes (0 = descending) */
|
||||
first, /* First class to show */
|
||||
int first, /* First class to show */
|
||||
count; /* Number of classes */
|
||||
const char *var; /* Form variable */
|
||||
void *search; /* Search data */
|
||||
@@ -370,25 +369,10 @@ show_all_classes(http_t *http, /* I - Connection to server */
|
||||
sprintf(val, "%d", count);
|
||||
cgiSetVariable("TOTAL", val);
|
||||
|
||||
if ((var = cgiGetVariable("ORDER")) != NULL && *var)
|
||||
ascending = !_cups_strcasecmp(var, "asc");
|
||||
else
|
||||
ascending = 1;
|
||||
|
||||
if (ascending)
|
||||
{
|
||||
for (i = 0, pclass = (ipp_attribute_t *)cupsArrayIndex(classes, first);
|
||||
i < CUPS_PAGE_MAX && pclass;
|
||||
i ++, pclass = (ipp_attribute_t *)cupsArrayNext(classes))
|
||||
cgiSetIPPObjectVars(pclass, NULL, i);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0, pclass = (ipp_attribute_t *)cupsArrayIndex(classes, count - first - 1);
|
||||
i < CUPS_PAGE_MAX && pclass;
|
||||
i ++, pclass = (ipp_attribute_t *)cupsArrayPrev(classes))
|
||||
cgiSetIPPObjectVars(pclass, NULL, i);
|
||||
}
|
||||
for (i = 0, pclass = (ipp_attribute_t *)cupsArrayIndex(classes, first);
|
||||
i < CUPS_PAGE_MAX && pclass;
|
||||
i ++, pclass = (ipp_attribute_t *)cupsArrayNext(classes))
|
||||
cgiSetIPPObjectVars(pclass, NULL, i);
|
||||
|
||||
/*
|
||||
* Save navigation URLs...
|
||||
@@ -408,6 +392,12 @@ show_all_classes(http_t *http, /* I - Connection to server */
|
||||
cgiSetVariable("NEXT", val);
|
||||
}
|
||||
|
||||
if (count > CUPS_PAGE_MAX)
|
||||
{
|
||||
snprintf(val, sizeof(val), "%d", CUPS_PAGE_MAX * (count / CUPS_PAGE_MAX));
|
||||
cgiSetVariable("LAST", val);
|
||||
}
|
||||
|
||||
/*
|
||||
* Then show everything...
|
||||
*/
|
||||
|
||||
+24
-39
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* CGI <-> IPP variable routines for CUPS.
|
||||
*
|
||||
* Copyright 2007-2015 by Apple Inc.
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
@@ -1358,8 +1358,7 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
|
||||
*response; /* IPP response */
|
||||
cups_array_t *jobs; /* Array of job objects */
|
||||
ipp_attribute_t *job; /* Job object */
|
||||
int ascending, /* Order of jobs (0 = descending) */
|
||||
first, /* First job to show */
|
||||
int first, /* First job to show */
|
||||
count; /* Number of jobs */
|
||||
const char *var, /* Form variable */
|
||||
*query, /* Query string */
|
||||
@@ -1395,6 +1394,17 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "which-jobs",
|
||||
NULL, which_jobs);
|
||||
|
||||
if ((var = cgiGetVariable("FIRST")) != NULL)
|
||||
{
|
||||
if ((first = atoi(var)) < 0)
|
||||
first = 0;
|
||||
}
|
||||
else
|
||||
first = 0;
|
||||
|
||||
if (first > 0)
|
||||
ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_INTEGER, "first-index", first + 1);
|
||||
|
||||
cgiGetAttributes(request, "jobs.tmpl");
|
||||
|
||||
/*
|
||||
@@ -1417,7 +1427,7 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
|
||||
}
|
||||
|
||||
jobs = cgiGetIPPObjects(response, search);
|
||||
count = cupsArrayCount(jobs);
|
||||
count = cupsArrayCount(jobs) + first;
|
||||
|
||||
if (search)
|
||||
cgiFreeSearch(search);
|
||||
@@ -1426,25 +1436,6 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
|
||||
* Figure out which jobs to display...
|
||||
*/
|
||||
|
||||
if ((var = cgiGetVariable("FIRST")) != NULL)
|
||||
first = atoi(var);
|
||||
else
|
||||
first = 0;
|
||||
|
||||
if (first >= count)
|
||||
first = count - CUPS_PAGE_MAX;
|
||||
|
||||
first = (first / CUPS_PAGE_MAX) * CUPS_PAGE_MAX;
|
||||
|
||||
if (first < 0)
|
||||
first = 0;
|
||||
|
||||
if ((var = cgiGetVariable("ORDER")) != NULL && *var)
|
||||
ascending = !_cups_strcasecmp(var, "asc");
|
||||
else
|
||||
ascending = !which_jobs || !*which_jobs ||
|
||||
!_cups_strcasecmp(which_jobs, "not-completed");
|
||||
|
||||
section = cgiGetVariable("SECTION");
|
||||
|
||||
cgiClearVariables();
|
||||
@@ -1452,8 +1443,6 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
|
||||
if (query)
|
||||
cgiSetVariable("QUERY", query);
|
||||
|
||||
cgiSetVariable("ORDER", ascending ? "asc" : "dec");
|
||||
|
||||
cgiSetVariable("SECTION", section);
|
||||
|
||||
sprintf(val, "%d", count);
|
||||
@@ -1462,20 +1451,10 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
|
||||
if (which_jobs)
|
||||
cgiSetVariable("WHICH_JOBS", which_jobs);
|
||||
|
||||
if (ascending)
|
||||
{
|
||||
for (i = 0, job = (ipp_attribute_t *)cupsArrayIndex(jobs, first);
|
||||
i < CUPS_PAGE_MAX && job;
|
||||
i ++, job = (ipp_attribute_t *)cupsArrayNext(jobs))
|
||||
cgiSetIPPObjectVars(job, NULL, i);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0, job = (ipp_attribute_t *)cupsArrayIndex(jobs, count - first - 1);
|
||||
i < CUPS_PAGE_MAX && job;
|
||||
i ++, job = (ipp_attribute_t *)cupsArrayPrev(jobs))
|
||||
cgiSetIPPObjectVars(job, NULL, i);
|
||||
}
|
||||
for (i = 0, job = (ipp_attribute_t *)cupsArrayFirst(jobs);
|
||||
i < CUPS_PAGE_MAX && job;
|
||||
i ++, job = (ipp_attribute_t *)cupsArrayNext(jobs))
|
||||
cgiSetIPPObjectVars(job, NULL, i);
|
||||
|
||||
/*
|
||||
* Save navigation URLs...
|
||||
@@ -1504,6 +1483,12 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
|
||||
cgiSetVariable("NEXT", val);
|
||||
}
|
||||
|
||||
if (count > CUPS_PAGE_MAX)
|
||||
{
|
||||
snprintf(val, sizeof(val), "%d", CUPS_PAGE_MAX * (count / CUPS_PAGE_MAX));
|
||||
cgiSetVariable("LAST", val);
|
||||
}
|
||||
|
||||
/*
|
||||
* Then show everything...
|
||||
*/
|
||||
|
||||
+12
-22
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Printer status CGI for CUPS.
|
||||
*
|
||||
* Copyright 2007-2014 by Apple Inc.
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
@@ -304,8 +304,7 @@ show_all_printers(http_t *http, /* I - Connection to server */
|
||||
*response; /* IPP response */
|
||||
cups_array_t *printers; /* Array of printer objects */
|
||||
ipp_attribute_t *printer; /* Printer object */
|
||||
int ascending, /* Order of printers (0 = descending) */
|
||||
first, /* First printer to show */
|
||||
int first, /* First printer to show */
|
||||
count; /* Number of printers */
|
||||
const char *var; /* Form variable */
|
||||
void *search; /* Search data */
|
||||
@@ -387,25 +386,10 @@ show_all_printers(http_t *http, /* I - Connection to server */
|
||||
sprintf(val, "%d", count);
|
||||
cgiSetVariable("TOTAL", val);
|
||||
|
||||
if ((var = cgiGetVariable("ORDER")) != NULL && *var)
|
||||
ascending = !_cups_strcasecmp(var, "asc");
|
||||
else
|
||||
ascending = 1;
|
||||
|
||||
if (ascending)
|
||||
{
|
||||
for (i = 0, printer = (ipp_attribute_t *)cupsArrayIndex(printers, first);
|
||||
i < CUPS_PAGE_MAX && printer;
|
||||
i ++, printer = (ipp_attribute_t *)cupsArrayNext(printers))
|
||||
cgiSetIPPObjectVars(printer, NULL, i);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0, printer = (ipp_attribute_t *)cupsArrayIndex(printers, count - first - 1);
|
||||
i < CUPS_PAGE_MAX && printer;
|
||||
i ++, printer = (ipp_attribute_t *)cupsArrayPrev(printers))
|
||||
cgiSetIPPObjectVars(printer, NULL, i);
|
||||
}
|
||||
for (i = 0, printer = (ipp_attribute_t *)cupsArrayIndex(printers, first);
|
||||
i < CUPS_PAGE_MAX && printer;
|
||||
i ++, printer = (ipp_attribute_t *)cupsArrayNext(printers))
|
||||
cgiSetIPPObjectVars(printer, NULL, i);
|
||||
|
||||
/*
|
||||
* Save navigation URLs...
|
||||
@@ -425,6 +409,12 @@ show_all_printers(http_t *http, /* I - Connection to server */
|
||||
cgiSetVariable("NEXT", val);
|
||||
}
|
||||
|
||||
if (count > CUPS_PAGE_MAX)
|
||||
{
|
||||
snprintf(val, sizeof(val), "%d", CUPS_PAGE_MAX * (count / CUPS_PAGE_MAX));
|
||||
cgiSetVariable("LAST", val);
|
||||
}
|
||||
|
||||
/*
|
||||
* Then show everything...
|
||||
*/
|
||||
|
||||
+9
-11
@@ -6416,10 +6416,9 @@ get_jobs(cupsd_client_t *con, /* I - Client connection */
|
||||
ipp_jstate_t job_state; /* job-state value */
|
||||
int first_job_id = 1, /* First job ID */
|
||||
first_index = 1, /* First index */
|
||||
current_index = 0; /* Current index */
|
||||
int limit = 0; /* Maximum number of jobs to return */
|
||||
int count; /* Number of jobs that match */
|
||||
int need_load_job = 0; /* Do we need to load the job? */
|
||||
limit = 0, /* Maximum number of jobs to return */
|
||||
count, /* Number of jobs that match */
|
||||
need_load_job = 0; /* Do we need to load the job? */
|
||||
const char *job_attr; /* Job attribute requested */
|
||||
ipp_attribute_t *job_ids; /* job-ids attribute */
|
||||
cupsd_job_t *job; /* Current job pointer */
|
||||
@@ -6727,9 +6726,12 @@ get_jobs(cupsd_client_t *con, /* I - Client connection */
|
||||
}
|
||||
else
|
||||
{
|
||||
for (count = 0, job = (cupsd_job_t *)cupsArrayFirst(list);
|
||||
(limit <= 0 || count < limit) && job;
|
||||
job = (cupsd_job_t *)cupsArrayNext(list))
|
||||
if (first_index > 1)
|
||||
job = (cupsd_job_t *)cupsArrayIndex(list, first_index - 1);
|
||||
else
|
||||
job = (cupsd_job_t *)cupsArrayFirst(list);
|
||||
|
||||
for (count = 0; (limit <= 0 || count < limit) && job; job = (cupsd_job_t *)cupsArrayNext(list))
|
||||
{
|
||||
/*
|
||||
* Filter out jobs that don't match...
|
||||
@@ -6761,10 +6763,6 @@ get_jobs(cupsd_client_t *con, /* I - Client connection */
|
||||
if (job->id < first_job_id)
|
||||
continue;
|
||||
|
||||
current_index ++;
|
||||
if (current_index < first_index)
|
||||
continue;
|
||||
|
||||
if (need_load_job && !job->attrs)
|
||||
{
|
||||
cupsdLoadJob(job);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#printer_name=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Class List">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Queue Name <SMALL>▲</SMALL>:<SMALL>▼</SMALL> Queue Name <SMALL>▼</SMALL>}</A></TH><TH>Description</TH><TH>Location</TH><TH>Members</TH><TH>Status</TH></TR>
|
||||
<TR><TH>Queue Name</TH><TH>Description</TH><TH>Location</TH><TH>Members</TH><TH>Status</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[printer_name]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#printer_name=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Class List">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Wartweschlange <SMALL>▲</SMALL>:<SMALL>▼</SMALL> Warteschlange <SMALL>▼</SMALL>}</A></TH><TH>Beschreibung</TH><TH>Ort</TH><TH>Mitglieder</TH><TH>Status</TH></TR>
|
||||
<TR><TH>Wartweschlange</TH><TH>Beschreibung</TH><TH>Ort</TH><TH>Mitglieder</TH><TH>Status</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[printer_name]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#job_id=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Auftragsliste">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> ID <SMALL>▲</SMALL>:<SMALL>▼</SMALL> ID <SMALL>▼</SMALL>}</A></TH><TH>Name</TH><TH>Benutzer</TH><TH>Grösse</TH><TH>Seiten</TH><TH>Status</TH><TH>Steuerung</TH></TR>
|
||||
<TR><TH>ID</TH><TH>Name</TH><TH>Benutzer</TH><TH>Grösse</TH><TH>Seiten</TH><TH>Status</TH><TH>Steuerung</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[job_id]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<TABLE CLASS="inset" SUMMARY="Seitenverwaltung">
|
||||
<TR>
|
||||
<TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ Vorherige anzeigen"></FORM>: }</TD>
|
||||
<TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Nächste anzeigen ▶"></FORM>: }</TD>
|
||||
<TD WIDTH="50%">{PREV?{PREV>0?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="0"><INPUT TYPE="SUBMIT" VALUE="◀◀ Show First"></FORM> :}<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ Vorherige anzeigen"></FORM>: }</TD>
|
||||
<TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Nächste anzeigen ▶"></FORM>: }
|
||||
{LAST?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{LAST}"><INPUT TYPE="SUBMIT" VALUE="Show Last ▶▶"></FORM>:}</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#printer_name=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Druckerliste">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Queue Name <SMALL>▲</SMALL>:<SMALL>▼</SMALL> Queue Name <SMALL>▼</SMALL>}</A></TH><TH>Beschreibung</TH><TH>Ort</TH><TH>Marke und Modell</TH><TH>Status</TH></TR>
|
||||
<TR><TH>Queue Name</TH><TH>Beschreibung</TH><TH>Ort</TH><TH>Marke und Modell</TH><TH>Status</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[printer_name]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#printer_name=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Lista de clases">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Nombre de la cola <SMALL>▲</SMALL>:<SMALL>▼</SMALL> Nombre de la cola <SMALL>▼</SMALL>}</A></TH><TH>Descripción</TH><TH>Ubicación</TH><TH>Miembros</TH><TH>Estado</TH></TR>
|
||||
<TR><TH>Nombre de la cola</TH><TH>Descripción</TH><TH>Ubicación</TH><TH>Miembros</TH><TH>Estado</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[printer_name]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#job_id=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Lista de trabajos">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> ID <SMALL>▲</SMALL>:<SMALL>▼</SMALL> ID <SMALL>▼</SMALL>}</A></TH><TH>Nombre</TH><TH>Usuario</TH><TH>Tamaño</TH><TH>Páginas</TH><TH>Estado</TH><TH>Control</TH></TR>
|
||||
<TR><TH>ID</TH><TH>Nombre</TH><TH>Usuario</TH><TH>Tamaño</TH><TH>Páginas</TH><TH>Estado</TH><TH>Control</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[job_id]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<TABLE CLASS="inset" SUMMARY="Barra de paginación">
|
||||
<TR>
|
||||
<TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ Mostrar anteriores"></FORM>: }</TD>
|
||||
<TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Mostrar siguientes ▶"></FORM>: }</TD>
|
||||
<TD WIDTH="50%">{PREV?{PREV>0?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="0"><INPUT TYPE="SUBMIT" VALUE="◀◀ Show First"></FORM> :}<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ Mostrar anteriores"></FORM>: }</TD>
|
||||
<TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Mostrar siguientes ▶"></FORM>: }
|
||||
{LAST?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{LAST}"><INPUT TYPE="SUBMIT" VALUE="Show Last ▶▶"></FORM>:}</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#printer_name=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Lista de impresoras">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Nombre de la cola <SMALL>▲</SMALL>:<SMALL>▼</SMALL> Nombre de la cola <SMALL>▼</SMALL>}</A></TH><TH>Descripción</TH><TH>Ubicación</TH><TH>Marca y modelo</TH><TH>Estado</TH></TR>
|
||||
<TR><TH>Nombre de la cola</TH><TH>Descripción</TH><TH>Ubicación</TH><TH>Marca y modelo</TH><TH>Estado</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[printer_name]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#printer_name=0?:
|
||||
<TABLE CLASS="list" SUMMARY="クラスの一覧">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> キュー名 <SMALL>▲</SMALL>:<SMALL>▼</SMALL> キュー名 <SMALL>▼</SMALL>}</A></TH><TH>説明</TH><TH>場所</TH><TH>メンバー</TH><TH>状態</TH></TR>
|
||||
<TR><TH>キュー名</TH><TH>説明</TH><TH>場所</TH><TH>メンバー</TH><TH>状態</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[printer_name]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#job_id=0?:
|
||||
<TABLE CLASS="list" SUMMARY="ジョブの一覧">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> ID <SMALL>▲</SMALL>:<SMALL>▼</SMALL> ID <SMALL>▼</SMALL>}</A></TH><TH>名前</TH><TH>ユーザー</TH><TH>サイズ</TH><TH>ページ</TH><TH>状態</TH><TH>制御</TH></TR>
|
||||
<TR><TH>ID</TH><TH>名前</TH><TH>ユーザー</TH><TH>サイズ</TH><TH>ページ</TH><TH>状態</TH><TH>制御</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[job_id]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<TABLE CLASS="inset" SUMMARY="Paging Bar">
|
||||
<TR>
|
||||
<TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ 前を表示"></FORM>: }</TD>
|
||||
<TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="次を表示 ▶"></FORM>: }</TD>
|
||||
<TD WIDTH="50%">{PREV?{PREV>0?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="0"><INPUT TYPE="SUBMIT" VALUE="◀◀ Show First"></FORM> :}<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ 前を表示"></FORM>: }</TD>
|
||||
<TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="次を表示 ▶"></FORM>: }
|
||||
{LAST?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{LAST}"><INPUT TYPE="SUBMIT" VALUE="Show Last ▶▶"></FORM>:}</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#printer_name=0?:
|
||||
<TABLE CLASS="list" SUMMARY="プリンターの一覧">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> キュー名 <SMALL>▲</SMALL>:<SMALL>▼</SMALL> キュー名 <SMALL>▼</SMALL>}</A></TH><TH>説明</TH><TH>場所</TH><TH>メーカーとモデル</TH><TH>状態</TH></TR>
|
||||
<TR><TH>キュー名</TH><TH>説明</TH><TH>場所</TH><TH>メーカーとモデル</TH><TH>状態</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[printer_name]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#job_id=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Job List">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> ID <SMALL>▲</SMALL>:<SMALL>▼</SMALL> ID <SMALL>▼</SMALL>}</A></TH><TH>Name</TH><TH>User</TH><TH>Size</TH><TH>Pages</TH><TH>State</TH><TH>Control</TH></TR>
|
||||
<TR><TH>ID</TH><TH>Name</TH><TH>User</TH><TH>Size</TH><TH>Pages</TH><TH>State</TH><TH>Control</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[job_id]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<TABLE CLASS="inset" SUMMARY="Paging Bar">
|
||||
<TR>
|
||||
<TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ Show Previous"></FORM>: }</TD>
|
||||
<TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Show Next ▶"></FORM>: }</TD>
|
||||
<TD WIDTH="50%">{PREV?{PREV>0?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="0"><INPUT TYPE="SUBMIT" VALUE="◀◀ Show First"></FORM> :}<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ Show Previous"></FORM>: }</TD>
|
||||
<TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Show Next ▶"></FORM>: }
|
||||
{LAST?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{LAST}"><INPUT TYPE="SUBMIT" VALUE="Show Last ▶▶"></FORM>:}</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#printer_name=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Printer List">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Queue Name <SMALL>▲</SMALL>:<SMALL>▼</SMALL> Queue Name <SMALL>▼</SMALL>}</A></TH><TH>Description</TH><TH>Location</TH><TH>Make and Model</TH><TH>Status</TH></TR>
|
||||
<TR><TH>Queue Name</TH><TH>Description</TH><TH>Location</TH><TH>Make and Model</TH><TH>Status</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[printer_name]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#printer_name=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Class List">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Nome da fila <SMALL>▲</SMALL>:<SMALL>▼</SMALL> Nome da fila <SMALL>▼</SMALL>}</A></TH><TH>Descrição</TH><TH>Localização</TH><TH>Membros</TH><TH>Estado</TH></TR>
|
||||
<TR><TH>Nome da fila</TH><TH>Descrição</TH><TH>Localização</TH><TH>Membros</TH><TH>Estado</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[printer_name]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#job_id=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Job List">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> ID <SMALL>▲</SMALL>:<SMALL>▼</SMALL> ID <SMALL>▼</SMALL>}</A></TH><TH>Nome</TH><TH>Usuário</TH><TH>Tamanho</TH><TH>Páginas</TH><TH>Estado</TH><TH>Controle</TH></TR>
|
||||
<TR><TH>ID</TH><TH>Nome</TH><TH>Usuário</TH><TH>Tamanho</TH><TH>Páginas</TH><TH>Estado</TH><TH>Controle</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[job_id]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<TABLE CLASS="inset" SUMMARY="Barra de paginação">
|
||||
<TR>
|
||||
<TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ Mostrar anterior"></FORM>: }</TD>
|
||||
<TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Mostrar próximo ▶"></FORM>: }</TD>
|
||||
<TD WIDTH="50%">{PREV?{PREV>0?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="0"><INPUT TYPE="SUBMIT" VALUE="◀◀ Show First"></FORM> :}<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ Mostrar anterior"></FORM>: }</TD>
|
||||
<TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Mostrar próximo ▶"></FORM>: }
|
||||
{LAST?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{LAST}"><INPUT TYPE="SUBMIT" VALUE="Show Last ▶▶"></FORM>:}</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#printer_name=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Lista de impressoras">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Nome da fila <SMALL>▲</SMALL>:<SMALL>▼</SMALL> Nome da fila <SMALL>▼</SMALL>}</A></TH><TH>Descrição</TH><TH>Localização</TH><TH>Marca e modelo</TH><TH>Estado</TH></TR>
|
||||
<TR><TH>Nome da fila</TH><TH>Descrição</TH><TH>Localização</TH><TH>Marca e modelo</TH><TH>Estado</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[printer_name]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#printer_name=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Список групп">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Наименование <SMALL>▲</SMALL>:<SMALL>▼</SMALL> Наименование <SMALL>▼</SMALL>}</A></TH><TH>Описание</TH><TH>Расположение</TH><TH>Состав</TH><TH>Статус</TH></TR>
|
||||
<TR><TH>Наименование</TH><TH>Описание</TH><TH>Расположение</TH><TH>Состав</TH><TH>Статус</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[printer_name]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#job_id=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Задания">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Номер <SMALL>▲</SMALL>:<SMALL>▼</SMALL> ID <SMALL>▼</SMALL>}</A></TH><TH>Название</TH><TH>Пользователь</TH><TH>Размер</TH><TH>Страниц</TH><TH>Статус</TH><TH>Управление</TH></TR>
|
||||
<TR><TH>Номер</TH><TH>Название</TH><TH>Пользователь</TH><TH>Размер</TH><TH>Страниц</TH><TH>Статус</TH><TH>Управление</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[job_id]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<TABLE CLASS="inset" SUMMARY="Просмотр по страницам">
|
||||
<TR>
|
||||
<TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ Предыдущая"></FORM>: }</TD>
|
||||
<TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Следующая ▶"></FORM>: }</TD>
|
||||
<TD WIDTH="50%">{PREV?{PREV>0?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="0"><INPUT TYPE="SUBMIT" VALUE="◀◀ Show First"></FORM> :}<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ Предыдущая"></FORM>: }</TD>
|
||||
<TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Следующая ▶"></FORM>: }
|
||||
{LAST?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{LAST}"><INPUT TYPE="SUBMIT" VALUE="Show Last ▶▶"></FORM>:}</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{#printer_name=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Список принтеров">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Наименование <SMALL>▲</SMALL>:<SMALL>▼</SMALL> Наименование <SMALL>▼</SMALL>}</A></TH><TH>Описание</TH><TH>Расположение</TH><TH>Драйвер</TH><TH>Статус</TH></TR>
|
||||
<TR><TH>Наименование</TH><TH>Описание</TH><TH>Расположение</TH><TH>Драйвер</TH><TH>Статус</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[printer_name]
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário