624
625
626
627
628
629
630
631
632
633
634
635
636
637
|
struct GenerateHTML {
int rn; /* Report number */
int nCount; /* Row number */
int nCol; /* Number of columns */
int isMultirow; /* True if multiple table rows per query result row */
int iNewRow; /* Index of first column that goes on separate row */
int iBg; /* Index of column that defines background color */
};
/*
** The callback function for db_query
*/
static int generate_html(
void *pUser, /* Pointer to output state */
|
>
>
>
|
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
|
struct GenerateHTML {
int rn; /* Report number */
int nCount; /* Row number */
int nCol; /* Number of columns */
int isMultirow; /* True if multiple table rows per query result row */
int iNewRow; /* Index of first column that goes on separate row */
int iBg; /* Index of column that defines background color */
int wikiFlags; /* Flags passed into wiki_convert() */
const char *zWikiStart; /* HTML before display of multi-line wiki */
const char *zWikiEnd; /* HTML after display of multi-line wiki */
};
/*
** The callback function for db_query
*/
static int generate_html(
void *pUser, /* Pointer to output state */
|
668
669
670
671
672
673
674
675
676
677
678
679
680
681
|
if( g.perm.Write && azName[i][0]=='#' ){
pState->nCol++;
}
if( !pState->isMultirow ){
if( azName[i][0]=='_' ){
pState->isMultirow = 1;
pState->iNewRow = i;
}else{
pState->nCol++;
}
}
}
/* The first time this routine is called, output a table header
|
>
>
>
>
>
>
>
>
>
>
>
>
>
|
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
|
if( g.perm.Write && azName[i][0]=='#' ){
pState->nCol++;
}
if( !pState->isMultirow ){
if( azName[i][0]=='_' ){
pState->isMultirow = 1;
pState->iNewRow = i;
pState->wikiFlags = WIKI_NOBADLINKS;
pState->zWikiStart = "";
pState->zWikiEnd = "";
if( P("plaintext") ){
pState->wikiFlags |= WIKI_LINKSONLY;
pState->zWikiStart = "<pre class='verbatim'>";
pState->zWikiEnd = "</pre>";
style_submenu_element("Formatted", "Formatted",
"%R/rptview?rn=%d", pState->rn);
}else{
style_submenu_element("Plaintext", "Plaintext",
"%R/rptview?rn=%d&plaintext", pState->rn);
}
}else{
pState->nCol++;
}
}
}
/* The first time this routine is called, output a table header
|
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
|
@ <td valign="top">%z(href("%R/tktedit/%h",zTid))edit</a></td>
zTid = 0;
}
if( zData[0] ){
Blob content;
@ </tr>
@ <tr style="background-color:%h(zBg)"><td colspan=%d(pState->nCol)>
blob_init(&content, zData, -1);
wiki_convert(&content, 0, WIKI_NOBADLINKS);
blob_reset(&content);
}
}else if( azName[i][0]=='#' ){
zTid = zData;
@ <td valign="top">%z(href("%R/tktview?name=%h",zData))%h(zData)</a></td>
}else if( zData[0]==0 ){
@ <td valign="top"> </td>
}else{
|
>
|
>
|
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
|
@ <td valign="top">%z(href("%R/tktedit/%h",zTid))edit</a></td>
zTid = 0;
}
if( zData[0] ){
Blob content;
@ </tr>
@ <tr style="background-color:%h(zBg)"><td colspan=%d(pState->nCol)>
@ %s(pState->zWikiStart)
blob_init(&content, zData, -1);
wiki_convert(&content, 0, pState->wikiFlags);
blob_reset(&content);
@ %s(pState->zWikiEnd)
}
}else if( azName[i][0]=='#' ){
zTid = zData;
@ <td valign="top">%z(href("%R/tktview?name=%h",zData))%h(zData)</a></td>
}else if( zData[0]==0 ){
@ <td valign="top"> </td>
}else{
|