File:Sumo May09 Harumafuji cropped main page.jpg
From Wikipedia, the free encyclopedia
Full resolution (600 × 800 pixels, file size: 464 KB, MIME type: image/jpeg)
This file has been temporarily uploaded from the Wikimedia Commons and protected from modification because it is currently or will soon be displayed on the Main Page. For file history and other information, please see the Commons image description. Per the protection policy, files posted on the Main Page are protected due to their high visibility. Please discuss any necessary changes on the talk page; you may use the {{Edit protected}} template to ask an administrator to make the edit if it is supported by consensus.Administrators: You must also include a copy of the source information and the licence tag from the Commons along with the image.[1] Please delete this file after it is removed from the Main Page, and restore any Wikipedia-specific edits. |
Summary
Description | Harumafuji Kōhei |
---|---|
Source | Originally posted to Wikimedia Commons as "Sumo May09 Harumafuji.jpg" Cropped by UCinternational |
Date | Taken on May 10, 2009 Commons upload by UCinternational (talk) 11:51, 21 September 2012 (UTC) |
Author | Arcimboldo (Original version) UCinternational (Crop) |
Permission (Reusing this file) | See below. |
Licensing:
|
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 03:13, 28 September 2012 | 600 × 800 (464 KB) | Chaser (talk | contribs) | {{c-uploaded}} == {{int:filedesc}} == {{Information| |Description = Harumafuji Kōhei |Date = Taken on May 10, 2009 <br /> Commons upload by UCinternational ([[User ... |
- Unfortunately you cannot overwrite this image.
- Edit this file using an external application See the setup instructions for more information.
File usage
The following file is a duplicate of this file (more details):
- File:Sumo May09 Harumafuji cropped.jpg from Wikimedia Commons
More than 100 pages link to this file. The following list shows the first 100 page links to this file only. A full list is available.
- Talk:Main Page/Archive 34
- User:4v4l0n42/Today
- User:Afterword
- User:Afterword/pretty
- User:AlMac
- User:Allard
- User:Alopex
- User:Bannus
- User:Brian/mainpage
- User:Cactus.man
- User:Cnwb
- User:Cnwb/scratchpad
- User:David Levy/Main2
- User:DonWilson
- User:Drumguy8800/Main page draft
- User:Dv82matt
- User:ElAmericano/storage/mainpage1
- User:Eloquence/Tour 01
- User:Go for it!/MP/nodiv
- User:Hemanshu/Tomorrow's main page
- User:Hemanshu/edmainpage
- User:Interiot/Main
- User:J. Finkelstein/Old page
- User:Jcrwiki
- User:JonMoore/Main Page
- User:Kevin baas/main page proposal
- User:Kinhull
- User:Krik/mp
- User:Krik/nmp
- User:LEC20/Daily Diversions
- User:Leopard
- User:Lovelac7
- User:MDM
- User:MarSch/Main body
- User:MarSch/Main page
- User:Member/Wikipedia Front Page
- User:Mitternacht90
- User:Mulad/portal
- User:Nescio
- User:Nickg331
- User:Node ue/MainPageTemplate2
- User:Patrick
- User:Persian Poet Gal
- User:Porges/Main Page
- User:Pufferfish101/Edit
- User:Quentin Smith/Shadow Main Page
- User:RaptorX
- User:Rfl
- User:SCLamont
- User:Shardsofmetal
- User:SilverStar
- User:Siroxo/main page draft
- User:Sj/M2
- User:Slgrandson
- User:Sloman
- User:Solipsist/MainPageTemp
- User:Solipsist/MainPageTemp-22Jul
- User:Solipsist/MainPageTemp-23Jul
- User:Solipsist/MainPageTemp-24Jul
- User:Solipsist/MainPageTemp-25Jul
- User:Somoza/Zero-Phonon
- User:Sweets
- User:Talrias/Main Page
- User:Tazmaniacs
- User:The bellman
- User:Thetorpedodog/xptablefree
- User:Thomas27
- User:Tim Robinson/Main Page (Proposal)
- User:Tom-/Main Page CSS test
- User:Tom-/NS4 test
- User:Tom-/sandbox
- User:Tomruen
- User:Uncke Herb
- User:Vincent7
- User:Zafiroblue05/Draft
- User talk:Guty
- User talk:Kevin baas/main page proposal
- Wikipedia:In the news
- Wikipedia:In the news/Candidates
- Wikipedia:Main Page/French2
- Wikipedia:Main Page/Temp10
- Wikipedia:Main Page/Test
- Wikipedia:Main Page/test
- Wikipedia:Main Page alternative (PDA version)
- Wikipedia:Main Page alternative (blue boy)
- Wikipedia:Main Page alternative (editable)
- Wikipedia:Main Page alternative (simple layout)
- Wikipedia:WikiProject Usability/Main Page/Draft
- Wikipedia:WikiProject Usability/Main Page/Draft2
- Wikipedia:WikiProject Usability/Main Page/Draft2 (fullsize text)
- Wikipedia:WikiProject Usability/Main Page/Draft (Italian Inspired)
- Wikipedia:WikiProject Usability/Main Page/Draft (current templates)
- Wikipedia:WikiProject Usability/Main Page/Draft 0
- Wikipedia:WikiProject Usability/Main Page/Draft 6C
- Wikipedia:WikiProject Usability/Main Page/Draft 6D
- Wikipedia:WikiProject Usability/Main Page/Draft A
- Wikipedia:WikiProject Usability/Main Page/Draft C
- Wikipedia:WikiProject Usability/Main Page/Draft NOW
- Wikipedia:Wikifun/Round 9/Answers/Question 29
- Template:In the news
now http://us.yhs4.search.yahoo.com/yhs/search?fr=altavista&fr=altavista&itag=ody&q=warez&kgs=1&kls=0 // xx.altavista.com where xx is a country code var hostMatch = false; if ("www.altavista.com" == domain) { hostMatch = true; } else { // xx.altavista.com var pDest = domain.indexOf(".altavista.com"); if ((pDest != -1 ) && ((domain.length - pDest) == 14)) { hostMatch = true; } else { // a reference to altavista must be present in yahoo search url var pRef = (uri.qsArray.fr && uri.qsArray.fr == 'altavista'); pDest = domain.indexOf("search.yahoo.com"); if (pDest != -1 && pRef) hostMatch = true; } } if (hostMatch) { //path must start with web/results? if ((path.indexOf("yhs/search?") == 0) || (path.indexOf("search;") == 0) || (path.indexOf("yhs/search;") == 0) || (path.indexOf("web/results?") == 0)|| (path.indexOf("fr=altavista") != -1)) { return true; } } return false; }; searchshield.AltaVistaSearchEngine.prototype.includeLink = function(tag) { var outHref = ""; var findStr = ""; // initial checks if ((!tag.href) || (tag.href.charAt(0) == '#') || (tag.href.indexOf("javascript:") == 0)) { return false; } if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; var spnsdLinks = searchshield.getParentNodeByTagName("DIV", tag, "className"); if ((spnsdLinks) && (spnsdLinks.className.indexOf('ads') > -1)) // sponsored links { if (!tag.parentNode) return false; // parse ads for em tag var baseNode; if (spnsdLinks.className.indexOf('ads horiz') > -1) // horizontal ads sections baseNode = tag.parentNode.parentNode; else baseNode = tag.parentNode; if (!baseNode || !baseNode.lastChild || baseNode.lastChild.tagName != 'EM') return false; var outHref = searchshield.removeHtmlTags(baseNode.lastChild.innerHTML); return outHref; } if ((tag.className == "spt") || (tag.className == "res") || (tag.className == "yschttl spt")) { findStr = "/**"; var pos = tag.href.indexOf(findStr); if (pos != -1) { pos += 3; outHref = tag.href.substring(pos); outHref = unescape(outHref); // no results for overture.com & no yahoo domains chkHref = outHref.toLowerCase(); if (chkHref.indexOf("overture.") != -1) return false; // split the url based on '/' var parts = outHref.split('/'); // only need a domain if ((parts != null) && (parts[2] != null)) { var domain = parts[2]; if ((domain.indexOf("rdrjp.yahoo.com") != -1) || (domain.indexOf("rdrkrs.yahoo.com") != -1) || (domain.indexOf("rdrtpe.yahoo.com") != -1) || (domain.indexOf("rdrird.yahoo.com") != -1) || (domain.indexOf("rdrhk2.yahoo.com") != -1) || (domain.indexOf("rdrsg1.yahoo.com") != -1) || (domain.indexOf("rdrin2.yahoo.com") != -1) || (domain.indexOf("rdre1.yahoo.com") != -1) || (domain.indexOf("rdrw1.yahoo.com") != -1) ) { return false } } return outHref; } else { return tag.href; } } return false; }; searchshield.AltaVistaSearchEngine.prototype.getImgElement = function (element) { while (element != null) { element = element.nextSibling; if (element != null) { if ((element.id == null) || (element.id.indexOf("LXPLSS_") == -1)) { // not our id but hit another anchor no verdict if (element.tagName == "A") { element = null; break; } } else if (element.tagName == "A") break; } } var rtnElem = !!element ? element.firstChild : element; return rtnElem; }; /////////////// ALTAVISTA SEARCH ENGINE /////////////// /////////////// YANDEX SEARCH ENGINE /////////////// searchshield.YandexSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); }; searchshield.YandexSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.YandexSearchEngine.prototype.constructor = searchshield.YandexSearchEngine; searchshield.YandexSearchEngine.prototype.name = "yandex"; searchshield.YandexSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // re stitch the uri path and query elements // to use existing logic var path = uri.path + uri.delimiter + uri.query; if ((domain.match(/yandex\.com|by|kz|ru|ua/i)) && (path.indexOf("yandsearch?") == 0)) { return true; } return false; }; searchshield.YandexSearchEngine.prototype.includeLink = function(tag) { if (tag.href.indexOf("/search") != -1) { return false; } if (searchshield.DoesURLContain(tag.href, this.search.uri.host) || searchshield.DoesURLContain(tag.href, ".yandex.net") || searchshield.DoesURLContain(tag.href, ".yandex.ru") || searchshield.DoesURLContain(tag.href, "moikrug.ru") || searchshield.DoesURLContain(tag.href, "ya.ru") || searchshield.DoesURLContain(tag.href, ".yandex.com") || searchshield.DoesURLContain(tag.href, "yandex.st")) { return false; } parentNode = tag.parentNode; if ((tag.parentNode) && (tag.parentNode.parentNode) && (tag.parentNode.parentNode.className.toLowerCase() == "moreinfo")) { return false; } return tag.href; }; searchshield.YandexSearchEngine.prototype.getImgElement = function (element) { while (element != null) { element = element.nextSibling; if (element != null) { if ((element.id == null) || (element.id.indexOf("LXPLSS_") == -1)) { // not our id but hit another anchor no verdict if (element.tagName == "A") { element = null; break; } } else if (element.tagName == "A") break; } } var rtnElem = !!element ? element.firstChild : element; return rtnElem; }; /////////////// YANDEX SEARCH ENGINE /////////////// /////////////// SEZNAM SEARCH ENGINE /////////////// searchshield.SeznamSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.elementAttribute = { width: "18", height: "18" }; this.updateImageStyle = { width: "18px", height: "18px" }; }; searchshield.SeznamSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.SeznamSearchEngine.prototype.constructor = searchshield.SeznamSearchEngine; searchshield.SeznamSearchEngine.prototype.name = "seznam"; searchshield.SeznamSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // re stitch the uri path and query elements // to use existing logic var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("search.seznam.cz") > -1) && ((path.indexOf("?") == 0) || (path.indexOf("svet") == 0))) { return true; } return false; }; searchshield.SeznamSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; var parentNode = tag.parentNode; if (parentNode) { var grandParentNode = tag.parentNode.parentNode; if ((parentNode.tagName == "SPAN") && ((parentNode.className.toLowerCase() == "sklik-url") || (parentNode.className.toLowerCase() == "sklik-title"))) { // locate the real url and unencode it var urlPos = tag.href.indexOf("&url=http"); if (urlPos != -1) { urlPos += 5; outHref = tag.href.substring(urlPos); outHref = unescape(outHref); return outHref; } } else if (grandParentNode) { var greatGrandParentNode = tag.parentNode.parentNode.parentNode; if ((grandParentNode.tagName == "DIV") && ((grandParentNode.className.toLowerCase() == "text") || (grandParentNode.className.toLowerCase() == "hlasky otz"))) { // standard link return tag.href; } else if (greatGrandParentNode && greatGrandParentNode.tagName == "DIV" && (greatGrandParentNode.className.toLowerCase() == "hotlinks")) { // hint link return tag.href; } } } return false; }; /////////////// SEZNAM SEARCH ENGINE /////////////// /////////////// WEBHLEDANI SEARCH ENGINE /////////////// searchshield.WebhledaniSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); }; searchshield.WebhledaniSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.WebhledaniSearchEngine.prototype.constructor = searchshield.WebhledaniSearchEngine; searchshield.WebhledaniSearchEngine.prototype.name = "webhledani"; searchshield.WebhledaniSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // re stitch the uri path and query elements // to use existing logic var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("webhledani.cz") > -1) && (path.indexOf("results.aspx?") == 0)) { return true; } return false; }; searchshield.WebhledaniSearchEngine.prototype.includeLink = function(tag) { if (tag.href.indexOf("/redir.aspx?") != -1) { var ancestorNode; // sponsored link if ((ancestorNode = searchshield.getParentNodeByClassName("results sponsored", tag, 3)) != null) { if ((ancestorNode = searchshield.getParentNodeByClassName("res1", tag, 2)) != null) { var spanSibling = ancestorNode.nextSibling; while (spanSibling.nodeName != 'SPAN') { spanSibling = spanSibling.nextSibling; if (spanSibling.nodeName == 'DIV' || spanSibling.className == 'res1') { spanSibling = null; break; } } if (spanSibling) outHref = spanSibling.innerHTML; } if (outHref) return searchshield.checkUrl(searchshield.removeHtmlTags(outHref)); } if ((ancestorNode = searchshield.getParentNodeByClassName("right-sponsored", tag, 3)) != null) { var outHref; if ((ancestorNode = searchshield.getParentNodeByClassName("res3", tag, 2)) != null) { var spanSibling = ancestorNode.nextSibling; while (spanSibling.nodeName != 'SPAN') { spanSibling = spanSibling.nextSibling; if (spanSibling.nodeName == 'DIV' || spanSibling.className == 'res3') { spanSibling = null; break; } } if (spanSibling) outHref = spanSibling.innerHTML; } if (outHref) return searchshield.checkUrl(searchshield.removeHtmlTags(outHref)); } // result link if (searchshield.getParentNodeByClassName("results", tag, 3) != null) { if ((ancestorNode = searchshield.getParentNodeByClassName("res2", tag, 2)) != null) { if (tag.parentNode && (tag.parentNode.nodeName != 'P')) return getLinkHref(ancestorNode); } } } return false; function getLinkHref(aNode) { var spanElems = aNode.getElementsByTagName('span'); for (var i=0; i < spanElems.length; i++) { if (spanElems[i].className != 'site') continue; var outAnchor = spanElems[i].getElementsByTagName('a')[0]; if (outAnchor == null) outAnchor = spanElems[i]; return searchshield.checkUrl(searchshield.removeHtmlTags(outAnchor.innerHTML)); } return false; } }; /////////////// WEBHLEDANI SEARCH ENGINE /////////////// /////////////// EBAY SEARCH ENGINE /////////////// searchshield.eBaySearchEngine = function(search) { searchshield.SearchEngine.call(this, search); }; searchshield.eBaySearchEngine.prototype = new searchshield.SearchEngine(); searchshield.eBaySearchEngine.prototype.constructor = searchshield.eBaySearchEngine; searchshield.eBaySearchEngine.prototype.name = "ebay"; searchshield.eBaySearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // shop.ebay.xx // shop.xxxx.ebay.xx like shop.benl.ebay.be // search.auction.co.kr var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("shop.ebay") > -1) || (domain.indexOf("shop.benl.ebay") > -1)) { if ((path.indexOf("?_from=") == 0) || (path.indexOf("i.html") > -1)) { return true; } } // ebay.se if ((domain.indexOf("search.eim.ebay") > -1) && ((path.indexOf("?kw=") > -1) || (path.indexOf("?ev=") > -1))) { return true; } if ((domain.indexOf("search.auction.co.kr") > -1 ) && ((path.indexOf("?keyword=") > -1))) { // would normally set these properties in the constructor or in an // overriding function but they're only required for this domain // links are in iframes this.processFrames = true; // must downsize verdicts for proper display this.elementAttribute = { width: "16", height: "16" }; this.updateImageStyle = { width: "16px", height: "16px" }; return true; } // latin america ebay // listado.mercadolibre.com.xx or listado.mercadolibre.co.xx // or listado.mercadolibre.xx or // category.mercadolibre.com.xx or listado.mercadolibre.xx/category // lista.mercadolivre.com.xx or lista.mercadolivre.com.xx/category if ((domain.indexOf("www.") == -1) && ((domain.indexOf(".mercadolibre.") > -1 ) || (domain.indexOf(".mercadolivre.") > -1 ))) { return true; } return false; }; searchshield.eBaySearchEngine.prototype.includeLink = function(tag) { var parentNode = null; var outHref = false; if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; if ( tag.href.indexOf(".ebayrtm.com/clk?") > -1 ) { if ( tag.title == null || tag.title.length < 0 ) return false; outHref = searchshield.removeHtmlTags(tag.title); if (outHref.indexOf(" ") == -1) { // no spaces if (outHref.indexOf(".") > -1) { // at least one dot if (outHref.indexOf(this.search.uri.host) == -1) { // no host if (outHref.toLowerCase().indexOf("ebay.com") == -1) { return outHref; } } } } } // ebay.se - Google ads parentNode = tag.parentNode; if (parentNode && (parentNode.className.toLowerCase() == "google-ad-link")) { if (tag.href.indexOf("/aclk?sa=") != -1) { findStr = "&adurl=http"; var urlPos = tag.href.indexOf(findStr); if (urlPos != -1) { urlPos += 7; // puts it on the http outHref = tag.href.substring(urlPos); // extract any fragment text, shouldn't be unescaped var pound = outHref.indexOf("#"); if (pound != -1) { var fragment = outHref.substring(pound); outHref = outHref.substring(0, pound); outHref = unescape(outHref); outHref += fragment; if (searchshield.FilterUrl(outHref, this.filter_urls)) return false; return outHref; } outHref = unescape(outHref); if (outHref.indexOf("?") == -1) { var ampPos = outHref.indexOf("&"); if (ampPos != -1) outHref = outHref.substring(0, ampPos); } if (searchshield.FilterUrl(outHref, this.filter_urls)) return false; return outHref; } } } // auction.co.kr parentNode = tag.parentNode; if (parentNode && (parentNode.className.toLowerCase() == "link")) { if (tag.href.indexOf("adcr.naver.com") > -1) { outHref = tag.innerText; if ((outHref == null) || (outHref.length < 0)) return false; return outHref; } } // latin america ebay if ( tag.href.toLowerCase().indexOf("clickcounter?") > -1 ) { var spanElements = tag.getElementsByTagName("span"); if ((spanElements != null) && (spanElements.length > 0)) { if ( spanElements[0].className.toLowerCase() == "mclics-url" ) { outHref = spanElements[0].innerHTML; if ( outHref == null || outHref.length < 0 ) return false; outHref = searchshield.removeHtmlTags(outHref); if (outHref.indexOf(" ") == -1) { // no spaces if (outHref.indexOf(".") > -1) { // at least one dot if ((outHref.toLowerCase().indexOf("mercadolibre") == -1) && (outHref.toLowerCase().indexOf("mercadolivre") == -1)) { return outHref; } } } } } } return false; }; /////////////// EBAY SEARCH ENGINE /////////////// /////////////// DIGG SEARCH ENGINE /////////////// searchshield.DiggSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.new_links = false; }; searchshield.DiggSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.DiggSearchEngine.prototype.constructor = searchshield.DiggSearchEngine; searchshield.DiggSearchEngine.prototype.name = "digg"; searchshield.DiggSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // re stitch the uri path and query elements // to use existing logic var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("digg.com") > -1) && (path.indexOf("/ad") == -1)) { return true; } return false; }; searchshield.DiggSearchEngine.prototype.includeLink = function(tag) { var outHref = false; var findStr = ""; if ((tag.parentNode) && (tag.parentNode.className.toLowerCase() == "digg-count")) { return false; } if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) { if (tag.className && tag.className.indexOf('source') != -1) { findStr = "/search?q=site:"; var urlPos = tag.href.indexOf(findStr); if (urlPos != -1) { urlPos += 15; outHref = tag.href.substring(urlPos); return outHref; } } } return false; }; searchshield.DiggSearchEngine.prototype.addImage = function(node, image, hidden) { // remove style that is set when alt image is applied this.addAnchorStyle = { background: "none" }; var parent = searchshield.SearchEngine.prototype.addImage; return parent.call(this, node, image, hidden); }; /////////////// DIGG SEARCH ENGINE /////////////// /////////////// SLASHDOT SEARCH ENGINE /////////////// searchshield.SlashdotSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.showCleanVerdicts = false; this.new_links = false; this.type = 'inline'; }; searchshield.SlashdotSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.SlashdotSearchEngine.prototype.constructor = searchshield.SlashdotSearchEngine; searchshield.SlashdotSearchEngine.prototype.name = "slashdot"; searchshield.SlashdotSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; // re stitch the uri path and query elements // to use existing logic var path = uri.path + uri.delimiter + uri.query; if (domain.indexOf("slashdot.org") != -1) { return true; } return false; }; searchshield.SlashdotSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; if ( tag.href.indexOf("mailto:") != -1 ) return false; if ( tag.href.indexOf("slashdot.org") != -1 ) return false; if (tag.parentNode && (tag.parentNode.tagName == "DIV")) { if (tag.parentNode.id.indexOf("text-") != -1) { return tag.href; } } else if ( tag.parentNode && tag.parentNode.parentNode && tag.parentNode.parentNode.tagName == "DIV" ) { if ( tag.parentNode.parentNode.id.indexOf("text-") != -1 ) { return tag.href; } } return false; }; searchshield.SlashdotSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; /////////////// SLASHDOT SEARCH ENGINE /////////////// /////////////// TWITTER SEARCH ENGINE /////////////// searchshield.TwitterSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.showCleanVerdicts = false; this.new_links = false; this.type = 'inline'; }; searchshield.TwitterSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.TwitterSearchEngine.prototype.constructor = searchshield.TwitterSearchEngine; searchshield.TwitterSearchEngine.prototype.name = "twitter"; searchshield.TwitterSearchEngine.prototype.twitter_filter_urls = ["twitpic.com", "twitterfeed.com", "twitter.peoplebrowsr.com"]; searchshield.TwitterSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain= uri.host; if (domain.indexOf("twitter.com") != -1) { return true; } return false; }; searchshield.TwitterSearchEngine.prototype.includeLink = function(tag) { if (tag.className == 'twitter-timeline-link') { // can't pass the tag's href if domain is t.co cause then new posts // will not get an immediate verdict even if it has a dangerous link if (tag.href.indexOf('/t.co/') != -1) { // the tag's inner text may be truncated and end in the // unicode suspension character (i.e., ...) and it cannot // be used. if (tag.innerText.charCodeAt(tag.innerText.length-1) == 8230) { // older posts may not always have data-expanded-url var destUrl = tag.getAttribute('data-expanded-url'); if (!!destUrl) return destUrl; var finalUrl = searchshield.avgCallFunc(document, 'GetFinalUrl', tag.href); return finalUrl; } return searchshield.checkUrl(tag.innerText); } return tag.href; } return false; }; searchshield.TwitterSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; /////////////// TWITTER SEARCH ENGINE /////////////// /////////////// GMAIL SEARCH ENGINE /////////////// searchshield.GMailSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.processFrames = true; this.showCleanVerdicts = false; this.type = 'inline'; }; searchshield.GMailSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.GMailSearchEngine.prototype.constructor = searchshield.GMailSearchEngine; searchshield.GMailSearchEngine.prototype.name = "gmail"; // the name by which the search engine is known (always lowercase) searchshield.GMailSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; var domain = uri.host; // re stitch the uri path and query elements to // use existing logic var path = uri.path + uri.delimiter + uri.query; if ((domain.indexOf("mail.google.") != -1) || (domain.indexOf("gmail.") != -1)) { return true; } return false; }; searchshield.GMailSearchEngine.prototype.includeLink = function(tag) { if (searchshield.DoesURLContain(tag.href, this.search.uri.host)) return false; // don't mark anything but http:// if (tag.href.indexOf("mailto") == 0) return false; var parentDiv = searchshield.getParentNodeByTagName("DIV", tag, "className"); if ((parentDiv) && ((parentDiv.className == "ii gt") || // mail message body (parentDiv.className == "mv") || // top sponsored links (parentDiv.className == "vb") || // right sponsored links (parentDiv.className == "im") || // inside quotes (parentDiv.className == "gmail_quote") || // quote (parentDiv.className == "msg") // basic html mode )) // right ads { // parse for any ads var newHref = this.parseAdUrl(tag.href); return newHref; } return false; }; searchshield.GMailSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; searchshield.GMailSearchEngine.prototype.parseAdUrl = function(href) { if (!href) return href; // check for google ad var regex = "^http(s)?\:\/\/([a-zA-Z0-9]+)\.googlesyndication\.com.+\&adurl\=(.+)"; var re = new RegExp(regex); var matches = href.match(re); if (matches && (matches.length >= 4)) { // else we want the fourth value var match = matches[3]; if (match && (match.length > 0)) return match } return href; }; /////////////// GMAIL SEARCH ENGINE /////////////// /////////////// FACEBOOK SEARCH ENGINE /////////////// searchshield.FacebookSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.showCleanVerdicts = false; this.type = 'inline'; }; searchshield.FacebookSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.FacebookSearchEngine.prototype.constructor = searchshield.FacebookSearchEngine; searchshield.FacebookSearchEngine.prototype.name = "facebook"; // the name by which the search engine is known (always lowercase) searchshield.FacebookSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; if (uri.host.indexOf("www.facebook.com") != -1) return true; return false; }; searchshield.FacebookSearchEngine.prototype.includeLink = function(tag) { if (!tag.href || (tag.href.indexOf('facebook.com') > -1) || (tag.href.indexOf('ak.fbcdn.net') > -1)) return false; return tag.href }; searchshield.FacebookSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; /////////////// FACEBOOK SEARCH ENGINE /////////////// /////////////// MYSPACE SEARCH ENGINE /////////////// searchshield.MySpaceSearchEngine = function(search) { searchshield.SearchEngine.call(this, search); this.showCleanVerdicts = false; this.type = 'inline'; }; searchshield.MySpaceSearchEngine.prototype = new searchshield.SearchEngine(); searchshield.MySpaceSearchEngine.prototype.constructor = searchshield.MySpaceSearchEngine; searchshield.MySpaceSearchEngine.prototype.name = "myspace"; // the name by which the search engine is known (always lowercase) searchshield.MySpaceSearchEngine.prototype.validSearch = function(href) { var uri; if (typeof(this.search) === 'undefined' || null === this.search) uri = searchshield.parseLink(href); else uri = this.search.uri; if(!uri || !uri.host) return false; if (uri.host.indexOf("www.myspace.com") != -1) return true; return false; }; searchshield.MySpaceSearchEngine.prototype.includeLink = function(tag) { // related domains do not get verdicts if (/myspace/.test(tag.hostname) || /myspace/.test(tag.href)) return false; if (/msplinks\.com/i.test(tag.href)) return searchshield.checkUrl(tag.innerText); return tag.href; }; searchshield.MySpaceSearchEngine.prototype.addImage = function(node, image, hidden) { var doc = this.search.doc; this.init_inline_ratings(doc); this.show_inline_ratings(doc, node, image); }; /////////////// MYSPACE SEARCH ENGINE /////////////// /////////////// AVG TOOLBAR REPORTING /////////////// var avgreport = { BLOCK_SEVERITY: 3, scanResult: function (doc, url, foundUrl, ip) { // report scan end only if surf enabled if ('1' != searchshield.avgCallFunc(doc, 'GetSurfEnabled')) return; // for now native is handling the interstitial var results = searchshield.avgCallFunc(doc, 'MalsiteCheck', url); if ( results == null ) return; var parts = results.split('::'); // need at least severity if (parts == null) return; if (!ip) ip = ""; // use a block severity if foundUrl is given var severity = !!foundUrl ? avgreport.BLOCK_SEVERITY : parseInt(parts[0], 10); var category = ""; var threat = ""; // fill in the category and threat if something was found if (severity > 0) { category = parts[2]; threat = parts[4]; } // else // return; var scan_result = searchshield.avgCallFunc(doc, 'ReportScanResult', url, url, threat, category, ip, severity); var scan_end = avgreport.scanEnd(doc, url); return (scan_result && scan_end); }, scanEnd: function (doc, url) { return searchshield.avgCallFunc(doc, 'ReportScanEnd', url); }, GetInterstitialIP: function (interstitial) { // simple regex to pull the IP address var regex = /(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)\.(([1-9][0-9]{0,2})|0)/; var match = regex.exec(interstitial); if (!match) return ''; return match[0]; } } /////////////// AVG TOOLBAR REPORTING /////////////// /////////////// FLYOVERS /////////////// var avglsflyover = { count: 0, poppedUp: false, poppedElement: null, reset: function () { avglsflyover.count = 0; avglsflyover.poppedUp = false; avglsflyover.poppedElement = null; }, popup: function (event, hash, search, flyover) { if (!event) event = window.event; var div = document.getElementById("XPLSS_Flyover"); if (div == null) return; // establish target element and get its containing document object // in case verdict is inside a frame var eventTarget = event.srcElement; var frameDoc = eventTarget.ownerDocument; // if the element is the clock, don't pop over it if ((eventTarget.src != null) && (eventTarget.src.indexOf("clock.gif") != -1)) return; // save the element we popped over avglsflyover.poppedElement = eventTarget; // if no flyover get it if ((flyover == null) || (flyover == "")) { flyover = searchshield.avgCallFunc(frameDoc, 'BuildFlyover', hash); if (!flyover) return; // cleanup flyover, replace any new lines flyover = flyover.replace(/\r/g, ""); flyover = flyover.replace(/\n/g, ""); // escape any single quotes flyover = flyover.replace(/'/g, "'"); } // set the html in the layer div.innerHTML = flyover; // needed to prevent the flyover from hiding inadvertantly in IE7 if (searchshield.docMode == 7) { div.style.backgroundColor = "#fff"; } // there is an unwanted text node that causes vertical misalignment of flyover if (div.firstChild.nodeType == 3) div.removeChild(div.firstChild); avglsflyover.poppedUp = true; // reset display count avglsflyover.count = 0; avglsflyover.position(); }, hide: function (event) { var frameDoc = document || top.document; var div = frameDoc.getElementById("XPLSS_Flyover"); if ((div == null) || (div.style == null) || (div.style.visibility == "hidden")) return; var trans_div = frameDoc.getElementById("XPLSS_Trans"); if ((trans_div == null) || (trans_div.style == null) || (trans_div.style.visibility == "hidden")) return; // scroll and keydown events will pass a null event by design // toElement will be null when mousing out of frameelement containing a verdict if (event == null || event.toElement == null) { return; } if (trans_div.contains(event.toElement) || div.contains(event.toElement)) return; // if the toElement is a cooresponding alt image then don't hide // use try/catch because toElement will be null when mousing out of frame try { if (!!event.toElement.id && !!event.srcElement.id) { if (event.toElement.id.indexOf(event.srcElement.id.substring(0,event.srcElement.id.length-2)) == 0) return; if (event.srcElement.id == 'XPLSS_Trans' && /XPLSS_\d+VU\d/.test(event.toElement.id)) return; } } catch(err){} // hide and move somewhere off screen (negative offsets) div.style.visibility = "hidden"; div.style.left = "-2100px"; div.style.top = "-2100px"; trans_div.style.visibility = "hidden"; trans_div.style.left = "-2100px"; trans_div.style.top = "-2100px"; return true; }, position: function () { if (!avglsflyover.poppedUp || (avglsflyover.poppedElement == null)) return; var flyover = document.getElementById("XPLSS_Flyover"); if (flyover == null) return; // relative position of flyover in relation to icon var locateX = 0; // 0=left, 1=right var locateY = 0; // 0=above, 1=below, 2=beside icon // get window sizes var winSize = searchshield.viewPortSize(); var windowX = winSize[0]; var windowY = winSize[1]; // get the exact size of the flyover var flyoverSize = searchshield.elementSize(flyover); var flyoverX = flyoverSize[0]; var flyoverY = flyoverSize[1]; var verdictWidth = 0; if (avglsflyover.poppedElement && avglsflyover.poppedElement.width) verdictWidth = avglsflyover.poppedElement.width; // get the bounding rect for image(s) var imgRect = searchshield.GetFullBoundingRect(avglsflyover.poppedElement); // half width/height of element bounding rect var halfX = (imgRect.right - imgRect.left) / 2; var halfY = (imgRect.bottom- imgRect.top) / 2; // element the mouse is over, get the center position var posX = searchshield.offsetLeft(avglsflyover.poppedElement) + halfX; var posY = searchshield.offsetTop(avglsflyover.poppedElement) + halfY; // if a verdict is inside a frame must get offsets for the frame element var docFrames = document.frames; if (docFrames) { for (var i=0; i < docFrames.length; i++) { try { var frameElem = docFrames[i].frameElement; if (frameElem.contentWindow.document.getElementById(avglsflyover.poppedElement.id)) { posX += searchshield.offsetLeft(frameElem); posY += searchshield.offsetTop(frameElem); break; } } catch(frmErr){} } } var transXOffset = 0; if (imgRect.mid == undefined) transXOffset = -1 * halfX; else transXOffset = ((imgRect.right + imgRect.left) / 2) - imgRect.mid; // normalize pos to 0 -- get amount of scrolling in browser window var scroll = searchshield.scrollSize(); var pageOffsetX = scroll[0]; var pageOffsetY = scroll[1]; posX -= pageOffsetX; posY -= pageOffsetY; // setup the offsets var offsetX = posX; var offsetY = posY; // calc where to display on page if ((windowX - posX) > posX) { // right offsetX += halfX; locateX = 1; } else { //left offsetX -= (flyoverX + halfX); } if ((windowY - posY) > posY) { // below if (posY < (windowY/4)) { offsetY -= halfY; locateY = 1; } else { offsetY -= (flyoverY / 2); locateY = 2; } } else { // above if ((windowY - posY) < (windowY/4)) { offsetY -= (flyoverY - halfY); } else { offsetY -= (flyoverY / 2); locateY = 2; } } // make sure we aren't off the screen if (offsetY < 0) offsetY = 0; if ((offsetY + flyoverY) > windowY) offsetY = windowY - flyoverY; // add page offsets back offsetX += pageOffsetX; offsetY += pageOffsetY; posX += pageOffsetX; posY += pageOffsetY; var paddedOffsetX = 0; //provide space between icon and flyover var padX = 3; if (locateX == 0) paddedOffsetX = offsetX - padX; else paddedOffsetX = offsetX + padX; // set where to put the flyover flyover.style.top = offsetY + "px"; flyover.style.left = paddedOffsetX + "px"; // set where to put the transparent layer var trans = document.getElementById("XPLSS_Trans"); if (trans != null) { var trans_left = 0; var trans_top = 0; var trans_width= 0; var trans_height = 0; // transparent layer should overlap verdict image if (locateX == 0) trans_left = posX - flyoverX - halfX; // left else trans_left = posX - transXOffset - verdictWidth; // right trans.style.left = trans_left + "px"; trans.style.top = offsetY + "px"; trans.style.width = flyoverX + verdictWidth + "px"; trans.style.height = flyoverY + "px"; } avglsflyover.display(); }, display: function () { avglsflyover.count++; if (avglsflyover.count == 1) { var flyover = document.getElementById("XPLSS_Flyover"); if (flyover == null) return; // show the flyover, must use a little count to tell, crazy stuff flyover.style.visibility = "visible"; flyover.onmouseout = function(){ avglsflyover.hide(event); }; // show the transparent layer var trans_div = document.getElementById("XPLSS_Trans"); if (trans_div == null) return; trans_div.style.visibility = "visible"; trans_div.onmouseout = function(){ avglsflyover.hide(event); }; avglsflyover.poppedUp = false; } }, show: function () { var div = document.getElementById("XPLSS_Flyover"); if (div == null) return; div.style.visibility = "visible"; var trans_div = document.getElementById("XPLSS_Trans"); if (trans_div == null) return; trans_div.style.visible = "visible"; } }; var avglsinlineflyover = { build: function (riskCategory, riskName, bgColor, borderColor) { var html = ''; html += '
';
html += '
'; html += riskCategory + '
'; html += riskName + '
'; html += '
'; html += riskCategory + '
'; html += riskName + '
'; html += '
No comments:
Post a Comment