701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
|
} aSkinAttr[] = {
/* 0 */ { "css", "CSS", "CSS", },
/* 1 */ { "footer", "Page Footer", "Footer", },
/* 2 */ { "header", "Page Header", "Header", },
/* 3 */ { "details", "Display Details", "Details", },
};
const char *zBasis; /* The baseline file */
const char *zContent; /* Content after editing */
char *zDraft; /* Which draft: "draft%d" */
char *zKey; /* CONFIG table key name: "draft%d-%s" */
char *zTitle; /* Title of this page */
const char *zFile; /* One of "css", "footer", "header", "details" */
int iSkin; /* draft number. 1..9 */
int ii; /* Index in aSkinAttr[] of this file */
int j; /* Loop counter */
login_check_credentials();
/* Figure out which skin we are editing */
iSkin = atoi(PD("sk","1"));
if( iSkin<1 || iSkin>9 ) iSkin = 1;
|
>
>
>
|
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
|
} aSkinAttr[] = {
/* 0 */ { "css", "CSS", "CSS", },
/* 1 */ { "footer", "Page Footer", "Footer", },
/* 2 */ { "header", "Page Header", "Header", },
/* 3 */ { "details", "Display Details", "Details", },
};
const char *zBasis; /* The baseline file */
const char *zOrig; /* Original content prior to editing */
const char *zContent; /* Content after editing */
const char *zDflt; /* Default content */
char *zDraft; /* Which draft: "draft%d" */
char *zKey; /* CONFIG table key name: "draft%d-%s" */
char *zTitle; /* Title of this page */
const char *zFile; /* One of "css", "footer", "header", "details" */
int iSkin; /* draft number. 1..9 */
int ii; /* Index in aSkinAttr[] of this file */
int j; /* Loop counter */
int isRevert = 0; /* True if Revert-to-Baseline was pressed */
login_check_credentials();
/* Figure out which skin we are editing */
iSkin = atoi(PD("sk","1"));
if( iSkin<1 || iSkin>9 ) iSkin = 1;
|
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
|
ii = atoi(PD("w","0"));
if( ii<0 || ii>count(aSkinAttr) ) ii = 0;
zFile = aSkinAttr[ii].zFile;
zDraft = mprintf("draft%d", iSkin);
zKey = mprintf("draft%d-%s", iSkin, zFile);
zTitle = mprintf("%s for Draft%d", aSkinAttr[ii].zTitle, iSkin);
zBasis = PD("basis","current");
db_begin_transaction();
style_header("%s", zTitle);
for(j=0; j<count(aSkinAttr); j++){
if( j==ii ) continue;
style_submenu_element(aSkinAttr[j].zSubmenu,
"%R/setup_skinedit?w=%d&basis=%h&sk=%d",j,zBasis,iSkin);
}
@ <form action="%s(g.zTop)/setup_skinedit" method="post"><div>
login_insert_csrf_secret();
@ <input type='hidden' name='w' value='%d(ii)'>
@ <input type='hidden' name='sk' value='%d(iSkin)'>
@ <h2>Edit %s(zTitle):</h2>
zContent = textarea_attribute(
"", /* Text label */
10, 80, /* Height and width of the edit area */
zKey, /* Name of CONFIG table entry */
zFile, /* CGI query parameter name */
skin_file_content(zBasis, zFile), /* Default value of the text */
0 /* Disabled flag */
);
@ <br />
@ <input type="submit" name="submit" value="Apply Changes" />
@ <hr />
@ Baseline: \
skin_emit_skin_selector("basis", zBasis, zDraft);
@ <input type="submit" name="diff" value="Unified Diff" />
@ <input type="submit" name="sbsdiff" value="Side-by-Side Diff" />
if( P("diff")!=0 || P("sbsdiff")!=0 ){
u64 diffFlags = construct_diff_flags(1) | DIFF_STRIP_EOLCR;
|
>
>
>
>
>
>
>
<
>
|
<
<
>
|
<
|
<
<
>
>
>
>
>
|
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
|
ii = atoi(PD("w","0"));
if( ii<0 || ii>count(aSkinAttr) ) ii = 0;
zFile = aSkinAttr[ii].zFile;
zDraft = mprintf("draft%d", iSkin);
zKey = mprintf("draft%d-%s", iSkin, zFile);
zTitle = mprintf("%s for Draft%d", aSkinAttr[ii].zTitle, iSkin);
zBasis = PD("basis","current");
zDflt = skin_file_content(zBasis, zFile);
zOrig = db_get(zKey, zDflt);
zContent = PD(zFile,zOrig);
if( P("revert")!=0 && cgi_csrf_safe(0) ){
zContent = zDflt;
isRevert = 1;
}
db_begin_transaction();
style_header("%s", zTitle);
for(j=0; j<count(aSkinAttr); j++){
style_submenu_element(aSkinAttr[j].zSubmenu,
"%R/setup_skinedit?w=%d&basis=%h&sk=%d",j,zBasis,iSkin);
}
@ <form action="%s(g.zTop)/setup_skinedit" method="post"><div>
login_insert_csrf_secret();
@ <input type='hidden' name='w' value='%d(ii)'>
@ <input type='hidden' name='sk' value='%d(iSkin)'>
@ <h2>Edit %s(zTitle):</h2>
if( P("submit") && cgi_csrf_safe(0) && strcmp(zOrig,zContent)!=0 ){
db_set(zKey, zContent, 0);
}
@ <textarea name="%s(zFile)" rows="10" cols="80">\
@ %h(zContent)</textarea>
@ <br />
@ <input type="submit" name="submit" value="Apply Changes" />
if( isRevert ){
@ ← Press to complete reversion to "%s(zBasis)"
}else if( fossil_strcmp(zContent,zDflt)!=0 ){
@ <input type="submit" name="revert" value='Revert To "%s(zBasis)"' />
}
@ <hr />
@ Baseline: \
skin_emit_skin_selector("basis", zBasis, zDraft);
@ <input type="submit" name="diff" value="Unified Diff" />
@ <input type="submit" name="sbsdiff" value="Side-by-Side Diff" />
if( P("diff")!=0 || P("sbsdiff")!=0 ){
u64 diffFlags = construct_diff_flags(1) | DIFF_STRIP_EOLCR;
|