Changeset 963988
- Timestamp:
- 08/11/2014 05:07:18 PM (12 years ago)
- Location:
- dxw-security/trunk
- Files:
-
- 7 edited
-
assets/main.min.css (modified) (1 diff)
-
dxw-security.php (modified) (2 diffs)
-
lib/api.class.php (modified) (3 diffs)
-
lib/dashboard_widget.class.php (modified) (4 diffs)
-
lib/plugin_review_column.class.php (modified) (1 diff)
-
lib/review_data.class.php (modified) (4 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
dxw-security/trunk/assets/main.min.css
r934360 r963988 1 .dialog-link,.review-error{display:block}.dialog-link h3,.review-error h3{margin-top:0}.dialog-link .more-info,.review-error .more-info{margin-bottom:0}.red_colour_box{background-color:#fcf3ef}.red_colour_box h2 a,.red_colour_box.dialog-link *,.red_colour_box.review-error *,.red_colour_box [class^="icon-"],.red_colour_box [class*=" icon-"]{color:#d54e21;text-decoration:none}.red_colour_box h2 a:hover,.red_colour_box.dialog-link:hover *,.red_colour_box.review-error:hover *{color:#dd714d}.amber_colour_box{background-color:#f8efe2}.amber_colour_box h2 a,.amber_colour_box.dialog-link *,.amber_colour_box.review-error *,.amber_colour_box [class^="icon-"],.amber_colour_box [class*=" icon-"]{color:#db9702;text-decoration:none}.amber_colour_box h2 a:hover,.amber_colour_box.dialog-link:hover *,.amber_colour_box.review-error:hover *{color:#f4a802}.green_colour_box{background-color:#edf7df}.green_colour_box h2 a,.green_colour_box.dialog-link *,.green_colour_box.review-error *,.green_colour_box [class^="icon-"],.green_colour_box [class*=" icon-"]{color:#6cbb3c;text-decoration:none}.green_colour_box h2 a:hover,.green_colour_box.dialog-link:hover *,.green_colour_box.review-error:hover *{color:#3f6e23}.grey_colour_box{background-color:#f0f0f0}.grey_colour_box h2 a,.grey_colour_box.dialog-link *,.grey_colour_box.review-error *,.grey_colour_box [class^="icon-"],.grey_colour_box [class*=" icon-"]{color:#808080;text-decoration:none}.grey_colour_box h2 a:hover,.grey_colour_box.dialog-link:hover *,.grey_colour_box.review-error:hover *{color:#4d4d4d}.review-message{padding:12px;min-width:200px}.review-message a{text-decoration:none}.review-message. use-with-caution,.review-message .other-review.use-with-caution{background-color:#f8efe2}.review-message.use-with-caution h2 a,.review-message .other-review.use-with-caution h2 a,.review-message.use-with-caution.dialog-link *,.review-message .other-review.use-with-caution.dialog-link *,.review-message.use-with-caution.review-error *,.review-message .other-review.use-with-caution.review-error *,.review-message.use-with-caution [class^="icon-"],.review-message .other-review.use-with-caution [class^="icon-"],.review-message.use-with-caution [class*=" icon-"],.review-message .other-review.use-with-caution [class*=" icon-"]{color:#db9702;text-decoration:none}.review-message.use-with-caution h2 a:hover,.review-message .other-review.use-with-caution h2 a:hover,.review-message.use-with-caution.dialog-link:hover *,.review-message .other-review.use-with-caution.dialog-link:hover *,.review-message.use-with-caution.review-error:hover *,.review-message .other-review.use-with-caution.review-error:hover *{color:#f4a802}.review-message.potentially-unsafe,.review-message .other-review.potentially-unsafe{background-color:#fcf3ef}.review-message.potentially-unsafe h2 a,.review-message .other-review.potentially-unsafe h2 a,.review-message.potentially-unsafe.dialog-link *,.review-message .other-review.potentially-unsafe.dialog-link *,.review-message.potentially-unsafe.review-error *,.review-message .other-review.potentially-unsafe.review-error *,.review-message.potentially-unsafe [class^="icon-"],.review-message .other-review.potentially-unsafe [class^="icon-"],.review-message.potentially-unsafe [class*=" icon-"],.review-message .other-review.potentially-unsafe [class*=" icon-"]{color:#d54e21;text-decoration:none}.review-message.potentially-unsafe h2 a:hover,.review-message .other-review.potentially-unsafe h2 a:hover,.review-message.potentially-unsafe.dialog-link:hover *,.review-message .other-review.potentially-unsafe.dialog-link:hover *,.review-message.potentially-unsafe.review-error:hover *,.review-message .other-review.potentially-unsafe.review-error:hover *{color:#dd714d}.review-message.no-issues-found,.review-message .other-review.no-issues-found{background-color:#edf7df}.review-message.no-issues-found h2 a,.review-message .other-review.no-issues-found h2 a,.review-message.no-issues-found.dialog-link *,.review-message .other-review.no-issues-found.dialog-link *,.review-message.no-issues-found.review-error *,.review-message .other-review.no-issues-found.review-error *,.review-message.no-issues-found [class^="icon-"],.review-message .other-review.no-issues-found [class^="icon-"],.review-message.no-issues-found [class*=" icon-"],.review-message .other-review.no-issues-found [class*=" icon-"]{color:#6cbb3c;text-decoration:none}.review-message.no-issues-found h2 a:hover,.review-message .other-review.no-issues-found h2 a:hover,.review-message.no-issues-found.dialog-link:hover *,.review-message .other-review.no-issues-found.dialog-link:hover *,.review-message.no-issues-found.review-error:hover *,.review-message .other-review.no-issues-found.review-error:hover *{color:#3f6e23}.review-message.no-info,.review-message.review-error{background-color:#f0f0f0}.review-message.no-info h2 a,.review-message.review-error h2 a,.review-message.no-info.dialog-link *,.review-message.review-error.dialog-link *,.review-message.no-info.review-error *,.review-message.review-error.review-error *,.review-message.no-info [class^="icon-"],.review-message.review-error [class^="icon-"],.review-message.no-info [class*=" icon-"],.review-message.review-error [class*=" icon-"]{color:#808080;text-decoration:none}.review-message.no-info h2 a:hover,.review-message.review-error h2 a:hover,.review-message.no-info.dialog-link:hover *,.review-message.review-error.dialog-link:hover *,.review-message.no-info.review-error:hover *,.review-message.review-error.review-error:hover *{color:#4d4d4d}.review-message.other-versions-reviewed{background-color:#f0f0f0}.review-message.other-versions-reviewed.dialog-link *{color:#808080;text-decoration:none}.review-message.other-versions-reviewed.dialog-link:hover *{color:#4d4d4d}.review-message.other-versions-reviewed.dialog .intro{font-size:14px}.review-message.other-versions-reviewed.dialog .other-review{padding:0 20px;margin-bottom:20px;border:1px solid #808080}.review-message h2.use-with-caution a{color:#db9702}.review-message h2.potentially-unsafe a{color:#d54e21}.review-message h2.no-issues-found a{color:#6cbb3c}.review-message ul{list-style:disc inside none;padding-left:20px}.review-message.dialog-link ul.reviewed_versions{margin:8px 0 0;padding:0;list-style:none}.review-message.dialog-link ul.reviewed_versions li{font-weight:bold;font-size:1em;margin:6px 0 0}.review-message.dialog-link ul.reviewed_versions li [class^="icon-"],.review-message.dialog-link ul.reviewed_versions li [class*=" icon-"]{margin-right:3px}.review-message.dialog-link ul.reviewed_versions li.no-issues-found,.review-message.dialog-link ul.reviewed_versions li .icon-no-issues-found{color:#6cbb3c}.review-message.dialog-link ul.reviewed_versions li.use-with-caution,.review-message.dialog-link ul.reviewed_versions li .icon-use-with-caution{color:#db9702}.review-message.dialog-link ul.reviewed_versions li.potentially-unsafe,.review-message.dialog-link ul.reviewed_versions li .icon-potentially-unsafe{color:#d54e21}.dialog.review-message #dxw-sec-link{float:right;margin-top:15px;padding:5px 20px}.dialog.review-message .inner{padding:5px 20px;margin-right:101px}.dialog.review-message .inner a.read-more{margin-bottom:15px;display:inline-block}.dialog.review-message .inner a.read-more.button-primary{color:#fff}.dialog.review-message.no-info a.read-more{color:#0074a2}.dialog.review-message.no-info a.read-more:hover{color:#2ea2cc}.dialog.review-message h3{margin-bottom:0}#dashboard_dxw_security .review_counts .plugin_review_count_box_inner{padding:10px;margin:5px;height:165px}#dashboard_dxw_security .review_counts .plugin_review_count_box_inner .count{display:block;font-size:40px;margin:10px 0;line-height:1;text-align:center;font-weight:bold}#dashboard_dxw_security .review_counts .plugin_review_count_box_inner [class^="icon-"],#dashboard_dxw_security .review_counts .plugin_review_count_box_inner [class*=" icon-"]{display:block;font-size:30px;padding:10px}#dashboard_dxw_security .review_counts li.plugin_review_count_box{width:33.33%;width:calc(33.333333333333336%);float:left;text-align:center}#dashboard_dxw_security .review_counts li.no-info{clear:left;padding:10px;margin:0 5px 10px}#dashboard_dxw_security .review_counts li.no-info .count{margin-left:5px;display:inline-block;width:15px;text-align:right}#dashboard_dxw_security .review_counts a{color:inherit}#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe{background-color:#fcf3ef}#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe h2 a,#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe.dialog-link *,#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe.review-error *,#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe [class^="icon-"],#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe [class*=" icon-"]{color:#d54e21;text-decoration:none}#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe h2 a:hover,#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe.dialog-link:hover *,#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe.review-error:hover *{color:#dd714d}#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe:hover{background-color:#f4d3c4}#dashboard_dxw_security .plugin_review_count_box .use-with-caution{background-color:#f8efe2}#dashboard_dxw_security .plugin_review_count_box .use-with-caution h2 a,#dashboard_dxw_security .plugin_review_count_box .use-with-caution.dialog-link *,#dashboard_dxw_security .plugin_review_count_box .use-with-caution.review-error *,#dashboard_dxw_security .plugin_review_count_box .use-with-caution [class^="icon-"],#dashboard_dxw_security .plugin_review_count_box .use-with-caution [class*=" icon-"]{color:#db9702;text-decoration:none}#dashboard_dxw_security .plugin_review_count_box .use-with-caution h2 a:hover,#dashboard_dxw_security .plugin_review_count_box .use-with-caution.dialog-link:hover *,#dashboard_dxw_security .plugin_review_count_box .use-with-caution.review-error:hover *{color:#f4a802}#dashboard_dxw_security .plugin_review_count_box .use-with-caution:hover{background-color:#eed8b9}#dashboard_dxw_security .plugin_review_count_box .no-issues-found{background-color:#edf7df}#dashboard_dxw_security .plugin_review_count_box .no-issues-found h2 a,#dashboard_dxw_security .plugin_review_count_box .no-issues-found.dialog-link *,#dashboard_dxw_security .plugin_review_count_box .no-issues-found.review-error *,#dashboard_dxw_security .plugin_review_count_box .no-issues-found [class^="icon-"],#dashboard_dxw_security .plugin_review_count_box .no-issues-found [class*=" icon-"]{color:#6cbb3c;text-decoration:none}#dashboard_dxw_security .plugin_review_count_box .no-issues-found h2 a:hover,#dashboard_dxw_security .plugin_review_count_box .no-issues-found.dialog-link:hover *,#dashboard_dxw_security .plugin_review_count_box .no-issues-found.review-error:hover *{color:#3f6e23}#dashboard_dxw_security .plugin_review_count_box .no-issues-found:hover{background-color:#d6edb6}#dashboard_dxw_security .plugin_review_count_box .none{background-color:#f0f0f0}#dashboard_dxw_security .plugin_review_count_box .none h2 a,#dashboard_dxw_security .plugin_review_count_box .none.dialog-link *,#dashboard_dxw_security .plugin_review_count_box .none.review-error *,#dashboard_dxw_security .plugin_review_count_box .none [class^="icon-"],#dashboard_dxw_security .plugin_review_count_box .none [class*=" icon-"]{color:#808080;text-decoration:none}#dashboard_dxw_security .plugin_review_count_box .none h2 a:hover,#dashboard_dxw_security .plugin_review_count_box .none.dialog-link:hover *,#dashboard_dxw_security .plugin_review_count_box .none.review-error:hover *{color:#4d4d4d}#dashboard_dxw_security .plugin_review_count_box .none:hover{background-color:#f0f0f0}#dashboard_dxw_security .no-info{background-color:#f0f0f0}#dashboard_dxw_security .no-info h2 a,#dashboard_dxw_security .no-info.dialog-link *,#dashboard_dxw_security .no-info.review-error *,#dashboard_dxw_security .no-info [class^="icon-"],#dashboard_dxw_security .no-info [class*=" icon-"]{color:#808080;text-decoration:none}#dashboard_dxw_security .no-info h2 a:hover,#dashboard_dxw_security .no-info.dialog-link:hover *,#dashboard_dxw_security .no-info.review-error:hover *{color:#4d4d4d}#dashboard_dxw_security .no-info:hover{background-color:#d7d7d7}body.plugins-php .ui-dialog{overflow:hidden}@font-face{font-family:'dxw-security';src:url('fonts/dxw-security.eot?-ogm5cz');src:url('fonts/dxw-security.eot?#iefix-ogm5cz') format('embedded-opentype'),url('fonts/dxw-security.woff?-ogm5cz') format('woff'),url('fonts/dxw-security.ttf?-ogm5cz') format('truetype'),url('fonts/dxw-security.svg?-ogm5cz#dxw-security') format('svg');font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:'dxw-security';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-no-issues-found:before{content:"\e601"}.icon-use-with-caution:before{content:"\e600"}.icon-potentially-unsafe:before{content:"\e602"}.icon-no-info:before{content:"\e604"}1 .dialog-link,.review-error{display:block}.dialog-link h3,.review-error h3{margin-top:0}.dialog-link .more-info,.review-error .more-info{margin-bottom:0}.red_colour_box{background-color:#fcf3ef}.red_colour_box h2 a,.red_colour_box.dialog-link *,.red_colour_box.review-error *,.red_colour_box [class^="icon-"],.red_colour_box [class*=" icon-"]{color:#d54e21;text-decoration:none}.red_colour_box h2 a:hover,.red_colour_box.dialog-link:hover *,.red_colour_box.review-error:hover *{color:#dd714d}.amber_colour_box{background-color:#f8efe2}.amber_colour_box h2 a,.amber_colour_box.dialog-link *,.amber_colour_box.review-error *,.amber_colour_box [class^="icon-"],.amber_colour_box [class*=" icon-"]{color:#db9702;text-decoration:none}.amber_colour_box h2 a:hover,.amber_colour_box.dialog-link:hover *,.amber_colour_box.review-error:hover *{color:#f4a802}.green_colour_box{background-color:#edf7df}.green_colour_box h2 a,.green_colour_box.dialog-link *,.green_colour_box.review-error *,.green_colour_box [class^="icon-"],.green_colour_box [class*=" icon-"]{color:#6cbb3c;text-decoration:none}.green_colour_box h2 a:hover,.green_colour_box.dialog-link:hover *,.green_colour_box.review-error:hover *{color:#3f6e23}.grey_colour_box{background-color:#f0f0f0}.grey_colour_box h2 a,.grey_colour_box.dialog-link *,.grey_colour_box.review-error *,.grey_colour_box [class^="icon-"],.grey_colour_box [class*=" icon-"]{color:#808080;text-decoration:none}.grey_colour_box h2 a:hover,.grey_colour_box.dialog-link:hover *,.grey_colour_box.review-error:hover *{color:#4d4d4d}.review-message{padding:12px;min-width:200px}.review-message a{text-decoration:none}.review-message.vulnerable,.review-message .other-review.vulnerable{background-color:#fcf3ef}.review-message.vulnerable h2 a,.review-message .other-review.vulnerable h2 a,.review-message.vulnerable.dialog-link *,.review-message .other-review.vulnerable.dialog-link *,.review-message.vulnerable.review-error *,.review-message .other-review.vulnerable.review-error *,.review-message.vulnerable [class^="icon-"],.review-message .other-review.vulnerable [class^="icon-"],.review-message.vulnerable [class*=" icon-"],.review-message .other-review.vulnerable [class*=" icon-"]{color:#d54e21;text-decoration:none}.review-message.vulnerable h2 a:hover,.review-message .other-review.vulnerable h2 a:hover,.review-message.vulnerable.dialog-link:hover *,.review-message .other-review.vulnerable.dialog-link:hover *,.review-message.vulnerable.review-error:hover *,.review-message .other-review.vulnerable.review-error:hover *{color:#dd714d}.review-message.potentially-unsafe,.review-message .other-review.potentially-unsafe{background-color:#fcf3ef}.review-message.potentially-unsafe h2 a,.review-message .other-review.potentially-unsafe h2 a,.review-message.potentially-unsafe.dialog-link *,.review-message .other-review.potentially-unsafe.dialog-link *,.review-message.potentially-unsafe.review-error *,.review-message .other-review.potentially-unsafe.review-error *,.review-message.potentially-unsafe [class^="icon-"],.review-message .other-review.potentially-unsafe [class^="icon-"],.review-message.potentially-unsafe [class*=" icon-"],.review-message .other-review.potentially-unsafe [class*=" icon-"]{color:#d54e21;text-decoration:none}.review-message.potentially-unsafe h2 a:hover,.review-message .other-review.potentially-unsafe h2 a:hover,.review-message.potentially-unsafe.dialog-link:hover *,.review-message .other-review.potentially-unsafe.dialog-link:hover *,.review-message.potentially-unsafe.review-error:hover *,.review-message .other-review.potentially-unsafe.review-error:hover *{color:#dd714d}.review-message.use-with-caution,.review-message .other-review.use-with-caution{background-color:#f8efe2}.review-message.use-with-caution h2 a,.review-message .other-review.use-with-caution h2 a,.review-message.use-with-caution.dialog-link *,.review-message .other-review.use-with-caution.dialog-link *,.review-message.use-with-caution.review-error *,.review-message .other-review.use-with-caution.review-error *,.review-message.use-with-caution [class^="icon-"],.review-message .other-review.use-with-caution [class^="icon-"],.review-message.use-with-caution [class*=" icon-"],.review-message .other-review.use-with-caution [class*=" icon-"]{color:#db9702;text-decoration:none}.review-message.use-with-caution h2 a:hover,.review-message .other-review.use-with-caution h2 a:hover,.review-message.use-with-caution.dialog-link:hover *,.review-message .other-review.use-with-caution.dialog-link:hover *,.review-message.use-with-caution.review-error:hover *,.review-message .other-review.use-with-caution.review-error:hover *{color:#f4a802}.review-message.no-issues-found,.review-message .other-review.no-issues-found{background-color:#edf7df}.review-message.no-issues-found h2 a,.review-message .other-review.no-issues-found h2 a,.review-message.no-issues-found.dialog-link *,.review-message .other-review.no-issues-found.dialog-link *,.review-message.no-issues-found.review-error *,.review-message .other-review.no-issues-found.review-error *,.review-message.no-issues-found [class^="icon-"],.review-message .other-review.no-issues-found [class^="icon-"],.review-message.no-issues-found [class*=" icon-"],.review-message .other-review.no-issues-found [class*=" icon-"]{color:#6cbb3c;text-decoration:none}.review-message.no-issues-found h2 a:hover,.review-message .other-review.no-issues-found h2 a:hover,.review-message.no-issues-found.dialog-link:hover *,.review-message .other-review.no-issues-found.dialog-link:hover *,.review-message.no-issues-found.review-error:hover *,.review-message .other-review.no-issues-found.review-error:hover *{color:#3f6e23}.review-message.no-info,.review-message.review-error{background-color:#f0f0f0}.review-message.no-info h2 a,.review-message.review-error h2 a,.review-message.no-info.dialog-link *,.review-message.review-error.dialog-link *,.review-message.no-info.review-error *,.review-message.review-error.review-error *,.review-message.no-info [class^="icon-"],.review-message.review-error [class^="icon-"],.review-message.no-info [class*=" icon-"],.review-message.review-error [class*=" icon-"]{color:#808080;text-decoration:none}.review-message.no-info h2 a:hover,.review-message.review-error h2 a:hover,.review-message.no-info.dialog-link:hover *,.review-message.review-error.dialog-link:hover *,.review-message.no-info.review-error:hover *,.review-message.review-error.review-error:hover *{color:#4d4d4d}.review-message.other-versions-reviewed{background-color:#f0f0f0}.review-message.other-versions-reviewed.dialog-link *{color:#808080;text-decoration:none}.review-message.other-versions-reviewed.dialog-link:hover *{color:#4d4d4d}.review-message.other-versions-reviewed.dialog .intro{font-size:14px}.review-message.other-versions-reviewed.dialog .other-review{padding:0 20px;margin-bottom:20px;border:1px solid #808080}.review-message h2.vulnerable a{color:#d54e21}.review-message h2.potentially-unsafe a{color:#d54e21}.review-message h2.use-with-caution a{color:#db9702}.review-message h2.no-issues-found a{color:#6cbb3c}.review-message ul{list-style:disc inside none;padding-left:20px}.review-message.dialog-link ul.reviewed_versions{margin:8px 0 0;padding:0;list-style:none}.review-message.dialog-link ul.reviewed_versions li{font-weight:bold;font-size:1em;margin:6px 0 0}.review-message.dialog-link ul.reviewed_versions li [class^="icon-"],.review-message.dialog-link ul.reviewed_versions li [class*=" icon-"]{margin-right:3px}.review-message.dialog-link ul.reviewed_versions li.vulnerable,.review-message.dialog-link ul.reviewed_versions li .icon-vulnerable{color:#d54e21}.review-message.dialog-link ul.reviewed_versions li.potentially-unsafe,.review-message.dialog-link ul.reviewed_versions li .icon-potentially-unsafe{color:#d54e21}.review-message.dialog-link ul.reviewed_versions li.use-with-caution,.review-message.dialog-link ul.reviewed_versions li .icon-use-with-caution{color:#db9702}.review-message.dialog-link ul.reviewed_versions li.no-issues-found,.review-message.dialog-link ul.reviewed_versions li .icon-no-issues-found{color:#6cbb3c}.dialog.review-message #dxw-sec-link{float:right;margin-top:15px;padding:5px 20px}.dialog.review-message .inner{padding:5px 20px;margin-right:101px}.dialog.review-message .inner a.read-more{margin-bottom:15px;display:inline-block}.dialog.review-message .inner a.read-more.button-primary{color:#fff}.dialog.review-message.no-info a.read-more{color:#0074a2}.dialog.review-message.no-info a.read-more:hover{color:#2ea2cc}.dialog.review-message h3{margin-bottom:0}#dashboard_dxw_security .review_counts .plugin_review_count_box_inner{padding:10px;margin:5px;height:165px}#dashboard_dxw_security .review_counts .plugin_review_count_box_inner .count{display:block;font-size:40px;margin:10px 0;line-height:1;text-align:center;font-weight:bold}#dashboard_dxw_security .review_counts .plugin_review_count_box_inner [class^="icon-"],#dashboard_dxw_security .review_counts .plugin_review_count_box_inner [class*=" icon-"]{display:block;font-size:30px;padding:10px}#dashboard_dxw_security .review_counts li.plugin_review_count_box{width:25%;float:left;text-align:center}#dashboard_dxw_security .review_counts li.no-info{clear:left;padding:10px;margin:0 5px 10px}#dashboard_dxw_security .review_counts li.no-info .count{margin-left:5px;display:inline-block;width:15px;text-align:right}#dashboard_dxw_security .review_counts a{color:inherit}#dashboard_dxw_security .plugin_review_count_box .vulnerable{background-color:#fcf3ef}#dashboard_dxw_security .plugin_review_count_box .vulnerable h2 a,#dashboard_dxw_security .plugin_review_count_box .vulnerable.dialog-link *,#dashboard_dxw_security .plugin_review_count_box .vulnerable.review-error *,#dashboard_dxw_security .plugin_review_count_box .vulnerable [class^="icon-"],#dashboard_dxw_security .plugin_review_count_box .vulnerable [class*=" icon-"]{color:#d54e21;text-decoration:none}#dashboard_dxw_security .plugin_review_count_box .vulnerable h2 a:hover,#dashboard_dxw_security .plugin_review_count_box .vulnerable.dialog-link:hover *,#dashboard_dxw_security .plugin_review_count_box .vulnerable.review-error:hover *{color:#dd714d}#dashboard_dxw_security .plugin_review_count_box .vulnerable:hover{background-color:#f4d3c4}#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe{background-color:#fcf3ef}#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe h2 a,#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe.dialog-link *,#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe.review-error *,#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe [class^="icon-"],#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe [class*=" icon-"]{color:#d54e21;text-decoration:none}#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe h2 a:hover,#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe.dialog-link:hover *,#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe.review-error:hover *{color:#dd714d}#dashboard_dxw_security .plugin_review_count_box .potentially-unsafe:hover{background-color:#f4d3c4}#dashboard_dxw_security .plugin_review_count_box .use-with-caution{background-color:#f8efe2}#dashboard_dxw_security .plugin_review_count_box .use-with-caution h2 a,#dashboard_dxw_security .plugin_review_count_box .use-with-caution.dialog-link *,#dashboard_dxw_security .plugin_review_count_box .use-with-caution.review-error *,#dashboard_dxw_security .plugin_review_count_box .use-with-caution [class^="icon-"],#dashboard_dxw_security .plugin_review_count_box .use-with-caution [class*=" icon-"]{color:#db9702;text-decoration:none}#dashboard_dxw_security .plugin_review_count_box .use-with-caution h2 a:hover,#dashboard_dxw_security .plugin_review_count_box .use-with-caution.dialog-link:hover *,#dashboard_dxw_security .plugin_review_count_box .use-with-caution.review-error:hover *{color:#f4a802}#dashboard_dxw_security .plugin_review_count_box .use-with-caution:hover{background-color:#eed8b9}#dashboard_dxw_security .plugin_review_count_box .no-issues-found{background-color:#edf7df}#dashboard_dxw_security .plugin_review_count_box .no-issues-found h2 a,#dashboard_dxw_security .plugin_review_count_box .no-issues-found.dialog-link *,#dashboard_dxw_security .plugin_review_count_box .no-issues-found.review-error *,#dashboard_dxw_security .plugin_review_count_box .no-issues-found [class^="icon-"],#dashboard_dxw_security .plugin_review_count_box .no-issues-found [class*=" icon-"]{color:#6cbb3c;text-decoration:none}#dashboard_dxw_security .plugin_review_count_box .no-issues-found h2 a:hover,#dashboard_dxw_security .plugin_review_count_box .no-issues-found.dialog-link:hover *,#dashboard_dxw_security .plugin_review_count_box .no-issues-found.review-error:hover *{color:#3f6e23}#dashboard_dxw_security .plugin_review_count_box .no-issues-found:hover{background-color:#d6edb6}#dashboard_dxw_security .plugin_review_count_box .none{background-color:#f0f0f0}#dashboard_dxw_security .plugin_review_count_box .none h2 a,#dashboard_dxw_security .plugin_review_count_box .none.dialog-link *,#dashboard_dxw_security .plugin_review_count_box .none.review-error *,#dashboard_dxw_security .plugin_review_count_box .none [class^="icon-"],#dashboard_dxw_security .plugin_review_count_box .none [class*=" icon-"]{color:#808080;text-decoration:none}#dashboard_dxw_security .plugin_review_count_box .none h2 a:hover,#dashboard_dxw_security .plugin_review_count_box .none.dialog-link:hover *,#dashboard_dxw_security .plugin_review_count_box .none.review-error:hover *{color:#4d4d4d}#dashboard_dxw_security .plugin_review_count_box .none:hover{background-color:#f0f0f0}#dashboard_dxw_security .no-info{background-color:#f0f0f0}#dashboard_dxw_security .no-info h2 a,#dashboard_dxw_security .no-info.dialog-link *,#dashboard_dxw_security .no-info.review-error *,#dashboard_dxw_security .no-info [class^="icon-"],#dashboard_dxw_security .no-info [class*=" icon-"]{color:#808080;text-decoration:none}#dashboard_dxw_security .no-info h2 a:hover,#dashboard_dxw_security .no-info.dialog-link:hover *,#dashboard_dxw_security .no-info.review-error:hover *{color:#4d4d4d}#dashboard_dxw_security .no-info:hover{background-color:#d7d7d7}body.plugins-php .ui-dialog{overflow:hidden}@font-face{font-family:'dxw-security';src:url('fonts/dxw-security.eot?-ogm5cz');src:url('fonts/dxw-security.eot?#iefix-ogm5cz') format('embedded-opentype'),url('fonts/dxw-security.woff?-ogm5cz') format('woff'),url('fonts/dxw-security.ttf?-ogm5cz') format('truetype'),url('fonts/dxw-security.svg?-ogm5cz#dxw-security') format('svg');font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:'dxw-security';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-vulnerable:before{content:"\e602"}.icon-potentially-unsafe:before{content:"\e602"}.icon-use-with-caution:before{content:"\e600"}.icon-no-issues-found:before{content:"\e601"}.icon-no-info:before{content:"\e604"} -
dxw-security/trunk/dxw-security.php
r944315 r963988 4 4 * Plugin URI: https://wordpress.org/plugins/dxw-security/ 5 5 * Description: Pulls plugin review information from dxw Security into the wordpress plugins screen 6 * Version: 0.2. 76 * Version: 0.2.8 7 7 * License: GPLv2 8 8 * Author: dxw 9 9 * Author URI: http://dxw.com/ 10 10 */ 11 define('DXW_SECURITY_PLUGIN_VERSION', "0.2. 7");11 define('DXW_SECURITY_PLUGIN_VERSION', "0.2.8"); 12 12 13 13 // Prevent Full Path Disclosure … … 16 16 // CONFIG: 17 17 if (!defined('DXW_SECURITY_API_ROOT')) { 18 define('DXW_SECURITY_API_ROOT', 'https://app.security.dxw.com/api ');18 define('DXW_SECURITY_API_ROOT', 'https://app.security.dxw.com/api/v2'); 19 19 } 20 20 if (!defined('DXW_SECURITY_CACHE_RESPONSES')) { -
dxw-security/trunk/lib/api.class.php
r942263 r963988 13 13 // TODO: Currently this only handles directory plugins 14 14 protected function api_path() { 15 return "/ directory_plugins/{$this->plugin_slug}/reviews/";15 return "/plugins/{$this->plugin_slug}/reviews/"; 16 16 } 17 17 … … 29 29 // php doesn't support nested classes so these need to live outside the API class 30 30 class dxw_security_API_Error extends \Exception { } 31 class dxw_security_API_NotFound extends dxw_security_API_Error { } 31 32 class dxw_security_API { 32 33 // TODO: This class doesn't work on it's own, only when extended by a class which defines the following: … … 84 85 85 86 case 404: 86 throw new Dxw_Security_NotFound(); 87 // This should only get triggered if a bad request was made to the api - e.g. api/v2/foo 88 // In this scenario we get a usage message - could check for that but there doesn't seem to be much point. 89 throw new dxw_security_API_NotFound(); 87 90 88 91 default: -
dxw-security/trunk/lib/dashboard_widget.class.php
r942263 r963988 43 43 $this->get_counts($plugins); 44 44 45 $vulnerable_slug = dxw_security_Review_Data::$dxw_security_review_statuses["vulnerable"]["slug"]; 45 46 $red_slug = dxw_security_Review_Data::$dxw_security_review_statuses["red"]["slug"]; 46 47 $yellow_slug = dxw_security_Review_Data::$dxw_security_review_statuses["yellow"]["slug"]; … … 48 49 $grey_slug = dxw_security_Review_Data::$dxw_security_review_statuses["not-found"]["slug"]; 49 50 51 $first_vulnerable_plugin_link = $this->plugin_link($this->first_vulnerable_slug); 50 52 $first_red_plugin_link = $this->plugin_link($this->first_red_slug); 51 53 $first_yellow_plugin_link = $this->plugin_link($this->first_yellow_slug); … … 60 62 echo "<p>Of the {$number_of_plugins} plugins installed on this site:</p>"; 61 63 echo "<ul class='review_counts'>"; 64 $this->plugin_review_count_box($this->vulnerable, $vulnerable_slug, $first_vulnerable_plugin_link, "are known to be vulnerable"); 62 65 $this->plugin_review_count_box($this->red, $red_slug, $first_red_plugin_link, "are potentially unsafe"); 63 66 $this->plugin_review_count_box($this->yellow, $yellow_slug, $first_yellow_plugin_link, "should be used with caution"); … … 103 106 if (dxw_security_Plugin_Version_Comparer::version_matches($installed_version, $review->version)) { 104 107 switch ($review->recommendation) { 108 case "vulnerable": 109 $this->vulnerable++; 110 if (is_null($this->first_vulnerable_slug)) { $this->first_vulnerable_slug = $plugin_slug; } 111 break; 105 112 case "red": 106 113 $this->red++; -
dxw-security/trunk/lib/plugin_review_column.class.php
r934571 r963988 68 68 $status = $review->recommendation; 69 69 $reason = $review->reason; 70 $action = $review->action; 70 71 $link = $review->review_link; 71 $review_data = new dxw_security_Review_Data($version, $status, $reason, $ link);72 $review_data = new dxw_security_Review_Data($version, $status, $reason, $action, $link); 72 73 73 74 // $review->version might be a list of versions, so we need to do a little work to compare it -
dxw-security/trunk/lib/review_data.class.php
r942262 r963988 9 9 private $description; 10 10 private $reason; 11 private $action; 11 12 12 13 public static $dxw_security_review_statuses = array( … … 20 21 'slug' => "potentially-unsafe", 21 22 'description' => "Before using this plugin, you should very carefully consider its potential problems and should conduct a thorough assessment."), 23 'vulnerable'=> array( 'message' => "Vulnerable", 24 'slug' => "vulnerable", 25 'description' => "This plugin has a proven vulnerability. It might be safe to use under certain conditions but you should very carefully consider the details of the vulnerability before using it."), 22 26 'not-found' => array( 'message' => "Not yet reviewed", 23 27 'slug' => "no-info", … … 25 29 ); 26 30 27 public function __construct($version, $status, $reason="", $ link=DXW_SECURITY_PLUGINS_URL) {31 public function __construct($version, $status, $reason="", $action="", $link=DXW_SECURITY_PLUGINS_URL) { 28 32 $this->version = $version; 29 33 $this->reason = $reason; 34 $this->action = $action; 30 35 $this->link = $link; 31 36 … … 50 55 print_r("<h3>Details:</h3>"); 51 56 print_r("<p>{$this->reason}</p>"); 57 if (!empty($this->action)) { 58 echo("<h3>What should I do?</h3>"); 59 print_r("<p>{$this->action}</p>"); 60 } 52 61 echo("<a href='{$link}' class='read-more button-primary'> Read more...</a>"); 53 62 } 54 63 ?> 55 64 <?php 65 // TODO: the logic above isn't quite right: what happens if there's no reason, but an action? Probably won't happen in the short term. 56 66 } 57 67 -
dxw-security/trunk/readme.txt
r944315 r963988 4 4 Requires at least: 3.8.1 5 5 Tested up to: 3.9.1 6 Stable tag: 0.2. 76 Stable tag: 0.2.8 7 7 License: GPLv2 or later 8 8 … … 55 55 == Changelog == 56 56 57 = 0.2.8 = 58 * The plugin now uses version 2 of the api. Mostly this involves under-the-hood changes 59 * Reports now include advisories (initially only those published on security.dxw.com) 60 57 61 = 0.2.7 = 58 62 * Plugin reviews are now fetched from the api through a daily wp_cron task. This warms the cache and helps to ensure consistent stats
Note: See TracChangeset
for help on using the changeset viewer.