Fossil SCM

Changed the inherited privilege markers from prefixed bullet characters to suffixed subscripted letters to help better differentiate which privileges are inherited for users with color perception difficulties. The color coding is still present as it doesn't hurt to have color coding, just needed extra indications on the page.

sdr 2014-09-21 19:17 trunk
Commit 7b00cd77a0ae84edadc8275600fd19f4d47f8996
1 file changed +61 -61
+61 -61
--- src/setup.c
+++ src/setup.c
@@ -441,38 +441,38 @@
441441
if( fossil_strcmp(zLogin, "developer") ){
442442
char *z1, *z2;
443443
z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='developer'");
444444
while( z1 && *z1 ){
445445
inherit[0x7f & *(z1++)] =
446
- "<span class=\"ueditInheritDeveloper\">&bull;</span>";
446
+ "<span class=\"ueditInheritDeveloper\"><sub>D</sub></span>";
447447
}
448448
free(z2);
449449
}
450450
if( fossil_strcmp(zLogin, "reader") ){
451451
char *z1, *z2;
452452
z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='reader'");
453453
while( z1 && *z1 ){
454454
inherit[0x7f & *(z1++)] =
455
- "<span class=\"ueditInheritReader\">&bull;</span>";
455
+ "<span class=\"ueditInheritReader\"><sub>R</sub></span>";
456456
}
457457
free(z2);
458458
}
459459
if( fossil_strcmp(zLogin, "anonymous") ){
460460
char *z1, *z2;
461461
z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='anonymous'");
462462
while( z1 && *z1 ){
463463
inherit[0x7f & *(z1++)] =
464
- "<span class=\"ueditInheritAnonymous\">&bull;</span>";
464
+ "<span class=\"ueditInheritAnonymous\"><sub>A</sub></span>";
465465
}
466466
free(z2);
467467
}
468468
if( fossil_strcmp(zLogin, "nobody") ){
469469
char *z1, *z2;
470470
z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='nobody'");
471471
while( z1 && *z1 ){
472472
inherit[0x7f & *(z1++)] =
473
- "<span class=\"ueditInheritNobody\">&bull;</span>";
473
+ "<span class=\"ueditInheritNobody\"><sub>N</sub></span>";
474474
}
475475
free(z2);
476476
}
477477
478478
/* Begin generating the page
@@ -516,63 +516,63 @@
516516
@ <td class="usetupEditLabel">Capabilities:</td>
517517
@ <td>
518518
#define B(x) inherit[x]
519519
@ <table border=0><tr><td valign="top">
520520
if( g.perm.Setup ){
521
- @ <label><input type="checkbox" name="as"%s(oa['s']) />%s(B('s'))Setup
522
- @ </label><br />
523
- }
524
- @ <label><input type="checkbox" name="aa"%s(oa['a']) />%s(B('a'))Admin
525
- @ </label><br />
526
- @ <label><input type="checkbox" name="ad"%s(oa['d']) />%s(B('d'))Delete
527
- @ </label><br />
528
- @ <label><input type="checkbox" name="ae"%s(oa['e']) />%s(B('e'))Email
529
- @ </label><br />
530
- @ <label><input type="checkbox" name="ap"%s(oa['p']) />%s(B('p'))Password
531
- @ </label><br />
532
- @ <label><input type="checkbox" name="ai"%s(oa['i']) />%s(B('i'))Check-In
533
- @ </label><br />
534
- @ <label><input type="checkbox" name="ao"%s(oa['o']) />%s(B('o'))Check-Out
535
- @ </label><br />
536
- @ <label><input type="checkbox" name="ah"%s(oa['h']) />%s(B('h'))Hyperlinks
537
- @ </label><br />
538
- @ <label><input type="checkbox" name="ab"%s(oa['b']) />%s(B('b'))Attachments
539
- @ </label><br />
540
- @ </td><td><td width="40"></td><td valign="top">
541
- @ <label><input type="checkbox" name="au"%s(oa['u']) />%s(B('u'))Reader
542
- @ </label><br />
543
- @ <label><input type="checkbox" name="av"%s(oa['v']) />%s(B('v'))Developer
544
- @ </label><br />
545
- @ <label><input type="checkbox" name="ag"%s(oa['g']) />%s(B('g'))Clone
546
- @ </label><br />
547
- @ <label><input type="checkbox" name="aj"%s(oa['j']) />%s(B('j'))Read Wiki
548
- @ </label><br />
549
- @ <label><input type="checkbox" name="af"%s(oa['f']) />%s(B('f'))New Wiki
550
- @ </label><br />
551
- @ <label><input type="checkbox" name="am"%s(oa['m']) />%s(B('m'))Append Wiki
552
- @ </label><br />
553
- @ <label><input type="checkbox" name="ak"%s(oa['k']) />%s(B('k'))Write Wiki
554
- @ </label><br />
555
- @ <label><input type="checkbox" name="al"%s(oa['l']) />%s(B('l'))Moderate
556
- @ Wiki</label><br />
557
- @ </td><td><td width="40"></td><td valign="top">
558
- @ <label><input type="checkbox" name="ar"%s(oa['r']) />%s(B('r'))Read Ticket
559
- @ </label><br />
560
- @ <label><input type="checkbox" name="an"%s(oa['n']) />%s(B('n'))New Tickets
561
- @ </label><br />
562
- @ <label><input type="checkbox" name="ac"%s(oa['c']) />%s(B('c'))Append
563
- @ To Ticket </label><br />
564
- @ <label><input type="checkbox" name="aw"%s(oa['w']) />%s(B('w'))Write
565
- @ Tickets </label><br />
566
- @ <label><input type="checkbox" name="aq"%s(oa['q']) />%s(B('q'))Moderate
567
- @ Tickets </label><br />
568
- @ <label><input type="checkbox" name="at"%s(oa['t']) />%s(B('t'))Ticket
569
- @ Report </label><br />
570
- @ <label><input type="checkbox" name="ax"%s(oa['x']) />%s(B('x'))Private
571
- @ </label><br />
572
- @ <label><input type="checkbox" name="az"%s(oa['z']) />%s(B('z'))Download
573
- @ Zip </label>
521
+ @ <label><input type="checkbox" name="as"%s(oa['s']) />
522
+ @ Setup%s(B('s'))</label><br />
523
+ }
524
+ @ <label><input type="checkbox" name="aa"%s(oa['a']) />
525
+ @ Admin%s(B('a'))</label><br />
526
+ @ <label><input type="checkbox" name="ad"%s(oa['d']) />
527
+ @ Delete%s(B('d'))</label><br />
528
+ @ <label><input type="checkbox" name="ae"%s(oa['e']) />
529
+ @ Email%s(B('e'))</label><br />
530
+ @ <label><input type="checkbox" name="ap"%s(oa['p']) />
531
+ @ Password%s(B('p'))</label><br />
532
+ @ <label><input type="checkbox" name="ai"%s(oa['i']) />
533
+ @ Check-In%s(B('i'))</label><br />
534
+ @ <label><input type="checkbox" name="ao"%s(oa['o']) />
535
+ @ Check-Out%s(B('o'))</label><br />
536
+ @ <label><input type="checkbox" name="ah"%s(oa['h']) />
537
+ @ Hyperlinks%s(B('h'))</label><br />
538
+ @ <label><input type="checkbox" name="ab"%s(oa['b']) />
539
+ @ Attachments%s(B('b'))</label><br />
540
+ @ </td><td><td width="40"></td><td valign="top">
541
+ @ <label><input type="checkbox" name="au"%s(oa['u']) />
542
+ @ Reader%s(B('u'))</label><br />
543
+ @ <label><input type="checkbox" name="av"%s(oa['v']) />
544
+ @ Developer%s(B('v'))</label><br />
545
+ @ <label><input type="checkbox" name="ag"%s(oa['g']) />
546
+ @ Clone%s(B('g'))</label><br />
547
+ @ <label><input type="checkbox" name="aj"%s(oa['j']) />
548
+ @ Read Wiki%s(B('j'))</label><br />
549
+ @ <label><input type="checkbox" name="af"%s(oa['f']) />
550
+ @ New Wiki%s(B('f'))</label><br />
551
+ @ <label><input type="checkbox" name="am"%s(oa['m']) />
552
+ @ Append Wiki%s(B('m'))</label><br />
553
+ @ <label><input type="checkbox" name="ak"%s(oa['k']) />
554
+ @ Write Wiki%s(B('k'))</label><br />
555
+ @ <label><input type="checkbox" name="al"%s(oa['l']) />
556
+ @ Moderate Wiki%s(B('l'))</label><br />
557
+ @ </td><td><td width="40"></td><td valign="top">
558
+ @ <label><input type="checkbox" name="ar"%s(oa['r']) />
559
+ @ Read Ticket%s(B('r'))</label><br />
560
+ @ <label><input type="checkbox" name="an"%s(oa['n']) />
561
+ @ New Tickets%s(B('n'))</label><br />
562
+ @ <label><input type="checkbox" name="ac"%s(oa['c']) />
563
+ @ Append To Ticket%s(B('c'))</label><br />
564
+ @ <label><input type="checkbox" name="aw"%s(oa['w']) />
565
+ @ Write Tickets%s(B('w'))</label><br />
566
+ @ <label><input type="checkbox" name="aq"%s(oa['q']) />
567
+ @ Moderate Tickets%s(B('q'))</label><br />
568
+ @ <label><input type="checkbox" name="at"%s(oa['t']) />
569
+ @ Ticket Report%s(B('t'))</label><br />
570
+ @ <label><input type="checkbox" name="ax"%s(oa['x']) />
571
+ @ Private%s(B('x'))</label><br />
572
+ @ <label><input type="checkbox" name="az"%s(oa['z']) />
573
+ @ Download Zip%s(B('z'))</label>
574574
@ </td></tr></table>
575575
@ </td>
576576
@ </tr>
577577
if( !login_is_special(zLogin) ){
578578
@ <tr>
@@ -622,30 +622,30 @@
622622
@ and reset user passwords. Both automatically get all other privileges
623623
@ listed below. Use these two settings with discretion.
624624
@ </p></li>
625625
@
626626
@ <li><p>
627
- @ The "<span class="ueditInheritNobody"><big>&bull;</big></span>" mark
627
+ @ The "<span class="ueditInheritNobody"><sub>N</sub></span>" subscript suffix
628628
@ indicates the privileges of <span class="usertype">nobody</span> that
629629
@ are available to all users regardless of whether or not they are logged in.
630630
@ </p></li>
631631
@
632632
@ <li><p>
633
- @ The "<span class="ueditInheritAnonymous"><big>&bull;</big></span>" mark
633
+ @ The "<span class="ueditInheritAnonymous"><sub>A</sub></span>" subscript suffix
634634
@ indicates the privileges of <span class="usertype">anonymous</span> that
635635
@ are inherited by all logged-in users.
636636
@ </p></li>
637637
@
638638
@ <li><p>
639
- @ The "<span class="ueditInheritDeveloper"><big>&bull;</big></span>" mark
639
+ @ The "<span class="ueditInheritDeveloper"><sub>D</sub></span>" subscript suffix
640640
@ indicates the privileges of <span class="usertype">developer</span> that
641641
@ are inherited by all users with the
642642
@ <span class="capability">Developer</span> privilege.
643643
@ </p></li>
644644
@
645645
@ <li><p>
646
- @ The "<span class="ueditInheritReader"><big>&bull;</big></span>" mark
646
+ @ The "<span class="ueditInheritReader"><sub>R</sub></span>" subscript suffix
647647
@ indicates the privileges of <span class="usertype">reader</span> that
648648
@ are inherited by all users with the <span class="capability">Reader</span>
649649
@ privilege.
650650
@ </p></li>
651651
@
652652
--- src/setup.c
+++ src/setup.c
@@ -441,38 +441,38 @@
441 if( fossil_strcmp(zLogin, "developer") ){
442 char *z1, *z2;
443 z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='developer'");
444 while( z1 && *z1 ){
445 inherit[0x7f & *(z1++)] =
446 "<span class=\"ueditInheritDeveloper\">&bull;</span>";
447 }
448 free(z2);
449 }
450 if( fossil_strcmp(zLogin, "reader") ){
451 char *z1, *z2;
452 z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='reader'");
453 while( z1 && *z1 ){
454 inherit[0x7f & *(z1++)] =
455 "<span class=\"ueditInheritReader\">&bull;</span>";
456 }
457 free(z2);
458 }
459 if( fossil_strcmp(zLogin, "anonymous") ){
460 char *z1, *z2;
461 z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='anonymous'");
462 while( z1 && *z1 ){
463 inherit[0x7f & *(z1++)] =
464 "<span class=\"ueditInheritAnonymous\">&bull;</span>";
465 }
466 free(z2);
467 }
468 if( fossil_strcmp(zLogin, "nobody") ){
469 char *z1, *z2;
470 z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='nobody'");
471 while( z1 && *z1 ){
472 inherit[0x7f & *(z1++)] =
473 "<span class=\"ueditInheritNobody\">&bull;</span>";
474 }
475 free(z2);
476 }
477
478 /* Begin generating the page
@@ -516,63 +516,63 @@
516 @ <td class="usetupEditLabel">Capabilities:</td>
517 @ <td>
518 #define B(x) inherit[x]
519 @ <table border=0><tr><td valign="top">
520 if( g.perm.Setup ){
521 @ <label><input type="checkbox" name="as"%s(oa['s']) />%s(B('s'))Setup
522 @ </label><br />
523 }
524 @ <label><input type="checkbox" name="aa"%s(oa['a']) />%s(B('a'))Admin
525 @ </label><br />
526 @ <label><input type="checkbox" name="ad"%s(oa['d']) />%s(B('d'))Delete
527 @ </label><br />
528 @ <label><input type="checkbox" name="ae"%s(oa['e']) />%s(B('e'))Email
529 @ </label><br />
530 @ <label><input type="checkbox" name="ap"%s(oa['p']) />%s(B('p'))Password
531 @ </label><br />
532 @ <label><input type="checkbox" name="ai"%s(oa['i']) />%s(B('i'))Check-In
533 @ </label><br />
534 @ <label><input type="checkbox" name="ao"%s(oa['o']) />%s(B('o'))Check-Out
535 @ </label><br />
536 @ <label><input type="checkbox" name="ah"%s(oa['h']) />%s(B('h'))Hyperlinks
537 @ </label><br />
538 @ <label><input type="checkbox" name="ab"%s(oa['b']) />%s(B('b'))Attachments
539 @ </label><br />
540 @ </td><td><td width="40"></td><td valign="top">
541 @ <label><input type="checkbox" name="au"%s(oa['u']) />%s(B('u'))Reader
542 @ </label><br />
543 @ <label><input type="checkbox" name="av"%s(oa['v']) />%s(B('v'))Developer
544 @ </label><br />
545 @ <label><input type="checkbox" name="ag"%s(oa['g']) />%s(B('g'))Clone
546 @ </label><br />
547 @ <label><input type="checkbox" name="aj"%s(oa['j']) />%s(B('j'))Read Wiki
548 @ </label><br />
549 @ <label><input type="checkbox" name="af"%s(oa['f']) />%s(B('f'))New Wiki
550 @ </label><br />
551 @ <label><input type="checkbox" name="am"%s(oa['m']) />%s(B('m'))Append Wiki
552 @ </label><br />
553 @ <label><input type="checkbox" name="ak"%s(oa['k']) />%s(B('k'))Write Wiki
554 @ </label><br />
555 @ <label><input type="checkbox" name="al"%s(oa['l']) />%s(B('l'))Moderate
556 @ Wiki</label><br />
557 @ </td><td><td width="40"></td><td valign="top">
558 @ <label><input type="checkbox" name="ar"%s(oa['r']) />%s(B('r'))Read Ticket
559 @ </label><br />
560 @ <label><input type="checkbox" name="an"%s(oa['n']) />%s(B('n'))New Tickets
561 @ </label><br />
562 @ <label><input type="checkbox" name="ac"%s(oa['c']) />%s(B('c'))Append
563 @ To Ticket </label><br />
564 @ <label><input type="checkbox" name="aw"%s(oa['w']) />%s(B('w'))Write
565 @ Tickets </label><br />
566 @ <label><input type="checkbox" name="aq"%s(oa['q']) />%s(B('q'))Moderate
567 @ Tickets </label><br />
568 @ <label><input type="checkbox" name="at"%s(oa['t']) />%s(B('t'))Ticket
569 @ Report </label><br />
570 @ <label><input type="checkbox" name="ax"%s(oa['x']) />%s(B('x'))Private
571 @ </label><br />
572 @ <label><input type="checkbox" name="az"%s(oa['z']) />%s(B('z'))Download
573 @ Zip </label>
574 @ </td></tr></table>
575 @ </td>
576 @ </tr>
577 if( !login_is_special(zLogin) ){
578 @ <tr>
@@ -622,30 +622,30 @@
622 @ and reset user passwords. Both automatically get all other privileges
623 @ listed below. Use these two settings with discretion.
624 @ </p></li>
625 @
626 @ <li><p>
627 @ The "<span class="ueditInheritNobody"><big>&bull;</big></span>" mark
628 @ indicates the privileges of <span class="usertype">nobody</span> that
629 @ are available to all users regardless of whether or not they are logged in.
630 @ </p></li>
631 @
632 @ <li><p>
633 @ The "<span class="ueditInheritAnonymous"><big>&bull;</big></span>" mark
634 @ indicates the privileges of <span class="usertype">anonymous</span> that
635 @ are inherited by all logged-in users.
636 @ </p></li>
637 @
638 @ <li><p>
639 @ The "<span class="ueditInheritDeveloper"><big>&bull;</big></span>" mark
640 @ indicates the privileges of <span class="usertype">developer</span> that
641 @ are inherited by all users with the
642 @ <span class="capability">Developer</span> privilege.
643 @ </p></li>
644 @
645 @ <li><p>
646 @ The "<span class="ueditInheritReader"><big>&bull;</big></span>" mark
647 @ indicates the privileges of <span class="usertype">reader</span> that
648 @ are inherited by all users with the <span class="capability">Reader</span>
649 @ privilege.
650 @ </p></li>
651 @
652
--- src/setup.c
+++ src/setup.c
@@ -441,38 +441,38 @@
441 if( fossil_strcmp(zLogin, "developer") ){
442 char *z1, *z2;
443 z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='developer'");
444 while( z1 && *z1 ){
445 inherit[0x7f & *(z1++)] =
446 "<span class=\"ueditInheritDeveloper\"><sub>D</sub></span>";
447 }
448 free(z2);
449 }
450 if( fossil_strcmp(zLogin, "reader") ){
451 char *z1, *z2;
452 z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='reader'");
453 while( z1 && *z1 ){
454 inherit[0x7f & *(z1++)] =
455 "<span class=\"ueditInheritReader\"><sub>R</sub></span>";
456 }
457 free(z2);
458 }
459 if( fossil_strcmp(zLogin, "anonymous") ){
460 char *z1, *z2;
461 z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='anonymous'");
462 while( z1 && *z1 ){
463 inherit[0x7f & *(z1++)] =
464 "<span class=\"ueditInheritAnonymous\"><sub>A</sub></span>";
465 }
466 free(z2);
467 }
468 if( fossil_strcmp(zLogin, "nobody") ){
469 char *z1, *z2;
470 z1 = z2 = db_text(0,"SELECT cap FROM user WHERE login='nobody'");
471 while( z1 && *z1 ){
472 inherit[0x7f & *(z1++)] =
473 "<span class=\"ueditInheritNobody\"><sub>N</sub></span>";
474 }
475 free(z2);
476 }
477
478 /* Begin generating the page
@@ -516,63 +516,63 @@
516 @ <td class="usetupEditLabel">Capabilities:</td>
517 @ <td>
518 #define B(x) inherit[x]
519 @ <table border=0><tr><td valign="top">
520 if( g.perm.Setup ){
521 @ <label><input type="checkbox" name="as"%s(oa['s']) />
522 @ Setup%s(B('s'))</label><br />
523 }
524 @ <label><input type="checkbox" name="aa"%s(oa['a']) />
525 @ Admin%s(B('a'))</label><br />
526 @ <label><input type="checkbox" name="ad"%s(oa['d']) />
527 @ Delete%s(B('d'))</label><br />
528 @ <label><input type="checkbox" name="ae"%s(oa['e']) />
529 @ Email%s(B('e'))</label><br />
530 @ <label><input type="checkbox" name="ap"%s(oa['p']) />
531 @ Password%s(B('p'))</label><br />
532 @ <label><input type="checkbox" name="ai"%s(oa['i']) />
533 @ Check-In%s(B('i'))</label><br />
534 @ <label><input type="checkbox" name="ao"%s(oa['o']) />
535 @ Check-Out%s(B('o'))</label><br />
536 @ <label><input type="checkbox" name="ah"%s(oa['h']) />
537 @ Hyperlinks%s(B('h'))</label><br />
538 @ <label><input type="checkbox" name="ab"%s(oa['b']) />
539 @ Attachments%s(B('b'))</label><br />
540 @ </td><td><td width="40"></td><td valign="top">
541 @ <label><input type="checkbox" name="au"%s(oa['u']) />
542 @ Reader%s(B('u'))</label><br />
543 @ <label><input type="checkbox" name="av"%s(oa['v']) />
544 @ Developer%s(B('v'))</label><br />
545 @ <label><input type="checkbox" name="ag"%s(oa['g']) />
546 @ Clone%s(B('g'))</label><br />
547 @ <label><input type="checkbox" name="aj"%s(oa['j']) />
548 @ Read Wiki%s(B('j'))</label><br />
549 @ <label><input type="checkbox" name="af"%s(oa['f']) />
550 @ New Wiki%s(B('f'))</label><br />
551 @ <label><input type="checkbox" name="am"%s(oa['m']) />
552 @ Append Wiki%s(B('m'))</label><br />
553 @ <label><input type="checkbox" name="ak"%s(oa['k']) />
554 @ Write Wiki%s(B('k'))</label><br />
555 @ <label><input type="checkbox" name="al"%s(oa['l']) />
556 @ Moderate Wiki%s(B('l'))</label><br />
557 @ </td><td><td width="40"></td><td valign="top">
558 @ <label><input type="checkbox" name="ar"%s(oa['r']) />
559 @ Read Ticket%s(B('r'))</label><br />
560 @ <label><input type="checkbox" name="an"%s(oa['n']) />
561 @ New Tickets%s(B('n'))</label><br />
562 @ <label><input type="checkbox" name="ac"%s(oa['c']) />
563 @ Append To Ticket%s(B('c'))</label><br />
564 @ <label><input type="checkbox" name="aw"%s(oa['w']) />
565 @ Write Tickets%s(B('w'))</label><br />
566 @ <label><input type="checkbox" name="aq"%s(oa['q']) />
567 @ Moderate Tickets%s(B('q'))</label><br />
568 @ <label><input type="checkbox" name="at"%s(oa['t']) />
569 @ Ticket Report%s(B('t'))</label><br />
570 @ <label><input type="checkbox" name="ax"%s(oa['x']) />
571 @ Private%s(B('x'))</label><br />
572 @ <label><input type="checkbox" name="az"%s(oa['z']) />
573 @ Download Zip%s(B('z'))</label>
574 @ </td></tr></table>
575 @ </td>
576 @ </tr>
577 if( !login_is_special(zLogin) ){
578 @ <tr>
@@ -622,30 +622,30 @@
622 @ and reset user passwords. Both automatically get all other privileges
623 @ listed below. Use these two settings with discretion.
624 @ </p></li>
625 @
626 @ <li><p>
627 @ The "<span class="ueditInheritNobody"><sub>N</sub></span>" subscript suffix
628 @ indicates the privileges of <span class="usertype">nobody</span> that
629 @ are available to all users regardless of whether or not they are logged in.
630 @ </p></li>
631 @
632 @ <li><p>
633 @ The "<span class="ueditInheritAnonymous"><sub>A</sub></span>" subscript suffix
634 @ indicates the privileges of <span class="usertype">anonymous</span> that
635 @ are inherited by all logged-in users.
636 @ </p></li>
637 @
638 @ <li><p>
639 @ The "<span class="ueditInheritDeveloper"><sub>D</sub></span>" subscript suffix
640 @ indicates the privileges of <span class="usertype">developer</span> that
641 @ are inherited by all users with the
642 @ <span class="capability">Developer</span> privilege.
643 @ </p></li>
644 @
645 @ <li><p>
646 @ The "<span class="ueditInheritReader"><sub>R</sub></span>" subscript suffix
647 @ indicates the privileges of <span class="usertype">reader</span> that
648 @ are inherited by all users with the <span class="capability">Reader</span>
649 @ privilege.
650 @ </p></li>
651 @
652

Keyboard Shortcuts

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