Mas Dzaky

  • Home
  • About
  • Template
  • Design
  • Blogger
  • Tips Tricks
Home » Widget Blog » Blogger JSON - Top Commentators

Selasa, 12 Agustus 2014

Blogger JSON - Top Commentators

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
<title>Top Commentators</title>
<style type="text/css">
.top-commenter-line {
margin:3px 0px;
}

.top-commenter-avatar {
display:inline-block;
vertical-align:middle;
}

</style>
</head>
<body>

<script type="text/javascript">
// Top Commentators gadget with avatars, by MS-potilas 2012.
// Gets a list of top commentators from all comments, or specified number of days in the past.
// See http://yabtb.blogspot.com/2012/05/top-commenters-gadget-with-avatars.html

// CONFIG:
var homepage = 'http://latitudu.blogspot.com', // Homepage
maxTopCommenters = 17, // How much?
minComments = 1, // How many comments must top commentator have at least
numDays = 0, // From how many days (ex. 30), or 0 from "all the time"
excludeMe = true, // true: exclude my own comments
excludeUsers = ["Anonymous", "Another Name"], // Exclude these usernames
maxUserNameLength = 42, // 0: don't cut, >4: cut usernames
txtTopLine = '<b>[#].</b> [image] [user] ([count])', // List number
txtNoTopCommenters = 'No top commentators at this time.',
txtAnonymous = '', // Empty, or Anonymous user name localized if you want to localize
sizeAvatar = 16, // Avatar size
cropAvatar = true,
urlNoAvatar = 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaZmZXf7Y-oV6YHiOAH2NqJd3PCUQHgR2JkRbel7QTBW5TAHqTipqAqR-ylVLzBEm77Bp5XarEsNu8_d8a7J-8tcTgBKp4nJMQJkfJMtsByFX77jxNyjGphSvtTVNjUF0FDtDqv7GmxOo/' + sizeAvatar + '/avatar_blue_m_96.png', // http://www.blogger.com/img/avatar_blue_m_96.png resizeable
urlAnoAvatar = 'http://www.gravatar.com/avatar/00000000000000000000000000000000?d=mm&s=' + sizeAvatar,
urlMyProfile = '', // Set if you have no profile gadget on page
urlMyAvatar = ''; // Can be empty (then it is fetched) or url to image
// END CONFIG
// for old IEs & IE modes:
if (!Array.indexOf) {
Array.prototype.indexOf = function(obj) {
for (var i = 0; i < this.length; i++) if (this[i] == obj) return i;
return -1;
};
}

function replaceTopCmtVars(text, item, position) {
if (!item || !item.author) return text;
var author = item.author;

var authorUri = "";
if (author.uri && author.uri.$t !== "") authorUri = author.uri.$t;

var avaimg = urlAnoAvatar;
var bloggerprofile = "http://www.blogger.com/profile/";
if (author.gd$image && author.gd$image.src && authorUri.substr(0, bloggerprofile.length) == bloggerprofile) {
avaimg = author.gd$image.src;
} else {
var parseurl = document.createElement('a');
if (authorUri !== "") {
parseurl.href = authorUri;
avaimg = 'http://www.google.com/s2/favicons?domain=' + parseurl.hostname;
}
}
if (urlMyProfile !== "" && authorUri == urlMyProfile && urlMyAvatar !== "") avaimg = urlMyAvatar;
if (avaimg == "http://img2.blogblog.com/img/b16-rounded.gif" && urlNoAvatar !== "") avaimg = urlNoAvatar;
var newsize = "s" + sizeAvatar;
avaimg = avaimg.replace(/\/s\d\d+-c\//, "/" + newsize + "-c/");
if (cropAvatar) newsize += "-c";
avaimg = avaimg.replace(/\/s\d\d+(-c){0,1}\//, "/" + newsize + "/");

var authorName = author.name.$t;
if (authorName == 'Anonymous' && txtAnonymous !== "" && avaimg == urlAnoAvatar) authorName = txtAnonymous;
var imgcode = '<img class="top-commenter-avatar" height="' + sizeAvatar + '" width="' + sizeAvatar + '" title="' + authorName + '" src="' + avaimg + '" />';
if (authorUri !== "") imgcode = '<a href="' + authorUri + '">' + imgcode + '</a>';

if (maxUserNameLength > 3 && authorName.length > maxUserNameLength) authorName = authorName.substr(0, maxUserNameLength - 3) + "...";
var authorcode = authorName;
if (authorUri !== "") authorcode = '<a class="profile-name-link" href="' + authorUri + '">' + authorcode + '</a>';

text = text.replace('[user]', authorcode);
text = text.replace('[image]', imgcode);
text = text.replace('[#]', position);
text = text.replace('[count]', item.count);
return text;
}

var topcommenters = {};
var ndxbase = 1;

function showTopCommenters(json) {
var one_day = 1000 * 60 * 60 * 24;
var today = new Date();

if (urlMyProfile === "") {
var elements = document.getElementsByTagName("*");
var expr = /(^| )profile-link( |$)/;
for (var i = 0; i < elements.length; i++) {
if (expr.test(elements[i].className)) urlMyProfile = elements[i].href;
break;
}
}

for (var j = 0; j < json.feed.entry.length; j++) {
var entry = json.feed.entry[j];
if (numDays > 0) {
var datePart = entry.published.$t.match(/\d+/g); // Assume ISO 8601
var cmtDate = new Date(datePart[0], datePart[1] - 1, datePart[2], datePart[3], datePart[4], datePart[5]);

// Calculate difference btw the two dates, and convert to days
var days = Math.ceil((today.getTime() - cmtDate.getTime()) / (one_day));
if (days > numDays) break;
}
var authorUri = "";
if (entry.author[0].uri && entry.author[0].uri.$t !== "") authorUri = entry.author[0].uri.$t;

if (excludeMe && authorUri !== "" && authorUri == urlMyProfile) continue;
var authorName = entry.author[0].name.$t;
if (excludeUsers.indexOf(authorName) != -1) continue;

var hash = entry.author[0].name.$t + "-" + authorUri;
if (topcommenters[hash]) topcommenters[hash].count++;
else {
var commenter = {};
commenter.author = entry.author[0];
commenter.count = 1;
topcommenters[hash] = commenter;
}
}
if (json.feed.entry.length == 200) {
ndxbase += 200;
document.write('<scr' + 'ipt type="text/javascript" src="' + homepage + '/feeds/comments/default?redirect=false&max-results=200&start-index=' + ndxbase + '&alt=json-in-script&callback=showTopCommenters"></' + 'script>');
return;
}

// Convert object to array of tuples
var tuplear = [];
for (var key in topcommenters) tuplear.push([key, topcommenters[key]]);

tuplear.sort(function(a, b) {
if (b[1].count - a[1].count) return b[1].count - a[1].count;
return (a[1].author.name.$t.toLowerCase() < b[1].author.name.$t.toLowerCase()) ? -1 : 1;
});

// List top commenters:
var realcount = 0;
for (var k = 0; k < maxTopCommenters && k < tuplear.length; k++) {
var item = tuplear[k][1];
if (item.count < minComments) break;
document.write('<di' + 'v class="top-commenter-line">');
document.write(replaceTopCmtVars(txtTopLine, item, realcount + 1));
document.write('</d' + 'iv>');
realcount++;
}
if (!realcount) document.write(txtNoTopCommenters);
}
document.write('<scr' + 'ipt type="text/javascript" src="' + homepage + '/feeds/comments/default?redirect=false&max-results=200&alt=json-in-script&callback=showTopCommenters"></' + 'script>');
</script>

</body>
</html>
f
Facebook
t
Twitter
g+
Google+
d
Unknown
01.59

Belum ada komentar untuk "Blogger JSON - Top Commentators"

Posting Komentar

Posting Lebih Baru Posting Lama Beranda
Langganan: Posting Komentar (Atom)
Find Us :

Categories

  • 2 Column
  • 3 Column
  • 4 Column
  • Ads Ready
  • Black
  • Blog SEO
  • Islamic
  • Template
  • Widget Blog
  • Wordpress Theme

Entri Populer

  • Pageone Blogger Template
    Pageone Blogger Template Features SEO Ready Custom Mobile Auto Readmore Breadcrumbs Related Post Page Number Navigation Instructions   --- R...
  • Blogger JSON - Top Commentators
    <!DOCTYPE html> < html > < head > < meta content = "text/html; charset=UTF-8" http-equiv = "Content-Ty...
  • Membuat Formulir Kontak Google Doc Agar Bisa Mengirimkan Datanya Langsung ke Kotak Pesan Email
    Sebenarnya Google Doc bukan merupakan layanan untuk membuat aplikasi-aplikasi semacam ini. Membuat formulir kontak menggunakan Google Doc ...
  • PHP Flat-File GuestBook
    Tampilan Buku Tamu Saya membuat aplikasi Buku Tamu tanpa basis data dengan PHP PHP Hypertext Preprocessor . Semua data disimpan di dalam se...
  • AlQuran Islamic Blogspot Template
    DEMO DOWNLOAD Template Name: Al-Quran Islamic Blogger Template Platform: Blogspot/ Blogger Author: Fatima Ahmed, Najwa Ahmed, Liza Burha...
  • Islamic Template - The Haven Of Karbala
    DEMO DOWNLOAD Template Name: The Haven Of Karbala Platform: Blogspot/ Blogger Author: IslamicWallpers Designer: http://islamicwallpers.devia...
  • Islamic Template - Abal Fazl Blogspot
    DEMO DOWNLOAD Template Name: Abal Fazl Islamic Blogger Template Platform: Blogspot/ Blogger Author: IslamicWallpers Designer: http://islami...
  • Daftar Tema - Widget Daftar Isi Blogger dengan Navigasi
    Di bawah ini adalah daftar tema untuk widget daftar isi Blogger dengan navigasi halaman . Untuk menerapkannya, caranya cukup dengan menggant...
  • Islamic Gallery Blogger Template
    DEMO DOWNLOAD Template Name: Islamic Gallery Blogger Template Platform: Blogspot/ Blogger Author: Muhammad Habib Effendi Designer: http...
  • Mas Sugeng Blogger Template
    Mas Sugeng Blogger Template Update: dikarenakan ada script yang tanpa sengaja terhapus jadi bagi yang sudah mendownload template ini silakan...

Tentang e Black Faster V1.1

Diberdayakan oleh Blogger.
Copyright 2013 Mas Dzaky - All Rights Reserved
Template by Mas Sugeng - Powered by Blogger