Fossil SCM
Improvements and fixes to the new skin editing.
Commit
38762b9f6c56ad3f39ebc405abb1e739ff0cbe391f47c5a13afa7044e2219cf4
Parent
2179ffd47a81e8c…
1 file changed
+18
-21
+18
-21
| --- src/skins.c | ||
| +++ src/skins.c | ||
| @@ -440,12 +440,13 @@ | ||
| 440 | 440 | zNewName, zCurrent |
| 441 | 441 | ); |
| 442 | 442 | return 0; |
| 443 | 443 | } |
| 444 | 444 | |
| 445 | +#if 0 | |
| 445 | 446 | /* |
| 446 | -** WEBPAGE: setup_skin_old | |
| 447 | +** WEB**PAGE: setup_skin_old | |
| 447 | 448 | ** |
| 448 | 449 | ** Show a list of available skins with buttons for selecting which |
| 449 | 450 | ** skin to use. Requires Setup privilege. |
| 450 | 451 | */ |
| 451 | 452 | void setup_skin_old(void){ |
| @@ -599,11 +600,11 @@ | ||
| 599 | 600 | } |
| 600 | 601 | @ </table> |
| 601 | 602 | style_footer(); |
| 602 | 603 | db_end_transaction(0); |
| 603 | 604 | } |
| 604 | - | |
| 605 | +#endif | |
| 605 | 606 | |
| 606 | 607 | /* |
| 607 | 608 | ** WEBPAGE: setup_skinedit |
| 608 | 609 | ** |
| 609 | 610 | ** Edit aspects of a skin determined by the w= query parameter. |
| @@ -725,22 +726,23 @@ | ||
| 725 | 726 | static void skin_initialize_draft(int iSkin, const char *zTemplate){ |
| 726 | 727 | int i; |
| 727 | 728 | if( zTemplate==0 ) return; |
| 728 | 729 | if( strcmp(zTemplate, "current")==0 ){ |
| 729 | 730 | for(i=0; i<count(azSkinFile); i++){ |
| 730 | - db_unset_mprintf("draft%d-%s", 0, iSkin, azSkinFile[i]); | |
| 731 | - } | |
| 732 | - }else{ | |
| 733 | - for(i=0; i<count(aBuiltinSkin); i++){ | |
| 734 | - if( strcmp(zTemplate, aBuiltinSkin[i].zLabel)==0 ){ | |
| 735 | - for(i=0; i<count(azSkinFile); i++){ | |
| 736 | - char *zKey = mprintf("skins/%s/%s.txt", zTemplate, azSkinFile[i]); | |
| 737 | - db_set_mprintf("draft%d-%s", builtin_text(zKey), 0, | |
| 738 | - iSkin, azSkinFile[i]); | |
| 739 | - } | |
| 740 | - break; | |
| 741 | - } | |
| 731 | + db_set_mprintf("draft%d-%s", db_get(azSkinFile[i],""), 0, | |
| 732 | + iSkin, azSkinFile[i]); | |
| 733 | + } | |
| 734 | + return; | |
| 735 | + } | |
| 736 | + for(i=0; i<count(aBuiltinSkin); i++){ | |
| 737 | + if( strcmp(zTemplate, aBuiltinSkin[i].zLabel)==0 ){ | |
| 738 | + for(i=0; i<count(azSkinFile); i++){ | |
| 739 | + char *zKey = mprintf("skins/%s/%s.txt", zTemplate, azSkinFile[i]); | |
| 740 | + db_set_mprintf("draft%d-%s", builtin_text(zKey), 0, | |
| 741 | + iSkin, azSkinFile[i]); | |
| 742 | + } | |
| 743 | + return; | |
| 742 | 744 | } |
| 743 | 745 | } |
| 744 | 746 | } |
| 745 | 747 | |
| 746 | 748 | /* |
| @@ -774,17 +776,12 @@ | ||
| 774 | 776 | ); |
| 775 | 777 | } |
| 776 | 778 | |
| 777 | 779 | /* Publish draft iSkin */ |
| 778 | 780 | for(i=0; i<count(azSkinFile); i++){ |
| 779 | - db_multi_exec( | |
| 780 | - "UPDATE config" | |
| 781 | - " SET value=(SELECT value FROM config AS x" | |
| 782 | - " WHERE x.name = printf('draft%d-%%s',config.name))," | |
| 783 | - " mtime=now()" | |
| 784 | - " WHERE name IN ('css','header','footer','details')", iSkin | |
| 785 | - ); | |
| 781 | + char *zNew = db_get_mprintf("draft%d-%s", "", iSkin, azSkinFile[i]); | |
| 782 | + db_set(azSkinFile[i], zNew, 0); | |
| 786 | 783 | } |
| 787 | 784 | } |
| 788 | 785 | |
| 789 | 786 | /* |
| 790 | 787 | ** WEBPAGE: setup_skin |
| 791 | 788 |
| --- src/skins.c | |
| +++ src/skins.c | |
| @@ -440,12 +440,13 @@ | |
| 440 | zNewName, zCurrent |
| 441 | ); |
| 442 | return 0; |
| 443 | } |
| 444 | |
| 445 | /* |
| 446 | ** WEBPAGE: setup_skin_old |
| 447 | ** |
| 448 | ** Show a list of available skins with buttons for selecting which |
| 449 | ** skin to use. Requires Setup privilege. |
| 450 | */ |
| 451 | void setup_skin_old(void){ |
| @@ -599,11 +600,11 @@ | |
| 599 | } |
| 600 | @ </table> |
| 601 | style_footer(); |
| 602 | db_end_transaction(0); |
| 603 | } |
| 604 | |
| 605 | |
| 606 | /* |
| 607 | ** WEBPAGE: setup_skinedit |
| 608 | ** |
| 609 | ** Edit aspects of a skin determined by the w= query parameter. |
| @@ -725,22 +726,23 @@ | |
| 725 | static void skin_initialize_draft(int iSkin, const char *zTemplate){ |
| 726 | int i; |
| 727 | if( zTemplate==0 ) return; |
| 728 | if( strcmp(zTemplate, "current")==0 ){ |
| 729 | for(i=0; i<count(azSkinFile); i++){ |
| 730 | db_unset_mprintf("draft%d-%s", 0, iSkin, azSkinFile[i]); |
| 731 | } |
| 732 | }else{ |
| 733 | for(i=0; i<count(aBuiltinSkin); i++){ |
| 734 | if( strcmp(zTemplate, aBuiltinSkin[i].zLabel)==0 ){ |
| 735 | for(i=0; i<count(azSkinFile); i++){ |
| 736 | char *zKey = mprintf("skins/%s/%s.txt", zTemplate, azSkinFile[i]); |
| 737 | db_set_mprintf("draft%d-%s", builtin_text(zKey), 0, |
| 738 | iSkin, azSkinFile[i]); |
| 739 | } |
| 740 | break; |
| 741 | } |
| 742 | } |
| 743 | } |
| 744 | } |
| 745 | |
| 746 | /* |
| @@ -774,17 +776,12 @@ | |
| 774 | ); |
| 775 | } |
| 776 | |
| 777 | /* Publish draft iSkin */ |
| 778 | for(i=0; i<count(azSkinFile); i++){ |
| 779 | db_multi_exec( |
| 780 | "UPDATE config" |
| 781 | " SET value=(SELECT value FROM config AS x" |
| 782 | " WHERE x.name = printf('draft%d-%%s',config.name))," |
| 783 | " mtime=now()" |
| 784 | " WHERE name IN ('css','header','footer','details')", iSkin |
| 785 | ); |
| 786 | } |
| 787 | } |
| 788 | |
| 789 | /* |
| 790 | ** WEBPAGE: setup_skin |
| 791 |
| --- src/skins.c | |
| +++ src/skins.c | |
| @@ -440,12 +440,13 @@ | |
| 440 | zNewName, zCurrent |
| 441 | ); |
| 442 | return 0; |
| 443 | } |
| 444 | |
| 445 | #if 0 |
| 446 | /* |
| 447 | ** WEB**PAGE: setup_skin_old |
| 448 | ** |
| 449 | ** Show a list of available skins with buttons for selecting which |
| 450 | ** skin to use. Requires Setup privilege. |
| 451 | */ |
| 452 | void setup_skin_old(void){ |
| @@ -599,11 +600,11 @@ | |
| 600 | } |
| 601 | @ </table> |
| 602 | style_footer(); |
| 603 | db_end_transaction(0); |
| 604 | } |
| 605 | #endif |
| 606 | |
| 607 | /* |
| 608 | ** WEBPAGE: setup_skinedit |
| 609 | ** |
| 610 | ** Edit aspects of a skin determined by the w= query parameter. |
| @@ -725,22 +726,23 @@ | |
| 726 | static void skin_initialize_draft(int iSkin, const char *zTemplate){ |
| 727 | int i; |
| 728 | if( zTemplate==0 ) return; |
| 729 | if( strcmp(zTemplate, "current")==0 ){ |
| 730 | for(i=0; i<count(azSkinFile); i++){ |
| 731 | db_set_mprintf("draft%d-%s", db_get(azSkinFile[i],""), 0, |
| 732 | iSkin, azSkinFile[i]); |
| 733 | } |
| 734 | return; |
| 735 | } |
| 736 | for(i=0; i<count(aBuiltinSkin); i++){ |
| 737 | if( strcmp(zTemplate, aBuiltinSkin[i].zLabel)==0 ){ |
| 738 | for(i=0; i<count(azSkinFile); i++){ |
| 739 | char *zKey = mprintf("skins/%s/%s.txt", zTemplate, azSkinFile[i]); |
| 740 | db_set_mprintf("draft%d-%s", builtin_text(zKey), 0, |
| 741 | iSkin, azSkinFile[i]); |
| 742 | } |
| 743 | return; |
| 744 | } |
| 745 | } |
| 746 | } |
| 747 | |
| 748 | /* |
| @@ -774,17 +776,12 @@ | |
| 776 | ); |
| 777 | } |
| 778 | |
| 779 | /* Publish draft iSkin */ |
| 780 | for(i=0; i<count(azSkinFile); i++){ |
| 781 | char *zNew = db_get_mprintf("draft%d-%s", "", iSkin, azSkinFile[i]); |
| 782 | db_set(azSkinFile[i], zNew, 0); |
| 783 | } |
| 784 | } |
| 785 | |
| 786 | /* |
| 787 | ** WEBPAGE: setup_skin |
| 788 |