Fossil SCM

Move the in-line javascript associated with the user capability editing into a separate script file.

drh 2017-12-06 10:28 trunk
Commit ef63351dbadad31e8317ffaebd37cfb8a776dc778b6a4c4ac6719cfc35971f68
--- src/main.mk
+++ src/main.mk
@@ -201,10 +201,11 @@
201201
$(SRCDIR)/markdown.md \
202202
$(SRCDIR)/menu.js \
203203
$(SRCDIR)/sbsdiff.js \
204204
$(SRCDIR)/sorttable.js \
205205
$(SRCDIR)/tree.js \
206
+ $(SRCDIR)/useredit.js \
206207
$(SRCDIR)/wiki.wiki
207208
208209
TRANS_SRC = \
209210
$(OBJDIR)/add_.c \
210211
$(OBJDIR)/allrepo_.c \
211212
--- src/main.mk
+++ src/main.mk
@@ -201,10 +201,11 @@
201 $(SRCDIR)/markdown.md \
202 $(SRCDIR)/menu.js \
203 $(SRCDIR)/sbsdiff.js \
204 $(SRCDIR)/sorttable.js \
205 $(SRCDIR)/tree.js \
 
206 $(SRCDIR)/wiki.wiki
207
208 TRANS_SRC = \
209 $(OBJDIR)/add_.c \
210 $(OBJDIR)/allrepo_.c \
211
--- src/main.mk
+++ src/main.mk
@@ -201,10 +201,11 @@
201 $(SRCDIR)/markdown.md \
202 $(SRCDIR)/menu.js \
203 $(SRCDIR)/sbsdiff.js \
204 $(SRCDIR)/sorttable.js \
205 $(SRCDIR)/tree.js \
206 $(SRCDIR)/useredit.js \
207 $(SRCDIR)/wiki.wiki
208
209 TRANS_SRC = \
210 $(OBJDIR)/add_.c \
211 $(OBJDIR)/allrepo_.c \
212
+27 -90
--- src/setup.c
+++ src/setup.c
@@ -616,47 +616,10 @@
616616
@ <input type="hidden" name="login" value="%s(zLogin)">
617617
@ <input type="hidden" name="info" value="">
618618
@ <input type="hidden" name="pw" value="*">
619619
}
620620
@ <input type="hidden" name="referer" value="%h(cgi_referer("setup_ulist"))">
621
- @ <script>
622
- @ function updateCapabilityString(){
623
- @ /*
624
- @ ** This function updates the "#usetupEditCapability" span content
625
- @ ** with the capabilities selected by the interactive user, based
626
- @ ** upon the state of the capability checkboxes.
627
- @ */
628
- @ try {
629
- @ var inputs = document.getElementsByTagName('input');
630
- @ if( inputs && inputs.length ){
631
- @ var output = document.getElementById('usetupEditCapability');
632
- @ if( output ){
633
- @ var permsIds = [], x = 0;
634
- @ for(var i = 0; i < inputs.length; i++){
635
- @ var e = inputs[i];
636
- @ if( !e.name || !e.type ) continue;
637
- @ if( e.type.toLowerCase()!=='checkbox' ) continue;
638
- @ if( e.name.length===2 && e.name[0]==='a' ){
639
- @ // looks like a capability checkbox
640
- @ if( e.checked ){
641
- @ // grab the second character of the element
642
- @ // name, which is the textual flag for this
643
- @ // capability, and then add it to the result
644
- @ // array.
645
- @ permsIds[x++] = e.name[1];
646
- @ }
647
- @ }
648
- @ }
649
- @ permsIds.sort();
650
- @ output.innerHTML = permsIds.join('');
651
- @ }
652
- @ }
653
- @ } catch (e) {
654
- @ /* ignore errors */
655
- @ }
656
- @ }
657
- @ </script>
658621
@ <table>
659622
@ <tr>
660623
@ <td class="usetupEditLabel">User ID:</td>
661624
if( uid ){
662625
@ <td>%d(uid) <input type="hidden" name="id" value="%d(uid)" /></td>
@@ -680,90 +643,64 @@
680643
@ <td class="usetupEditLabel">Capabilities:</td>
681644
@ <td>
682645
#define B(x) inherit[x]
683646
@ <table border=0><tr><td valign="top">
684647
if( g.perm.Setup ){
685
- @ <label><input type="checkbox" name="as"%s(oa['s'])
686
- @ onchange="updateCapabilityString()"/>
648
+ @ <label><input type="checkbox" name="as"%s(oa['s']) />
687649
@ Setup%s(B('s'))</label><br />
688650
}
689
- @ <label><input type="checkbox" name="aa"%s(oa['a'])
690
- @ onchange="updateCapabilityString()" />
651
+ @ <label><input type="checkbox" name="aa"%s(oa['a']) />
691652
@ Admin%s(B('a'))</label><br />
692
- @ <label><input type="checkbox" name="ad"%s(oa['d'])
693
- @ onchange="updateCapabilityString()" />
653
+ @ <label><input type="checkbox" name="ad"%s(oa['d']) />
694654
@ Delete%s(B('d'))</label><br />
695
- @ <label><input type="checkbox" name="ae"%s(oa['e'])
696
- @ onchange="updateCapabilityString()" />
655
+ @ <label><input type="checkbox" name="ae"%s(oa['e']) />
697656
@ Email%s(B('e'))</label><br />
698
- @ <label><input type="checkbox" name="ap"%s(oa['p'])
699
- @ onchange="updateCapabilityString()" />
657
+ @ <label><input type="checkbox" name="ap"%s(oa['p']) />
700658
@ Password%s(B('p'))</label><br />
701
- @ <label><input type="checkbox" name="ai"%s(oa['i'])
702
- @ onchange="updateCapabilityString()" />
659
+ @ <label><input type="checkbox" name="ai"%s(oa['i']) />
703660
@ Check-In%s(B('i'))</label><br />
704
- @ <label><input type="checkbox" name="ao"%s(oa['o'])
705
- @ onchange="updateCapabilityString()" />
661
+ @ <label><input type="checkbox" name="ao"%s(oa['o']) />
706662
@ Check-Out%s(B('o'))</label><br />
707
- @ <label><input type="checkbox" name="ah"%s(oa['h'])
708
- @ onchange="updateCapabilityString()" />
663
+ @ <label><input type="checkbox" name="ah"%s(oa['h']) />
709664
@ Hyperlinks%s(B('h'))</label><br />
710
- @ <label><input type="checkbox" name="ab"%s(oa['b'])
711
- @ onchange="updateCapabilityString()" />
665
+ @ <label><input type="checkbox" name="ab"%s(oa['b']) />
712666
@ Attachments%s(B('b'))</label><br />
713667
@ </td><td><td width="40"></td><td valign="top">
714
- @ <label><input type="checkbox" name="au"%s(oa['u'])
715
- @ onchange="updateCapabilityString()" />
668
+ @ <label><input type="checkbox" name="au"%s(oa['u']) />
716669
@ Reader%s(B('u'))</label><br />
717
- @ <label><input type="checkbox" name="av"%s(oa['v'])
718
- @ onchange="updateCapabilityString()" />
670
+ @ <label><input type="checkbox" name="av"%s(oa['v']) />
719671
@ Developer%s(B('v'))</label><br />
720
- @ <label><input type="checkbox" name="ag"%s(oa['g'])
721
- @ onchange="updateCapabilityString()" />
672
+ @ <label><input type="checkbox" name="ag"%s(oa['g']) />
722673
@ Clone%s(B('g'))</label><br />
723
- @ <label><input type="checkbox" name="aj"%s(oa['j'])
724
- @ onchange="updateCapabilityString()" />
674
+ @ <label><input type="checkbox" name="aj"%s(oa['j']) />
725675
@ Read Wiki%s(B('j'))</label><br />
726
- @ <label><input type="checkbox" name="af"%s(oa['f'])
727
- @ onchange="updateCapabilityString()" />
676
+ @ <label><input type="checkbox" name="af"%s(oa['f']) />
728677
@ New Wiki%s(B('f'))</label><br />
729
- @ <label><input type="checkbox" name="am"%s(oa['m'])
730
- @ onchange="updateCapabilityString()" />
678
+ @ <label><input type="checkbox" name="am"%s(oa['m']) />
731679
@ Append Wiki%s(B('m'))</label><br />
732
- @ <label><input type="checkbox" name="ak"%s(oa['k'])
733
- @ onchange="updateCapabilityString()" />
680
+ @ <label><input type="checkbox" name="ak"%s(oa['k']) />
734681
@ Write Wiki%s(B('k'))</label><br />
735
- @ <label><input type="checkbox" name="al"%s(oa['l'])
736
- @ onchange="updateCapabilityString()" />
682
+ @ <label><input type="checkbox" name="al"%s(oa['l']) />
737683
@ Moderate Wiki%s(B('l'))</label><br />
738684
@ </td><td><td width="40"></td><td valign="top">
739
- @ <label><input type="checkbox" name="ar"%s(oa['r'])
740
- @ onchange="updateCapabilityString()" />
685
+ @ <label><input type="checkbox" name="ar"%s(oa['r']) />
741686
@ Read Ticket%s(B('r'))</label><br />
742
- @ <label><input type="checkbox" name="an"%s(oa['n'])
743
- @ onchange="updateCapabilityString()" />
687
+ @ <label><input type="checkbox" name="an"%s(oa['n']) />
744688
@ New Tickets%s(B('n'))</label><br />
745
- @ <label><input type="checkbox" name="ac"%s(oa['c'])
746
- @ onchange="updateCapabilityString()" />
689
+ @ <label><input type="checkbox" name="ac"%s(oa['c']) />
747690
@ Append To Ticket%s(B('c'))</label><br />
748
- @ <label><input type="checkbox" name="aw"%s(oa['w'])
749
- @ onchange="updateCapabilityString()" />
691
+ @ <label><input type="checkbox" name="aw"%s(oa['w']) />
750692
@ Write Tickets%s(B('w'))</label><br />
751
- @ <label><input type="checkbox" name="aq"%s(oa['q'])
752
- @ onchange="updateCapabilityString()" />
693
+ @ <label><input type="checkbox" name="aq"%s(oa['q']) />
753694
@ Moderate Tickets%s(B('q'))</label><br />
754
- @ <label><input type="checkbox" name="at"%s(oa['t'])
755
- @ onchange="updateCapabilityString()" />
695
+ @ <label><input type="checkbox" name="at"%s(oa['t']) />
756696
@ Ticket Report%s(B('t'))</label><br />
757
- @ <label><input type="checkbox" name="ax"%s(oa['x'])
758
- @ onchange="updateCapabilityString()" />
697
+ @ <label><input type="checkbox" name="ax"%s(oa['x']) />
759698
@ Private%s(B('x'))</label><br />
760
- @ <label><input type="checkbox" name="ay"%s(oa['y'])
761
- @ onchange="updateCapabilityString()" />
699
+ @ <label><input type="checkbox" name="ay"%s(oa['y']) />
762700
@ Write Unversioned%s(B('y'))</label><br />
763
- @ <label><input type="checkbox" name="az"%s(oa['z'])
764
- @ onchange="updateCapabilityString()" />
701
+ @ <label><input type="checkbox" name="az"%s(oa['z']) />
765702
@ Download Zip%s(B('z'))</label>
766703
@ </td></tr>
767704
@ </table>
768705
@ </td>
769706
@ </tr>
@@ -803,11 +740,11 @@
803740
@ </tr>
804741
}
805742
@ </table>
806743
@ </div></form>
807744
@ </div>
808
- @ <script>updateCapabilityString();</script>
745
+ style_load_one_js_file("useredit.js");
809746
@ <h2>Privileges And Capabilities:</h2>
810747
@ <ul>
811748
if( higherUser ){
812749
@ <li><p class="missingPriv">
813750
@ User %h(zLogin) has Setup privileges and you only have Admin privileges
814751
815752
ADDED src/useredit.js
--- src/setup.c
+++ src/setup.c
@@ -616,47 +616,10 @@
616 @ <input type="hidden" name="login" value="%s(zLogin)">
617 @ <input type="hidden" name="info" value="">
618 @ <input type="hidden" name="pw" value="*">
619 }
620 @ <input type="hidden" name="referer" value="%h(cgi_referer("setup_ulist"))">
621 @ <script>
622 @ function updateCapabilityString(){
623 @ /*
624 @ ** This function updates the "#usetupEditCapability" span content
625 @ ** with the capabilities selected by the interactive user, based
626 @ ** upon the state of the capability checkboxes.
627 @ */
628 @ try {
629 @ var inputs = document.getElementsByTagName('input');
630 @ if( inputs && inputs.length ){
631 @ var output = document.getElementById('usetupEditCapability');
632 @ if( output ){
633 @ var permsIds = [], x = 0;
634 @ for(var i = 0; i < inputs.length; i++){
635 @ var e = inputs[i];
636 @ if( !e.name || !e.type ) continue;
637 @ if( e.type.toLowerCase()!=='checkbox' ) continue;
638 @ if( e.name.length===2 && e.name[0]==='a' ){
639 @ // looks like a capability checkbox
640 @ if( e.checked ){
641 @ // grab the second character of the element
642 @ // name, which is the textual flag for this
643 @ // capability, and then add it to the result
644 @ // array.
645 @ permsIds[x++] = e.name[1];
646 @ }
647 @ }
648 @ }
649 @ permsIds.sort();
650 @ output.innerHTML = permsIds.join('');
651 @ }
652 @ }
653 @ } catch (e) {
654 @ /* ignore errors */
655 @ }
656 @ }
657 @ </script>
658 @ <table>
659 @ <tr>
660 @ <td class="usetupEditLabel">User ID:</td>
661 if( uid ){
662 @ <td>%d(uid) <input type="hidden" name="id" value="%d(uid)" /></td>
@@ -680,90 +643,64 @@
680 @ <td class="usetupEditLabel">Capabilities:</td>
681 @ <td>
682 #define B(x) inherit[x]
683 @ <table border=0><tr><td valign="top">
684 if( g.perm.Setup ){
685 @ <label><input type="checkbox" name="as"%s(oa['s'])
686 @ onchange="updateCapabilityString()"/>
687 @ Setup%s(B('s'))</label><br />
688 }
689 @ <label><input type="checkbox" name="aa"%s(oa['a'])
690 @ onchange="updateCapabilityString()" />
691 @ Admin%s(B('a'))</label><br />
692 @ <label><input type="checkbox" name="ad"%s(oa['d'])
693 @ onchange="updateCapabilityString()" />
694 @ Delete%s(B('d'))</label><br />
695 @ <label><input type="checkbox" name="ae"%s(oa['e'])
696 @ onchange="updateCapabilityString()" />
697 @ Email%s(B('e'))</label><br />
698 @ <label><input type="checkbox" name="ap"%s(oa['p'])
699 @ onchange="updateCapabilityString()" />
700 @ Password%s(B('p'))</label><br />
701 @ <label><input type="checkbox" name="ai"%s(oa['i'])
702 @ onchange="updateCapabilityString()" />
703 @ Check-In%s(B('i'))</label><br />
704 @ <label><input type="checkbox" name="ao"%s(oa['o'])
705 @ onchange="updateCapabilityString()" />
706 @ Check-Out%s(B('o'))</label><br />
707 @ <label><input type="checkbox" name="ah"%s(oa['h'])
708 @ onchange="updateCapabilityString()" />
709 @ Hyperlinks%s(B('h'))</label><br />
710 @ <label><input type="checkbox" name="ab"%s(oa['b'])
711 @ onchange="updateCapabilityString()" />
712 @ Attachments%s(B('b'))</label><br />
713 @ </td><td><td width="40"></td><td valign="top">
714 @ <label><input type="checkbox" name="au"%s(oa['u'])
715 @ onchange="updateCapabilityString()" />
716 @ Reader%s(B('u'))</label><br />
717 @ <label><input type="checkbox" name="av"%s(oa['v'])
718 @ onchange="updateCapabilityString()" />
719 @ Developer%s(B('v'))</label><br />
720 @ <label><input type="checkbox" name="ag"%s(oa['g'])
721 @ onchange="updateCapabilityString()" />
722 @ Clone%s(B('g'))</label><br />
723 @ <label><input type="checkbox" name="aj"%s(oa['j'])
724 @ onchange="updateCapabilityString()" />
725 @ Read Wiki%s(B('j'))</label><br />
726 @ <label><input type="checkbox" name="af"%s(oa['f'])
727 @ onchange="updateCapabilityString()" />
728 @ New Wiki%s(B('f'))</label><br />
729 @ <label><input type="checkbox" name="am"%s(oa['m'])
730 @ onchange="updateCapabilityString()" />
731 @ Append Wiki%s(B('m'))</label><br />
732 @ <label><input type="checkbox" name="ak"%s(oa['k'])
733 @ onchange="updateCapabilityString()" />
734 @ Write Wiki%s(B('k'))</label><br />
735 @ <label><input type="checkbox" name="al"%s(oa['l'])
736 @ onchange="updateCapabilityString()" />
737 @ Moderate Wiki%s(B('l'))</label><br />
738 @ </td><td><td width="40"></td><td valign="top">
739 @ <label><input type="checkbox" name="ar"%s(oa['r'])
740 @ onchange="updateCapabilityString()" />
741 @ Read Ticket%s(B('r'))</label><br />
742 @ <label><input type="checkbox" name="an"%s(oa['n'])
743 @ onchange="updateCapabilityString()" />
744 @ New Tickets%s(B('n'))</label><br />
745 @ <label><input type="checkbox" name="ac"%s(oa['c'])
746 @ onchange="updateCapabilityString()" />
747 @ Append To Ticket%s(B('c'))</label><br />
748 @ <label><input type="checkbox" name="aw"%s(oa['w'])
749 @ onchange="updateCapabilityString()" />
750 @ Write Tickets%s(B('w'))</label><br />
751 @ <label><input type="checkbox" name="aq"%s(oa['q'])
752 @ onchange="updateCapabilityString()" />
753 @ Moderate Tickets%s(B('q'))</label><br />
754 @ <label><input type="checkbox" name="at"%s(oa['t'])
755 @ onchange="updateCapabilityString()" />
756 @ Ticket Report%s(B('t'))</label><br />
757 @ <label><input type="checkbox" name="ax"%s(oa['x'])
758 @ onchange="updateCapabilityString()" />
759 @ Private%s(B('x'))</label><br />
760 @ <label><input type="checkbox" name="ay"%s(oa['y'])
761 @ onchange="updateCapabilityString()" />
762 @ Write Unversioned%s(B('y'))</label><br />
763 @ <label><input type="checkbox" name="az"%s(oa['z'])
764 @ onchange="updateCapabilityString()" />
765 @ Download Zip%s(B('z'))</label>
766 @ </td></tr>
767 @ </table>
768 @ </td>
769 @ </tr>
@@ -803,11 +740,11 @@
803 @ </tr>
804 }
805 @ </table>
806 @ </div></form>
807 @ </div>
808 @ <script>updateCapabilityString();</script>
809 @ <h2>Privileges And Capabilities:</h2>
810 @ <ul>
811 if( higherUser ){
812 @ <li><p class="missingPriv">
813 @ User %h(zLogin) has Setup privileges and you only have Admin privileges
814
815 DDED src/useredit.js
--- src/setup.c
+++ src/setup.c
@@ -616,47 +616,10 @@
616 @ <input type="hidden" name="login" value="%s(zLogin)">
617 @ <input type="hidden" name="info" value="">
618 @ <input type="hidden" name="pw" value="*">
619 }
620 @ <input type="hidden" name="referer" value="%h(cgi_referer("setup_ulist"))">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
621 @ <table>
622 @ <tr>
623 @ <td class="usetupEditLabel">User ID:</td>
624 if( uid ){
625 @ <td>%d(uid) <input type="hidden" name="id" value="%d(uid)" /></td>
@@ -680,90 +643,64 @@
643 @ <td class="usetupEditLabel">Capabilities:</td>
644 @ <td>
645 #define B(x) inherit[x]
646 @ <table border=0><tr><td valign="top">
647 if( g.perm.Setup ){
648 @ <label><input type="checkbox" name="as"%s(oa['s']) />
 
649 @ Setup%s(B('s'))</label><br />
650 }
651 @ <label><input type="checkbox" name="aa"%s(oa['a']) />
 
652 @ Admin%s(B('a'))</label><br />
653 @ <label><input type="checkbox" name="ad"%s(oa['d']) />
 
654 @ Delete%s(B('d'))</label><br />
655 @ <label><input type="checkbox" name="ae"%s(oa['e']) />
 
656 @ Email%s(B('e'))</label><br />
657 @ <label><input type="checkbox" name="ap"%s(oa['p']) />
 
658 @ Password%s(B('p'))</label><br />
659 @ <label><input type="checkbox" name="ai"%s(oa['i']) />
 
660 @ Check-In%s(B('i'))</label><br />
661 @ <label><input type="checkbox" name="ao"%s(oa['o']) />
 
662 @ Check-Out%s(B('o'))</label><br />
663 @ <label><input type="checkbox" name="ah"%s(oa['h']) />
 
664 @ Hyperlinks%s(B('h'))</label><br />
665 @ <label><input type="checkbox" name="ab"%s(oa['b']) />
 
666 @ Attachments%s(B('b'))</label><br />
667 @ </td><td><td width="40"></td><td valign="top">
668 @ <label><input type="checkbox" name="au"%s(oa['u']) />
 
669 @ Reader%s(B('u'))</label><br />
670 @ <label><input type="checkbox" name="av"%s(oa['v']) />
 
671 @ Developer%s(B('v'))</label><br />
672 @ <label><input type="checkbox" name="ag"%s(oa['g']) />
 
673 @ Clone%s(B('g'))</label><br />
674 @ <label><input type="checkbox" name="aj"%s(oa['j']) />
 
675 @ Read Wiki%s(B('j'))</label><br />
676 @ <label><input type="checkbox" name="af"%s(oa['f']) />
 
677 @ New Wiki%s(B('f'))</label><br />
678 @ <label><input type="checkbox" name="am"%s(oa['m']) />
 
679 @ Append Wiki%s(B('m'))</label><br />
680 @ <label><input type="checkbox" name="ak"%s(oa['k']) />
 
681 @ Write Wiki%s(B('k'))</label><br />
682 @ <label><input type="checkbox" name="al"%s(oa['l']) />
 
683 @ Moderate Wiki%s(B('l'))</label><br />
684 @ </td><td><td width="40"></td><td valign="top">
685 @ <label><input type="checkbox" name="ar"%s(oa['r']) />
 
686 @ Read Ticket%s(B('r'))</label><br />
687 @ <label><input type="checkbox" name="an"%s(oa['n']) />
 
688 @ New Tickets%s(B('n'))</label><br />
689 @ <label><input type="checkbox" name="ac"%s(oa['c']) />
 
690 @ Append To Ticket%s(B('c'))</label><br />
691 @ <label><input type="checkbox" name="aw"%s(oa['w']) />
 
692 @ Write Tickets%s(B('w'))</label><br />
693 @ <label><input type="checkbox" name="aq"%s(oa['q']) />
 
694 @ Moderate Tickets%s(B('q'))</label><br />
695 @ <label><input type="checkbox" name="at"%s(oa['t']) />
 
696 @ Ticket Report%s(B('t'))</label><br />
697 @ <label><input type="checkbox" name="ax"%s(oa['x']) />
 
698 @ Private%s(B('x'))</label><br />
699 @ <label><input type="checkbox" name="ay"%s(oa['y']) />
 
700 @ Write Unversioned%s(B('y'))</label><br />
701 @ <label><input type="checkbox" name="az"%s(oa['z']) />
 
702 @ Download Zip%s(B('z'))</label>
703 @ </td></tr>
704 @ </table>
705 @ </td>
706 @ </tr>
@@ -803,11 +740,11 @@
740 @ </tr>
741 }
742 @ </table>
743 @ </div></form>
744 @ </div>
745 style_load_one_js_file("useredit.js");
746 @ <h2>Privileges And Capabilities:</h2>
747 @ <ul>
748 if( higherUser ){
749 @ <li><p class="missingPriv">
750 @ User %h(zLogin) has Setup privileges and you only have Admin privileges
751
752 DDED src/useredit.js
--- a/src/useredit.js
+++ b/src/useredit.js
@@ -0,0 +1,37 @@
1
+/* This script accompanies the' /setup_uedit web page. Its job is to keep
2
+** the check-boxes with user capabilities up-to-date with the capability
3
+** string.
4
+**
5
+** The capability string is stored in #usetupEditCapability
6
+*/
7
+function updateCapabilityString(){
8
+ try {
9
+ var inputs = document.getElementsByTagName('input');
10
+ if( inputs && inputs.length ){
11
+ var output = document.getElementById('usetupEditCapability');
12
+ if( output ){
13
+ var permsIds = [], x = 0;
14
+ for(var i = 0; i < inputs.length; i++){
15
+ var e = inputs[i];
16
+ if( !e.name || !e.type ) continue;
17
+ if( e.type.toLowerCase()!=='checkbox' ) continue;
18
+ if( e.name.length===2 && e.name[0]==='a' ){
19
+ // looks like a capability checkbox
20
+ e.onchange = updateCapabilityString;
21
+ if( e.checked ){
22
+ // grab the second character of the element
23
+ // name, which is the textual flag for this
24
+ // capability, and then add it to the result
25
+ // array.
26
+ permsIds[x++] = e.name[1];
27
+ }
28
+ }
29
+ }
30
+ permsIds.sort();
31
+ output.innerHTML = permsIds.join('');
32
+ }
33
+ }
34
+ } catch (e) {
35
+ /* ignore errors */
36
+ }
37
+}
--- a/src/useredit.js
+++ b/src/useredit.js
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/src/useredit.js
+++ b/src/useredit.js
@@ -0,0 +1,37 @@
1 /* This script accompanies the' /setup_uedit web page. Its job is to keep
2 ** the check-boxes with user capabilities up-to-date with the capability
3 ** string.
4 **
5 ** The capability string is stored in #usetupEditCapability
6 */
7 function updateCapabilityString(){
8 try {
9 var inputs = document.getElementsByTagName('input');
10 if( inputs && inputs.length ){
11 var output = document.getElementById('usetupEditCapability');
12 if( output ){
13 var permsIds = [], x = 0;
14 for(var i = 0; i < inputs.length; i++){
15 var e = inputs[i];
16 if( !e.name || !e.type ) continue;
17 if( e.type.toLowerCase()!=='checkbox' ) continue;
18 if( e.name.length===2 && e.name[0]==='a' ){
19 // looks like a capability checkbox
20 e.onchange = updateCapabilityString;
21 if( e.checked ){
22 // grab the second character of the element
23 // name, which is the textual flag for this
24 // capability, and then add it to the result
25 // array.
26 permsIds[x++] = e.name[1];
27 }
28 }
29 }
30 permsIds.sort();
31 output.innerHTML = permsIds.join('');
32 }
33 }
34 } catch (e) {
35 /* ignore errors */
36 }
37 }
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -610,10 +610,11 @@
610610
$(SRCDIR)/markdown.md \
611611
$(SRCDIR)/menu.js \
612612
$(SRCDIR)/sbsdiff.js \
613613
$(SRCDIR)/sorttable.js \
614614
$(SRCDIR)/tree.js \
615
+ $(SRCDIR)/useredit.js \
615616
$(SRCDIR)/wiki.wiki
616617
617618
TRANS_SRC = \
618619
$(OBJDIR)/add_.c \
619620
$(OBJDIR)/allrepo_.c \
620621
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -610,10 +610,11 @@
610 $(SRCDIR)/markdown.md \
611 $(SRCDIR)/menu.js \
612 $(SRCDIR)/sbsdiff.js \
613 $(SRCDIR)/sorttable.js \
614 $(SRCDIR)/tree.js \
 
615 $(SRCDIR)/wiki.wiki
616
617 TRANS_SRC = \
618 $(OBJDIR)/add_.c \
619 $(OBJDIR)/allrepo_.c \
620
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -610,10 +610,11 @@
610 $(SRCDIR)/markdown.md \
611 $(SRCDIR)/menu.js \
612 $(SRCDIR)/sbsdiff.js \
613 $(SRCDIR)/sorttable.js \
614 $(SRCDIR)/tree.js \
615 $(SRCDIR)/useredit.js \
616 $(SRCDIR)/wiki.wiki
617
618 TRANS_SRC = \
619 $(OBJDIR)/add_.c \
620 $(OBJDIR)/allrepo_.c \
621
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -536,10 +536,11 @@
536536
$(SRCDIR)\markdown.md \
537537
$(SRCDIR)\menu.js \
538538
$(SRCDIR)\sbsdiff.js \
539539
$(SRCDIR)\sorttable.js \
540540
$(SRCDIR)\tree.js \
541
+ $(SRCDIR)\useredit.js \
541542
$(SRCDIR)\wiki.wiki
542543
543544
OBJ = $(OX)\add$O \
544545
$(OX)\allrepo$O \
545546
$(OX)\attach$O \
546547
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -536,10 +536,11 @@
536 $(SRCDIR)\markdown.md \
537 $(SRCDIR)\menu.js \
538 $(SRCDIR)\sbsdiff.js \
539 $(SRCDIR)\sorttable.js \
540 $(SRCDIR)\tree.js \
 
541 $(SRCDIR)\wiki.wiki
542
543 OBJ = $(OX)\add$O \
544 $(OX)\allrepo$O \
545 $(OX)\attach$O \
546
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -536,10 +536,11 @@
536 $(SRCDIR)\markdown.md \
537 $(SRCDIR)\menu.js \
538 $(SRCDIR)\sbsdiff.js \
539 $(SRCDIR)\sorttable.js \
540 $(SRCDIR)\tree.js \
541 $(SRCDIR)\useredit.js \
542 $(SRCDIR)\wiki.wiki
543
544 OBJ = $(OX)\add$O \
545 $(OX)\allrepo$O \
546 $(OX)\attach$O \
547

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button