Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Merge enhancements from trunk. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | forum-v2 |
Files: | files | file ages | folders |
SHA3-256: |
94262a8c3236b2f81a79caf7812da8f7 |
User & Date: | drh 2018-07-25 13:21:49.018 |
Context
2018-07-25
| ||
13:48 | Make forum posts visible to object_description(). Add new diagnostics visible to users with the new "D" capability. ... (check-in: 2883fb80 user: drh tags: forum-v2) | |
13:21 | Merge enhancements from trunk. ... (check-in: 94262a8c user: drh tags: forum-v2) | |
13:20 | Add the 'D' Debug user capability. This is designed to show additional information and controls on webpages for debugging purposes. Also take steps to avoid trying to generate a webpage error message after the webpage has already gone out. ... (check-in: fd319832 user: drh tags: trunk) | |
13:09 | Initial implementation of the forum reply screen. ... (check-in: c35fe945 user: drh tags: forum-v2) | |
Changes
Changes to src/login.c.
︙ | ︙ | |||
1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 | case '5': p->ModForum = 1; case '4': p->WrTForum = 1; case '3': p->WrForum = 1; case '2': p->RdForum = 1; break; case '7': p->EmailAlert = 1; break; case 'A': p->Announce = 1; break; /* The "u" privileges is a little different. It recursively ** inherits all privileges of the user named "reader" */ case 'u': { if( (flags & LOGIN_IGNORE_UV)==0 ){ const char *zUser; zUser = db_text("", "SELECT cap FROM user WHERE login='reader'"); | > | 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 | case '5': p->ModForum = 1; case '4': p->WrTForum = 1; case '3': p->WrForum = 1; case '2': p->RdForum = 1; break; case '7': p->EmailAlert = 1; break; case 'A': p->Announce = 1; break; case 'D': p->Debug = 1; break; /* The "u" privileges is a little different. It recursively ** inherits all privileges of the user named "reader" */ case 'u': { if( (flags & LOGIN_IGNORE_UV)==0 ){ const char *zUser; zUser = db_text("", "SELECT cap FROM user WHERE login='reader'"); |
︙ | ︙ | |||
1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 | case '2': rc = p->RdForum; break; case '3': rc = p->WrForum; break; case '4': rc = p->WrTForum; break; case '5': rc = p->ModForum; break; case '6': rc = p->AdminForum;break; case '7': rc = p->EmailAlert;break; case 'A': rc = p->Announce; break; default: rc = 0; break; } } return rc; } /* | > | 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 | case '2': rc = p->RdForum; break; case '3': rc = p->WrForum; break; case '4': rc = p->WrTForum; break; case '5': rc = p->ModForum; break; case '6': rc = p->AdminForum;break; case '7': rc = p->EmailAlert;break; case 'A': rc = p->Announce; break; case 'D': rc = p->Debug; break; default: rc = 0; break; } } return rc; } /* |
︙ | ︙ |
Changes to src/main.c.
︙ | ︙ | |||
91 92 93 94 95 96 97 98 99 100 101 102 103 104 | char RdForum; /* 2: Read forum posts */ char WrForum; /* 3: Create new forum posts */ char WrTForum; /* 4: Post to forums not subject to moderation */ char ModForum; /* 5: Moderate (approve or reject) forum posts */ char AdminForum; /* 6: Edit forum posts by other users */ char EmailAlert; /* 7: Sign up for email notifications */ char Announce; /* A: Send announcements */ }; #ifdef FOSSIL_ENABLE_TCL /* ** All Tcl related context information is in this structure. This structure ** definition has been copied from and should be kept in sync with the one in ** "th_tcl.c". | > | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | char RdForum; /* 2: Read forum posts */ char WrForum; /* 3: Create new forum posts */ char WrTForum; /* 4: Post to forums not subject to moderation */ char ModForum; /* 5: Moderate (approve or reject) forum posts */ char AdminForum; /* 6: Edit forum posts by other users */ char EmailAlert; /* 7: Sign up for email notifications */ char Announce; /* A: Send announcements */ char Debug; /* D: show extra Fossil debugging features */ }; #ifdef FOSSIL_ENABLE_TCL /* ** All Tcl related context information is in this structure. This structure ** definition has been copied from and should be kept in sync with the one in ** "th_tcl.c". |
︙ | ︙ |
Changes to src/setup.c.
︙ | ︙ | |||
370 371 372 373 374 375 376 377 378 379 380 381 382 383 | @ <tr><th valign="top">6</th> @ <td><i>Forum-Supervisor:</i> \ @ Forum administrator @ <tr><th valign="top">7</th> @ <td><i>Email-Alerts:</i> Sign up for email nofications</td></tr> @ <tr><th valign="top">A</th> @ <td><i>Announce:</i> Send announcements</td></tr> @ </table> } /* ** WEBPAGE: setup_ulist_notes ** ** A documentation page showing notes about user configuration. This | > > | 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 | @ <tr><th valign="top">6</th> @ <td><i>Forum-Supervisor:</i> \ @ Forum administrator @ <tr><th valign="top">7</th> @ <td><i>Email-Alerts:</i> Sign up for email nofications</td></tr> @ <tr><th valign="top">A</th> @ <td><i>Announce:</i> Send announcements</td></tr> @ <tr><th valign="top">D</th> @ <td><i>Debug:</i> Enable debugging features</td></tr> @ </table> } /* ** WEBPAGE: setup_ulist_notes ** ** A documentation page showing notes about user configuration. This |
︙ | ︙ | |||
722 723 724 725 726 727 728 | @ <label><input type="checkbox" name="ai"%s(oa['i']) /> @ Check-In%s(B('i'))</label><br /> @ <label><input type="checkbox" name="ao"%s(oa['o']) /> @ Check-Out%s(B('o'))</label><br /> @ <label><input type="checkbox" name="ah"%s(oa['h']) /> @ Hyperlinks%s(B('h'))</label><br /> @ <label><input type="checkbox" name="ab"%s(oa['b']) /> | | < < > > | < < | > > | > > | 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 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 780 781 782 783 784 785 786 787 788 | @ <label><input type="checkbox" name="ai"%s(oa['i']) /> @ Check-In%s(B('i'))</label><br /> @ <label><input type="checkbox" name="ao"%s(oa['o']) /> @ Check-Out%s(B('o'))</label><br /> @ <label><input type="checkbox" name="ah"%s(oa['h']) /> @ Hyperlinks%s(B('h'))</label><br /> @ <label><input type="checkbox" name="ab"%s(oa['b']) /> @ Attachments%s(B('b'))</label><br> @ <label><input type="checkbox" name="ag"%s(oa['g']) /> @ Clone%s(B('g'))</label><br /> @ </td><td><td width="40"></td><td valign="top"> @ <label><input type="checkbox" name="aj"%s(oa['j']) /> @ Read Wiki%s(B('j'))</label><br> @ <label><input type="checkbox" name="af"%s(oa['f']) /> @ New Wiki%s(B('f'))</label><br /> @ <label><input type="checkbox" name="am"%s(oa['m']) /> @ Append Wiki%s(B('m'))</label><br /> @ <label><input type="checkbox" name="ak"%s(oa['k']) /> @ Write Wiki%s(B('k'))</label><br /> @ <label><input type="checkbox" name="al"%s(oa['l']) /> @ Moderate Wiki%s(B('l'))</label><br /> @ <label><input type="checkbox" name="ar"%s(oa['r']) /> @ Read Ticket%s(B('r'))</label><br /> @ <label><input type="checkbox" name="an"%s(oa['n']) /> @ New Tickets%s(B('n'))</label><br /> @ <label><input type="checkbox" name="ac"%s(oa['c']) /> @ Append To Ticket%s(B('c'))</label><br> @ <label><input type="checkbox" name="aw"%s(oa['w']) /> @ Write Tickets%s(B('w'))</label><br /> @ <label><input type="checkbox" name="aq"%s(oa['q']) /> @ Moderate Tickets%s(B('q'))</label><br> @ <label><input type="checkbox" name="at"%s(oa['t']) /> @ Ticket Report%s(B('t'))</label><br /> @ <label><input type="checkbox" name="ax"%s(oa['x']) /> @ Private%s(B('x'))</label> @ </td><td><td width="40"></td><td valign="top"> @ <label><input type="checkbox" name="ay"%s(oa['y']) /> @ Write Unversioned%s(B('y'))</label><br /> @ <label><input type="checkbox" name="az"%s(oa['z']) /> @ Download Zip%s(B('z'))</label><br /> @ <label><input type="checkbox" name="a2"%s(oa['2']) /> @ Read Forum%s(B('2'))</label><br /> @ <label><input type="checkbox" name="a3"%s(oa['3']) /> @ Write Forum%s(B('3'))</label><br /> @ <label><input type="checkbox" name="a4"%s(oa['4']) /> @ WriteTrusted Forum%s(B('4'))</label><br> @ <label><input type="checkbox" name="a5"%s(oa['5']) /> @ Moderate Forum%s(B('5'))</label><br> @ <label><input type="checkbox" name="a6"%s(oa['6']) /> @ Supervise Forum%s(B('6'))</label><br> @ <label><input type="checkbox" name="a7"%s(oa['7']) /> @ Email Alerts%s(B('7'))</label><br> @ <label><input type="checkbox" name="aA"%s(oa['A']) /> @ Send Announcements%s(B('A'))</label><br> @ <label><input type="checkbox" name="aD"%s(oa['D']) /> @ Enable Debug%s(B('D'))</label> @ </td></tr> @ </table> @ </td> @ </tr> @ <tr> @ <td class="usetupEditLabel">Selected Cap.:</td> @ <td> |
︙ | ︙ |