MOON
Server: Apache
System: Linux vps.erhabenn.com.br 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User: machen (1008)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: /disk001/machen/www/support/wp-content/plugins/gif-master/popup/js/tenor/init.js
// function to get the API data
function httpGetAsync(theUrl, callback){
    var xmlHttp = new XMLHttpRequest();
	xmlHttp.onreadystatechange = function(){
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
            callback(xmlHttp.responseText);
        }
    }
	xmlHttp.open("GET", theUrl, true);
	xmlHttp.send(null);
    return;
}

// get user keys
var getUrlParameter = function getUrlParameter(sParam) {
	var sPageURL = window.location.search.substring(1),
		sURLVariables = sPageURL.split('&'),
		sParameterName,
		i;
	for (i = 0; i < sURLVariables.length; i++) {
		sParameterName = sURLVariables[i].split('=');
		if (sParameterName[0] === sParam) {
			return typeof sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
		}
	}
	return false;
};
var tenor_key = getUrlParameter('tenor');

// Display result gifs in ul
function load_gifs(gifs){
	var id, prvw, medium_img, orig;
	var elem_array = [];
	var _frag = document.createDocumentFragment();
	jQuery(gifs).each(function(id, gif){
		id = gif['id'];
		prvw = gif['media_formats'].nanogif['url'];
		medium_img = gif['media_formats'].tinygif['url'];
		orig = gif['media_formats'].gif['url'];
		var _li = newT.li({
						clss:"tenor_gif_li",
						draggable:true,
					},
					newT.img({
						clss:"gif tenor_gif",
						width:"100%",
						"src":prvw, 
						"data-id":id,
						"data-mdm-img": medium_img,
						"data-orig-img": orig
					})
				);
		_frag.appendChild(_li);
		elem_array.push(_li);
	});
	var tenor_gifsEl = jQuery('ul#tnrgifs');
	tenor_gifsEl.append(_frag);
	tenor_gifsEl.html(elem_array);
}

// callback for search
function tenorCallback_search(responsetext){
    var response_objects = JSON.parse(responsetext);
	gifs = response_objects["results"];
	load_gifs(gifs);
	return;
}

// callback for trending GIFs
function tenorCallback_trending(responsetext){
    var response_objects = JSON.parse(responsetext);
    trending_gifs = response_objects["results"];
	load_gifs(trending_gifs);
    return;
}

// Trigger search - input handler
jQuery("#tnr-searchbar-input").keypress(function(event) {
	if(event.keyCode == 13) {
		grab_data('search');
	}
});

// Trigger search - search button handler
jQuery("#tnr-search-button").on("click", function() {
	grab_data('search');
});

// selecting image
jQuery("#tnrgifs").on("click", ".tenor_gif_li", function(){
	var mdm_src = jQuery(this).find("img").attr("data-mdm-img");
	var orig_src = jQuery(this).find("img").attr("data-orig-img");
	jQuery("#tnr-gif-detail-gif").attr("src", mdm_src);
	jQuery("#tnr-gif-detail-gif").attr("data-orig-img", orig_src);
	jQuery("#tnrgifs, #tnr-footer").hide();
	jQuery("#tnr-gif-detail").show();
	jQuery("#tnr-back-button").show();
});
// back from selected image
jQuery("#tnr-back-button").on("click", function(){
	jQuery("#tnr-gif-detail").hide();
	jQuery("#tnr-back-button").hide();
	jQuery("#tnrgifs, #tnr-footer").show();
});

// Insert selected image
jQuery("#tnr-embed-button").on("click", function(){
	insertIntoEd();
});

function insertIntoEd() {
	// var htmlCode = '<div class="tenor-gif-embed" data-postid="15131615" data-share-method="host" data-width="100%" data-aspect-ratio="0.821285140562249"><a href="https://tenor.com/view/jason-bateman-why-face-emmy-emotions-gif-15131615">Jason Bateman Why GIF</a> from <a href="https://tenor.com/search/jasonbateman-gifs">Jasonbateman GIFs</a></div><script type="text/javascript" async src="https://tenor.com/embed.js"></script>';
	var orig_src = jQuery('img#tnr-gif-detail-gif').attr('data-orig-img');
	var attr_str = '<span style="display: block; width: 100%; background: #f7f7f7; position: absolute; bottom: 0px; padding: 5px 0;"><img src="https://www.gstatic.com/tenor/web/attribution/via_tenor_logo_grey.png" style="width: 106px; float: right;"></span>';
	var htmlCode = '<div class="tenor_final_gif" style="position: relative; width: fit-content; padding-bottom: 33px;"><img src="'+orig_src+'">'+attr_str+'</div><p></p>';
	
	parent.tinyMCE.activeEditor.execCommand("mceInsertRawHTML", false, htmlCode);
	parent.tinyMCE.activeEditor.selection.select(parent.tinyMCE.activeEditor.getBody(), true); // ed is the editor instance
	parent.tinyMCE.activeEditor.selection.collapse(false);
	parent.tinyMCE.activeEditor.windowManager.close(window);
}

// function to call the endpoints
function grab_data(cmd){
    var apikey = tenor_key;
    var lmt = 50;
	
    if(cmd == 'search'){
		var search_term = jQuery("#tnr-searchbar-input").val();
		if(search_term == ''){ return; }
		// using default locale of en_US
		var search_url = "https://tenor.googleapis.com/v2/search?q=" + search_term + "&key=" + apikey + "&limit=" + lmt; // https://g.tenor.com/v1
		httpGetAsync(search_url,tenorCallback_search);
	}
	
	if(cmd == 'trending'){
		var trending_url = "https://tenor.googleapis.com/v2/featured?key=" + apikey + "&limit=" + lmt;
		httpGetAsync(trending_url,tenorCallback_trending);
	}
	
	return;
}

// start the flow
grab_data('trending');