Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Add the /skins webpage. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
d8ad5a2ec7824d67dcce25e1f0154c4a |
| User & Date: | drh 2021-01-27 21:06:47.122 |
Context
|
2021-01-27
| ||
| 21:12 | Add a terse explanation to the /skins page, and a link to /skins from the /sitemap. check-in: 685c7d0581 user: drh tags: trunk | |
| 21:06 | Add the /skins webpage. check-in: d8ad5a2ec7 user: drh tags: trunk | |
| 19:50 | Update the built-in SQLite to the latest 3.35 alpha for testing. check-in: 8f8b6e33cd user: drh tags: trunk | |
Changes
Changes to src/skins.c.
| ︙ | ︙ | |||
38 39 40 41 42 43 44 45 46 47 |
*/
static struct BuiltinSkin {
const char *zDesc; /* Description of this skin */
const char *zLabel; /* The directory under skins/ holding this skin */
char *zSQL; /* Filled in at run-time with SQL to insert this skin */
} aBuiltinSkin[] = {
{ "Default", "default", 0 },
{ "Blitz", "blitz", 0 },
{ "Blitz, No Logo", "blitz_no_logo", 0 },
{ "Bootstrap", "bootstrap", 0 },
| > > | < < > | < | | | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
*/
static struct BuiltinSkin {
const char *zDesc; /* Description of this skin */
const char *zLabel; /* The directory under skins/ holding this skin */
char *zSQL; /* Filled in at run-time with SQL to insert this skin */
} aBuiltinSkin[] = {
{ "Default", "default", 0 },
{ "Ardoise", "ardoise", 0 },
{ "Black & White, Menu on Left", "black_and_white", 0 },
{ "Blitz", "blitz", 0 },
{ "Blitz, No Logo", "blitz_no_logo", 0 },
{ "Bootstrap", "bootstrap", 0 },
{ "Eagle", "eagle", 0 },
{ "Enhanced Original", "enhanced1", 0 },
{ "Khaki, No Logo", "khaki", 0 },
{ "Original", "original", 0 },
{ "Plain Gray, No Logo", "plain_gray", 0 },
{ "Shadow boxes & Rounded Corners", "rounded1", 0 },
{ "Xekri", "xekri", 0 },
};
/*
** A skin consists of five "files" named here:
*/
static const char *const azSkinFile[] = {
"css", "header", "footer", "details", "js"
|
| ︙ | ︙ | |||
1130 1131 1132 1133 1134 1135 1136 |
}else{
@ <p>Visit the <a href='%R/setup_skin_admin'>Skin Admin</a> page
@ for cleanup and recovery actions.
}
builtin_request_js("skin.js");
style_finish_page();
}
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 |
}else{
@ <p>Visit the <a href='%R/setup_skin_admin'>Skin Admin</a> page
@ for cleanup and recovery actions.
}
builtin_request_js("skin.js");
style_finish_page();
}
/*
** WEBPAGE: skins
**
** Show a list of all of the built-in skins, plus the responsitory skin,
** and provide the user with an opportunity to change to any of them.
*/
void skins_page(void){
int i;
char *zBase = fossil_strdup(g.zTop);
size_t nBase = strlen(zBase);
if( iDraftSkin && sqlite3_strglob("*/draft?", zBase)==0 ){
nBase -= 7;
zBase[nBase] = 0;
}else if( pAltSkin ){
char *zPattern = mprintf("*/skn_%s", pAltSkin->zLabel);
if( sqlite3_strglob(zPattern, zBase)==0 ){
nBase -= strlen(zPattern)-1;
zBase[nBase] = 0;
}
fossil_free(zPattern);
}
login_check_credentials();
style_header("Skins");
@ <ul>
if( pAltSkin==0 && zAltSkinDir==0 && iDraftSkin==0 ){
@ <li> Standard skin for this repository ← <i>Currently in use</i>
}else{
@ <li> %z(href("%s/skins",zBase))Standard skin for this repository</a>
}
for(i=0; i<count(aBuiltinSkin); i++){
if( pAltSkin==&aBuiltinSkin[i] ){
@ <li> %h(aBuiltinSkin[i].zDesc) ← <i>Currently in use</i>
}else{
char *zUrl = href("%s/skn_%s/skins", zBase, aBuiltinSkin[i].zLabel);
@ <li> %z(zUrl)%h(aBuiltinSkin[i].zDesc)</a>
}
}
@ </ul>
style_finish_page();
fossil_free(zBase);
}
|