module WpTheme::Findable

Public Instance Methods

find(target_uri) click to toggle source

Find the main theme of the blog

@param [ URI ] target_uri

@return [ WpTheme ]

# File lib/common/models/wp_theme/findable.rb, line 10
def find(target_uri)
  methods.grep(/^find_from_/).each do |method|
    if wp_theme = self.send(method, target_uri)
      wp_theme.found_from = method

      return wp_theme
    end
  end
  nil
end

Protected Instance Methods

find_from_wooframework(target_uri) click to toggle source

code.google.com/p/wpscan/issues/detail?id=141

@param [ URI ] target_uri

@return [ WpTheme ]

# File lib/common/models/wp_theme/findable.rb, line 50
def find_from_wooframework(target_uri)
  body = Browser.get(target_uri.to_s).body
  regexp = %r{<meta name="generator" content="([^\s"]+)\s?([^"]+)?" />\s+<meta name="generator" content="WooFramework\s?([^"]+)?" />}


  if matches = regexp.match(body)
    woo_theme_name = matches[1]
    woo_theme_version = matches[2]
    #woo_framework_version = matches[3] # Not used at this time


    return new(
      target_uri,
      {
        name:    woo_theme_name,
        version: woo_theme_version
      }
    )
  end
end