@@ -882,46 +882,75 @@
882 882 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
883 883 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Generate some HTML for doing search. At a minimum include the
884 884 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Search-Text entry form. If the "s" query parameter is present, also
885 885 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** show search results.
886 886 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
887 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** The srchFlags parameter is used to customize some of the text of the
888 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** form and the results. srchFlags should be either a single search
889 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** category or all categories. Any srchFlags with two or more bits set
887 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** The srchFlags parameter restricts the set of documents to be searched.
888 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** srchFlags should normally be either a single search category or all
889 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** categories. Any srchFlags with two or more bits set
890 890 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** is treated like SRCH_ALL for display purposes.
891 891 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
892 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** The entry box is shown disabled if srchFlags is 0.
892 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** This routine automatically restricts srchFlag according to user
893 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** permissions and the server configuration. The entry box is shown
894 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** disabled if srchFlags is 0 after these restrictions are applied.
895 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
896 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** If useYparam is true, then this routine also looks at the y= query
897 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** parameter for further search restrictions.
893 898 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
894 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void search_screen(unsigned srchFlags, const char *zAction){
899 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ void search_screen(unsigned srchFlags, int useYparam){
895 900 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zType = 0;
896 901 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zClass = 0;
897 902 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zDisable1;
898 903 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zDisable2;
899 904 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zPattern;
905 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ srchFlags = search_restrict(srchFlags);
900 906 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
switch( srchFlags ){
901 907 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case SRCH_CKIN: zType = " Check-ins"; zClass = "Ckin"; break;
902 908 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case SRCH_DOC: zType = " Docs"; zClass = "Doc"; break;
903 909 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case SRCH_TKT: zType = " Tickets"; zClass = "Tkt"; break;
904 910 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case SRCH_WIKI: zType = " Wiki"; zClass = "Wiki"; break;
905 911 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
906 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- srchFlags = search_restrict(srchFlags);
907 912 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( srchFlags==0 ){
908 913 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zDisable1 = " disabled";
909 914 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zDisable2 = " disabled";
910 915 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zPattern = "";
911 916 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
912 917 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zDisable1 = " autofocus";
913 918 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zDisable2 = "";
914 919 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zPattern = PD("s","");
915 920 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
916 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <form method='GET' action='%s(zAction)'>
921 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ <form method='GET' action='%R/%t(g.zPath)'>
917 922 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zClass ){
918 923 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <div class='searchForm searchForm%s(zClass)'>
919 924 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
920 925 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <div class='searchForm'>
921 926 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
922 927 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <input type="text" name="s" size="40" value="%h(zPattern)"%s(zDisable1)>
928 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( useYparam && (srchFlags & (srchFlags-1))!=0 && useYparam ){
929 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static const struct { char *z; char *zNm; unsigned m; } aY[] = {
930 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ { "all", "All", SRCH_ALL },
931 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ { "c", "Check-ins", SRCH_CKIN },
932 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ { "d", "Docs", SRCH_DOC },
933 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ { "t", "Tickets", SRCH_TKT },
934 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ { "w", "Wiki", SRCH_WIKI },
935 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zY = PD("y","all");
937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ unsigned newFlags = srchFlags;
938 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int i;
939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ <select size='1' name='y'>
940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; i<ArraySize(aY); i++){
941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( (aY[i].m & srchFlags)==0 ) continue;
942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cgi_printf("<option value='%s'", aY[i].z);
943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( fossil_strcmp(zY,aY[i].z)==0 ){
944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ newFlags &= aY[i].m;
945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cgi_printf(" selected");
946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cgi_printf(">%s</option>\n", aY[i].zNm);
948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ </select>
950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ srchFlags = newFlags;
951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
923 952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <input type="submit" value="Search%s(zType)"%s(zDisable2)>
924 953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( srchFlags==0 ){
925 954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <p class="generalError">Search is disabled</p>
926 955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
927 956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ </div></form>
@@ -944,22 +973,13 @@
944 973 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
945 974 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Search for check-in comments, documents, tickets, or wiki that
946 975 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** match a user-supplied pattern.
947 976 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
948 977 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void search_page(void){
949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- unsigned srchFlags = SRCH_ALL;
950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zOnly = P("only");
951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
952 978 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
login_check_credentials();
953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zOnly ){
954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( strchr(zOnly,'c') ) srchFlags &= SRCH_CKIN;
955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( strchr(zOnly,'d') ) srchFlags &= SRCH_DOC;
956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( strchr(zOnly,'t') ) srchFlags &= SRCH_TKT;
957 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( strchr(zOnly,'w') ) srchFlags &= SRCH_WIKI;
958 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
959 979 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_header("Search");
960 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- search_screen(srchFlags, "search");
980 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ search_screen(SRCH_ALL, 1);
961 981 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_footer();
962 982 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
963 983 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
964 984 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
965 985 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
966 986 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!