1var SNS = function(){ 2 var pin_page = false; 3 var snsObjList = []; 4 var main_url, site_name, subject, content, image_url, link_url, security_link_url; 5 var api_url; 6 var kakao_loaded = false; 7 var kakao_message_template_id; 8 9 var share_type; 10 var social = {}; 11 var additional = {}; 12 13 function SnsObjects(){ 14 this.name = ""; 15 this.show = true; 16 this.order = 0; 17 this.iconClass = ""; 18 this.type = ""; 19 } 20 21 22 var loadKakaoApi = function(key){ 23 // ì¹´ì¹´ì¤ ì´ë¯¸ í¸ì¶ëì´ìì¼ë©´ í¸ì¶íì§ ìì ì¶ê° 24 if(kakao_loaded) return false; 25 26 if(LIMIT_API_LIST.indexOf('kakao_link') === -1){ 27 try{ 28 if(key != undefined){ 29 key = key.trim(); 30 if(key != '' && Kakao){ 31 if (!Kakao.isInitialized()) { 32 Kakao.init(key); 33 } 34 kakao_loaded = true; 35 } 36 } 37 }catch(e){ 38 } 39 } 40 }; 41 42 var init = function(d){ 43 // ìí&ìì½ ìì¸íì´ì§ ë°ì´í°ë ê³ ì 44 if(pin_page) return false; 45 46 var data = d; 47 48 if (data.kakao_api_key !== undefined){ 49 loadKakaoApi(data.kakao_api_key); 50 kakao_message_template_id = data.kakao_message_template_id; 51 } 52 53 main_url = data._main_url; 54 site_name = data._site_name; 55 subject = data._subject; 56 content = data._body === null ? '' : makeShareContent(data._body); 57 image_url = data._img; 58 link_url = data._post_url; 59 security_link_url = data._security_post_url; 60 api_url = "https://sns.imweb.me/?url="; 61 62 social = data._social; 63 additional = data._additional; 64 share_type = data._share_type; 65 if(data._pin_page != undefined){ 66 pin_page = true; 67 } 68 }; 69 70 var makeShareContent = function(s){ 71 s = removeHtmlTag(s); 72 73 // ê³µì í기ì ë³´ì´ë ë´ì©ìì ì¹í 74 s = s.replace(/ /ig, " "); 75 s = s.replace(/</ig, "<"); 76 s = s.replace(/>/ig, ">"); 77 78 79 //ê¸ììê° ë무 길ë ì²ë¦¬ - ê³µì í기 ê¶ì¥ 110ê¸ì 80 var content_max_len = 110; 81 s = (s.length > content_max_len)? s.substring(0,content_max_len) : s; 82 return s; 83 }; 84 85 //SNSê³µì ì´ê¸°ì¤ì 86 //var snsInit = function(_main_url, _site_name, _subject, _content, _link_url, _security_link_url, _image){ 87 // 88 // try{ 89 // if(Kakao) Kakao.init('63e1a2ee956b3aa85ca51663ce4caccb'); 90 // }catch(e){ 91 // 92 // } 93 // 94 // 95 // main_url = _main_url; 96 // site_name = _site_name != "" ? "[" + _site_name + "]" : ""; 97 // api_url = "https://sns.imweb.me/?url="; 98 // subject = _subject; 99 // content = _content; 100 // image_url = _image; 101 // link_url = _link_url; 102 // security_link_url = _security_link_url; 103 //}; 104 105 106 var setSnsObj = function(){ 107 snsObjList = []; 108 if(SITE_COUNTRY_CODE === KOREA_COUNTRY_CODE){ 109 if(LIMIT_API_LIST.indexOf('kakao_link') === -1){ 110 var snsObj = new SnsObjects(); 111 snsObj.name = LOCALIZE.ë²í¼_ì¹´ì¹´ì¤í¡(); 112 snsObj.show = true; 113 snsObj.order = 1; 114 snsObj.iconClass = "kakao"; 115 snsObj.type = "kakaotalk"; 116 snsObjList.push(snsObj); 117 } 118 } 119 120 if(LIMIT_API_LIST.indexOf('line_link') === -1){ 121 snsObj = new SnsObjects(); 122 snsObj.name = LOCALIZE.ë²í¼_ë¼ì¸(); 123 snsObj.show = true; 124 snsObj.order = 1; 125 snsObj.iconClass = "line"; 126 snsObj.type = "line"; 127 snsObjList.push(snsObj); 128 } 129 130 if(SITE_COUNTRY_CODE === KOREA_COUNTRY_CODE){ 131 if(LIMIT_API_LIST.indexOf('band_link') === -1){ 132 snsObj = new SnsObjects(); 133 snsObj.name = LOCALIZE.ë²í¼_ë°´ë(); 134 snsObj.show = true; 135 snsObj.order = 1; 136 snsObj.iconClass = "band"; 137 snsObj.type = "band"; 138 snsObjList.push(snsObj); 139 } 140 141 if(LIMIT_API_LIST.indexOf('naver_link') === -1){ 142 snsObj = new SnsObjects(); 143 snsObj.name = LOCALIZE.ë²í¼_ë¤ì´ë²(); 144 snsObj.show = true; 145 snsObj.order = 1; 146 snsObj.iconClass = "naver"; 147 snsObj.type = 'naver'; 148 snsObjList.push(snsObj); 149 } 150 } 151 152 if(LIMIT_API_LIST.indexOf('facebook_link') === -1){ 153 snsObj = new SnsObjects(); 154 snsObj.name = LOCALIZE.ë²í¼_íì´ì¤ë¶(); 155 snsObj.show = true; 156 snsObj.order = 1; 157 snsObj.iconClass = "face"; 158 snsObj.type = "facebook"; 159 snsObjList.push(snsObj); 160 } 161 162 if(LIMIT_API_LIST.indexOf('twitter_link') === -1){ 163 snsObj = new SnsObjects(); 164 snsObj.name = 'X'; 165 snsObj.show = true; 166 snsObj.order = 1; 167 snsObj.iconClass = "twitter"; 168 snsObj.type = "twitter"; 169 snsObjList.push(snsObj); 170 } 171 172 if(LIMIT_API_LIST.indexOf('instagram') === -1){ 173 snsObj = new SnsObjects(); 174 snsObj.name = LOCALIZE.ë²í¼_ì¸ì¤íê·¸ë¨(); 175 snsObj.show = false;
176 snsObj.order = 1; 177 snsObj.iconClass = "instagram"; 178 snsObj.type = "instagram"; 179 snsObjList.push(snsObj); 180 } 181 }; 182 183 var getDefaultHtml = function(){ 184 185 const snsList = []; 186 for(var index in snsObjList){ 187 const snsObj = snsObjList[index]; 188 if(!snsObj.show) continue; 189 snsList.push(` 190 <li role='' class='${snsObj.iconClass}'> 191 <a href='javascript:;' onclick="SNS.setSnsApi('${snsObj.type}')\">${snsObj.name}</a> 192 </li> 193 `) 194 } 195 // [IWIS-2692] ìíìì¸(commerce) ê³µì ëª¨ë¬ + ì¹êµ¬ì´ë ìº íì¸ ì´ìì¤ì´ë©´ ìë¨ì ë°°ë+ê³µì ë²í¼ ì ëì¨(§3.8.3-1). 196 var fieCtx = window['__friend-invite-event__']; 197 var fieAddon = (share_type === 'commerce' && fieCtx && fieCtx.campaignRunning) 198 ? "<magnet-shell data-manifest-url='/_/fo-friend-invite-event-widget/index.magnet.json' data-mode='share-addon'><friend-invite-event-widget data-clay-theme='light-only'></friend-invite-event-widget></magnet-shell>" 199 : ''; 200 const html = ` 201 <div class='modal-header text-basic'> 202 <button type='button' class='close' data-dismiss='modal' aria-label='Close'><i class='btl bt-times'></i></button> 203 <h4 class='modal-title'>${LOCALIZE.ë²í¼_ê³µì í기()}</h4> 204 </div> 205 <div class='modal-body text-basic'> 206 ${fieAddon} 207 <div class='social-btn'> 208 <ul> 209 ${snsList.join('')} 210 </ul> 211 </div> 212 <div class='url-copy holder'> 213 <div class='form-control-line'> 214 <input type='text' id='sns_copy_url' class='_sns_copy_url form-control' value='${link_url}' readonly> 215 <button type='button' class='_sns_copy_btn sns_copy_btn btn btn-default' onclick=\"SNS.copyToClipboard()\" data-clipboard-target='._sns_copy_url'>${LOCALIZE.ë²í¼_ë³µì¬()}</button> 216 </div> 217 </div> 218 <div id='copy_complete' class='copy_complete text-center'></div> 219 </div> 220 `; 221 return html; 222 }; 223 224 var copyToClipboard = function(){ 225 $('#sns_copy_url').select(); 226 document.execCommand("Copy"); 227 $('#copy_complete').text(LOCALIZE.ì¤ëª _URLì´ë³µì¬ëììµëë¤()); 228 $('#copy_complete').addClass('copied'); 229 setTimeout(function () { 230 $('#copy_complete').removeClass('copied'); 231 },4000); 232 }; 233 234 var showDefalutSnsShareList = function(){ 235 //snsInit(_main_domain, _site_name, _subject, _content, _link_url, _security_link_url, _image); 236 setSnsObj(); 237 var html = $(getDefaultHtml()); 238 $.cocoaDialog.open({type : 'post_social', custom_popup : html}); 239 }; 240 241 242 var setSnsApi = function(type){ 243 switch(type){ 244 case 'kakaotalk': 245 shareKakaoTalk(); 246 break; 247 case 'line': 248 shareLine(); 249 break; 250 case 'band': 251 shareBand(); 252 break; 253 case 'naver': 254 shareNaver(); 255 break; 256 case 'facebook': 257 shareFacebook(); 258 break; 259 case 'twitter': 260 shareTwitter(); 261 break; 262 case 'instagram': 263 shareInstagram(); 264 break; 265 } 266 267 }; 268 269 270 /*** 271 * ì¹´ì¹´ì¤í¡ ê³µì í기 272 * https://developers.kakao.com/docs/latest/ko/message/js 273 */ 274 var shareKakaoTalk = function(){ 275 if(LIMIT_API_LIST.indexOf('kakao_link') === -1){ 276 subject = decodeHTMLEntities(subject); 277 content = decodeHTMLEntities(content); 278 279 var type = share_type; 280 var kakao_link = location.href; 281 var kakao_send_data = { 282 content: { 283 title: subject, 284 description: content, 285 imageUrl: image_url, 286 imageWidth: 300, 287 imageHeight: 200, 288 link: { 289 mobileWebUrl: kakao_link, 290 webUrl: kakao_link 291 } 292 }, 293 buttons: [ 294 { 295 title: 'ìì¸í보기', 296 link: { 297 mobileWebUrl: kakao_link, 298 webUrl: kakao_link 299 } 300 } 301 ] 302 }; 303 switch(share_type){ 304 case 'booking': 305 kakao_send_data.buttons[0]['title'] = 'ìì½í기'; 306 type = 'feed'; 307 break; 308 case 'commerce': 309 if(additional == undefined || additional.commerce == undefined || additional.hide_price === 'Y'){ 310 type = 'feed'; 311 break; 312 } 313 314 kakao_send_data.buttons[0]['title'] = '구매í기'; 315 kakao_send_data.commerce ={}; 316 kakao_send_data.commerce.regularPrice = additional.commerce.orig_price; // ì ìê°ê²© 317 if(additional.commerce.sale_price != undefined) { 318 kakao_send_data.commerce.discountPrice = additional.commerce.sale_price; // í ì¸ê°ê²©
319 kakao_send_data.commerce.discountRate = 320 Math.round((kakao_send_data.commerce.regularPrice - kakao_send_data.commerce.discountPrice) * 100 / kakao_send_data.commerce.regularPrice); 321 } 322 break; 323 case 'feed': 324 case 'location': 325 if(social){ 326 kakao_send_data.social = {}; 327 for(key in social){ 328 kakao_send_data.social[key] = parseInt(social[key]); 329 } 330 } 331 if(share_type == 'location'){ 332 if(additional == undefined || additional.location == undefined){ 333 type = 'feed'; 334 break; 335 } 336 kakao_send_data.address = additional.location.address; 337 kakao_send_data.addressTitle = subject; 338 } 339 break; 340 default: 341 type = 'feed'; 342 break; 343 } 344 345 /** 346 * 커머ì¤ì ê²½ì° sendCustom() ì ì´ì©í기 ìí¨. 347 * 커머ì¤ì´ê³ , í í릿 ID ê° ìë ê²½ì°ìë sendCustom() 348 * 커머ì¤ì´ê³ í í릿 ID ê° ìë ê²½ì°ìë sendDefault() 349 * 350 * linkUrl ì ì¹´ì¹´ì¤ ë벨ë¡í¼ ì±ì ì¶ì² ë§í¬ íìì¼ë¡ 리ë¤ì´ë í¸ 351 * ì¶ì² ë§í¬ì url 쿼리 ì¤í¸ë§ì ë¶ì¬ ì¶ì² ë§í¬ + path ë¡ ë¦¬ë¤ì´ë í¸ íëë¡ í¨. 352 * 353 * @see https://developers.kakao.com/docs/latest/ko/message/js-link#custom-template-msg 354 */ 355 var kakao_template_id = parseInt(kakao_message_template_id); 356 if (type === 'commerce' && kakao_template_id > 0) { 357 kakao_send_data = { 358 templateId: kakao_template_id, 359 templateArgs: { 360 title: subject, 361 imageUrl: image_url, 362 imageWidth: 300, 363 imageHeight: 200, 364 btnStr: "구매í기", 365 linkUrl: (location.pathname + location.search).slice(1), 366 originalPrice: additional.commerce.orig_price, 367 }, 368 installTalk: true 369 }; 370 371 if (additional.commerce.sale_price !== undefined) { 372 kakao_send_data.templateArgs.salePrice = additional.commerce.sale_price; // í ì¸ê°ê²© 373 kakao_send_data.templateArgs.discountPercent = 374 Math.round((kakao_send_data.templateArgs.originalPrice - kakao_send_data.templateArgs.salePrice) * 100 / kakao_send_data.templateArgs.originalPrice); // í ì¸ì¨ 375 } 376 377 Kakao.Link.sendCustom(kakao_send_data); 378 } else { 379 kakao_send_data.objectType = type; 380 Kakao.Link.sendDefault(kakao_send_data); 381 } 382 }else{ 383 alert(LOCALIZE.ì¤ëª _ì¬ì´í¸ê´ë¦¬ìì¤ì ììí´ì°¨ë¨ëì½í ì¸ ì ëë¤()); 384 } 385 386 }; 387 388 /*** 389 * ë¼ì¸ ê³µì í기 390 */ 391 var shareLine = function(){ 392 if(LIMIT_API_LIST.indexOf('line_link') === -1){ 393 window.open("http://line.naver.jp/R/msg/text/?" + fixedEncodeURIComponent(subject) + " " + fixedEncodeURIComponent(location.href)); 394 }else{ 395 alert(LOCALIZE.ì¤ëª _ì¬ì´í¸ê´ë¦¬ìì¤ì ììí´ì°¨ë¨ëì½í ì¸ ì ëë¤()); 396 } 397 }; 398 399 /*** 400 * ë°´ë ê³µì í기 401 */ 402 var shareBand = function(){ 403 if(LIMIT_API_LIST.indexOf('band_link') === -1){ 404 var tmp_subject = encodeURIComponent(subject + "\n"); 405 var body = tmp_subject + fixedEncodeURIComponent(location.href); 406 window.open("http://band.us/plugin/share?body=" + body + "&route=" + fixedEncodeURIComponent(location.href)); 407 }else{ 408 alert(LOCALIZE.ì¤ëª _ì¬ì´í¸ê´ë¦¬ìì¤ì ììí´ì°¨ë¨ëì½í ì¸ ì ëë¤()); 409 } 410 }; 411 412 function fixedEncodeURIComponent(str) { 413 return encodeURIComponent(str).replace(/[\.]/g, function(c) { return '%' + c.charCodeAt(0).toString(16); }); 414 } 415 416 var shareNaver = function(){ 417 if(LIMIT_API_LIST.indexOf('naver_link') === -1){ 418 if(content.length == 0){ 419 if(confirm('ë¤ì´ë² ë¸ë¡ê·¸ ê³µì ì 본문 í ì¤í¸ê° ìì ê²½ì° ì¬ì´í¸ ë´ì© í ì¤í¸ë¥¼ ìì°¨ì ì¼ë¡ ì¶ë ¥í©ëë¤. ê·¸ëë ê³µì íìê² ìµëê¹?')){ 420 shareSnsMetatag('naver'); 421 } 422 }else{ 423 shareSnsMetatag('naver'); 424 } 425 }else{ 426 alert(LOCALIZE.ì¤ëª _ì¬ì´í¸ê´ë¦¬ìì¤ì ììí´ì°¨ë¨ëì½í ì¸ ì ëë¤()); 427 } 428 }; 429 430 /*** 431 * íì´ì¤ë¶ ê³µì í기 432 */ 433 var shareFacebook = function(){ 434 if(LIMIT_API_LIST.indexOf('facebook_link') === -1){ 435 shareSnsMetatag('facebook'); 436 }else{ 437 alert(LOCALIZE.ì¤ëª _ì¬ì´í¸ê´ë¦¬ìì¤ì ììí´ì°¨ë¨ëì½í ì¸ ì ëë¤()); 438 } 439 }; 440 441 /*** 442 * í¸ìí° ê³µì í기 443 */ 444 var shareTwitter = function(){ 445 if(LIMIT_API_LIST.indexOf('twitter_link') === -1){ 446 shareSnsMetatag('twitter'); 447 }else{
448 alert(LOCALIZE.ì¤ëª _ì¬ì´í¸ê´ë¦¬ìì¤ì ììí´ì°¨ë¨ëì½í ì¸ ì ëë¤()); 449 } 450 }; 451 452 /*** 453 * ì¸ì¤íê·¸ë¨ ê³µì í기 454 */ 455 var shareInstagram = function(){ 456 if(IS_MOBILE){ 457 458 }else{ 459 460 } 461 }; 462 463 var shareSnsMetatag = function(type){ 464 465 switch(type){ 466 case 'naver': 467 window.open("https://share.naver.com/web/shareView.nhn?url=" + encodeURI(encodeURIComponent(location.href)) + "&title=" + encodeURIComponent(subject)); 468 break; 469 case 'facebook': 470 window.open("http://www.facebook.com/sharer/sharer.php?u=" + encodeURIComponent(location.href)); 471 break; 472 case 'twitter': 473 window.open("https://twitter.com/intent/tweet?text=" + encodeURIComponent(subject) + "&url=" + encodeURIComponent(location.href)); 474 break; 475 default: 476 alert(LOCALIZE.ì¤ëª _ê³µì ìì¤í¨íììµëë¤()); 477 break; 478 } 479 }; 480 481 return { 482 showDefalutSnsShareList : function(_main_url, _site_name, _subject, _content, _link_url, _security_link_url, _image){ 483 return showDefalutSnsShareList(_main_url, _site_name, _subject, _content, _link_url, _security_link_url, _image); 484 }, 485 setSnsApi : function(_type){ 486 return setSnsApi(_type); 487 }, 488 shareKakaoTalk : function(_type){ 489 return shareKakaoTalk(_type); 490 }, 491 shareLine : function(){ 492 return shareLine(); 493 }, 494 shareBand : function(){ 495 return shareBand(); 496 }, 497 shareNaver : function(){ 498 return shareNaver(); 499 }, 500 shareFacebook : function(){ 501 return shareFacebook(); 502 }, 503 shareTwitter : function(){ 504 return shareTwitter(); 505 }, 506 copyToClipboard : function(text){ 507 return copyToClipboard(text); 508 }, 509 loadKakaoApi : function(key){ 510 loadKakaoApi(key); 511 }, 512 init : function(d){ 513 return init(d); 514 } 515 }; 516 517}();
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.