浏览代码

Detect WordPress for optional sponsoring message

Gaël Métais 4 年之前
父节点
当前提交
88483af607
共有 3 个文件被更改,包括 21 次插入0 次删除
  1. 4 0
      front/src/views/dashboard.html
  2. 4 0
      lib/runner.js
  3. 13 0
      lib/tools/redownload/redownload.js

+ 4 - 0
front/src/views/dashboard.html

@@ -55,6 +55,10 @@
         </div>
     </div>
 
+    <%if (sponsoring.wordpress) { %>
+        <div ng-if="result.frameworks.isWordPress && !error" class="sponsor"><%- sponsoring.wordpress %></div>
+    <% } %>
+
     <%if (sponsoring.dashboard) { %>
         <div ng-if="!error && !fromSocialShare" class="sponsor"><%- sponsoring.dashboard %></div>
     <% } %>

+ 4 - 0
lib/runner.js

@@ -77,6 +77,10 @@ var Runner = function(params) {
             data.blockedRequests = data.toolsResults.phantomas.offenders.blockedRequests;
         }
 
+        // Report WordPress detection
+        if (data.toolsResults.redownload.metrics.isWordPress === true) {
+            data.frameworks = {isWordPress: true};
+        }
 
         // Finished!
         deferred.resolve(data);

+ 13 - 0
lib/tools/redownload/redownload.js

@@ -178,6 +178,8 @@ var Redownload = function() {
                 offenders.unusedUnicodeRanges = listUnusedUnicodeRanges(results);
                 metrics.unusedUnicodeRanges = offenders.unusedUnicodeRanges.count;
 
+                // Detect WordPress
+                metrics.isWordPress = detectWordPress(results);
 
                 data.toolsResults.redownload = {
                     metrics: metrics,
@@ -741,6 +743,17 @@ var Redownload = function() {
         };
     }
 
+    function detectWordPress(requests) {
+        // Check the first file only
+        if (requests[0].isHTML 
+            && requests[0].weightCheck.bodyBuffer 
+            && requests[0].weightCheck.bodyBuffer.indexOf('/wp-content/') > 0) {
+            
+            return true;
+        }
+        return false;
+    }
+
 
     function redownloadEntry(entry, httpAuth, proxy) {
         var deferred = Q.defer();