Import legacy nurinda.co.id website
This commit is contained in:
1 parent
3f59bb9038
commit
6e21646ac4
13389 files changed
+3246690
No files matched your search
@@ -0,0 +1,487 @@
|
||||
var strict;
|
||||
|
||||
/*!------------------------------------------------------
|
||||
* jQuery nearest v1.0.3
|
||||
* http://github.com/jjenzz/jQuery.nearest
|
||||
* ------------------------------------------------------
|
||||
* Copyright (c) 2012 J. Smith (@jjenzz)
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*/
|
||||
(function ($, d) {
|
||||
$.fn.nearest = function (selector) {
|
||||
var self, nearest, el, s, p,
|
||||
hasQsa = d.querySelectorAll;
|
||||
|
||||
function update(el) {
|
||||
nearest = nearest ? nearest.add(el) : $(el);
|
||||
}
|
||||
|
||||
this.each(function () {
|
||||
self = this;
|
||||
|
||||
$.each(selector.split(','), function () {
|
||||
s = $.trim(this);
|
||||
|
||||
if (!s.indexOf('#')) {
|
||||
// selector starts with an ID
|
||||
update((hasQsa ? d.querySelectorAll(s) : $(s)));
|
||||
} else {
|
||||
// is a class or tag selector
|
||||
// so need to traverse
|
||||
p = self.parentNode;
|
||||
while (p) {
|
||||
el = hasQsa ? p.querySelectorAll(s) : $(p).find(s);
|
||||
if (el.length) {
|
||||
update(el);
|
||||
break;
|
||||
}
|
||||
p = p.parentNode;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
return nearest || $();
|
||||
};
|
||||
}(jQuery, document));
|
||||
|
||||
jQuery(document).ready(function ($) {
|
||||
|
||||
/* Show Whatsapp button on mobile devices iPhones and Android only */
|
||||
if (navigator.userAgent.match(/(iPhone)/i) || navigator.userAgent.match(/(Android)/i)) {
|
||||
$('.mashicon-whatsapp').show();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get facebook share count vi js client request
|
||||
*
|
||||
* @returns {undefined}
|
||||
*
|
||||
* not used any longer
|
||||
*/
|
||||
var mashsb_get_fb_shares = function ()
|
||||
{
|
||||
|
||||
|
||||
if (document.querySelector('.mashsb-buttons') === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ('undefined' !== typeof (mashsb.refresh) && mashsb.refresh === '0') {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ('undefined' === typeof (mashsb.share_url) && mashsb.share_url !== '') {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ('undefined' === typeof (mashsb.postid) && mashsb.postid !== '') {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (mashsb_is_rate_limit()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
//mashsb.share_url = 'https://www.google.de';
|
||||
|
||||
var facebookGraphURL = 'https://graph.facebook.com/?id=' + mashsb.share_url;
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: facebookGraphURL,
|
||||
dataType: 'json',
|
||||
success: function (data) {
|
||||
mashsb_set_fb_sharecount(data);
|
||||
console.log(data);
|
||||
},
|
||||
error: function (e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
// Make sure page has been loaded completely before requesting any shares via ajax
|
||||
// This also prevents hitting the server too often
|
||||
//setTimeout(mashsb_get_fb_shares, 3000);
|
||||
|
||||
/**
|
||||
* If page is older than 30 second it's cached. So do not call FB API again
|
||||
* @returns {Boolean}
|
||||
*/
|
||||
function mashsb_is_rate_limit() {
|
||||
|
||||
if ("undefined" === typeof (mashsb.servertime)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
var serverTime = Number(mashsb.servertime);
|
||||
var clientTime = Math.floor(Date.now() / 1000);
|
||||
|
||||
if (clientTime > (serverTime + 30)) {
|
||||
console.log('rate limited: ' + (serverTime + 30));
|
||||
return true;
|
||||
} else {
|
||||
console.log('not rate limited: ' + (serverTime + 30));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Store FB return data in mashshare cache vi js client request
|
||||
* @returns {undefined}
|
||||
*/
|
||||
function mashsb_set_fb_sharecount(result) {
|
||||
|
||||
if ('undefined' === typeof (result.share)) {
|
||||
console.log('No valid result' + result);
|
||||
return false;
|
||||
}
|
||||
|
||||
var data = {
|
||||
action: 'mashsb_set_fb_shares',
|
||||
shares: result.share,
|
||||
postid: mashsb.postid,
|
||||
url: mashsb.share_url,
|
||||
nonce: mashsb.nonce
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: mashsb.ajaxurl,
|
||||
data: data,
|
||||
success: function (res) {
|
||||
console.log('Save fb results: ' + res);
|
||||
},
|
||||
error: function (e) {
|
||||
console.log('Unknown error ' + e)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// pinterest button logic
|
||||
$('body')
|
||||
.off('click', '.mashicon-pinterest')
|
||||
.on('click', '.mashicon-pinterest', function (e) {
|
||||
e.preventDefault();
|
||||
console.log('preventDefault:' + e);
|
||||
winWidth = 520;
|
||||
winHeight = 350;
|
||||
var winTop = (screen.height / 2) - (winHeight / 2);
|
||||
var winLeft = (screen.width / 2) - (winWidth / 2);
|
||||
var url = $(this).attr('data-mashsb-url');
|
||||
|
||||
window.open(url, 'sharer', 'top=' + winTop + ',left=' + winLeft + ',toolbar=0,status=0,width=' + winWidth + ',height=' + winHeight + ',resizable=yes');
|
||||
|
||||
});
|
||||
|
||||
/* Load Pinterest Popup window
|
||||
*
|
||||
* @param string html container
|
||||
* @returns void
|
||||
*/
|
||||
function load_pinterest(html) {
|
||||
|
||||
mashnet_load_pinterest_body();
|
||||
|
||||
jQuery('.mashnet_pinterest_header').fadeIn(500);
|
||||
jQuery('.mashnet_pinterest_inner').html(html);
|
||||
|
||||
/* Close Pinterest popup*/
|
||||
jQuery('.mashnet_pinterest_close').click(function (e) {
|
||||
e.preventDefault();
|
||||
jQuery('.mashnet_pinterest_header').hide();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Load pinterest wrapper
|
||||
*
|
||||
* @returns voids
|
||||
*/
|
||||
function load_pinterest_body() {
|
||||
var winWidth = window.innerWidth;
|
||||
var popupWidth = 350;
|
||||
var popupHeight = 310;
|
||||
|
||||
/* Load Pinterest popup into body of page */
|
||||
if (winWidth <= 330)
|
||||
var popupWidth = 310;
|
||||
if (winWidth > 400)
|
||||
var popupWidth = 390;
|
||||
if (winWidth > 500)
|
||||
var popupWidth = 490;
|
||||
|
||||
var winTop = (window.innerHeight / 2) - (popupHeight / 2);
|
||||
var winLeft = (window.innerWidth / 2) - (popupWidth / 2);
|
||||
var struct = '<div class="mashnet_pinterest_header" style="position:fixed;z-index:999999;max-width:' + popupWidth + 'px; margin-left:' + winLeft + 'px;top:' + winTop + 'px;">\n\
|
||||
<div class="mashnet_pinit_wrapper" style="background-color:white;"><span class="mashnet_pin_it">Pin it! </span><span class="mashnet_pinicon"></span> \n\
|
||||
<div class="mashnet_pinterest_close" style="float:right;"><a href="#">X</a></div></div>\n\
|
||||
<div class="mashnet_pinterest_inner"></div>\n\
|
||||
</div>\n\
|
||||
';
|
||||
|
||||
jQuery('body').append(struct);
|
||||
}
|
||||
|
||||
/* Get all images on site
|
||||
*
|
||||
* @return html
|
||||
* */
|
||||
function get_images(url) {
|
||||
|
||||
var allImages = jQuery('img').not("[nopin='nopin']");
|
||||
var html = '';
|
||||
var url = '';
|
||||
|
||||
var largeImages = allImages.filter(function () {
|
||||
return (jQuery(this).width() > 70) || (jQuery(this).height() > 70)
|
||||
})
|
||||
for (i = 0; i < largeImages.length; i++) {
|
||||
html += '<li><a target="_blank" rel="" id="mashnetPinterestPopup" href="https://pinterest.com/pin/create/button/?url=' + encodeURIComponent(window.location.href) + '%2F&media=' + largeImages[i].src + '&description=' + largeImages[i].alt + '"><img src="' + largeImages[i].src + '"></a></li>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// Fix for the inline post plugin which removes the zero share count
|
||||
if ($('.mashsbcount').text() == '') {
|
||||
$('.mashsbcount').text(0);
|
||||
}
|
||||
|
||||
// check the sharecount caching method
|
||||
mashsb_check_cache();
|
||||
|
||||
/**
|
||||
* Check Cache
|
||||
*
|
||||
*/
|
||||
function mashsb_check_cache() {
|
||||
|
||||
if (mashsb_is_rate_limit()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
if (typeof (mashsb) && mashsb.refresh == "1") {
|
||||
mashsb_update_cache();
|
||||
}
|
||||
|
||||
}, 6000);
|
||||
}
|
||||
|
||||
function mashsb_update_cache() {
|
||||
var mashsb_url = window.location.href;
|
||||
if (mashsb_url.indexOf("?") > -1) {
|
||||
mashsb_url += "&mashsb-refresh";
|
||||
} else {
|
||||
mashsb_url += "?mashsb-refresh";
|
||||
}
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("GET", mashsb_url, true);
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
/* Opens a new minus button when plus sign is clicked */
|
||||
/* Toogle function for more services */
|
||||
$('.onoffswitch').on('click', function () {
|
||||
var $parent = $(this).parents('.mashsb-container');
|
||||
$parent.find('.onoffswitch').hide();
|
||||
$parent.find('.secondary-shares').show();
|
||||
$parent.find('.onoffswitch2').show();
|
||||
});
|
||||
$('.onoffswitch2').on('click', function () {
|
||||
var $parent = $(this).parents('.mashsb-container');
|
||||
$parent.find('.onoffswitch').show();
|
||||
$parent.find('.secondary-shares').hide();
|
||||
});
|
||||
|
||||
/* Network sharer scripts */
|
||||
/* deactivate FB sharer when likeaftershare is enabled */
|
||||
if (typeof lashare_fb == "undefined" && typeof mashsb !== 'undefined') {
|
||||
$('.mashicon-facebook').click(function (e) {
|
||||
winWidth = 520;
|
||||
winHeight = 550;
|
||||
var winTop = (screen.height / 2) - (winHeight / 2);
|
||||
var winLeft = (screen.width / 2) - (winWidth / 2);
|
||||
var url = $(this).attr('href');
|
||||
|
||||
window.open(url, 'sharer', 'top=' + winTop + ',left=' + winLeft + ',toolbar=0,status=0,width=' + winWidth + ',height=' + winHeight);
|
||||
e.preventDefault();
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
if (typeof mashsb !== 'undefined') {
|
||||
$('.mashicon-twitter').click(function (e) {
|
||||
winWidth = 520;
|
||||
winHeight = 350;
|
||||
var winTop = (screen.height / 2) - (winHeight / 2);
|
||||
var winLeft = (screen.width / 2) - (winWidth / 2);
|
||||
var url = $(this).attr('href');
|
||||
|
||||
// deprecated and removed because TW popup opens twice
|
||||
if (mashsb.twitter_popup === '1') {
|
||||
window.open(url, 'sharer', 'top=' + winTop + ',left=' + winLeft + ',toolbar=0,status=0,width=' + winWidth + ',height=' + winHeight);
|
||||
}
|
||||
e.preventDefault();
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
if (typeof mashsb !== 'undefined' && mashsb.subscribe === 'content') {
|
||||
/* Toogle container display:none */
|
||||
$('.mashicon-subscribe').not('.trigger_active').nearest('.mashsb-toggle-container').hide();
|
||||
$('.mashicon-subscribe').click(function () {
|
||||
var trig = $(this);
|
||||
if (trig.hasClass('trigger_active')) {
|
||||
$(trig).nearest('.mashsb-toggle-container').slideToggle('fast');
|
||||
trig.removeClass('trigger_active');
|
||||
//$(".mashicon-subscribe").css({"padding-bottom":"10px"});
|
||||
} else {
|
||||
$('.trigger_active').nearest('.mashsb-toggle-container').slideToggle('slow');
|
||||
$('.trigger_active').removeClass('trigger_active');
|
||||
$(trig).nearest('.mashsb-toggle-container').slideToggle('fast');
|
||||
trig.addClass('trigger_active');
|
||||
//$(".mashicon-subscribe").css({"padding-bottom":"13px"});
|
||||
}
|
||||
;
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
if (typeof mashsb !== 'undefined' && mashsb.subscribe === 'link') {
|
||||
$('.mashicon-subscribe').click(function () {
|
||||
var href = mashsb.subscribe_url;
|
||||
$(this).attr("href", href);
|
||||
});
|
||||
}
|
||||
;
|
||||
|
||||
|
||||
/* Round the shares callback function
|
||||
*
|
||||
* @param {type} value
|
||||
* @returns {String|@exp;value@call;toFixed}
|
||||
*/
|
||||
function roundShares(value) {
|
||||
if (typeof mashsb !== "undefined" && mashsb.round_shares == 1) {
|
||||
if (value > 1000000) {
|
||||
shares = Math.round((value / 1000000) * 10) / 10 + 'M';
|
||||
return shares;
|
||||
|
||||
}
|
||||
if (value > 1000) {
|
||||
shares = Math.round((value / 1000) * 10) / 10 + 'k';
|
||||
return shares;
|
||||
|
||||
}
|
||||
}
|
||||
/* zero decimals */
|
||||
return value.toFixed(0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Count up script jquery-countTo
|
||||
* by mhuggins
|
||||
*
|
||||
* Source: https://github.com/mhuggins/jquery-countTo
|
||||
*/
|
||||
(function ($) {
|
||||
$.fn.countTo = function (options) {
|
||||
options = options || {};
|
||||
|
||||
return $(this).each(function () {
|
||||
// set options for current element
|
||||
var settings = $.extend({}, $.fn.countTo.defaults, {
|
||||
from: $(this).data('from'),
|
||||
to: $(this).data('to'),
|
||||
speed: $(this).data('speed'),
|
||||
refreshInterval: $(this).data('refresh-interval'),
|
||||
decimals: $(this).data('decimals')
|
||||
}, options);
|
||||
|
||||
// how many times to update the value, and how much to increment the value on each update
|
||||
var loops = Math.ceil(settings.speed / settings.refreshInterval),
|
||||
increment = (settings.to - settings.from) / loops;
|
||||
|
||||
// references & variables that will change with each update
|
||||
var self = this,
|
||||
$self = $(this),
|
||||
loopCount = 0,
|
||||
value = settings.from,
|
||||
data = $self.data('countTo') || {};
|
||||
|
||||
$self.data('countTo', data);
|
||||
|
||||
// if an existing interval can be found, clear it first
|
||||
if (data.interval) {
|
||||
clearInterval(data.interval);
|
||||
}
|
||||
data.interval = setInterval(updateTimer, settings.refreshInterval);
|
||||
|
||||
// initialize the element with the starting value
|
||||
render(value);
|
||||
|
||||
function updateTimer() {
|
||||
value += increment;
|
||||
loopCount++;
|
||||
|
||||
render(value);
|
||||
|
||||
if (typeof (settings.onUpdate) == 'function') {
|
||||
settings.onUpdate.call(self, value);
|
||||
}
|
||||
|
||||
if (loopCount >= loops) {
|
||||
// remove the interval
|
||||
$self.removeData('countTo');
|
||||
clearInterval(data.interval);
|
||||
value = settings.to;
|
||||
|
||||
if (typeof (settings.onComplete) == 'function') {
|
||||
settings.onComplete.call(self, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function render(value) {
|
||||
var formattedValue = settings.formatter.call(self, value, settings);
|
||||
$self.text(formattedValue);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.countTo.defaults = {
|
||||
from: 0, // the number the element should start at
|
||||
to: 0, // the number the element should end at
|
||||
speed: 1000, // how long it should take to count between the target numbers
|
||||
refreshInterval: 100, // how often the element should be updated
|
||||
decimals: 0, // the number of decimal places to show
|
||||
//formatter: formatter, // handler for formatting the value before rendering
|
||||
formatter: roundShares,
|
||||
onUpdate: null, // callback method for every time the element is updated
|
||||
onComplete: null // callback method for when the element finishes updating
|
||||
};
|
||||
|
||||
function formatter(value, settings) {
|
||||
return value.toFixed(settings.decimals);
|
||||
}
|
||||
|
||||
|
||||
}(jQuery));
|
||||
|
||||
/*
|
||||
* Start the counter
|
||||
*
|
||||
*/
|
||||
if (typeof mashsb !== 'undefined' && mashsb.animate_shares == 1 && $('.mashsbcount').length) {
|
||||
$('.mashsbcount').countTo({from: 0, to: mashsb.shares, speed: 1000, refreshInterval: 100});
|
||||
}
|
||||
});
|
||||
Reference in new issue
Block a user