Plugin Directory

Changeset 2386617


Ignore:
Timestamp:
09/22/2020 07:59:08 PM (6 years ago)
Author:
Mosterd3d
Message:

tagging version 3.2

Location:
dd-roles
Files:
16 edited
1 copied

Legend:

Unmodified
Added
Removed
  • dd-roles/tags/3.2/css/style.css

    r2174294 r2386617  
    1 @-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}@font-face{font-family:'custom_dashicons';src:url("../fonts/custom_dashicons.eot?7k7b29");src:url("../fonts/custom_dashicons.eot?#iefix7k7b29") format("embedded-opentype"),url("../fonts/custom_dashicons.woff?7k7b29") format("woff"),url("../fonts/custom_dashicons.ttf?7k7b29") format("truetype"),url("../fonts/custom_dashicons.svg?7k7b29#custom_dashicons") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:'dd-roles';src:url("../fonts/dd-roles.eot?fbm1d7");src:url("../fonts/dd-roles.eot?#iefixfbm1d7") format("embedded-opentype"),url("../fonts/dd-roles.woff?fbm1d7") format("woff"),url("../fonts/dd-roles.ttf?fbm1d7") format("truetype"),url("../fonts/dd-roles.svg?fbm1d7#dd-roles") format("svg");font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:'dd-roles';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class^="icon-"],[class*=" icon-"]{font-family:'custom_dashicons';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-logobrand:before{content:"\e604"}.icon-logo:before{content:"\e605"}.icon-brand:before{content:"\e606"}.icon-rss:before{content:"\e600"}.icon-linkedin:before{content:"\e601"}.icon-facebook:before{content:"\e603"}.icon-googleplus:before{content:"\e607"}.icon-twitter:before{content:"\e608"}.icon-list:before{content:"\e602"}.icon-search:before{content:"\e609"}.icon-uniE60A:before{content:"\e60a"}.icon-arrow-up:before{content:"\e60b"}.icon-arrow-down:before{content:"\e60c"}.icon-arrow-left:before{content:"\e60d"}.icon-arrow-right:before{content:"\e60e"}.icon-arrow-up2:before{content:"\e60f"}.icon-arrow-down2:before{content:"\e610"}.icon-arrow-left2:before{content:"\e611"}.icon-arrow-right2:before{content:"\e612"}.icon-arrow-up3:before{content:"\e613"}.icon-arrow-down3:before{content:"\e614"}.icon-arrow-left3:before{content:"\e615"}.icon-publish:before{content:"\e616"}.icon-rocket:before{content:"\e617"}.icon-wordpress:before{content:"\e618"}.icon-powercord:before{content:"\e619"}.defaultRole{background-color:#ececec}.defaultRole.alternate{background-color:#ddd}.defaultRole.role-banned .row-title{color:#d54e21}.capabilitiesBlock input[type="checkbox"]{margin-right:10px}.capabilitiesBlock input[type="checkbox"].disabled{cursor:default}.defaultCaps,.otherCaps{background:#fcfcfc;padding:12px;margin:12px auto;-webkit-border-radius:3px;border-radius:3px}.defaultCaps h4,.otherCaps h4{margin-top:0}.defaultCaps ul,.otherCaps ul{float:none;display:inline-block;width:100%}.defaultCaps ul li,.otherCaps ul li{width:25%;float:left}.customCap{background:#ececec;padding:12px;-webkit-border-radius:3px;border-radius:3px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.migrate_to{text-align:center}.capLabel{position:relative}.capLabel.disabled{cursor:default}.capLabel .spinner{display:block;position:absolute;top:-1px;margin:0px;left:-2px}.capLabel.loading input{visibility:hidden}.capLabel.loading .spinner{display:block;position:absolute;top:-1px;margin:0px;left:-2px}#poststuff #submitdiv .inside,#poststuff #cleanUpdiv .inside,#poststuff #migratediv .inside,#poststuff #donate .inside{padding:0;margin:0}.dd-sidebar .postbox .hndle{cursor:default}#donate h3:before{font-family:'custom_dashicons';content:"\e605";float:left;margin:1px 3px 0 0}#donate .inside{display:block}.table-roles{display:table}.table-roles .table-roles-head{display:table-header-group}.table-roles .table-roles-footer{display:table-footer-group}.column-role{width:50%}.column-percentBar{width:24%}.column-users{width:10%}.wp-list-table #the-list tr.roleRow td{display:table-cell}.submitCapability h4,.cleanupCap h4{margin:5px 0}.submitCapability i,.cleanupCap i{margin-bottom:10px;display:block;font-size:0.9em}.submitCapability #major-publishing-actions,.cleanupCap #major-publishing-actions{background:none;border-top:none}.wp-core-ui .cleanupCap .button-primary{background:#d54e21;border-color:#b5411b #9c3a19 #9c3a19;box-shadow:0 1px 0 #9c3a19;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #9c3a19, 1px 0 1px #9c3a19, 0 1px 1px #9c3a19, -1px 0 1px #9c3a19}.wp-core-ui .cleanupCap .button-primary:hover{background:#e45c2f;border-color:#d54e21}#migratediv form{margin-bottom:0}
    2 /*# sourceMappingURL=style.css.map */
     1@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:16px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:10px;line-height:16px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress{overflow:hidden;height:16px;margin:3px 0 0;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:16px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}@font-face{font-family:"custom_dashicons";src:url("../fonts/custom_dashicons.eot?7k7b29");src:url("../fonts/custom_dashicons.eot?#iefix7k7b29") format("embedded-opentype"),url("../fonts/custom_dashicons.woff?7k7b29") format("woff"),url("../fonts/custom_dashicons.ttf?7k7b29") format("truetype"),url("../fonts/custom_dashicons.svg?7k7b29#custom_dashicons") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:"dd-roles";src:url("../fonts/dd-roles.eot?fbm1d7");src:url("../fonts/dd-roles.eot?#iefixfbm1d7") format("embedded-opentype"),url("../fonts/dd-roles.woff?fbm1d7") format("woff"),url("../fonts/dd-roles.ttf?fbm1d7") format("truetype"),url("../fonts/dd-roles.svg?fbm1d7#dd-roles") format("svg");font-weight:normal;font-style:normal}[class^=icon-],[class*=" icon-"]{font-family:"dd-roles";speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class^=icon-],[class*=" icon-"]{font-family:"custom_dashicons";speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-logobrand:before{content:""}.icon-logo:before{content:""}.icon-brand:before{content:""}.icon-rss:before{content:""}.icon-linkedin:before{content:""}.icon-facebook:before{content:""}.icon-googleplus:before{content:""}.icon-twitter:before{content:""}.icon-list:before{content:""}.icon-search:before{content:""}.icon-uniE60A:before{content:""}.icon-arrow-up:before{content:""}.icon-arrow-down:before{content:""}.icon-arrow-left:before{content:""}.icon-arrow-right:before{content:""}.icon-arrow-up2:before{content:""}.icon-arrow-down2:before{content:""}.icon-arrow-left2:before{content:""}.icon-arrow-right2:before{content:""}.icon-arrow-up3:before{content:""}.icon-arrow-down3:before{content:""}.icon-arrow-left3:before{content:""}.icon-publish:before{content:""}.icon-rocket:before{content:""}.icon-wordpress:before{content:""}.icon-powercord:before{content:""}.defaultRole{background-color:#ececec}.defaultRole.alternate{background-color:#ddd}.defaultRole.role-banned .row-title{color:#d54e21}.capabilitiesBlock input[type=checkbox]{margin-right:10px}.capabilitiesBlock input[type=checkbox].disabled{cursor:default}.defaultCaps,.otherCaps{background:#fcfcfc;padding:12px;margin:12px auto;-webkit-border-radius:3px;border-radius:3px}.defaultCaps h4,.otherCaps h4{margin-top:0}.defaultCaps ul,.otherCaps ul{float:none;display:inline-block;width:100%}.defaultCaps ul li,.otherCaps ul li{width:25%;float:left}.customCap{background:#ececec;padding:12px;-webkit-border-radius:3px;border-radius:3px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.migrate_to{text-align:center}.capLabel{position:relative}.capLabel.disabled{cursor:default}.capLabel .spinner{display:block;position:absolute;top:-1px;margin:0px;left:-2px}.capLabel.loading input{visibility:hidden}.capLabel.loading .spinner{display:block;position:absolute;top:-1px;margin:0px;left:-2px}#poststuff #submitdiv .inside,#poststuff #cleanUpdiv .inside,#poststuff #migratediv .inside,#poststuff #donate .inside{padding:0;margin:0}.dd-sidebar .postbox .hndle{cursor:default}#donate h3:before{font-family:"custom_dashicons";content:"";float:left;margin:1px 3px 0 0}#donate .inside{display:block}.table-roles{display:table}.table-roles .table-roles-head{display:table-header-group}.table-roles .table-roles-footer{display:table-footer-group}.column-role{width:50%}.column-percentBar{width:24%}.column-users{width:10%}.wp-list-table #the-list tr.roleRow td{display:table-cell}.submitCapability h4,.cleanupCap h4{margin:5px 0}.submitCapability i,.cleanupCap i{margin-bottom:10px;display:block;font-size:.9em}.submitCapability #major-publishing-actions,.cleanupCap #major-publishing-actions{background:none;border-top:none}.wp-core-ui .cleanupCap .button-primary{background:#d54e21;border-color:#b5411b #9c3a19 #9c3a19;box-shadow:0 1px 0 #9c3a19;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #9c3a19,1px 0 1px #9c3a19,0 1px 1px #9c3a19,-1px 0 1px #9c3a19}.wp-core-ui .cleanupCap .button-primary:hover{background:#e45c2f;border-color:#d54e21}#migratediv form{margin-bottom:0}@media only screen and (max-width: 850px){#post-body{display:flex;flex-direction:column}#post-body #postbox-container-1{order:2;margin-top:20px}#post-body #postbox-container-2{order:1}}@media only screen and (max-width: 600px){.defaultCaps ul li,.otherCaps ul li{width:100%;float:none}}/*# sourceMappingURL=style.css.map */
  • dd-roles/tags/3.2/dd_roles.php

    r2174294 r2386617  
    22/*
    33Plugin Name: DD_Roles
    4 Version: 3.1
     4Version: 3.2
    55Plugin URI: http://dijkstradesign.com
    66Description: A plug-in to add and edit the roles and capabilities
     
    1010
    1111
    12 /*  Copyright 2019  WOUTER DIJKSTRA  (email : info@wouterdijkstra.com)
     12/*  Copyright 2020  WOUTER DIJKSTRA  (email : info@wouterdijkstra.com)
    1313
    1414    This program is free software; you can redistribute it and/or modify
     
    122122        $rol_capabilities = array_keys( $role->capabilities );
    123123
    124         $countCap = count($rol_capabilities);
    125         return $countCap;
    126     }
    127 
    128     /**
    129      * @param $delcaps string/array
    130      */
    131     function delete_capabilities($delcaps){
    132         $delete_caps = is_array($delcaps) ? $delcaps : array($delcaps);
    133         global $wp_roles;
    134         foreach ($delete_caps as $cap) {
     124        return count($rol_capabilities);
     125    }
     126
     127    /**
     128     * @param $delCaps
     129     */
     130    function delete_capabilities($delCaps){
     131        $deleteCaps = is_array($delCaps) ? $delCaps : array($delCaps);
     132        global $wp_roles;
     133        foreach ($deleteCaps as $cap) {
    135134            foreach (array_keys($wp_roles->roles) as $role) {
    136135                $wp_roles->remove_cap($role, $cap);
     
    139138    }
    140139
    141 
    142140    function DD_rolesSettings() {
    143141
     
    150148    }
    151149
    152     function onlyAdminRoles(){
    153 
     150    function getAllNonAdminRoles() {
    154151        global $wp_roles;
    155152        $roles = $wp_roles->get_names();
    156         $onlyAdmin = true;
    157 
    158         foreach ($roles as $role_id => $role) {
    159             if($role_id != 'administrator'){
    160                 $totalUsers = self::getRoleTotalUsers($role_id);
    161                 if($totalUsers){
    162                     $onlyAdmin = false;
    163                 }
    164             }
     153        unset($roles['administrator']);
     154
     155        return $roles;
     156    }
     157
     158    function onlyAdminRoles($onlyAdmin = true){
     159        foreach ($this->getAllNonAdminRoles() as $role_id => $role) {
     160            $totalUsers = self::getRoleTotalUsers($role_id);
     161            $onlyAdmin = $totalUsers ? false : $onlyAdmin;
    165162        }
    166163        return $onlyAdmin;
     
    168165
    169166    function deleteRole_callback() {
    170 
    171167        $role_id = $_POST['role_id'];
    172         $dd_roles = json_decode(get_option('dd_roles'));
    173         $new_dd_roles = array_diff($dd_roles, array($role_id));
    174 
    175168        $this->userMigrate($role_id);
    176         update_option( 'dd_roles', json_encode($new_dd_roles) );
    177169
    178170        $wp_roles = new WP_Roles();
     
    247239    }
    248240
    249      function isRoleUnique($name) {
     241    function isRoleUnique($name) {
    250242        global $wp_roles;
    251243        $unique = true;
     
    258250            }
    259251        }
    260 
    261         if (!ctype_alnum($roleCredentials[0])) {
    262          //check if NOT alphanumeric....So don't pass
    263          $unique = false;
    264         }
     252        //check if NOT alphanumeric....So don't pass
     253        $unique = !ctype_alnum($roleCredentials[0]) ? false : $unique;
    265254
    266255        return $unique;
     
    274263    }
    275264
    276     function updateCustomRoleList($name) {
    277 
    278         $dd_roles = json_decode(get_option('dd_roles'));
    279         $roleCredentials = $this->createRoleCredentials($name);
    280 
    281         if($dd_roles) {
    282             array_push($dd_roles,$roleCredentials[0]);
    283         }
    284         else {
    285             $dd_roles = array($roleCredentials[0]);
    286         }
    287         update_option( 'dd_roles', json_encode($dd_roles) );
    288     }
    289 
    290 
    291265    function add_dd_role($new_displayName=''){
    292266
     
    296270
    297271        if ($isUnique){
    298 
    299             $this->updateCustomRoleList($new_displayName);
    300272
    301273            if ( ! isset( $GLOBALS[ 'wp_roles' ] ) ){
     
    421393     */
    422394    function getGroupedCapabilities(){
    423 
    424395        return $this->groupedCapabilities;
    425 
    426396    }
    427397
     
    440410            }
    441411        }
     412        return false;
    442413    }
    443414
  • dd-roles/tags/3.2/js/default.js

    r2174294 r2386617  
    22
    33    $(document).on('keydown','.dd-new-role', function(e) {
    4         var code = e.keyCode || e.which;
    5         if(code === 13) {
     4        if (e.key === 'Enter') {
    65            e.preventDefault();
    76            $('.js-newRole').click();
     
    109    });
    1110    $(document).on('keydown','.dd-new-capability', function(e) {
    12         var code = e.keyCode || e.which;
    13 
    14         if(code === 13) {
     11        if (e.key === 'Enter') {
    1512            e.preventDefault();
    1613            $('.js-newCapability').click();
  • dd-roles/tags/3.2/js/default.min.js

    r2175615 r2386617  
    1 !function(l){function t(){l(".duplicated").removeClass("hidden")}l(document).on("keydown",".dd-new-role",function(e){if(13===(e.keyCode||e.which))return e.preventDefault(),l(".js-newRole").click(),!1}),l(document).on("keydown",".dd-new-capability",function(e){if(13===(e.keyCode||e.which))return e.preventDefault(),l(".js-newCapability").click(),!1}),l(document).on("focus",".dd-new-role",function(e){l(".settings-error").fadeOut("fast",function(){l(this).addClass("hidden").attr("style","")})}),l(document).on("click",".js-newRole",function(){var e=l(".dd-new-role").val();if(""===e)t();else{var n={action:"verify_and_add",new_role_display_name:e};l.post(ajaxurl,n,function(e){parseInt(e)?location.reload():t()})}}),l(document).on("click",".js-newCapability",function(){var e=l(".dd-new-capability").val();if(""===e)t();else{var n={action:"create_capability",new_capability:e};l.post(ajaxurl,n,function(e){e?location.reload():t()})}}),l(document).on("click",".js-migrate",function(){var e={action:"migrateUsers",fromRole:l(".fromRole").val(),toRole:l(".toRole").val()};l.post(ajaxurl,e,function(e){location.reload()})}),l(document).on("change",".capLabel.active",function(){var n=l(this),t=n.parents(".roleRow").prev(".roleRow"),e={action:"changeCapState",state:n.children("input").is(":checked"),capName:n.children("input").val(),role_id:t.find(".role_id").val()};n.addClass("loading").find(".spinner").addClass("is-active"),l.post(ajaxurl,e,function(e){e=JSON.parse(e),n.removeClass("loading").find(".spinner").removeClass("is-active"),t.find(".progress-bar").css("width",e.percent),t.find(".progressCount").val(e.totalRoleActiveCapabilities),t.find(".sr-only").text(e.percent+" Capabilities")})}),l(document).on("click",".js-openInfo",function(e){e.preventDefault();var n=l(this).parents(".roleRow"),t=n.next(".capabilitiesRow"),a=n.find(".js-collapseLink"),o=a.text(),i=a.data("othertext");a.toggleClass("open").text(i).data("othertext",o),t.toggleClass("hidden")}),l(document).on("click",".deleteRole",function(e){e.preventDefault();var n={action:"deleteRole",role_id:l(this).parents(".roleRow").find(".role_id").val()};l.post(ajaxurl,n,function(e){location.reload()})}),l(document).on("click",".js-cleanUp",function(e){e.preventDefault();var n={action:"cleanUp",delcaps:l(".deleteCap").val()};l.post(ajaxurl,n,function(e){setInterval(location.reload(),5e3)})})}(jQuery);
     1!function(l){function t(){l(".duplicated").removeClass("hidden")}l(document).on("keydown",".dd-new-role",function(e){if("Enter"===e.key)return e.preventDefault(),l(".js-newRole").click(),!1}),l(document).on("keydown",".dd-new-capability",function(e){if("Enter"===e.key)return e.preventDefault(),l(".js-newCapability").click(),!1}),l(document).on("focus",".dd-new-role",function(e){l(".settings-error").fadeOut("fast",function(){l(this).addClass("hidden").attr("style","")})}),l(document).on("click",".js-newRole",function(){var e=l(".dd-new-role").val();if(""===e)t();else{var n={action:"verify_and_add",new_role_display_name:e};l.post(ajaxurl,n,function(e){parseInt(e)?location.reload():t()})}}),l(document).on("click",".js-newCapability",function(){var e=l(".dd-new-capability").val();if(""===e)t();else{var n={action:"create_capability",new_capability:e};l.post(ajaxurl,n,function(e){e?location.reload():t()})}}),l(document).on("click",".js-migrate",function(){var e={action:"migrateUsers",fromRole:l(".fromRole").val(),toRole:l(".toRole").val()};l.post(ajaxurl,e,function(e){location.reload()})}),l(document).on("change",".capLabel.active",function(){var n=l(this),t=n.parents(".roleRow").prev(".roleRow"),e={action:"changeCapState",state:n.children("input").is(":checked"),capName:n.children("input").val(),role_id:t.find(".role_id").val()};n.addClass("loading").find(".spinner").addClass("is-active"),l.post(ajaxurl,e,function(e){e=JSON.parse(e),n.removeClass("loading").find(".spinner").removeClass("is-active"),t.find(".progress-bar").css("width",e.percent),t.find(".progressCount").val(e.totalRoleActiveCapabilities),t.find(".sr-only").text(e.percent+" Capabilities")})}),l(document).on("click",".js-openInfo",function(e){e.preventDefault();var n=l(this).parents(".roleRow"),t=n.next(".capabilitiesRow"),a=n.find(".js-collapseLink"),o=a.text(),i=a.data("othertext");a.toggleClass("open").text(i).data("othertext",o),t.toggleClass("hidden")}),l(document).on("click",".deleteRole",function(e){e.preventDefault();var n={action:"deleteRole",role_id:l(this).parents(".roleRow").find(".role_id").val()};l.post(ajaxurl,n,function(e){location.reload()})}),l(document).on("click",".js-cleanUp",function(e){e.preventDefault();var n={action:"cleanUp",delcaps:l(".deleteCap").val()};l.post(ajaxurl,n,function(e){setInterval(location.reload(),5e3)})})}(jQuery);
  • dd-roles/tags/3.2/readme.txt

    r2174294 r2386617  
    1 === DD Roles ===
     1    === DD Roles ===
    22Contributors: Mosterd3d
    33Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=5V2C94HQAN63C&lc=US&item_name=Dijkstra%20Design&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted
    44Tags: Roles, Capabilities, Migrate, Users, Clean up, Custom, restrictions, restriction, block, user, role, admin bar, bar, banned, log, off, destroy, session, online, powerful, clear
    55Requires at least: 3.3
    6 Tested up to: 5.2.3
    7 Stable tag: 3.1
     6Tested up to: 5.5.1
     7Stable tag: 3.2
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    3131
    3232== Changelog ==
     33
     34= 3.2 =
     35* Fix minor bugs
     36* Replace deprecated e.which with e.key
    3337
    3438= 3.1 =
  • dd-roles/tags/3.2/views/settingPage.php

    r2174294 r2386617  
    1717                        include_once('widgets/migrate_users.php');
    1818                        include_once('widgets/donate.php');
     19//                        include_once('widgets/advanced.php');
    1920                    ?>
    2021                </div>
  • dd-roles/tags/3.2/views/widgets/manage_capabilities.php

    r2173179 r2386617  
    4242                            <select name="deleteCap" id="role" class="widefat deleteCap">
    4343                                <?php
    44                                 foreach( $customCaps as $capability ) {
    45                                     $capabilityDisplay = str_replace('_',' ',$capability);
    46                                     $capabilityDisplay = ucfirst($capabilityDisplay);
    47                                     echo '<option value="'.$capability.'">'.$capabilityDisplay.'</option>';
    48                                 }
     44                                    foreach( $customCaps as $capability ) {
     45                                        $capabilityDisplay = str_replace('_',' ',$capability);
     46                                        $capabilityDisplay = ucfirst($capabilityDisplay);
     47                                        echo '<option value="'.$capability.'">'.$capabilityDisplay.'</option>';
     48                                    }
    4949                                ?>
    5050                            </select>
     
    6363            </div>
    6464        <?php endif; ?>
    65 
    6665    </div>
    6766</div>
  • dd-roles/tags/3.2/views/widgets/migrate_users.php

    r2174294 r2386617  
    11<?php
    22$onlyAdminRoles = dd_roles::onlyAdminRoles();
    3 if (!$onlyAdminRoles){
    4     ?>
     3if (!$onlyAdminRoles) : ?>
    54    <div id="migratediv" class="postbox ">
    65        <h3 class="hndle"><span>Migrate Users</span></h3>
     
    1211                            <select name="fromRole" id="role" class="widefat fromRole">
    1312                                <?php
    14                                     global $wp_roles;
    15                                     $roles = $wp_roles->get_names();
     13                                    foreach (self::getAllNonAdminRoles() as $role_id => $role) {
     14                                        $totalUsers = self::getRoleTotalUsers($role_id);
     15                                        $totalUsersText = $totalUsers ? ' ('.ngettext($totalUsers.' '.__('User'), $totalUsers.' '.__('Users'), $totalUsers).')' : '';
    1616
    17                                     foreach ($roles as $role_id => $role) {
    18 
    19                                         if($role_id != 'administrator'){
    20 
    21                                             $totalUsers = self::getRoleTotalUsers($role_id);
    22                                             $totalUsersText = $totalUsers ? ' ('.ngettext($totalUsers.' '.__('User'), $totalUsers.' '.__('Users'), $totalUsers).')' : '';
     17                                        if($totalUsers) {
    2318                                            echo '<option value="'.$role_id.'">'.translate_user_role( $role ).$totalUsersText.'</option>';
    2419                                        }
     
    3328                            <select name="toRole" id="role" class="widefat toRole">
    3429                                <?php
    35                                 global $wp_roles;
    36                                 $roles = $wp_roles->get_names();
    37                                 foreach ($roles as $role_id => $role) {
    38                                     if($role_id != 'administrator'){
     30                                    foreach (self::getAllNonAdminRoles() as $role_id => $role) {
    3931                                        $totalUsers = self::getRoleTotalUsers($role_id);
    40                                         $totalUsers = $totalUsers? '('.ngettext($totalUsers.' '.__('User'), $totalUsers.' '.__('Users'), $totalUsers).')' : ''; // prints "4 cats"
     32                                        $totalUsers = isset($totalUsers) ? '('.ngettext($totalUsers.' '.__('User'), $totalUsers.' '.__('Users'), $totalUsers).')' : '';
    4133                                        echo '<option value="'.$role_id.'">'.translate_user_role( $role ).' '.$totalUsers.'</option>';
    4234                                    }
    43                                 }
    4435                                ?>
    4536                            </select>
     
    5950        </div>
    6051    </div>
    61 <?php
    62 }
     52<?php endif;
  • dd-roles/trunk/css/style.css

    r2174294 r2386617  
    1 @-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}@font-face{font-family:'custom_dashicons';src:url("../fonts/custom_dashicons.eot?7k7b29");src:url("../fonts/custom_dashicons.eot?#iefix7k7b29") format("embedded-opentype"),url("../fonts/custom_dashicons.woff?7k7b29") format("woff"),url("../fonts/custom_dashicons.ttf?7k7b29") format("truetype"),url("../fonts/custom_dashicons.svg?7k7b29#custom_dashicons") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:'dd-roles';src:url("../fonts/dd-roles.eot?fbm1d7");src:url("../fonts/dd-roles.eot?#iefixfbm1d7") format("embedded-opentype"),url("../fonts/dd-roles.woff?fbm1d7") format("woff"),url("../fonts/dd-roles.ttf?fbm1d7") format("truetype"),url("../fonts/dd-roles.svg?fbm1d7#dd-roles") format("svg");font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:'dd-roles';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class^="icon-"],[class*=" icon-"]{font-family:'custom_dashicons';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-logobrand:before{content:"\e604"}.icon-logo:before{content:"\e605"}.icon-brand:before{content:"\e606"}.icon-rss:before{content:"\e600"}.icon-linkedin:before{content:"\e601"}.icon-facebook:before{content:"\e603"}.icon-googleplus:before{content:"\e607"}.icon-twitter:before{content:"\e608"}.icon-list:before{content:"\e602"}.icon-search:before{content:"\e609"}.icon-uniE60A:before{content:"\e60a"}.icon-arrow-up:before{content:"\e60b"}.icon-arrow-down:before{content:"\e60c"}.icon-arrow-left:before{content:"\e60d"}.icon-arrow-right:before{content:"\e60e"}.icon-arrow-up2:before{content:"\e60f"}.icon-arrow-down2:before{content:"\e610"}.icon-arrow-left2:before{content:"\e611"}.icon-arrow-right2:before{content:"\e612"}.icon-arrow-up3:before{content:"\e613"}.icon-arrow-down3:before{content:"\e614"}.icon-arrow-left3:before{content:"\e615"}.icon-publish:before{content:"\e616"}.icon-rocket:before{content:"\e617"}.icon-wordpress:before{content:"\e618"}.icon-powercord:before{content:"\e619"}.defaultRole{background-color:#ececec}.defaultRole.alternate{background-color:#ddd}.defaultRole.role-banned .row-title{color:#d54e21}.capabilitiesBlock input[type="checkbox"]{margin-right:10px}.capabilitiesBlock input[type="checkbox"].disabled{cursor:default}.defaultCaps,.otherCaps{background:#fcfcfc;padding:12px;margin:12px auto;-webkit-border-radius:3px;border-radius:3px}.defaultCaps h4,.otherCaps h4{margin-top:0}.defaultCaps ul,.otherCaps ul{float:none;display:inline-block;width:100%}.defaultCaps ul li,.otherCaps ul li{width:25%;float:left}.customCap{background:#ececec;padding:12px;-webkit-border-radius:3px;border-radius:3px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.migrate_to{text-align:center}.capLabel{position:relative}.capLabel.disabled{cursor:default}.capLabel .spinner{display:block;position:absolute;top:-1px;margin:0px;left:-2px}.capLabel.loading input{visibility:hidden}.capLabel.loading .spinner{display:block;position:absolute;top:-1px;margin:0px;left:-2px}#poststuff #submitdiv .inside,#poststuff #cleanUpdiv .inside,#poststuff #migratediv .inside,#poststuff #donate .inside{padding:0;margin:0}.dd-sidebar .postbox .hndle{cursor:default}#donate h3:before{font-family:'custom_dashicons';content:"\e605";float:left;margin:1px 3px 0 0}#donate .inside{display:block}.table-roles{display:table}.table-roles .table-roles-head{display:table-header-group}.table-roles .table-roles-footer{display:table-footer-group}.column-role{width:50%}.column-percentBar{width:24%}.column-users{width:10%}.wp-list-table #the-list tr.roleRow td{display:table-cell}.submitCapability h4,.cleanupCap h4{margin:5px 0}.submitCapability i,.cleanupCap i{margin-bottom:10px;display:block;font-size:0.9em}.submitCapability #major-publishing-actions,.cleanupCap #major-publishing-actions{background:none;border-top:none}.wp-core-ui .cleanupCap .button-primary{background:#d54e21;border-color:#b5411b #9c3a19 #9c3a19;box-shadow:0 1px 0 #9c3a19;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #9c3a19, 1px 0 1px #9c3a19, 0 1px 1px #9c3a19, -1px 0 1px #9c3a19}.wp-core-ui .cleanupCap .button-primary:hover{background:#e45c2f;border-color:#d54e21}#migratediv form{margin-bottom:0}
    2 /*# sourceMappingURL=style.css.map */
     1@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:16px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:10px;line-height:16px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress{overflow:hidden;height:16px;margin:3px 0 0;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:16px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}@font-face{font-family:"custom_dashicons";src:url("../fonts/custom_dashicons.eot?7k7b29");src:url("../fonts/custom_dashicons.eot?#iefix7k7b29") format("embedded-opentype"),url("../fonts/custom_dashicons.woff?7k7b29") format("woff"),url("../fonts/custom_dashicons.ttf?7k7b29") format("truetype"),url("../fonts/custom_dashicons.svg?7k7b29#custom_dashicons") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:"dd-roles";src:url("../fonts/dd-roles.eot?fbm1d7");src:url("../fonts/dd-roles.eot?#iefixfbm1d7") format("embedded-opentype"),url("../fonts/dd-roles.woff?fbm1d7") format("woff"),url("../fonts/dd-roles.ttf?fbm1d7") format("truetype"),url("../fonts/dd-roles.svg?fbm1d7#dd-roles") format("svg");font-weight:normal;font-style:normal}[class^=icon-],[class*=" icon-"]{font-family:"dd-roles";speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class^=icon-],[class*=" icon-"]{font-family:"custom_dashicons";speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-logobrand:before{content:""}.icon-logo:before{content:""}.icon-brand:before{content:""}.icon-rss:before{content:""}.icon-linkedin:before{content:""}.icon-facebook:before{content:""}.icon-googleplus:before{content:""}.icon-twitter:before{content:""}.icon-list:before{content:""}.icon-search:before{content:""}.icon-uniE60A:before{content:""}.icon-arrow-up:before{content:""}.icon-arrow-down:before{content:""}.icon-arrow-left:before{content:""}.icon-arrow-right:before{content:""}.icon-arrow-up2:before{content:""}.icon-arrow-down2:before{content:""}.icon-arrow-left2:before{content:""}.icon-arrow-right2:before{content:""}.icon-arrow-up3:before{content:""}.icon-arrow-down3:before{content:""}.icon-arrow-left3:before{content:""}.icon-publish:before{content:""}.icon-rocket:before{content:""}.icon-wordpress:before{content:""}.icon-powercord:before{content:""}.defaultRole{background-color:#ececec}.defaultRole.alternate{background-color:#ddd}.defaultRole.role-banned .row-title{color:#d54e21}.capabilitiesBlock input[type=checkbox]{margin-right:10px}.capabilitiesBlock input[type=checkbox].disabled{cursor:default}.defaultCaps,.otherCaps{background:#fcfcfc;padding:12px;margin:12px auto;-webkit-border-radius:3px;border-radius:3px}.defaultCaps h4,.otherCaps h4{margin-top:0}.defaultCaps ul,.otherCaps ul{float:none;display:inline-block;width:100%}.defaultCaps ul li,.otherCaps ul li{width:25%;float:left}.customCap{background:#ececec;padding:12px;-webkit-border-radius:3px;border-radius:3px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.migrate_to{text-align:center}.capLabel{position:relative}.capLabel.disabled{cursor:default}.capLabel .spinner{display:block;position:absolute;top:-1px;margin:0px;left:-2px}.capLabel.loading input{visibility:hidden}.capLabel.loading .spinner{display:block;position:absolute;top:-1px;margin:0px;left:-2px}#poststuff #submitdiv .inside,#poststuff #cleanUpdiv .inside,#poststuff #migratediv .inside,#poststuff #donate .inside{padding:0;margin:0}.dd-sidebar .postbox .hndle{cursor:default}#donate h3:before{font-family:"custom_dashicons";content:"";float:left;margin:1px 3px 0 0}#donate .inside{display:block}.table-roles{display:table}.table-roles .table-roles-head{display:table-header-group}.table-roles .table-roles-footer{display:table-footer-group}.column-role{width:50%}.column-percentBar{width:24%}.column-users{width:10%}.wp-list-table #the-list tr.roleRow td{display:table-cell}.submitCapability h4,.cleanupCap h4{margin:5px 0}.submitCapability i,.cleanupCap i{margin-bottom:10px;display:block;font-size:.9em}.submitCapability #major-publishing-actions,.cleanupCap #major-publishing-actions{background:none;border-top:none}.wp-core-ui .cleanupCap .button-primary{background:#d54e21;border-color:#b5411b #9c3a19 #9c3a19;box-shadow:0 1px 0 #9c3a19;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #9c3a19,1px 0 1px #9c3a19,0 1px 1px #9c3a19,-1px 0 1px #9c3a19}.wp-core-ui .cleanupCap .button-primary:hover{background:#e45c2f;border-color:#d54e21}#migratediv form{margin-bottom:0}@media only screen and (max-width: 850px){#post-body{display:flex;flex-direction:column}#post-body #postbox-container-1{order:2;margin-top:20px}#post-body #postbox-container-2{order:1}}@media only screen and (max-width: 600px){.defaultCaps ul li,.otherCaps ul li{width:100%;float:none}}/*# sourceMappingURL=style.css.map */
  • dd-roles/trunk/dd_roles.php

    r2174294 r2386617  
    22/*
    33Plugin Name: DD_Roles
    4 Version: 3.1
     4Version: 3.2
    55Plugin URI: http://dijkstradesign.com
    66Description: A plug-in to add and edit the roles and capabilities
     
    1010
    1111
    12 /*  Copyright 2019  WOUTER DIJKSTRA  (email : info@wouterdijkstra.com)
     12/*  Copyright 2020  WOUTER DIJKSTRA  (email : info@wouterdijkstra.com)
    1313
    1414    This program is free software; you can redistribute it and/or modify
     
    122122        $rol_capabilities = array_keys( $role->capabilities );
    123123
    124         $countCap = count($rol_capabilities);
    125         return $countCap;
    126     }
    127 
    128     /**
    129      * @param $delcaps string/array
    130      */
    131     function delete_capabilities($delcaps){
    132         $delete_caps = is_array($delcaps) ? $delcaps : array($delcaps);
    133         global $wp_roles;
    134         foreach ($delete_caps as $cap) {
     124        return count($rol_capabilities);
     125    }
     126
     127    /**
     128     * @param $delCaps
     129     */
     130    function delete_capabilities($delCaps){
     131        $deleteCaps = is_array($delCaps) ? $delCaps : array($delCaps);
     132        global $wp_roles;
     133        foreach ($deleteCaps as $cap) {
    135134            foreach (array_keys($wp_roles->roles) as $role) {
    136135                $wp_roles->remove_cap($role, $cap);
     
    139138    }
    140139
    141 
    142140    function DD_rolesSettings() {
    143141
     
    150148    }
    151149
    152     function onlyAdminRoles(){
    153 
     150    function getAllNonAdminRoles() {
    154151        global $wp_roles;
    155152        $roles = $wp_roles->get_names();
    156         $onlyAdmin = true;
    157 
    158         foreach ($roles as $role_id => $role) {
    159             if($role_id != 'administrator'){
    160                 $totalUsers = self::getRoleTotalUsers($role_id);
    161                 if($totalUsers){
    162                     $onlyAdmin = false;
    163                 }
    164             }
     153        unset($roles['administrator']);
     154
     155        return $roles;
     156    }
     157
     158    function onlyAdminRoles($onlyAdmin = true){
     159        foreach ($this->getAllNonAdminRoles() as $role_id => $role) {
     160            $totalUsers = self::getRoleTotalUsers($role_id);
     161            $onlyAdmin = $totalUsers ? false : $onlyAdmin;
    165162        }
    166163        return $onlyAdmin;
     
    168165
    169166    function deleteRole_callback() {
    170 
    171167        $role_id = $_POST['role_id'];
    172         $dd_roles = json_decode(get_option('dd_roles'));
    173         $new_dd_roles = array_diff($dd_roles, array($role_id));
    174 
    175168        $this->userMigrate($role_id);
    176         update_option( 'dd_roles', json_encode($new_dd_roles) );
    177169
    178170        $wp_roles = new WP_Roles();
     
    247239    }
    248240
    249      function isRoleUnique($name) {
     241    function isRoleUnique($name) {
    250242        global $wp_roles;
    251243        $unique = true;
     
    258250            }
    259251        }
    260 
    261         if (!ctype_alnum($roleCredentials[0])) {
    262          //check if NOT alphanumeric....So don't pass
    263          $unique = false;
    264         }
     252        //check if NOT alphanumeric....So don't pass
     253        $unique = !ctype_alnum($roleCredentials[0]) ? false : $unique;
    265254
    266255        return $unique;
     
    274263    }
    275264
    276     function updateCustomRoleList($name) {
    277 
    278         $dd_roles = json_decode(get_option('dd_roles'));
    279         $roleCredentials = $this->createRoleCredentials($name);
    280 
    281         if($dd_roles) {
    282             array_push($dd_roles,$roleCredentials[0]);
    283         }
    284         else {
    285             $dd_roles = array($roleCredentials[0]);
    286         }
    287         update_option( 'dd_roles', json_encode($dd_roles) );
    288     }
    289 
    290 
    291265    function add_dd_role($new_displayName=''){
    292266
     
    296270
    297271        if ($isUnique){
    298 
    299             $this->updateCustomRoleList($new_displayName);
    300272
    301273            if ( ! isset( $GLOBALS[ 'wp_roles' ] ) ){
     
    421393     */
    422394    function getGroupedCapabilities(){
    423 
    424395        return $this->groupedCapabilities;
    425 
    426396    }
    427397
     
    440410            }
    441411        }
     412        return false;
    442413    }
    443414
  • dd-roles/trunk/js/default.js

    r2174294 r2386617  
    22
    33    $(document).on('keydown','.dd-new-role', function(e) {
    4         var code = e.keyCode || e.which;
    5         if(code === 13) {
     4        if (e.key === 'Enter') {
    65            e.preventDefault();
    76            $('.js-newRole').click();
     
    109    });
    1110    $(document).on('keydown','.dd-new-capability', function(e) {
    12         var code = e.keyCode || e.which;
    13 
    14         if(code === 13) {
     11        if (e.key === 'Enter') {
    1512            e.preventDefault();
    1613            $('.js-newCapability').click();
  • dd-roles/trunk/js/default.min.js

    r2175615 r2386617  
    1 !function(l){function t(){l(".duplicated").removeClass("hidden")}l(document).on("keydown",".dd-new-role",function(e){if(13===(e.keyCode||e.which))return e.preventDefault(),l(".js-newRole").click(),!1}),l(document).on("keydown",".dd-new-capability",function(e){if(13===(e.keyCode||e.which))return e.preventDefault(),l(".js-newCapability").click(),!1}),l(document).on("focus",".dd-new-role",function(e){l(".settings-error").fadeOut("fast",function(){l(this).addClass("hidden").attr("style","")})}),l(document).on("click",".js-newRole",function(){var e=l(".dd-new-role").val();if(""===e)t();else{var n={action:"verify_and_add",new_role_display_name:e};l.post(ajaxurl,n,function(e){parseInt(e)?location.reload():t()})}}),l(document).on("click",".js-newCapability",function(){var e=l(".dd-new-capability").val();if(""===e)t();else{var n={action:"create_capability",new_capability:e};l.post(ajaxurl,n,function(e){e?location.reload():t()})}}),l(document).on("click",".js-migrate",function(){var e={action:"migrateUsers",fromRole:l(".fromRole").val(),toRole:l(".toRole").val()};l.post(ajaxurl,e,function(e){location.reload()})}),l(document).on("change",".capLabel.active",function(){var n=l(this),t=n.parents(".roleRow").prev(".roleRow"),e={action:"changeCapState",state:n.children("input").is(":checked"),capName:n.children("input").val(),role_id:t.find(".role_id").val()};n.addClass("loading").find(".spinner").addClass("is-active"),l.post(ajaxurl,e,function(e){e=JSON.parse(e),n.removeClass("loading").find(".spinner").removeClass("is-active"),t.find(".progress-bar").css("width",e.percent),t.find(".progressCount").val(e.totalRoleActiveCapabilities),t.find(".sr-only").text(e.percent+" Capabilities")})}),l(document).on("click",".js-openInfo",function(e){e.preventDefault();var n=l(this).parents(".roleRow"),t=n.next(".capabilitiesRow"),a=n.find(".js-collapseLink"),o=a.text(),i=a.data("othertext");a.toggleClass("open").text(i).data("othertext",o),t.toggleClass("hidden")}),l(document).on("click",".deleteRole",function(e){e.preventDefault();var n={action:"deleteRole",role_id:l(this).parents(".roleRow").find(".role_id").val()};l.post(ajaxurl,n,function(e){location.reload()})}),l(document).on("click",".js-cleanUp",function(e){e.preventDefault();var n={action:"cleanUp",delcaps:l(".deleteCap").val()};l.post(ajaxurl,n,function(e){setInterval(location.reload(),5e3)})})}(jQuery);
     1!function(l){function t(){l(".duplicated").removeClass("hidden")}l(document).on("keydown",".dd-new-role",function(e){if("Enter"===e.key)return e.preventDefault(),l(".js-newRole").click(),!1}),l(document).on("keydown",".dd-new-capability",function(e){if("Enter"===e.key)return e.preventDefault(),l(".js-newCapability").click(),!1}),l(document).on("focus",".dd-new-role",function(e){l(".settings-error").fadeOut("fast",function(){l(this).addClass("hidden").attr("style","")})}),l(document).on("click",".js-newRole",function(){var e=l(".dd-new-role").val();if(""===e)t();else{var n={action:"verify_and_add",new_role_display_name:e};l.post(ajaxurl,n,function(e){parseInt(e)?location.reload():t()})}}),l(document).on("click",".js-newCapability",function(){var e=l(".dd-new-capability").val();if(""===e)t();else{var n={action:"create_capability",new_capability:e};l.post(ajaxurl,n,function(e){e?location.reload():t()})}}),l(document).on("click",".js-migrate",function(){var e={action:"migrateUsers",fromRole:l(".fromRole").val(),toRole:l(".toRole").val()};l.post(ajaxurl,e,function(e){location.reload()})}),l(document).on("change",".capLabel.active",function(){var n=l(this),t=n.parents(".roleRow").prev(".roleRow"),e={action:"changeCapState",state:n.children("input").is(":checked"),capName:n.children("input").val(),role_id:t.find(".role_id").val()};n.addClass("loading").find(".spinner").addClass("is-active"),l.post(ajaxurl,e,function(e){e=JSON.parse(e),n.removeClass("loading").find(".spinner").removeClass("is-active"),t.find(".progress-bar").css("width",e.percent),t.find(".progressCount").val(e.totalRoleActiveCapabilities),t.find(".sr-only").text(e.percent+" Capabilities")})}),l(document).on("click",".js-openInfo",function(e){e.preventDefault();var n=l(this).parents(".roleRow"),t=n.next(".capabilitiesRow"),a=n.find(".js-collapseLink"),o=a.text(),i=a.data("othertext");a.toggleClass("open").text(i).data("othertext",o),t.toggleClass("hidden")}),l(document).on("click",".deleteRole",function(e){e.preventDefault();var n={action:"deleteRole",role_id:l(this).parents(".roleRow").find(".role_id").val()};l.post(ajaxurl,n,function(e){location.reload()})}),l(document).on("click",".js-cleanUp",function(e){e.preventDefault();var n={action:"cleanUp",delcaps:l(".deleteCap").val()};l.post(ajaxurl,n,function(e){setInterval(location.reload(),5e3)})})}(jQuery);
  • dd-roles/trunk/readme.txt

    r2174294 r2386617  
    1 === DD Roles ===
     1    === DD Roles ===
    22Contributors: Mosterd3d
    33Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=5V2C94HQAN63C&lc=US&item_name=Dijkstra%20Design&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted
    44Tags: Roles, Capabilities, Migrate, Users, Clean up, Custom, restrictions, restriction, block, user, role, admin bar, bar, banned, log, off, destroy, session, online, powerful, clear
    55Requires at least: 3.3
    6 Tested up to: 5.2.3
    7 Stable tag: 3.1
     6Tested up to: 5.5.1
     7Stable tag: 3.2
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    3131
    3232== Changelog ==
     33
     34= 3.2 =
     35* Fix minor bugs
     36* Replace deprecated e.which with e.key
    3337
    3438= 3.1 =
  • dd-roles/trunk/views/settingPage.php

    r2174294 r2386617  
    1717                        include_once('widgets/migrate_users.php');
    1818                        include_once('widgets/donate.php');
     19//                        include_once('widgets/advanced.php');
    1920                    ?>
    2021                </div>
  • dd-roles/trunk/views/widgets/manage_capabilities.php

    r2173179 r2386617  
    4242                            <select name="deleteCap" id="role" class="widefat deleteCap">
    4343                                <?php
    44                                 foreach( $customCaps as $capability ) {
    45                                     $capabilityDisplay = str_replace('_',' ',$capability);
    46                                     $capabilityDisplay = ucfirst($capabilityDisplay);
    47                                     echo '<option value="'.$capability.'">'.$capabilityDisplay.'</option>';
    48                                 }
     44                                    foreach( $customCaps as $capability ) {
     45                                        $capabilityDisplay = str_replace('_',' ',$capability);
     46                                        $capabilityDisplay = ucfirst($capabilityDisplay);
     47                                        echo '<option value="'.$capability.'">'.$capabilityDisplay.'</option>';
     48                                    }
    4949                                ?>
    5050                            </select>
     
    6363            </div>
    6464        <?php endif; ?>
    65 
    6665    </div>
    6766</div>
  • dd-roles/trunk/views/widgets/migrate_users.php

    r2174294 r2386617  
    11<?php
    22$onlyAdminRoles = dd_roles::onlyAdminRoles();
    3 if (!$onlyAdminRoles){
    4     ?>
     3if (!$onlyAdminRoles) : ?>
    54    <div id="migratediv" class="postbox ">
    65        <h3 class="hndle"><span>Migrate Users</span></h3>
     
    1211                            <select name="fromRole" id="role" class="widefat fromRole">
    1312                                <?php
    14                                     global $wp_roles;
    15                                     $roles = $wp_roles->get_names();
     13                                    foreach (self::getAllNonAdminRoles() as $role_id => $role) {
     14                                        $totalUsers = self::getRoleTotalUsers($role_id);
     15                                        $totalUsersText = $totalUsers ? ' ('.ngettext($totalUsers.' '.__('User'), $totalUsers.' '.__('Users'), $totalUsers).')' : '';
    1616
    17                                     foreach ($roles as $role_id => $role) {
    18 
    19                                         if($role_id != 'administrator'){
    20 
    21                                             $totalUsers = self::getRoleTotalUsers($role_id);
    22                                             $totalUsersText = $totalUsers ? ' ('.ngettext($totalUsers.' '.__('User'), $totalUsers.' '.__('Users'), $totalUsers).')' : '';
     17                                        if($totalUsers) {
    2318                                            echo '<option value="'.$role_id.'">'.translate_user_role( $role ).$totalUsersText.'</option>';
    2419                                        }
     
    3328                            <select name="toRole" id="role" class="widefat toRole">
    3429                                <?php
    35                                 global $wp_roles;
    36                                 $roles = $wp_roles->get_names();
    37                                 foreach ($roles as $role_id => $role) {
    38                                     if($role_id != 'administrator'){
     30                                    foreach (self::getAllNonAdminRoles() as $role_id => $role) {
    3931                                        $totalUsers = self::getRoleTotalUsers($role_id);
    40                                         $totalUsers = $totalUsers? '('.ngettext($totalUsers.' '.__('User'), $totalUsers.' '.__('Users'), $totalUsers).')' : ''; // prints "4 cats"
     32                                        $totalUsers = isset($totalUsers) ? '('.ngettext($totalUsers.' '.__('User'), $totalUsers.' '.__('Users'), $totalUsers).')' : '';
    4133                                        echo '<option value="'.$role_id.'">'.translate_user_role( $role ).' '.$totalUsers.'</option>';
    4234                                    }
    43                                 }
    4435                                ?>
    4536                            </select>
     
    5950        </div>
    6051    </div>
    61 <?php
    62 }
     52<?php endif;
Note: See TracChangeset for help on using the changeset viewer.