1//este js gestiona las descargas y transformaciones 2 3//se fija qué checkboxes están activados y en base a eso prepara un zip o no 4function AnalyzeDownload(esto) 5{ 6 $('.formats input').removeAttr('checked'); 7 var goSVG = false; 8 var goPNG = false; 9 var goPSD = false; 10 var goAI = false; 11 var goSRC = false; 12 var goFONT = false; 13 var comprar = false; 14 15 //Firefox fix 16 svgCanvas = document.getElementById("id_svgCanvas"); 17 if(svgCanvas != null) { 18 svgCanvas.setAttribute('width', '38px'); 19 svgCanvas.setAttribute('height','38px'); 20 } 21 22 var pretext = $(esto).html(); 23 $(esto).html('<i class="fa fa-spinner fa-pulse fa-fw"></i>'); 24 $(esto).attr('disabled','disabled'); 25 26 var etiqueta = $(esto).attr('for'); 27 console.log(etiqueta); 28 var format_down = $(esto).attr('data-download'); 29 console.log(format_down); 30 var px; 31 if(format_down == 'png') 32 { 33 goPNG = true; 34 px = $('#'+etiqueta).val(); 35 px = px.replace(/px/g,''); 36 console.log(px); 37 } 38 else 39 { 40 px = ""; 41 } 42 //var px = $('#png_size_menu').children('input:checked').val(); 43 44 if(format_down == 'psd') 45 { 46 goPSD = true; 47 //$('#myModal').modal('show'); 48 } 49 50 if(format_down == 'ai') 51 { 52 goAI = true; 53 //$('#myModal').modal('show'); 54 } 55 //if(goSVG!=true){ 56 if(format_down == 'svg') 57 { 58 goSVG = true; 59 } 60 61 if(format_down == 'src') 62 { 63 goSRC = true; 64 } 65 66 if(format_down == 'font') 67 { 68 goFONT = true; 69 } 70 71if(goPNG == false) 72{ 73 //AJAX 74 var usua = $('#ValidaUSer').val(); 75 var icn = $('#id_icon_ind').val(); 76 var enl_validar = location.protocol+"//www.iconshock.com/sales/getIcon/"+icn+"/100"; 77 78 //$('#id_downloadButton').text('Processing...'); 79 //$('#id_downloadButton').attr('disabled','true'); 80 $.ajax ({ 81 url: enl_validar, 82 }).done(function(response) { 83 //$('#id_downloadButton').removeAttr('disabled'); 84 //$('#id_downloadButton').text('Get Premium'); 85 //alert(response); 86 $(esto).html(pretext); 87 $(esto).removeAttr('disabled'); 88 89 console.log(response); 90 if (response[0] == false) 91 { 92 $('#pack-includes-set').empty(); 93 $('#pack-includes-cat').empty(); 94 $('#pack-includes-ind').empty(); 95 96 var setDisplay = response[3].s_set; 97 var catDisplay = response[3].s_cat; 98 var indDisplay = response[3].s_ind; 99 100 for(s=0;s<=setDisplay.length-1;s++) { 101 var setName = setDisplay[s].cat_name.toLowerCase()+' - '+setDisplay[s].ind_name.toLowerCase(); 102 $('#pack-includes-set').append('<li><a target="_blank" href="https://www.iconshock.com/'+setDisplay[s].cat_slug+'/'+setDisplay[s].ind_slug+'/">'+setName+'</a></li>'); 103 } 104 for(s=0;s<=catDisplay.length-1;s++) { 105 var setName = catDisplay[s].cat_name.toLowerCase()+' - '+catDisplay[s].ind_name.toLowerCase(); 106 $('#pack-includes-cat').append('<li><a target="_blank" href="https://www.iconshock.com/'+catDisplay[s].cat_slug+'/'+catDisplay[s].ind_slug+'/">'+setName+'</a></li>'); 107 } 108 for(s=0;s<=indDisplay.length-1;s++) { 109 var setName = indDisplay[s].cat_name.toLowerCase()+' - '+indDisplay[s].ind_name.toLowerCase(); 110 $('#pack-includes-ind').append('<li><a target="_blank" href="https://www.iconshock.com/'+indDisplay[s].cat_slug+'/'+indDisplay[s].ind_slug+'/">'+setName+'</a></li>'); 111 } 112 113 $('#ValidaCateg').val(response[1]); 114 $('#ValidaIndus').val(response[2]); 115 goSVG = false; 116 goPSD = false; 117 goAI = false; 118 goFONT = false; 119 120 $('#myModal').modal('show'); 121 } 122 else 123 { 124 if(goSVG == true) 125 { 126 PrepareDownloadSVG(); 127 } 128 if(goPSD == true) 129 { 130 var formato = 'psd'; 131 var rut= location.protocol+"//www.iconshock.com/v2/do_icon_down.php"; 132 PrepareDownloadPSD(icn,formato,rut); 133 } 134 if(goAI == true) 135 { 136 var formato = 'ai'; 137 var rut= location.protocol+"//www.iconshock.com/v2/do_icon_down.php"; 138 PrepareDownloadAI(icn,formato,rut); 139 } 140 if(goSRC == true) 141 { 142 var formato = 'src'; 143 var rut= location.protocol+"//www.iconshock.com/v2/do_icon_down.php"; 144 PrepareDownloadAI(icn,formato,rut); 145 } 146 if(goFONT == true) 147 { 148 var formato = 'font'; 149 var rut = location.protocol+"//www.iconshock.com/v2/do_icon_down.php"; 150 PrepareDownloadFONT(icn,formato,rut); 151 } 152 } 153 }); 154} 155 if(goPNG == true) 156 { 157 var addon = false;
158 if( $('#addon_svgcanvas').is(":visible") ){ 159 addon = true; 160 } 161 162 var icn = $('#id_icon_ind').val(); 163 164 var gosvg = false; 165 var ruta = location.protocol+"//www.iconshock.com/v2/class/consulta_formatos.php"; 166 var datos = { 167 'icono' : icn, 168 'valid_us' : true 169 } 170 $.ajax ({ 171 data: datos, 172 url: ruta, 173 type: 'get', 174 beforeSend: function( xhr ) { 175 176 } 177 }).done(function(response) { 178 $(esto).html(pretext); 179 $(esto).removeAttr('disabled'); 180 for(i=0;i<=response.length;i++) 181 { 182 if(response[i] == 'svg') 183 { 184 gosvg = true; 185 } 186 } 187 if(gosvg == true) 188 { 189 //ToPng(px,px); 190 PrepareDownloadPNG(px,addon,gosvg); 191 } 192 else 193 { 194 PrepareDownloadPNG(px,addon,gosvg); 195 } 196 }); 197 198 } 199 200} 201 202function PrepareDownloadPSD(icon,formato,route) { 203 var rutafinal = location.protocol+'//www.iconshock.com/sales/getIconSrc/'+icon+'/src/'+formato; 204 window.location = rutafinal; 205} 206 207function PrepareDownloadAI(icon,formato,route) { 208 var rutafinal = location.protocol+'//www.iconshock.com/sales/getIconSrc/'+icon+'/src/'+formato; 209 window.location = rutafinal; 210} 211 212function PrepareDownloadSRC(icon,formato,route) { 213 var rutafinal = location.protocol+'//www.iconshock.com/sales/getIconSrc/'+icon+'/src/'+formato; 214 window.location = rutafinal; 215} 216 217function PrepareDownloadFONT(icon,formato,route) { 218 var rutafinal = location.protocol+'//www.iconshock.com/sales/getIconSrc/'+icon+'/src/'+formato; 219 window.location = rutafinal; 220} 221 222function PrepareDownloadPNG(px,addon,formato,returnData = false) 223{ 224 var result=""; 225 /*if(formato == true) 226 { 227 svgCanvas = document.getElementById("id_svgCanvas"); 228 229 svgCanvas.setAttribute('width',px); 230 svgCanvas.setAttribute('height',px); 231 svgCanvas.setAttribute('viewbox',"0 0 "+px+" "+px); 232 233 var currentUrl = window.location; 234 var urlParameters = currentUrl.pathname.replace("/v2/",""); 235 var urlParametersDiv = urlParameters.split("/"); 236 var urlCategory = urlParametersDiv[0]; 237 var urlIndustry = urlParametersDiv[1]; 238 239 var verwidth=px; 240 241 var svgText = document.getElementById("id_svgCanvas").outerHTML; 242 243 var result = ToPng(svgText,px,px); 244 console.log(result); 245 246 svgCanvas.setAttribute('width',64); 247 svgCanvas.setAttribute('height',64); 248 svgCanvas.setAttribute('viewbox',"0 0 64 64"); 249 }*/ 250 var verwidth=px; 251 //AJAX 252 var usua = $('#ValidaUSer').val(); 253 var icn = $('#id_icon_ind').val(); 254 var enl_validar = location.protocol+"//www.iconshock.com/sales/getIcon/"+icn+"/"+verwidth; 255 256 //$('#id_downloadButton').text('Processing...'); 257 //$('#id_downloadButton').attr('disabled','true'); 258 $.ajax ({ 259 url: enl_validar, 260 }).done(function(response) { 261 //$('#id_downloadButton').removeAttr('disabled'); 262 //$('#id_downloadButton').text('Get Premium'); 263 if (response[0] == true) 264 { 265 if(formato == true) 266 { 267 ToPng(px,px); 268 } 269 else 270 { 271 ExecuteDownloadPNG(addon,verwidth,formato,result); 272 } 273 } 274 else 275 { 276 $('#ValidaCateg').val(response[1]); 277 $('#ValidaIndus').val(response[2]); 278 $('#myModal').modal('show'); 279 } 280 }); 281 282 283 $('#image-editor').show(); 284 if(verwidth<128){ 285 286 } 287} 288 289function ExecuteDownloadPNG(addon,size,formato,url) 290{ 291 var eladdon = $('#id_overlaySvg img').attr('data-addon'); 292 if(eladdon != undefined) 293 { 294 var addon_size = $('#id_overlaySvg img').width(); 295 var y = $('#id_overlaySvg img').css('top'); 296 var x = $('#id_overlaySvg img').css('left'); 297 298 x = x.replace(/px/g,''); 299 y = y.replace(/px/g,''); 300 301 var pos = x+'vs'+y+'vs'+addon_size; 302 } 303 else 304 { 305 var pos = "no"; 306 } 307 308 if (formato == true) 309 { 310 var nameicon = $('.container-editor-icon-name').text(); 311 nameicon = nameicon.replace(/ /g,'_'); 312 $('#id_downloadLink').attr('download',nameicon+'.png') 313 $('#id_downloadLink').attr('href',url); 314 document.getElementById('id_downloadLink').click(); 315 } 316 else 317 { 318 var icono = $('#id_icon_ind').val(); 319 window.location = location.protocol+'//www.iconshock.com/sales/downloadIcon/'+icono+'/'+size+'/'+eladdon+'/'+pos; 320 //window.location = 'http://www.iconshock.com/v2/do_download_png.php?icono='+icono+'&size='+size+'&addon='+addon+'&addon_name='+eladdon; 321 } 322} 323 324function ToPng(width, height) 325{ 326 var DOMURL = window.URL || window.webkitURL || window; 327 var canvas = document.getElementById("id_resultCanvas"); 328 329 canvas.width = width; 330 canvas.height = height; 331 332 var ctx = canvas.getContext("2d"); 333 var data = $('#id_firstSvg').html(); 334 var icon = new Image(); 335 var svg = new Blob([data], {type: 'image/svg+xml;charset=utf-8'}); 336 var url = DOMURL.createObjectURL(svg); 337 $(icon).attr('src',url); 338 339 icon.onload = function () { 340 ctx.drawImage(icon, 0, 0,width ,height); 341 DOMURL.revokeObjectURL(url); 342 343 //icon.src = url; 344 345 var dataURL = canvas.toDataURL("image/png"); 346 //dataURL = dataURL.replace(/^data:image\/[^;]/, 'data:application/octet-stream'); 347 downloadPNG(dataURL); 348 //window.location = dataURL; 349 350 //var nameicon = $('.container-editor-icon-name').text(); 351 //saveImageAsPng(nameicon, dataURL) 352 353 // 354 //saveAs(dataURL,nameicon); 355 } 356} 357 358function saveImageAsPng(name,address) { 359 var link = document.createElement('a'); 360 link.style = 'position: fixed; left -10000px;'; // making it invisible 361 link.href = 'data:application/octet-stream,' + encodeURIComponent(address); // forcing content type 362 name = name.replace(/ /g,'_');
363 link.download = name.indexOf('.png') < 0 ? name + '.png' : name; 364 /* file extension is very important! */ 365 document.body.appendChild(link); 366 link.click(); 367 document.body.removeChild(link); 368} 369 370function downloadPNG(url) 371{ 372 var nameicon = $('.container-editor-icon-name').text(); 373 nameicon = nameicon.replace(/ /g,'_'); 374 $('#id_downloadLink').attr('download',nameicon+'.png') 375 $('#id_downloadLink').attr('href',url); 376 document.getElementById('id_downloadLink').click(); 377} 378 379 380 381function PrepareDownloadSVG(returnData = false) 382{ 383 var icono = $('#id_firstSvg').html(); 384 svgCanvas = $('#id_firstSvg').find('svg'); 385 386 /*if($(icono + ' g').hasClass('svgmask')) 387 { 388 svgCanvas = document.getElementById("svg_con_addon"); 389 } 390 else 391 { 392 svgCanvas = document.getElementById("id_svgCanvas"); 393 }*/ 394 //console.log(svgCanvas); 395 //var hola = $(svgCanvas).children('.addon_mask_plhld'); 396 //var box = hola[0].getAttribute("viewBox"); 397 //alert(box); 398 399 //console.log(valueSize[0]+' / '+valueSize[1]); 400 $('#image-editor').hide(); 401 svgCanvas[0].setAttribute('width',valueSize[0]); 402 svgCanvas[0].setAttribute('height',valueSize[1]); 403 svgCanvas[0].setAttribute('viewbox',"0 0 "+valueSize[0]+" "+valueSize[1]); 404 405 /*svgCanvas.setAttribute('width','40px'); 406 svgCanvas.setAttribute('height','40px'); 407 svgCanvas.setAttribute('viewbox',"0 0 40 40"); 408 svgCanvas.setAttribute('x',"0px"); 409 svgCanvas.setAttribute('x',"0px");*/ 410 411 //agrega al canvas, el overlay (si existe) y el whiteOverlay 412 overlaySvg = document.getElementById("id_overlaySvg"); 413 //whiteOverlay = document.getElementById("id_whiteOverlay"); 414 415 //if(overlaySvg.style.display == 'block') 416 // return(GiveDownloadSVG(overlayUrl,whiteOverlay.innerHTML,returnData)); 417 //else 418 return(GiveDownloadSVG('','',returnData)); 419} 420 421function GiveDownloadSVG(overlay,whiteOverlay,returnData = false) 422{ 423 var icono = $('#id_firstSvg').html(); 424 svgCanvas = $('#id_firstSvg').find('svg'); 425 /*if($(icono + ' g').hasClass('svgmask')) 426 { 427 svgCanvas = document.getElementById("svg_con_addon"); 428 } 429 else 430 { 431 svgCanvas = document.getElementById("id_svgCanvas"); 432 }*/ 433 434 //$('#id_overlayForExport').append(whiteOverlay); 435 $('#id_overlayForExport').append(overlay); 436 437 $('#id_overlayForExport svg').attr('width',64); 438 $('#id_overlayForExport svg').attr('height',64); 439 $('#id_overlayForExport svg').attr('x',0); 440 $('#id_overlayForExport svg').attr('y',0); 441 442 $('#id_overlayForExport svg').addClass('RemoveMe'); 443 444 /*if(overlayActivated) 445 { 446 //cambia el svg por g, porque sino sale mal en illustrator 447 var modifiedOverlay = $('#id_overlayForExport svg')[0].outerHTML; 448 449 modifiedOverlay = modifiedOverlay.replace("<svg","<g"); 450 modifiedOverlay = modifiedOverlay.replace("</svg>","</g>"); 451 452 //$('#id_svgCanvas').append(modifiedOverlay); 453 Pablo("#id_svgCanvas").append(modifiedOverlay); //hay que usar esto, porque al estar modificando SVG por G... ya deja de ser un SVG totalmente valido 454 //entonces en el append los atributos con mayúsculas pasan a minuscula... y deja de funcionar 455 }*/ 456 // crea blob 457 var svgData = $("#id_firstSvg svg")[0].outerHTML; 458 svgData = svgData.replace(/id="id_svgCanvas"/g,''); 459 var svgBlob = new Blob([svgData], {type:"image/svg+xml;charset=utf-8"}); 460 var svgUrl = URL.createObjectURL(svgBlob); 461 462 $('.RemoveMe').remove(); 463 464 $('#image-editor').show(); 465 svgCanvas[0].setAttribute('width',64); 466 svgCanvas[0].setAttribute('height',64); 467 svgCanvas[0].setAttribute('viewbox',"0 0 64 64"); 468 469 svgCanvas[0].removeAttribute("id"); 470 471 if(returnData) 472 return(svgData); 473 else 474 ExecuteDownloadSVG(svgUrl); 475} 476 477function ExecuteDownloadSVG(svgUrl) 478{ 479 var downloadLink = document.createElement("a"); 480 downloadLink.href = svgUrl; 481 482 var svgname = $('.container-editor-icon-name').text(); 483 svgname = svgname.replace(/ /g,'_'); 484 485 downloadLink.download = svgname+".svg"; 486 document.body.appendChild(downloadLink); 487 downloadLink.click(); 488 document.body.removeChild(downloadLink); 489} 490 491//DESKTOP DOWNLOADS 492function VerifyDownloadDesktop(tipo,ruta) { 493 494 var px = tipo; 495 px = px.replace(/\D/g,''); 496 497 if (px <= 72) 498 { 499 //$('#load_svg_desk').load(ruta); 500 501 $.get(ruta, function(svg){ 502 InsertSVG(svg); 503 504 $('#load_svg_desk').html(''); 505 $('#load_svg_desk').html(svg); 506 $('#load_svg_desk svg').attr('id','id_svgDesk'); 507 var elsvg = $('#id_svgDesk').html(); 508 509 $('#image-editor').show(); 510 IdentSVG(px,px,elsvg); 511 }, 'text'); 512 } 513 //var elsvg = $('#id_svgDesk').attr('id'); 514} 515 516 517function IdentSVG(w,h,svg,returnData = false) { 518 var svgCanvas = $('#id_resultCanvas'); 519 520 521 //$(svgCanvas).css('width',w+'px'); 522 //$(svgCanvas).css('height',w+'px'); 523 //$(svgCanvas).css('viewbox',"0 0 "+valueSize[0]+" "+valueSize[1]); 524 525 //svgCanvas.scale(w+'px',w+'px'); 526 527 528 529 //$('#id_resultCanvas').attr('width',64); 530 //$('#id_resultCanvas').attr('height',64); 531 //$('#id_resultCanvas').attr('viewbox',"0 0 64 64"); 532 533 //$('#load_svg_desk').css('width',w+'px'); 534 //$('#load_svg_desk').css('height',h+'px'); 535 536 //$('#load_svg_desk svg').css('width','100%'); 537 //$('#load_svg_desk').attr('viewbox',"0 0 64 64"); 538 539 //$('#load_svg_desk svg').attr('id','id_svgDesk'); 540 var svgText = $('#load_svg_desk').html(); 541 542 //alert(svgText); 543 //var svgText = document.getElementById("id_svgDesk").outerHTML; 544 var result = ToPngDesk(svgText,w,h); 545 546 //alert(result); 547 if(w<128){ 548 if(returnData) 549 return(result); 550 else 551 ExecuteDownloadPNG(result); 552 } 553 else 554 {
555 $('#myModal').modal('show'); 556 } 557} 558
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.