Add upstream

This commit is contained in:
root
2019-10-24 00:12:05 +02:00
parent 85d41e4216
commit ac980f592c
3504 changed files with 1049983 additions and 29971 deletions

View File

@@ -0,0 +1,20 @@
// shariff media upload
jQuery(document).ready(function($){
$("#shariff-upload-btn").click(function(e) {
e.preventDefault();
var image = wp.media({
title: shariff_media.choose_image,
multiple: false
}).open()
.on("select", function(){
// this will return the selected image from the media uploader, the result is an object
var uploaded_image = image.state().get("selection").first();
// output to the console uploaded_image
console.log(uploaded_image);
// convert uploaded_image to a JSON object to make accessing it easier
var image_url = uploaded_image.toJSON().url;
// assign the url value to the input field
$("#shariff-image-url").val(image_url);
});
});
});

View File

@@ -0,0 +1 @@
jQuery(document).ready(function(a){a("#shariff-upload-btn").click(function(c){c.preventDefault();var b=wp.media({title:shariff_media.choose_image,multiple:false}).open().on("select",function(){var d=b.state().get("selection").first();console.log(d);var e=d.toJSON().url;a("#shariff-image-url").val(e)})})});

View File

@@ -0,0 +1,29 @@
// add click listener function
function shariff_click() {
// enabled strict mode
"use strict";
// get elements
var classname = document.getElementsByClassName( 'shariff-link' );
// set all event listeners
for ( var i = 0; i < classname.length; i++ ) {
classname[i].addEventListener( 'click', shariff_popup, false );
}
}
// actual popup function
function shariff_popup( evt ) {
// set variables
var t = this.getAttribute( 'href' );
var o = screen.width/2-350;
var r = screen.height/2-250;
// open popup if not one of the special services
if ( t.substring( 0, 7 ) !== 'mailto:' && t.substring( 0, 9 ) !== "whatsapp:" && t !== 'javascript:window.print()' && t !== 'http://ct.de/-2467514' ) {
// prevent default action
evt.preventDefault();
// open popup
window.open( t,"_blank","height=500, width=700, status=yes, toolbar=no, menubar=no, location=no, top="+r+", left="+o );
// return false to prevent tab opening in some browsers
return false;
}
}
// add event listener to call shariff popup function after DOM
document.addEventListener( 'DOMContentLoaded', shariff_click, false );

View File

@@ -0,0 +1 @@
function shariff_click(){var b=document.getElementsByClassName("shariff-link");for(var a=0;a<b.length;a++){b[a].addEventListener("click",shariff_popup,false)}}function shariff_popup(a){var b=this.getAttribute("href");var d=screen.width/2-350;var c=screen.height/2-250;if(b.substring(0,7)!=="mailto:"&&b.substring(0,9)!=="whatsapp:"&&b!=="javascript:window.print()"&&b!=="http://ct.de/-2467514"){a.preventDefault();window.open(b,"_blank","height=500, width=700, status=yes, toolbar=no, menubar=no, location=no, top="+c+", left="+d);return false}}document.addEventListener("DOMContentLoaded",shariff_click,false);

View File

@@ -0,0 +1,100 @@
// main shariff function
function shariff_share_counts() {
// enabled strict mode
"use strict";
// get all shariff containers
var containers = document.getElementsByClassName("shariff");
// init request object
var requests = {};
// loop through all containers, create each request url and add all to request array
for ( var c = 0; containers[c]; c++ ) {
var share_url = containers[c].dataset.url;
var services = containers[c].dataset.services;
var timestamp = containers[c].dataset.timestamp;
// check if an external share count api is set
var api = containers[c].dataset.backendurl;
if ( typeof api === "undefined" ) {
api = '/wp-json/shariff/v1/share_counts?';
}
// build request url
var request_url = api + 'url=' + share_url + '&services=' + services + '&timestamp=' + timestamp;
// check if we have backend services at all
if ( typeof services !== "undefined" ) {
// check if the url is already in requests to avoid duplicated requests
if ( requests[ share_url ] ) {
// add additional services to services
services = requests[ share_url ][ 1 ] + '|' + services;
// remove duplicates
var service_array = services.split("|");
service_array = service_array.filter( function( elem, pos, arr ) {
return arr.indexOf( elem ) === pos;
});
services = service_array.join('|');
// update request url
request_url = api + 'url=' + share_url + '&services=' + services + '&timestamp=' + timestamp;
// add to requests
requests[ share_url ] = [ share_url, services, timestamp, request_url ];
}
else {
requests[ share_url ] = [ share_url, services, timestamp, request_url ];
}
}
}
// get share counts
for ( var request in requests ) {
if ( requests.hasOwnProperty( request ) ) {
shariff_get_share_counts( requests[ request ][ 0 ], requests[ request ][ 3 ], containers );
}
}
}
// get share counts
function shariff_get_share_counts( share_url, request_url, containers ) {
// new XMLHttpRequest
var request = new XMLHttpRequest();
// load asynchronously
request.open( 'GET', request_url, true );
// actions after answer
request.onload = function() {
// check if successful
if ( request.status >= 200 && request.status < 400 ) {
// add to buttons
shariff_add_share_counts( share_url, JSON.parse( request.responseText ), containers );
}
};
// start request
request.send();
}
// add share counts
function shariff_add_share_counts( share_url, data, containers ) {
// add share counts to buttons
for ( var d = 0; containers[d]; d++ ) {
// check if it is the corresponding button set
if ( containers[d].dataset.url === share_url ) {
// update total in total number spans
var shariff_totalnumber = containers[d].getElementsByClassName("shariff-totalnumber");
for ( var n = 0; shariff_totalnumber[n]; n++ ) {
if ( data !== null && typeof data.total !== 'undefined' ) {
shariff_totalnumber[n].innerHTML = data.total;
}
}
// update total in shariff headline
var shariff_total = containers[d].getElementsByClassName("shariff-total");
for ( var t = 0; shariff_total[t]; t++ ) {
if ( data !== null && typeof data.total !== 'undefined' ) {
shariff_total[t].innerHTML = data.total;
}
}
// loop through all button in this container
var shariff_count = containers[d].getElementsByClassName("shariff-count");
for ( var s = 0; shariff_count[s]; s++ ) {
// add share count, if we have one, and make it visible
if ( data !== null && typeof data[shariff_count[s].dataset.service] !== 'undefined' && ( typeof containers[d].dataset.hidezero === 'undefined' || ( containers[d].dataset.hidezero === '1' && data[shariff_count[s].dataset.service] > 0 ) ) ) {
shariff_count[s].innerHTML = data[shariff_count[s].dataset.service];
shariff_count[s].style.opacity = 1;
}
}
}
}
}
// add event listener to call main shariff function after DOM
document.addEventListener( 'DOMContentLoaded', shariff_share_counts, false );

View File

@@ -0,0 +1 @@
function shariff_share_counts(){var d=document.getElementsByClassName("shariff");var a={};for(var i=0;d[i];i++){var e=d[i].dataset.url;var j=d[i].dataset.services;var h=d[i].dataset.timestamp;var g=d[i].dataset.backendurl;if(typeof g==="undefined"){g="/wp-json/shariff/v1/share_counts?"}var k=g+"url="+e+"&services="+j+"&timestamp="+h;if(typeof j!=="undefined"){if(a[e]){j=a[e][1]+"|"+j;var b=j.split("|");b=b.filter(function(l,m,c){return c.indexOf(l)===m});j=b.join("|");k=g+"url="+e+"&services="+j+"&timestamp="+h;a[e]=[e,j,h,k]}else{a[e]=[e,j,h,k]}}}for(var f in a){if(a.hasOwnProperty(f)){shariff_get_share_counts(a[f][0],a[f][3],d)}}}function shariff_get_share_counts(c,a,d){var b=new XMLHttpRequest();b.open("GET",a,true);b.onload=function(){if(b.status>=200&&b.status<400){shariff_add_share_counts(c,JSON.parse(b.responseText),d)}};b.send()}function shariff_add_share_counts(c,e,b){for(var g=0;b[g];g++){if(b[g].dataset.url===c){var j=b[g].getElementsByClassName("shariff-totalnumber");for(var a=0;j[a];a++){if(e!==null&&typeof e.total!=="undefined"){j[a].innerHTML=e.total}}var h=b[g].getElementsByClassName("shariff-total");for(var i=0;h[i];i++){if(e!==null&&typeof e.total!=="undefined"){h[i].innerHTML=e.total}}var f=b[g].getElementsByClassName("shariff-count");for(var k=0;f[k];k++){if(e!==null&&typeof e[f[k].dataset.service]!=="undefined"&&(typeof b[g].dataset.hidezero==="undefined"||(b[g].dataset.hidezero==="1"&&e[f[k].dataset.service]>0))){f[k].innerHTML=e[f[k].dataset.service];f[k].style.opacity=1}}}}}document.addEventListener("DOMContentLoaded",shariff_share_counts,false);