1var app = angular.module('casinoApp', [ 2 'ngRoute', 3 'RouteData', 4 'ngMessages', 5 'ngDialog', 6 'ngSweetAlert', 7 'pascalprecht.translate', 8 'ngCookies', 9 'ngCurrencySymbol', 10 'ui.bootstrap.pagination', 11 'customDirectives', 12 'internationalPhoneNumber', 13 'slick', 14 'timer', 15 'ngIdle', 16 'ngSanitize' 17]); 18 19//ngIdle 20 21app.config(['IdleProvider', function(IdleProvider) { 22 IdleProvider.idle(1800); 23 IdleProvider.timeout(5); 24}]); 25 26app.run(function(Idle){ 27 // start watching when the app runs. also starts the Keepalive service by default. 28 Idle.watch(); 29}); 30 31//ngIdle end 32 33app.config(['$routeProvider', 'RouteDataProvider', '$translateProvider', '$locationProvider', function ($routeProvider, RouteDataProvider, $translateProvider, $locationProvider) { 34 35 RouteDataProvider.applyConfig({ 36 bodyClass: 'bg-main', 37 title: '', 38 description: '', 39 keyword: '' 40 }); 41 RouteDataProvider.hookToRootScope(true); 42 43 // Translation 44 $translateProvider.useStaticFilesLoader({ 45 prefix: '/api/translate/translate.php?language=', 46 suffix: '' 47 }); 48 49 //default load when user already selected language from dropdown 50 var jsCookieLang = document.cookie; 51 var arrayLang = ["ko_KR", "en_US", "zh_CN"]; 52 53 var i; 54 for (i = 0; i < arrayLang.length; i++) { 55 if (jsCookieLang.search(arrayLang[i]) > 0) { 56 var ActiveLang = arrayLang[i]; 57 } 58 } 59 60 if (!ActiveLang) { 61 //DEFAULT LANGUAGE FOR FRESH VISIT 62 ActiveLang = "ko_KR"; 63 } 64 65 $translateProvider.preferredLanguage(ActiveLang); 66 if (ActiveLang == "ko_KR") { 67 $translateProvider.useLocalStorage(angular.lowercase(ActiveLang.substring(3, 5))); 68 } else { 69 $translateProvider.useLocalStorage(ActiveLang.substring(0, 2)); 70 } 71 72 $translateProvider.useLocalStorage(); 73 $translateProvider.useSanitizeValueStrategy('escaped'); 74 75 76 $routeProvider 77 .when('/', 78 { 79 RouteData: { 80 bodyClass: 'bg-main', 81 title: '', 82 description: '', 83 keyword: 'Online Gambling Site, Trusted Gambling Site' 84 }, 85 templateUrl: 'pages/main.php', 86 controller: '', 87 activetab: 'main' 88 }) 89 /*.when('/mobile-app', 90 { 91 RouteData: { 92 bodyClass: 'bg-main', 93 title: '', 94 description: '', 95 keyword: 'Online Gambling Site, Trusted Gambling Site' 96 }, 97 templateUrl: 'pages/mobile.php', 98 controller: '', 99 activetab: 'mobile' 100 })*/ 101 .when('/sports-betting-online', 102 { 103 RouteData: { 104 bodyClass: 'bg-sports', 105 title: '', 106 description: '', 107 keyword: 'Football gambling site, Trusted football gambling site, bola88, trusted football bookie, online casino bookie, online bookies, sbobet Indonesia' 108 }, 109 templateUrl: 'pages/sports.php', 110 controller: '', 111 activetab: 'sports' 112 }) 113 .when('/live-casino', 114 { 115 RouteData: { 116 bodyClass: 'bg-casino', 117 title: '', 118 description: '', 119 keyword: 'Live Casino Indonesia, Live casino games, Trusted domino site, Casino App' 120 }, 121 templateUrl: 'pages/casino.php', 122 controller: '', 123 activetab: 'casino' 124 }) 125 /*.when('/online-poker', 126 { 127 RouteData: { 128 bodyClass: 'bg-poker', 129 title: '', 130 description: '', 131 keyword: 'Trusted Online Poker Agent, IDN Poker Online, Trusted Poker Site' 132 }, 133 templateUrl: 'pages/poker.php', 134 controller: '', 135 activetab: 'poker' 136 })*/ 137 .when('/online-slot-games', 138 { 139 RouteData: { 140 bodyClass: 'bg-slots', 141 title: '', 142 description: '', 143 keyword: '' 144 }, 145 templateUrl: 'pages/slots.php', 146 controller: 'SlotController', 147 activetab: 'slots' 148 }) 149 .when('/slots-view', 150 { 151 RouteData: { 152 bodyClass: 'bg-slots', 153 title: '', 154 description: '', 155 keyword: '' 156 }, 157 templateUrl: 'pages/slots-view.php', 158 controller: 'SlotController', 159 activetab: 'slots' 160 }) 161 .when('/fish-game', 162 { 163 RouteData: { 164 bodyClass: '', 165 title: '', 166 description: '', 167 keyword: '' 168 }, 169 templateUrl: 'pages/fish-game.php', 170 controller: '', 171 activetab: 'fish-game' 172 }) 173 .when('/casino-bonus-promotion', 174 { 175 RouteData: { 176 bodyClass: 'bg-promotion', 177 title: '', 178 description: '', 179 keyword: '' 180 }, 181 templateUrl: 'pages/promotion.php', 182 controller: '', 183 activetab: 'promotion' 184 }) 185 .when('/view-sports', 186 { 187 RouteData: { 188 bodyClass: 'bg-sports-view', 189 title: '', 190 description: '', 191 keyword: '' 192 }, 193 templateUrl: 'pages/view-sports.php', 194 controller: '', 195 activetab: 'sports' 196 }) 197 /*.when('/lottery', 198 { 199 RouteData: { 200 bodyClass: 'bg-lottery', 201 title: '', 202 description: '', 203 keyword: '' 204 }, 205 templateUrl: 'pages/lottery.php', 206 controller: '', 207 activetab: 'lottery' 208 })*/
209 .when('/arcade', 210 { 211 RouteData: { 212 bodyClass: 'bg-fungame', 213 title: '', 214 description: '', 215 keyword: '' 216 }, 217 templateUrl: 'pages/arcade.php', 218 controller: '', 219 activetab: 'arcade' 220 }) 221 .otherwise({ 222 redirectTo: '/', 223 RouteData: { 224 bodyClass: 'bg-main', 225 title: '', 226 description: '', 227 keyword: '' 228 }, 229 templateUrl: '../pages/main.php', 230 controller: '' 231 }); 232 $locationProvider.html5Mode(true); 233}]); 234 235app.config(['ngDialogProvider', function (ngDialogProvider) { 236 ngDialogProvider.setDefaults({ 237 closeByEscape: false, 238 showClose: true, 239 ariaAuto: false, 240 ariaRole: false, 241 setOpenOnePerName: true 242 }); 243}]); 244 245app.service('loggedInStatus', function ($rootScope) { 246 return { 247 setLoggedInStatus: function () { 248 $rootScope.loggedIn = true; 249 $rootScope.loggedOut = false; 250 }, 251 setLoggedOutStatus: function () { 252 $rootScope.loggedIn = false; 253 $rootScope.loggedOut = true; 254 } 255 }; 256}); 257 258app.config(function ($provide) { 259 $provide.decorator('inputDirective', function ($delegate, $log) { 260 $log.debug('Hijacking input directive'); 261 var directive = $delegate[0]; 262 angular.extend(directive.link, { 263 post: function (scope, element, attr, ctrls) { 264 element.on('compositionupdate', function (event) { 265 element.triggerHandler('compositionend'); 266 }) 267 } 268 }); 269 return $delegate; 270 }); 271}); 272 273app.service('AmountService', function () { 274 return { 275 sumAmount: function (amount, amountSum) { 276 //console.log(amountSum); 277 if (amount == "NaN" || amount == "") { 278 return parseFloat(amountSum); 279 } 280 amount = parseFloat(amount) + parseFloat(amountSum); 281 return amount; 282 }, 283 resetAmount: function () { 284 return 0; 285 } 286 }; 287}); 288 289app.filter('htmlToPlaintext', function () { 290 return function (text) { 291 /*REMOVE HTML TAGS*/ 292 var contents = String(text).replace(/<[^>]+>/gm, ''); 293 /*REMOVE NBSP*/ 294 contents = String(contents).replace(/ /g, " "); 295 return text ? contents : ''; 296 }; 297}); 298 299app.filter('customCurrency', ["$filter", function ($filter) { 300 return function (amount, currencySymbol) { 301 //console.log(amount); 302 var number = $filter('number'); 303 if (String(amount).charAt(0) === "-") { 304 return number(amount).replace("-", "-" + currencySymbol); 305 } 306 if (amount == undefined) { 307 return "Loading"; 308 } else { 309 return number(amount) + " " + currencySymbol; 310 } 311 }; 312}]); 313 314app.filter('userDateTimeTimeZone', function ($filter) { 315 return function (input, format, offset) { 316 if (input == null) { 317 return ""; 318 } 319 var timeFromUTC = moment.utc(input); 320 var tzName = jstz.determine().name(); 321 var _date = moment(timeFromUTC, tzName).format("YYYY-MM-DD HH:mm:ss Z"); 322 return _date.toString(); 323 } 324}); 325 326app.filter('userDateTime', function ($filter) { 327 return function (input, format, offset) { 328 if (input == null) { 329 return ""; 330 } 331 var timeFromUTC = moment.utc(input); 332 var tzName = jstz.determine().name(); 333 var _date = moment.tz(timeFromUTC, tzName).format("YYYY-MM-DD HH:mm"); 334 return _date.toString(); 335 } 336}); 337 338app.filter('userDate', function ($filter) { 339 return function (input, format, offset) { 340 if (input == null) { 341 return ""; 342 } 343 var timeFromUTC = moment.utc(input); 344 var tzName = jstz.determine().name(); 345 var _date = moment.tz(timeFromUTC, tzName).format("YYYY-MM-DD"); 346 return _date.toString(); 347 } 348}); 349 350app.filter('nl2br', ['$sce', function ($sce) { 351 return function (text) { 352 return text ? $sce.trustAsHtml(text.replace(/\n/g, '<br/>')) : ''; 353 }; 354}]); 355 356app.filter("trustUrl", ['$sce', function ($sce) { 357 return function (recordingUrl) { 358 return $sce.trustAsResourceUrl(recordingUrl); 359 }; 360}]); 361 362app.directive("addAmountList", function () { 363 return { 364 link: function (scope, element, attrs) { 365 scope.data = scope[attrs["addAmountList"]]; 366 }, 367 restrict: "A", 368 template: "<button type='button' class='btn btn-drkgray btn-option' ng-repeat='item in data' ng-click='addAmount(item.price)'>{{item.price | number}} {{item.currency}}</button>" 369 } 370}); 371
372var SPECIAL_CHAR = /^[a-zA-Z0-9\!\@\#\$\%\^\\\&\*\(\)\-\_\=\+]*$/; 373//Password Special Character Filter 374app.directive('specialCharC', function () { 375 return { 376 require: 'ngModel', 377 link: function (scope, elm, attrs, ctrl) { 378 ctrl.$validators.specialCharC = function(modelValue, viewValue) { 379 ctrl.$setValidity('haveSpecialChar', SPECIAL_CHAR.test(viewValue)); 380 381 if (ctrl.$isEmpty(modelValue)) { 382 // consider empty models to be valid 383 return true; 384 } 385 386 if (SPECIAL_CHAR.test(viewValue)) { 387 // it is valid 388 return true; 389 } 390 391 // it is invalid 392 return false; 393 }; 394 } 395 } 396}); 397 398app.directive('useFormError',['$log',function($log){ 399 return { 400 restrict:'A', 401 require :['?ngModel','^form'], 402 scope :{ 403 useFormError :'@', 404 useErrorExpression:"=", 405 useErrorInput :"=?", 406 }, 407 link :function(scope,elem,attrs,ctrls){ 408 //We expect that the directive will be applied either on the ng-model, ng-form or another element as an attribute 409 var validityObject=scope.useErrorInput || ctrls[0] || ctrls[1]; 410 if(validityObject && angular.isFunction(validityObject.$setValidity)){ 411 if(!angular.isDefined(scope.useFormError)) 412 $log.error('You must define a key for the form input "'+attrs.useErrorInput+'"'); 413 //We watch the changes of expression 414 scope.$watch('useErrorExpression',function(newVal){ 415 $log.debug('Key: '+attrs.useFormError+'. Expression: '+attrs.useErrorExpression+' is '+newVal); 416 if(newVal) 417 validityObject.$setValidity(scope.useFormError,false); 418 else 419 validityObject.$setValidity(scope.useFormError,true); 420 }); 421 }else 422 $log.error('Form input "'+attrs.useErrorInput+'" not defined for the key: "'+scope.useFormError+'"'); 423 } 424 }; 425}]); 426 427//Matched Password Filter 428app.directive('validPasswordC', function () { 429 return { 430 require: 'ngModel', 431 link: function (scope, elm, attrs, ctrl) { 432 var original; 433 ctrl.$formatters.unshift(function (modelValue) { 434 original = modelValue; 435 return modelValue; 436 }); 437 ctrl.$parsers.push(function (viewValue) { 438 var noMatch = viewValue != scope.signUp.MemberPwd.$viewValue; 439 ctrl.$setValidity('noMatch', !noMatch); 440 return viewValue; 441 }); 442 } 443 } 444}); 445 446app.directive('validPasswordC2', function () { 447 return { 448 require: 'ngModel', 449 link: function (scope, elm, attrs, ctrl) { 450 var original; 451 ctrl.$formatters.unshift(function (modelValue) { 452 original = modelValue; 453 return modelValue; 454 }); 455 ctrl.$parsers.push(function (viewValue) { 456 var noMatch = viewValue != scope.changePwdForm.newPassword.$viewValue; 457 ctrl.$setValidity('noMatch', !noMatch); 458 return viewValue; 459 }); 460 } 461 } 462}); 463 464app.directive('userNameDuplicated', function (CsrfToken,$http,$window,$filter) { 465 return { 466 require: 'ngModel', 467 link: function (scope, elm, attrs, ctrl) { 468 var original; 469 ctrl.$formatters.unshift(function (modelValue) { 470 original = modelValue; 471 return modelValue; 472 }); 473 474 ctrl.$parsers.push(function (viewValue) { 475 if (viewValue != undefined) { 476 if (viewValue.length >= 4) { 477 var url = "/api/player/CheckDuplicateName"; 478 var param = { 479 MemberID: viewValue 480 } 481 CsrfToken.HttpRequest('POST',url,param).success(function (data) { 482 if (data.result == 0) { 483 if(data.csrf){ 484 var title =$filter('translate')('Afterclearingcacheandcookies'); 485 var sub = $filter('translate')('Please refresh your browser'); 486 swal({ 487 title: title, 488 text: sub, 489 className: "csrf-swal", 490 icon: "error",
491 showCancelButton: false, 492 confirmButtonClass: "#7cd1f9", 493 confirmButtonText: "OK", 494 closeOnConfirm: false 495 }).then(function(confirm){ 496 if (confirm) { 497 $window.location.href = "/#/"; 498 $window.location.reload(); 499 } 500 }); 501 } 502 else { 503 ctrl.$setValidity('duplicated', false); 504 } 505 } else { 506 ctrl.$setValidity('duplicated', true); 507 } 508 ctrl.$setValidity('minlength', true); 509 }); 510 return viewValue; 511 } else { 512 ctrl.$setValidity('minlength', false); 513 return viewValue; 514 } 515 } else { 516 ctrl.$setValidity('minlength', false); 517 return viewValue; 518 } 519 }) 520 } 521 }; 522}); 523 524app.directive('referrerCheck', function (CsrfToken,$filter,$http) { 525 return { 526 require: 'ngModel', 527 link: function (scope, elm, attrs, ctrl) { 528 var original; 529 ctrl.$formatters.unshift(function (modelValue) { 530 original = modelValue; 531 return modelValue; 532 }); 533 534 ctrl.$parsers.push(function (viewValue) { 535 if (viewValue != "") { 536 if (viewValue.length >= 4) { 537 var url = "/api/player/CheckDuplicateName"; 538 var param = { 539 MemberID: viewValue 540 } 541 CsrfToken.HttpRequest('POST',url,param).success(function (data) { 542 if (data.result == 0) { 543 if(data.csrf){ 544 var title =$filter('translate')('Afterclearingcacheandcookies'); 545 var sub = $filter('translate')('Please refresh your browser'); 546 swal({ 547 title: title, 548 text: sub, 549 className: "csrf-swal", 550 icon: "error",
551 showCancelButton: false, 552 confirmButtonClass: "#7cd1f9", 553 confirmButtonText: "OK", 554 closeOnConfirm: false 555 }) 556 } 557 else { 558 ctrl.$setValidity('duplicated', true); 559 } 560 } else { 561 ctrl.$setValidity('duplicated', false); 562 } 563 }); 564 return viewValue; 565 } else { 566 ctrl.$setValidity('duplicated', false); 567 return viewValue; 568 } 569 } else { 570 ctrl.$setValidity('duplicated', true); 571 ctrl.$setPristine(); 572 return viewValue; 573 } 574 }) 575 } 576 }; 577}); 578 579app.directive('format', ['$filter', function ($filter) { 580 return { 581 require: '?ngModel', 582 link: function (scope, elem, attrs, ctrl) { 583 if (!ctrl) return; 584 585 ctrl.$formatters.unshift(function (a) { 586 if (attrs.format == "numberDecimal" || attrs.format == "number") { 587 return $filter("number")(ctrl.$modelValue) 588 } 589 }); 590 ctrl.$parsers.unshift(function (viewValue) { 591 if (viewValue == "NaN") return 0; 592 if (attrs.format == "numberDecimal") { 593 var plainNumber = viewValue.replace(/[^\d|\-+|\d\.\d|\d\.+]/g, ''); 594 if (viewValue.slice(-1) != ".") { 595 elem.val($filter("number")(plainNumber)); 596 } 597 } else if (attrs.format == "number") { 598 var plainNumber = viewValue.replace(/[^\d|\-+|\.+]/g, ''); 599 elem.val($filter("number")(plainNumber)); 600 } 601 return plainNumber; 602 }); 603 } 604 }; 605}]); 606 607app.controller("NavController", function ($route, $scope, $rootScope, $location) { 608 $scope.isActive = function (viewLocation) { 609 return viewLocation === $location.path(); 610 }; 611 $scope.$route = $route; 612}); 613 614app.controller('CommonController', function (Idle,CsrfToken,$scope, $rootScope, $timeout, $window, $http, loggedInStatus, $interval, ngDialog, $cookies, $sce, SweetAlert, ccCurrencySymbol, $translate, $location, $filter) { 615 616 617 $scope.whatsAppLink = function() { 618 $window.open('https://wa.me/' + $scope.messengerContact4); 619 }; 620 621 622 $scope.$on('IdleStart', function() { 623 // the user appears to have gone idle 624 if($rootScope.loggedIn){ 625 $rootScope.logout(); 626 } 627 }); 628 629 $scope.isTokenExpired = false; 630 631 let debounce; 632 $('html body').click(function (e) { 633 if ($rootScope.checkLogoutStatus) { 634 return e.preventDefault(); 635 } 636 if ($rootScope.loggedIn && !$scope.isTokenExpired) { 637 clearTimeout(debounce); 638 debounce = setTimeout( 639 function () { 640 $rootScope.CheckMemberToken() 641 }, 1000 642 ); 643 } 644 }); 645 646 $rootScope.CheckMemberToken = function (){ 647 var url = '/api/player/CheckMemberToken'; 648 $http.get(url).success(function (data){ 649 if(data.result == 201){ 650 $scope.isTokenExpired = true; 651 swal($filter('translate')(data.message), "", "error").then(function (confirm){ 652 if(confirm){ 653 $rootScope.logoutToken(); 654 } 655 }); 656 } 657 }); 658 } 659 660 $rootScope.logoutToken = function () { 661 $http.get("/api/player/Logout").success(function (data) { 662 if (data.result == 1) { 663 if (bowser.msie && bowser.version <= 8) { 664 alert("ë¡ê·¸ìì ëììµëë¤"); 665 } else { 666 $translate([data.message, ""]).then(function (translations) { 667 SweetAlert.swal(translations[data.message], "", "success"); 668 }); 669 } 670 loggedInStatus.setLoggedOutStatus(); 671 $window.location.reload(); 672 } else { 673 loggedInStatus.setLoggedOutStatus(); 674 $window.location.reload(); 675 } 676 }); 677 } 678 679 $rootScope.getAgentProductCasinoGameList = {}; 680 $rootScope.userCurrency = "KRW"; 681 $rootScope.cc_currency_symbol = ccCurrencySymbol; 682 $rootScope.agentGspList = []; 683 684 $rootScope.announceList = {}; 685 $rootScope.realTimeTransactionList = []; 686 $rootScope.readTitle = ""; 687 $rootScope.readDate = ""; 688 $rootScope.readContents = ""; 689 $rootScope.totalBalance = "Loading"; 690 $scope.getNotice = false;
691 $scope.isProcessing = false; 692 693 $rootScope.techContactNumber = ""; 694 $rootScope.bankContactNumber = ""; 695 696 $scope.dialogIsOpen = false; 697 698 $scope.$on('ngDialog.templateLoading', function () { 699 $scope.dialogIsOpen = true; 700 }); 701 702 $scope.$on('ngDialog.closing', function () { 703 $scope.dialogIsOpen = false; 704 }); 705 706 $scope.ShowDirectMessageDetail = function (DirectMessage) { 707 $rootScope.DMHideNew[DirectMessage.DMStatusIDX] = true; 708 $rootScope.showDirectMessageValues = DirectMessage; 709 710 $http.get("/api/operation/GetDirectMessageDetail?code=" + DirectMessage.DMStatusIDX) 711 .success(function (data) { 712 // $rootScope.UnreadDM = data.list.UnreadDM; 713 $scope.resetDirectMessageCounter(); 714 $rootScope.DMReadDate[DirectMessage.DMStatusIDX] = data.list.DMReadDate; 715 716 }).error(function (data, result) { 717 console.error('Repos error', result, data); 718 }) 719 }; 720 721 $scope.resetDirectMessageCounter = function () { 722 $http.get('/api/operation/GetDirectMessageList') 723 .then(function (response) { 724 const { data } = response; 725 if (data.list !== undefined) { 726 $rootScope.UnreadDM = data.UnreadDM; 727 } 728 }) 729 .catch(function (error) { 730 console.error('Repos error', error); 731 }); 732 }; 733 734 $scope.trustAsHtml = function (html) { 735 return $sce.trustAsHtml(html); 736 }; 737 738 // PC ì¬ì´ì¦ ë³ê²½ì 모ë°ì¼ ì íì¬ë¶ íì 739/* 740 var appWindow = angular.element($window); 741 $scope.viewSwitch = true; 742 743 appWindow.bind('resize', function () { 744 var width = appWindow[0].innerWidth; 745 if (width < 1024 && $scope.viewSwitch) { 746 $scope.displayViewSwitch(); 747 $scope.viewSwitch = false; 748 } 749 }); 750*/ 751 752 $scope.hideBanner = function() { 753 if($location.path() == '/view-sports') { 754 return true; 755 } 756 return false; 757 }; 758 759 $rootScope.getBalance = function (reload) { 760 if (reload) { 761 $("#preloader").show(); 762 } 763 if (!$scope.isProcessing) { 764 $scope.isProcessing = true; 765 var url = "/api/finance/CheckMemberBalanceAsync"; 766 //ASYNC CHECK MEMBER BALANCE 767 CsrfToken.HttpRequest('GET',url,'').success(function (data) { 768 angular.forEach($rootScope.agentGspList, function (val) { 769 if (data.list[val.gspNo] != undefined) { 770 val.amount = data.list[val.gspNo].Balance; 771 } else { 772 val.amount = 0; 773 } 774 //console.log(val.amount); 775 }); 776 $rootScope.totalBalance = data.list['All'].Balance; 777 778 $scope.isProcessing = false; 779 $('#preloader').hide(); 780 }) 781 } 782 }; 783 784 785 $rootScope.checkUnreadComment = function (type, announceNo) { 786 $scope.countUnread = 0; 787 var url = "/api/operation/GetBoardComment?type=" + type + "&&code=" + announceNo; 788 $http({ 789 url: url, 790 data: $.param({ 791 "type": type, 792 "code": announceNo, 793 }), // pass in data as strings 794 headers: { 795 'Content-Type': 'application/x-www-form-urlencoded' 796 } // set the headers so angular passing info as form data (not request payload) 797 }).success(function (data) { 798 799 angular.forEach(data.content, function (value, key) { 800 if (value.WriteStatus == "N") { 801 $scope.countUnread++; 802 } 803 }); 804 805 if ($scope.countUnread > 0) { 806 $('.board-' + announceNo).removeClass("hidden"); 807 } else { 808 $('.board-' + announceNo).addClass("hidden"); 809 } 810 $scope.countUnread = 0; 811 }) 812 813 } 814 815 $rootScope.readBoardContent = function (type, announceNo, comment) { 816 if (comment == undefined) { 817 comment = false; 818 } 819 $rootScope.readCommentDate = ""; 820 $rootScope.readComment = ""; 821 $rootScope.readBoardCode = ""; 822 $rootScope.readCount = ""; 823 $rootScope.readTitle = ""; 824 $rootScope.readDate = ""; 825 $rootScope.readContents = ""; 826 827 var url = "/api/operation/GetBoardDescription"; 828 var param = { 829 "type": type, 830 "code": announceNo, 831 "comment": comment 832 } 833 CsrfToken.HttpRequest('POST',url,param).success(function (data) { 834 if(data.csrf){ 835 var title = $filter('translate')('Afterclearingcacheandcookies'); 836 var sub = $filter('translate')('Please refresh your browser') 837 swal({ 838 title: title, 839 text: sub, 840 className: "csrf-swal", 841 icon: "error",
842 showCancelButton: false, 843 confirmButtonClass: "#7cd1f9", 844 confirmButtonText: "OK", 845 closeOnConfirm: false 846 }) 847 } 848 else { 849 $rootScope.readBoardCode = data.content.BoardCode; 850 $rootScope.readCount = data.content.ViewCount; 851 $rootScope.readTitle = data.content.Subject; 852 $rootScope.readDate = data.content.WriteDate; 853 $rootScope.readContents = $sce.trustAsHtml(data.content.Contents.replace(/color\s*:\s*rgb\(0,\s*0,\s*0\);?/gi, '')); 854 if (comment) { 855 $rootScope.readCommentDate = data.content['comment'][0].WriteDate; 856 $rootScope.readComment = data.content['comment']; 857 } 858 } 859 }).error(function (data, status) { 860 console.error('Repos error', status, data); 861 })["finally"](function () { 862 $rootScope.isRead = true; 863 }); 864 }; 865 866 $rootScope.displayNotice = function() { 867 angular.forEach($rootScope.announceList, function (val) { 868 if (val.PopUp == 'y' && !$scope.getNotice) { 869 $rootScope.anouncementPopup = val; 870 $scope.getNotice = true; 871 if (!$cookies.get('notToday')) { 872 var url = "/api/operation/GetBoardDescription"; 873 var param ={ 874 "type": $rootScope.anouncementPopup.Type, 875 "code": $rootScope.anouncementPopup.BoardCode, 876 } 877 CsrfToken.HttpRequest('POST',url,param).success(function (data) { 878 $rootScope.readTitle = data.content.Subject; 879 $rootScope.readContents = $sce.trustAsHtml(data.content.Contents.replace(/color\s*:\s*rgb\(0,\s*0,\s*0\);?/gi, '')); 880 881 ngDialog.open({ 882 template: 'popup/notice.php', 883 controller: 'NoticeController', 884 className: 'ngdialog-theme-default ngdialog-notice', 885 showClose: true, 886 closeByEscape: false, 887 scope: $scope, 888 data: { 889 id: $rootScope.anouncementPopup.BoardCode 890 } 891 }); 892 }) 893 } 894 } 895 }) 896 }; 897 898 function getNotTodayCookieBO(listArr) { 899 // Get popups that are in cookie list 900 var cookiesArr = listArr.map(function(list) { 901 if($cookies.get('notToday-' + list.BoardCode) || list.PopUp == 'n') { return list.BoardCode } 902 }); 903 904 // Filter to remove empty elements from array 905 return cookiesArr.filter(Boolean); 906 } 907 908 $rootScope.displayNoticeTodayBO = function(listArr) { 909 if(!listArr) { return } 910 // Check if all popups are in the cookie 911 if(getNotTodayCookieBO(listArr).length === listArr.length) { return } 912 ngDialog.open({ 913 controller: "MultiplePopupController", 914 template: 'popup/notice.php', 915 className: 'ngdialog-theme-default ngdialog-notice', 916 showClose: false, 917 closeByEscape: false, 918 closeByDocument: false, 919 data: { 920 lists: listArr 921 }, 922 preCloseCallback: function () { 923 window.scrollTo(0, 0); 924 } 925 }); 926 }; 927 928 $scope.handleLiveButton = function(gamebutton) { 929 /* 930 if (gamebutton.gspNo == '1058' || gamebutton.gspNo == '1118') { 931 $rootScope.casinoInfo(gamebutton.gspNo, gamebutton.category, gamebutton.gameId, gamebutton.gspName, gamebutton.gameTheme); 932 } else { 933 $scope.playGame(gamebutton.gspNo, 'live', gamebutton.gameId, gamebutton.gameTheme); 934 } 935 */ 936 if (gamebutton.category === 'Live Casino') { 937 $rootScope.casinoInfo(gamebutton.gspNo, gamebutton.category, gamebutton.gameId, gamebutton.gspName, gamebutton.gameTheme); 938 } else { 939 $scope.playGame(gamebutton.gspNo, 'live', gamebutton.gameId, gamebutton.gameTheme); 940 } 941 } 942 943 $rootScope.casinoInfo = function (gspNo, category, gameId, gspName, theme) { 944 let title = $filter('translate')('Our Sol Casino prohibits the following games and betting methods.'); 945 let sub = $filter('translate')('Both-way betting, stock market, pantan (shoot betting), first-person games from all game companies, table multi-batting'); 946 947 swal({ 948 icon: "warning", 949 title: title, 950 text: sub, 951 className: '.evo-class', 952 buttons: { 953 ok: 'OK', 954 }, 955 }).then((value) => { 956 if (value === 'ok') { 957 return $scope.playGame(gspNo, 'live', gameId, theme); 958 } 959 }); 960 } 961 962 $scope.trustAsHtml = $sce.trustAsHtml; 963 $scope.playGame = function (gspNo, productType, gameId, theme, gameName) { 964 if (gspNo == 9999 && productType == 'live' || gspNo == 1038) { 965 return $scope.comingSoon(); 966 } 967 968 if ($rootScope.loggedIn) { 969 /* 970 if(gspNo == 1073) { 971 return $scope.comingSoon(); 972 } 973 */ 974 $rootScope.isOdds = false;
975 var url = ""; 976 var size = ""; 977 if (productType == "sports") { 978 if (gspNo == 1031) { 979 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType; 980 $rootScope.sportIURL = $sce.trustAsResourceUrl(url); 981 } else if (gspNo == 1059) { 982 $rootScope.isOdds = true; 983 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 984 $rootScope.sportIURL = $sce.trustAsResourceUrl(url); 985 } else if (gspNo == 1060) { 986 ngDialog.close(); 987 if (theme == "e-sports") { 988 $scope.sportsTheme = theme ; 989 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId +"&gameType=" + theme; 990 } else { 991 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 992 } 993 $scope.sportsTheme = theme; 994 $rootScope.sportIURL = $sce.trustAsResourceUrl(url); 995 $rootScope.setActiveSportsGsp(gspNo); 996 } else { 997 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 998 $rootScope.sportIURL = $sce.trustAsResourceUrl(url); 999 } 1000 } else { 1001 if (productType == 'live' && gameId == 'Desktop') { 1002 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1003 size = "width=1024, height=592, scrollbars=no, resizable=no ,toolbar=no,titlebar=no"; 1004 var popupWindow = window.open(url, 'live', size); 1005 } 1006 if (productType == "live" || productType == "playCheck" || productType == "fun" || productType == "Ltlottery") { 1007 if (gspNo == 1012) { 1008 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType; 1009 size = "width=1024, height=592"; 1010 } else if (gspNo == 1022 || gspNo == 1039) { 1011 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType; 1012 size = "width=1240, height=775"; 1013 } else if (gspNo == 1009 || gspNo == 1019) { 1014 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType; 1015 size = "width=1024, height=580"; 1016 } else if (gspNo == 1023) { 1017 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType; 1018 size = "width=1300, height=775"; 1019 } else if (gspNo == 1026) { 1020 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType; 1021 size = "width=1262, height=711"; 1022 } else if (gspNo == 1058) { 1023 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId + "&gameType=" + theme; 1024 size = "width=1024, height=768"; 1025 } else if (gspNo == 1035 || gspNo == 1040 || gspNo == 1049 || gspNo == 1097 || gspNo == 1209) { 1026 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType; 1027 size = "width=1240, height=775"; 1028 } else if (gspNo == 1005 || gspNo == 1036 || gspNo == 1080 || gspNo == 1086 || gspNo == 1064 || gspNo == 1088 || gspNo == 1017 || gspNo == 1055 || gspNo == 1112) { 1029 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1030 size = "width=1024, height=768"; 1031 } else if (gspNo == 1020) { 1032 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1033 size = "width=1280, height=1400"; 1034 } else if (gspNo == 1118) { 1035 gameId = ''; 1036 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId + "&accLevel=" + 'slive'; 1037 size = "width=1366, height=768"; 1038 } else if (gspNo == 1153) { 1039 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1040 size = "width=1366, height=795"; 1041 } else if (gspNo == 1052) { 1042 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId + "&gameType=" + theme; 1043 size = "width=1360, height=768"; 1044 } else if (gspNo == 1060) { 1045 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType; 1046 size = "width=1024, height=592, scrollbars=yes"; 1047 } else if (gspNo == 1096) { 1048 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType; 1049 size = "width=1269, height=898"; 1050 } else { 1051 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType; 1052 size = "width=1024, height=768"; 1053 } 1054 1055 } else if (productType == "slot" || productType == "game" || productType == "minigame") { 1056 if (gspNo == 1005 || gspNo == 1004 || gspNo == 1011 || gspNo == 1038 || gspNo == 1036) { 1057 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1058 size = "width=1024, height=592"; 1059 } else if (gspNo == 1032) { 1060 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1061 size = "width=1300, height=840"; 1062 } else if (gspNo == 1012) { 1063 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1064 size = "width=1300, height=800"; 1065 } else if (gspNo == 1034) { 1066 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1067 size = "width=1200, height=800"; 1068 } else if (gspNo == 1073) { 1069 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1070 size = "width=840, height=1150"; 1071 } else if (gspNo == 1098) { 1072 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId + "&GameName=" + gameName; 1073 size = "width=1024, height=592"; 1074 } else if (gspNo == 1150) { 1075 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1076 size = "width=1070, height=605"; 1077 } else if (gspNo == 1052) { 1078 theme = 5; 1079 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameType=" + theme + "&gameId=" + gameId; 1080 size = "width=1360, height=768"; 1081 } else if (gspNo == 1138) { 1082 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1083 size = "width=1366, height=824"; 1084 } else if (gspNo == 1140) { 1085 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1086 size = "width=1375, height=824"; 1087 } else if (gspNo == 1146) { 1088 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1089 size = "width=1497, height=903"; 1090 } else if (gspNo == 1176) { 1091 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1092 size = "width=1328, height=801"; 1093 } else if (gspNo == 1184) { 1094 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1095 size = "width=1206, height=746"; 1096 } else { 1097 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType + "&gameId=" + gameId; 1098 size = "width=1024, height=768"; 1099 } 1100 } else if (productType == "etc") { 1101 url = "/api/player/PlayGame?gspNo=" + gspNo + "&productType=" + productType; 1102 size = "width=1024, height=682"; 1103 } 1104 var target = ""; 1105 if (productType == 'live') { 1106 target = gspNo + productType; 1107 } else if (productType == 'slot') { 1108 target = productType; 1109 } else if (productType == 'playCheck' && gspNo == 1005) { 1110 // console.log(productType == 'playCheck' && gspNo == 1005); 1111 target = gspNo + "playCheck"; 1112 } else { 1113 // console.log(productType == 'playCheck' && gspNo == 1005); 1114 target = gspNo + Math.random(); 1115 } 1116 // console.log('url ::', gspNo + ' | ' + url); 1117 1118 //Center Popup 1119 if((navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true )) //IF IE > 10 1120 { 1121 var popupWindow = window.open(url, target, size).focus(); 1122 } 1123 var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left; 1124 var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top; 1125 1126 var width = size.slice(6,10); 1127 var height = size.slice(19,22); 1128 1129 if(gspNo == 1020){ 1130 width = "1280"; 1131 height="1400" 1132 } 1133 if(gspNo == 1073){ 1134 width = "840"; 1135 height="1150" 1136 } 1137 if (gspNo == 1125) { 1138 width = "500"; 1139 height = "890" 1140 } 1141 if (gspNo == 1044) { 1142 width = "1288"; 1143 height = "826" 1144 } 1145 if (gspNo == 1060) { 1146 width = "1274"; 1147 height = "948" 1148 } 1149 if (gspNo == 1096) { 1150 width = "1269"; 1151 height = "898" 1152 } 1153 if (gspNo == 1091) { 1154 width = "1400"; 1155 height = "826" 1156 } 1157 if (gspNo == 1106) { 1158 width = "1578"; 1159 height = "826" 1160 } 1161 if (gspNo == 1169) { 1162 width = "1267"; 1163 height = "779" 1164 } 1165 if (gspNo == 1176) { 1166 width = "1217"; 1167 height = "749" 1168 } 1169 if (gspNo == 1138) { 1170 width = "1157"; 1171 height = "721" 1172 } 1173 if (gspNo == 1124 || gspNo == 1132 || gspNo == 1008 || gspNo == 1099 || gspNo == 1155 || gspNo == 1160 || gspNo == 1162) { 1174 width = "1239"; 1175 height = "763" 1176 } 1177 if (gspNo == 1080) { 1178 width = "1135"; 1179 height = "702" 1180 } 1181 if (gspNo == 1161) { 1182 width = "1135"; 1183 height = "868" 1184 } 1185 if (gspNo == 1147) { 1186 width = "1024"; 1187 height = "705" 1188 } 1189 1190 var x = ((screen.width/2) - (width/2)) + dualScreenLeft ; 1191 var y = ((screen.height/2) -(height/2))+ dualScreenTop ; 1192 var total_size="width="+width+",height="+height+",left="+x+",top="+y; 1193 1194 if(gspNo == 1004 || gspNo == 1006 || gspNo == 1027 || gspNo == 1022 || gspNo == 1025 || gspNo == 1026 || gspNo == 1028|| gspNo == 1029|| gspNo == 1032 || gspNo == 1135){ 1195 $.colorbox({iframe:true,href:url, width:"80%", height:"80%", overlayClose: false}); 1196 ngDialog.close(); 1197 return; 1198 } 1199 1200 var popupWindow = window.open(url, target, total_size); 1201 popupWindow.focus(); 1202 1203 if (gspNo == 1150 || gspNo == 1153) { 1204 var pollTimer = window.setInterval(function () { 1205 if (popupWindow.closed !== false) { // !== is required for compatibility with Opera 1206 window.clearInterval(pollTimer); 1207 CallCloseSession(); 1208 } 1209 }, 200); 1210 } 1211 1212 function CallCloseSession() { 1213 window.setTimeout(function () { 1214 if (popupWindow.closed) { 1215 var closeUrl = url.concat("&isClose=true"); 1216 $http.get(closeUrl).success(function (data) { 1217 SendCloseSession(data.MemberId, data.SessionId, data.GameCode) 1218 }); 1219 } 1220 }, 1); 1221 } 1222 } 1223 } else { 1224 $scope.IsVisible = true; 1225 $scope.displayLogin(); 1226 } 1227 1228 }; 1229 1230 function SendCloseSession(memberId, sessionId, gspCode) { 1231
1232 var url = isDevelopUrl() ? "https://dev.aplus-api.com/api/close/session" : "http://v2.aplus-api.com/api/close/session"; 1233 var param = "?memberId=" + memberId + "&sessionId=" + sessionId + "&gspCode=" + gspCode; 1234 url = url.concat(param); 1235 $http.get(url).success(function (data) { 1236 console.log(data) 1237 }); 1238 1239 } 1240 1241 function isDevelopUrl() { 1242 var server = window.location.hostname; 1243 var pattern = /[a-z0-9]+\.dev-front\.io/; 1244 1245 return pattern.test(server); 1246 } 1247 1248 $scope.aff_user=''; 1249 $rootScope.MemberLevel = ""; 1250 $rootScope.isloading = true; 1251 $rootScope.counterChecker = 0; 1252 $rootScope.checkSession = function () { 1253 $rootScope.counterChecker++; 1254 if($rootScope.counterChecker <= 1){ 1255 $rootScope.isloading = false; 1256 } 1257 $http.get("/api/player/GetNewMemberInfo") 1258 .success(function (data) { 1259 if (data.result != 1) { 1260 if (data.result == 207) { 1261 $http.get("/api/player/Logout").success(function (data) { 1262 if (data.result == 1) { 1263 if (bowser.msie && bowser.version <= 8) { 1264 alert(data.message); 1265 } else { 1266 $translate([data.message, ""]).then(function (translations) { 1267 SweetAlert.swal(translations[data.message], '', "success"); 1268 }); 1269 } 1270 loggedInStatus.setLoggedOutStatus(); 1271 $window.location.reload(); 1272 } else { 1273 loggedInStatus.setLoggedOutStatus(); 1274 $window.location.reload(); 1275 } 1276 }); 1277 } 1278 } else if (data.result == 1 && data.bonus.MemberLevel == "3") { 1279 $http.get("/api/player/Logout") 1280 .success(function (data) { 1281 if (data.result == 1) { 1282 if (bowser.msie && bowser.version <= 8) { 1283 alert(data.message); 1284 } else { 1285 $translate([data.message, ""]).then(function (translations) { 1286 SweetAlert.swal(data.message, "", "success"); 1287 }); 1288 } 1289 loggedInStatus.setLoggedOutStatus(); 1290 $timeout(function () { 1291 $window.location.reload(); 1292 }, 2000); 1293 } else { 1294 loggedInStatus.setLoggedOutStatus(); 1295 $window.location.reload(); 1296 } 1297 }); 1298 } else { 1299 if (data.alert) { 1300 if (bowser.msie && bowser.version <= 8) { 1301 alert(data.message); 1302 } else { 1303 $translate([data.message, "PleaseTryAgain"]).then(function (translations) { 1304 SweetAlert.swal(translations.PleaseTryAgain, translations[data.message], "success"); 1305 }); 1306 } 1307 } 1308 } 1309 $scope.aff_user = data.bonus.AffUser; 1310 $rootScope.UnreadDM = data.bonus.UnreadDM; 1311 $rootScope.MemberLevel = data.bonus.MemberLevel; 1312 $rootScope.BonusGameEnable = data.bonus.BonusGameEnable; 1313 $scope.withdrawStatus = data.bonus.WithdrawPWStatus; 1314 $rootScope.agentPaymentList = data.PaymentList; 1315 // $scope.getPromotionFromCommon = $rootScope.GetPromotionHistoryCommon(); 1316 $rootScope.withdrawStatus = data.bonus.WithdrawPWStatus; 1317 $rootScope.MemberRank = data.bonus.MemberLevel; 1318 1319 if ($rootScope.agentGspList == undefined) { 1320 $scope.getBalance(); 1321 } 1322 1323 if ($rootScope.agentGspCount != data.GameList.count) { 1324 $rootScope.agentGspList = data.GameList.data; 1325 $rootScope.agentGspCount = data.GameList.count; 1326 } 1327 1328 if($rootScope.counterChecker <= 1){ 1329 if($rootScope.UnreadDM > 0){ 1330 $scope.displayCustomer(7); 1331 } 1332 } 1333 1334 $rootScope.isloading = true; 1335 $scope.getBalance(); 1336 /*$scope.displayWithdrawPW();*/ 1337 1338 }).error(function (data, result) { 1339 console.error('Repos error', result, data); 1340 })["finally"](function () { 1341 $scope.isProcessing = false; 1342 }); 1343 }; 1344 1345 1346 $scope.stopAlert = false; 1347 $scope.DMPlayAlert = function () { 1348 $scope.audio = new Audio('/common/audio/ko_KR.mp3'); 1349 $scope.playAudioPromise = function () { 1350 var promise = $scope.audio.play(); 1351 if (promise !== undefined) { 1352 promise.then(function () { 1353 // Autoplay started! 1354 }).catch(function (error) { 1355 // Autoplay was prevented. 1356 }); 1357 } 1358 }; 1359 //PLAY AUDIO EVERY MINUTE UNLESS STOP 1360 setInterval(function () { 1361 if ($scope.stopAlert == false) { 1362 $scope.audio = new Audio('/common/audio/ko_KR.mp3'); 1363 $scope.audio.play(); 1364 } 1365 }, 60000) 1366 }; 1367 1368 $scope.DMStopAlert = function () { 1369 if (!$scope.audio) { 1370 return; 1371 } 1372 $scope.stopAlert = true; 1373 $scope.audio.pause(); 1374 }; 1375 1376 $scope.setLang = function (langKey) { //selected language 1377 $scope.currentLang = langKey; 1378 $cookies.get("selectedLanguage"); 1379 var now = new Date(), exp = new Date(now.getFullYear() + 100, now.getMonth(), now.getDate()); 1380 $cookies.put("selectedLanguage", langKey, {expires: exp}); 1381 $translate.use(langKey); 1382 $rootScope.languageSelected =langKey; 1383 1384 //SET LANGUAGE TEXT 1385 $scope.SetLanguageText($scope.currentLang); 1386 }; 1387 1388 $scope.SetLanguageText = function (currentLang) { 1389 if (currentLang == "en_US") { 1390 $scope.currentLangValue = "English"; 1391 } else if (currentLang == "ko_KR") { 1392 $scope.currentLangValue = "íêµì´"; 1393 } else if (currentLang == "id_ID") { 1394 $scope.currentLangValue = "Indonesian"; 1395 } else if (currentLang == "zh_CN") { 1396 $scope.currentLangValue = "䏿"; 1397 } else { 1398 $scope.currentLangValue = "English"; 1399 } 1400 }; 1401 1402 $scope.multiplePopup = [ 1403 { id: 'mp-01', image: 'popup-01', url: ''}, 1404 { id: 'mp-02', image: 'popup-02', url: ''}, 1405 { id: 'mp-03', image: 'popup-03', url: 'https://t.me/sola114'}, 1406 { id: 'mp-04', image: 'popup-04', url: 'https://t.me/sola114'}, 1407 { id: 'mp-05', image: 'popup-05', url: ''}, 1408 ]; 1409 1410 $scope.multiplePopup2 = [ 1411 { id: 'mp-11', image: 'popup-11', url: 'https://t.me/sola114'}, 1412 { id: 'mp-12', image: 'popup-12', url: ''}, 1413 { id: 'mp-13', image: 'popup-13', url: ''}, 1414 ]; 1415 1416 function getNotTodayCookie(listArr) { 1417 var cookiesArr = listArr.map(function(list) { 1418 if($cookies.get('notToday-' + list.id)) { return list.id } 1419 }); 1420 return cookiesArr.filter(function(x) { return x}); 1421 } 1422 1423 $scope.displayMultiplePopups = function(listArr) { 1424 if(!listArr || !listArr.length) { return } 1425 if(getNotTodayCookie(listArr).length === listArr.length) { return } 1426 1427 ngDialog.open({ 1428 template: 'popup/multiple-popup.html', 1429 controller: 'MultiplePopupController', 1430 className: 'ngdialog-theme-default ngdialog-mulitple-popup', 1431 showClose: false, 1432 closeByEscape: false, 1433 closeByDocument: false, 1434 scope: $scope, 1435 data: { 1436 lists: listArr 1437 }, 1438 preCloseCallback: function () { 1439 window.scrollTo(0, 0); 1440 } 1441 }); 1442 }; 1443 1444 $rootScope.init = function (isLogin) { 1445 var savedLang = $cookies.get("selectedLanguage") || 'ko_KR'; 1446 $scope.setLang(savedLang); 1447 $scope.displayMultiplePopups($scope.multiplePopup2); 1448 $scope.displayMultiplePopups($scope.multiplePopup); 1449 if ($rootScope.loggedIn) { 1450 setTimeout(function () { 1451 $scope.displayNoticeTodayBO(); 1452 }, 3000) 1453 } 1454 1455 $scope.isTooltipHide = $cookies.get("isToolTipHide"); 1456 }; 1457 1458 $scope.formatDate = function (date) { 1459 if (date) { 1460 var date = date.split("-").join("/"); 1461 var dateOut = new Date(date); 1462 return dateOut; 1463 } 1464 }; 1465 1466 $rootScope.goToMobile = function () { 1467 $window.location.href = '/mobile' 1468 }; 1469 1470 $rootScope.redirectUrl = function (url) { 1471 if (!url) { 1472 return $scope.displayLogin(); 1473 } 1474 1475 $location.path(url) 1476 }; 1477 1478 $scope.slotFromMain = function(gspNo,category){ 1479 $rootScope.activeSlot = gspNo; 1480 $scope.activeGameTab = category; 1481 $location.url('/slots-view'); 1482 $rootScope.loadSlot($rootScope.activeSlot); 1483 } 1484 1485 $scope.prepareRedirect = function (url, needLogin, name) { 1486 if (!url) { 1487 return $scope.comingSoon(); 1488 } 1489 1490 if(url == 'terms') { 1491 return $scope.displayTerms(); 1492 } 1493 1494 if (needLogin && !$rootScope.loggedIn) { 1495 return $scope.displayLogin(); 1496 } 1497 1498 if (name == 'sports') { 1499 $rootScope.setActiveSportsGsp(1183); 1500 return 1501 } 1502 1503 if (name == 'wallet') { 1504 return $scope.displayWallet(url); 1505 } 1506 1507 if (name == 'customer') { 1508 $scope.displayCustomer(url); 1509 // $scope.setTab(url); 1510 return 1511 } 1512 1513 if(url == 'mobile') { 1514 return window.location.href='/mobile/#/' 1515 } 1516 1517 if (url == 'referral') { 1518 var link = $scope.currentLang == 'en_US' ? 'https://www.youtube.com/watch?v=0cbkxLv-TWo':'https://youtu.be/08nBo1QiGRA'; 1519 $window.open(link, '_blank'); 1520 return true; 1521 } 1522 1523 if (url == 'livechat') { 1524 return LC_API.open_chat_window(); 1525 } 1526 if (url == 'affiliates') { 1527 return $scope.displayPartnership(); 1528 } 1529 1530 1531 $location.path(url); 1532 }; 1533 1534 $rootScope.closeDialog = function () { 1535 ngDialog.close(); 1536 }; 1537 $scope.displayViewSwitch = function () { 1538 ngDialog.open({ 1539 template: 'popup/view-switch.php', 1540 className: 'ngdialog-theme-default ngdialog-view-switch', 1541 closeByEscape: false, 1542 closeByDocument: false 1543 }) 1544 }; 1545 1546 1547 $scope.displayForgot = function () { 1548 ngDialog.open({ 1549 template: 'popup/forgot-password.php', 1550 controller: 'ForgotPasswordController', 1551 className: 'ngdialog-theme-default ngdialog-forgot', 1552 scope: $scope 1553 }); 1554 }; 1555 1556 $scope.displayLogin = function (displayP) { 1557 if (!$rootScope.loggedIn) { 1558 if(displayP == "Y"){ 1559 $scope.IsVisible = false;
1560 }else{ 1561 $scope.IsVisible = true; 1562 } 1563 ngDialog.open({ 1564 template: 'popup/login.php', 1565 controller: 'LoginController', 1566 className: 'ngdialog-theme-default ngdialog-login', 1567 scope: $scope 1568 }); 1569 } 1570 }; 1571 1572 $scope.CallAngularLogin = function(){ 1573 if($rootScope.loggedIn){ 1574 return; 1575 } 1576 1577 $scope.displayLogin(); 1578 } 1579 1580 $scope.displaySignUp = function () { 1581 ngDialog.close(); 1582 if ($scope.NewMember == "Y") { 1583 ngDialog.open({ 1584 template: 'popup/signup.php', 1585 controller: 'SignUpController', 1586 className: 'ngdialog-theme-default ngdialog-signup', 1587 scope: $scope, 1588 closeByEscape: false, 1589 closeByDocument: false 1590 }); 1591 } else { 1592 SweetAlert.swal( 1593 $filter('translate')('For membership registration, please contact the customer center.'), 1594 $filter('translate')('Thank you.'), 1595 "info" 1596 ); 1597 } 1598 }; 1599 1600 $scope.displayWallet = function (tabIndex) { 1601 $scope.isLoadingPopup = true; 1602 if (!$rootScope.loggedIn) { 1603 return $scope.displayLogin(); 1604 } 1605 1606 if ($scope.isLoadingPopup == true) { 1607 $('.sublink-list__item,.footer-links__list__item,.balance-button-container--lg button').addClass('disable-event'); 1608 $scope.selectWalletTab = tabIndex; 1609 ngDialog.open({ 1610 template: 'popup/wallet.php', 1611 controller: 'WalletController', 1612 className: 'ngdialog-theme-default ngdialog-main-default', 1613 closeByDocument: false, 1614 scope: $scope, 1615 preCloseCallback: function () { 1616 $('.sublink-list__item,.footer-links__list__item,.balance-button-container--lg button').removeClass('disable-event'); 1617 } 1618 }); 1619 } 1620 }; 1621 1622 $scope.displayCustomer = function (tabIndex) { 1623 $scope.selectCustomerTab = tabIndex; 1624 if (!$rootScope.loggedIn) { 1625 return $scope.displayLogin(); 1626 } 1627 $('.sublink-list__item,.footer-links__list__item,.balance-button-container--lg button').addClass('disable-event'); 1628 ngDialog.open({ 1629 template: 'popup/customer.php', 1630 controller: 'CustomerController', 1631 className: 'ngdialog-theme-default ngdialog-main-default', 1632 closeByDocument: false, 1633 scope: $scope, 1634 preCloseCallback:function () { 1635 $('.sublink-list__item, .footer-links__list__item, .balance-button-container--lg button').removeClass('disable-event'); 1636 } 1637 }); 1638 }; 1639 1640 $scope.displayTerms = function (tabIndex) { 1641 $scope.selectCustomerTab = tabIndex; 1642 ngDialog.open({ 1643 template: 'popup/terms.php', 1644 controller: '', 1645 className: 'ngdialog-theme-default ngdialog-main-default', 1646 closeByDocument: false, 1647 scope: $scope 1648 }); 1649 }; 1650 1651 $scope.displayRules = function (tabIndex) { 1652 $scope.pageName = 'popup/rules/rules-' + $rootScope.currentLang + '.php'; 1653 $scope.selectRulesTab = tabIndex; 1654 ngDialog.open({ 1655 template: $scope.pageName, 1656 controller: 'RulesController', 1657 className: 'ngdialog-theme-default ngdialog-rules', 1658 scope: $scope 1659 }); 1660 }; 1661 $scope.displayPartnership = function (tabIndex) { 1662 if (!$rootScope.loggedIn && tabIndex !== 1) { 1663 return $scope.displayLogin(); 1664 } 1665 ngDialog.open({ 1666 template: 'popup/partnership.php', 1667 controller: 'CustomerController', 1668 className: 'ngdialog-theme-default ngdialog-main-default notice-rules', 1669 closeByDocument: false, 1670 scope: $scope, 1671 1672 }); 1673 }; 1674 1675 $rootScope.comingSoon = function () { 1676 var message = ''; 1677 if (bowser.msie && bowser.version <= 8) { 1678 alert(message); 1679 } else { 1680 $translate([message, "ComingSoon"]).then(function (translations) { 1681 SweetAlert.swal(translations.ComingSoon, translations[message], "info"); 1682 }); 1683 } 1684 }; 1685 1686 $rootScope.maintenance = function () { 1687 var message = ''; 1688 if (bowser.msie && bowser.version <= 8) { 1689 alert(message); 1690 } else { 1691 $translate([message, "SystemMaintenance"]).then(function (translations) { 1692 SweetAlert.swal(translations.SystemMaintenance, translations[message], "warning"); 1693 }); 1694 } 1695 }; 1696 1697 1698 /* $scope.getMovie = true; 1699 if (!$cookies.get('notTodayVideo')) { 1700 $scope.movieOpen = ngDialog.open({ 1701 template: 'popup/promotion-notice.php', 1702 controller: 'MovieController', 1703 className: 'ngdialog-theme-default ngdialog-movie movieOverlay popup1 popup', 1704 showClose: true, 1705 closeByEscape: false, 1706 closeByDocument: false, 1707 scope: $scope 1708 }); 1709 }*/ 1710 1711 /*if (!$cookies.get('notTodayVideo3')) { 1712 $scope.movieOpen = ngDialog.open({ 1713 template: 'popup/newpopup-2.php', 1714 controller: 'MovieController2', 1715 className: 'ngdialog-theme-default ngdialog-notice ngdialog-new-notice', 1716 showClose: true, 1717 closeByEscape: false, 1718 closeByDocument: false, 1719 scope: $scope 1720 }); 1721 }*/ 1722 1723 $rootScope.contactCC = function () { 1724 var message = 'AccessDenied'; 1725 if (bowser.msie && bowser.version <= 8) { 1726 alert(message); 1727 } else { 1728 $translate([message, "ContactCustomerCenter"]).then(function (translations) { 1729 SweetAlert.swal(translations.ContactCustomerCenter, translations[message], "info"); 1730 }); 1731 } 1732 }; 1733 1734 $rootScope.setSlot = function (gspNo) { 1735 $rootScope.triggerLoadSlot = gspNo; 1736 }; 1737 1738 $rootScope.loadCounter = function () { 1739 $http.get("/api/marketing/getJackpot") 1740 .success(function (data) { 1741 $('.jackpot-odometer').jOdometer({ 1742 increment: data.increment, 1743 counterStart: data.counterStart, 1744 counterEnd: false, 1745 numbersImage: 'common/images/jackpot/odometer.svg', 1746 spaceNumbers: 0, 1747 formatNumber: true, 1748 widthNumber: 32, 1749 heightNumber: 80 1750 }); 1751 }).error(function (data, status) { 1752 console.error('Repos error', status, data); 1753 }); 1754 }; 1755 1756 $rootScope.loadIDNCounter = function () { 1757 $http.get("/api/marketing/GetPokerJackpot") 1758 .success(function (data) { 1759 $('.jackpot-odometer').jOdometer({ 1760 increment: 13.13, 1761 counterStart: data.total_jackpot + "." + (Math.floor(Math.random() * 9) + 1) + '' + (Math.floor(Math.random() * 9) + 1), 1762 counterEnd: false, 1763 numbersImage: 'common/images/odometer.png', 1764 spaceNumbers: 1, 1765 formatNumber: true, 1766 widthNumber: 38, 1767 heightNumber: 60 1768 }); 1769 }).error(function (data, status) { 1770 console.error('Repos error', status, data); 1771 }); 1772 }; 1773 1774 $scope.redirectShowPromotionDialog = function (activeMenuNo) { 1775 $rootScope.activeMenuNoFromHome = activeMenuNo; 1776 $location.path('/casino-bonus-promotion'); 1777 } 1778 1779 $rootScope.setActiveSportsGsp = function (gspNo) { 1780 if (gspNo == "" || gspNo == undefined || gspNo == 9999) { 1781 $rootScope.comingSoon(); 1782 return; 1783 } 1784 1785 if ($rootScope.loggedIn != true && gspNo) { 1786 $scope.displayLogin(); 1787 return; 1788 } 1789 1790 $('html,body').animate({scrollTop: 0}, 0); 1791 1792 $rootScope.activeSportsGsp = gspNo; 1793 $location.path('/view-sports'); 1794 }; 1795 1796//redirect if undefined 1797 if ($rootScope.activeSportsGsp == undefined && $location.path() == '/view-sports') { 1798 // $location.path('/sports-betting-online'); 1799 $rootScope.activeSportsGsp = '1183'; 1800 } 1801 1802 1803 $scope.displayFAQ = function () { 1804 var url = "../popup/FAQ/FAQ.php?lang=" + $rootScope.currentLang; 1805 var size = "width=1000px, height=760px,scrollbars=no, resizable=no ,toolbar=no,titlebar=no"; 1806 window.open(url, 'FAQ', size); 1807 } 1808 1809 $scope.combinedMaintenance = function (agentGsp) { 1810 if (agentGsp.amount == 'MAINTENANCE') { 1811 return agentGsp.gspName + " - MAINTENANCE"; 1812 } else { 1813 return $filter('translate')(agentGsp.gspName); 1814 } 1815 }; 1816 1817 $scope.combinedMaintenanceByCurrency = function (agentGsp) { 1818 if (agentGsp.Maintenance == 'Y') { 1819 return false;
1820 } else { 1821 return true; 1822 } 1823 }; 1824 1825 $scope.maintenanceFilter = function (agentGsp) { 1826 if (agentGsp.amount == 'MAINTENANCE') { 1827 return false; 1828 } else { 1829 return true; 1830 } 1831 }; 1832 1833 $scope.closeDM = function () { 1834 if ($rootScope.loggedIn) { 1835 if ($rootScope.UnreadDM > 0) { 1836 SweetAlert.swal($filter('translate')('Please check all the messages'), $filter('translate')('You can use the site after checking all messages'), "error"); 1837 } else { 1838 ngDialog.close(); 1839 $rootScope.counterChecker = 0; 1840 } 1841 } else { 1842 ngDialog.close(); 1843 } 1844 } 1845 1846 // $http.get("/api/system/gamelist/gamebuttons.json?v1") 1847 // .success(function (data) { 1848 // $scope.gameButtons = data; 1849 // }); 1850 1851 $scope.translateWalletCategory = function (agentGsp) { 1852 return $filter('translate')(agentGsp.category); 1853 }; 1854 1855 $rootScope.GetPromotionHistoryCommon = function () { 1856 var url = "/api/player/GetPromotionHistory"; 1857 $http({ 1858 method: 'GET', 1859 url: url, 1860 headers: { 1861 'Content-Type': 'application/x-www-form-urlencoded' 1862 } // set the headers so angular passing info as form data (not request payload) 1863 }).success(function (data) { 1864 $scope.getPromotionFromCommon = data.promotion; 1865 })["finally"](function () { 1866 }); 1867 } 1868 1869 $scope.ValidateLength = function(event){ 1870 var MemberPhone = event.target.value 1871 MemberPhone = MemberPhone.replace(/[^0-9\.]+/g, ""); 1872 if(MemberPhone.length<11 || MemberPhone.length>12){ 1873 $(".field-phone").addClass("has-errors"); 1874 }else{ 1875 $(".field-phone").removeClass("has-errors"); 1876 } 1877 } 1878 1879 $scope.filterVip = function(vip) 1880 { 1881 if(vip.promotionID != 23){ 1882 return true; // this will be listed in the results 1883 } 1884 else if(vip.promotionID == 23) { 1885 if ($rootScope.loggedIn) { 1886 if ($rootScope.MemberLevel == 5 || $rootScope.MemberLevel == 6 || $rootScope.MemberLevel == 7 || $rootScope.MemberLevel == 8) { 1887 return true; // otherwise it won't be within the results 1888 } 1889 return false; 1890 } 1891 } 1892 1893 }; 1894 1895 $scope.displayWithdrawPW = function () { 1896 if ($rootScope.withdrawStatus == "N") { 1897 ngDialog.open({ 1898 template: 'popup/withdraw-pw.php', 1899 controller: '', 1900 className: 'ngdialog-theme-default withdrawPassword', 1901 showClose: false, 1902 closeByEscape: false, 1903 closeByDocument: false, 1904 scope: $scope 1905 }); 1906 } 1907 } 1908 1909 $rootScope.setActiveInside = function (setTab) { 1910 $rootScope.isActiveInside = setTab; 1911 }; 1912}); 1913 1914app.controller('GspHeaderController', function($rootScope, $scope, $cookies, $http, $location, ngDialog) { 1915 // $rootScope.setActiveSportsGsp = function (gspNo, productType, gameId, theme) { 1916 // window.scrollTo(0, 0); 1917 // $http.get("/api/system/gamelist/gamebuttons.json") 1918 // .success(function (data) { 1919 // $rootScope.gameButtons = data; 1920 // }); 1921 // 1922 // if (gspNo == "" || gspNo == undefined || gspNo == 9999) { 1923 // $rootScope.comingSoon(); 1924 // return; 1925 // } 1926 // if ($rootScope.loggedIn != true) { 1927 // $scope.displayLogin(); 1928 // return; 1929 // } 1930 // $rootScope.activeSportsGsp = gspNo; 1931 // ngDialog.close(); 1932 // $location.url('/view-sports'); 1933 // } 1934 1935 $rootScope.sportsGamesData = [ 1936 { 1937 'gspNo': '1044', 1938 'gspName': '10Bet Sports', 1939 'category': 'sports', 1940 'gspNameSubText': '', 1941 'gspClass': 'sports-button-3', 1942 'title': '10Bet', 1943 'description': '10bet is an online gambling company founded in 2003 and offers live & pre-match of sportsbook.', 1944 }, 1945 { 1946 'gspNo': '1060', 1947 'gspName': 'Pinnacle Sports', 1948 'category': 'sports', 1949 'gspNameSubText': '', 1950 'gspClass': 'sports-button-3', 1951 'title': 'Pinnacle', 1952 'description': 'Pinnacle has a reputation for offering the best betting product worldwide - Pinnacle Solution partners have unique access to this product and the benefits it offers.', 1953 }, 1954 { 1955 'gspNo': '1096', 1956 'gspName': 'SBO Bet Sports', 1957 'category': 'sports', 1958 'gspNameSubText': '', 1959 'gspClass': 'sports-button-3', 1960 'title': 'SBO Bet', 1961 'description': 'SBOBET Sports offers over 1500 sporting events every week, with extensive coverage of all major football leagues and international sporting events.', 1962 }, 1963 { 1964 'gspNo': '1091', 1965 'gspName': 'IBC Sports', 1966 'category': 'sports', 1967 'gspNameSubText': '', 1968 'gspClass': 'sports-button-3', 1969 'title': 'IBC', 1970 'description': 'IBC provides several gaming options such as Sportsbook, Live Casino, Slots and Number games to cater to all of our different customers\' needs.', 1971 }, 1972 { 1973 'gspNo': '1106', 1974 'gspName': 'Betconstruct Sports', 1975 'category': 'sports', 1976 'gspNameSubText': '', 1977 'gspClass': 'sports-button-3', 1978 'title': 'Betconstruct', 1979 'description': 'BetConstruct is a global award-winning technology and services provider for online and land-based gaming industry.', 1980 }, 1981 ]; 1982 1983 $rootScope.casinoGamesData = [ 1984 { 1985 'gspNo': '1058', 1986 'gspName': 'Evolution', 1987 'category': 'live', 1988 'gspNameSubText': '', 1989 'gspClass': 'sports-button-3', 1990 'title': 'Evolution', 1991 'description': 'Evolution offers operators an unrivalled portfolio of both time-honoured and unique casino games and live game shows that meet the needs of multiple international markets.', 1992 'gameId': 'baccarat', 1993 'theme': '2' 1994 }, 1995 { 1996 'gspNo': '1012', 1997 'gspName': 'Choice Gaming', 1998 'category': 'live', 1999 'gspNameSubText': '', 2000 'gspClass': 'sports-button-3', 2001 'title': 'Choice Gaming', 2002 'description': 'Choice Gaming offers a wide range of products, including baccarat and roulette, which are popular among players around the world.', 2003 }, 2004 { 2005 'gspNo': '1194', 2006 'gspName': 'Microgaming Live', 2007 'category': 'live', 2008 'gspNameSubText': '', 2009 'gspClass': 'sports-button-3', 2010 'title': 'Microgaming', 2011 'description': 'Microgaming has been setting the industry standard for quality, innovation and entertainment since 1994.', 2012 }, 2013 { 2014 'gspNo': '1195', 2015 'gspName': 'Microgaming Grand Live', 2016 'category': 'live', 2017 'gspNameSubText': '', 2018 'gspClass': 'sports-button-3', 2019 'title': 'Microgaming Grand Live', 2020 'description': 'Microgaming has been setting the industry standard for quality, innovation and entertainment since 1994.', 2021 }, 2022 { 2023 'gspNo': '1198', 2024 'gspName': 'Playtech', 2025 'category': 'live', 2026 'gspNameSubText': '', 2027 'gspClass': 'sports-button-3', 2028 'title': 'Playtech', 2029 'description': 'Playtech is the world\'s largest online gaming software supplier founded in 1999, traded on the London Stock Exchange Main Market in 2006.', 2030 'gameId': 'bal' 2031 }, 2032 { 2033 'gspNo': '1027', 2034 'gspName': 'Gameplay', 2035 'category': 'live', 2036 'gspNameSubText': '', 2037 'gspClass': 'sports-button-3', 2038 'title': 'Gameplay', 2039 'description': 'Gameplay Interactive has been providing white label and turnkey solutions since 2013.', 2040 }, 2041 { 2042 'gspNo': '1118', 2043 'gspName': 'Pragmatic Play', 2044 'category': 'live', 2045 'gspNameSubText': '', 2046 'gspClass': 'sports-button-3', 2047 'title': 'Pragmatic Play', 2048 'description': 'Pragmatic Play is a leading content provider to the iGaming and Betting Industry, offering a multi-product portfolio that is innovative, regulated and mobile-focused.', 2049 'gameId': '', 2050 'theme': 'slive' 2051 }, 2052 { 2053 'gspNo': '1147', 2054 'gspName': 'Sexy Gaming', 2055 'category': 'live', 2056 'gspNameSubText': '', 2057 'gspClass': 'sports-button-3', 2058 'title': 'Sexy Gaming', 2059 'description': 'AE was a company specializing in video streaming technology for large clients. With the sophisticated expertises and excellent services the company offered.', 2060 }, 2061 ]; 2062}); 2063 2064 2065app.controller('RulesController', function ($scope, $rootScope) { 2066 $scope.isSet = function (checkTab) { 2067 return $rootScope.selectRulesTab == checkTab; 2068 }; 2069 $scope.setTab = function (setTab) { 2070 $rootScope.selectRulesTab = setTab; 2071 }; 2072}); 2073 2074app.controller('ForgotPasswordController', function ($scope, $rootScope, $http, SweetAlert, $translate, ngDialog) { 2075 /*SECURITY QUESTIONS*/ 2076 $scope.getSecurityQuestion = [ 2077 {'SecurtiyNo': 0, 'SecurityQuestion': "Mother's Name?"}, 2078 {'SecurtiyNo': 1, 'SecurityQuestion': "Pet's Name?"}, 2079 {'SecurtiyNo': 2, 'SecurityQuestion': "Favorite Food?"}, 2080 {'SecurtiyNo': 3, 'SecurityQuestion': "Favorite Color?"}, 2081 {'SecurtiyNo': 4, 'SecurityQuestion': "Favorite Actor?"}, 2082 {'SecurtiyNo': 5, 'SecurityQuestion': "Favorite Athlete?"}, 2083 ]; 2084 2085 $scope.isProcessing = false;
2086 $scope.forgotPwd = {}; 2087 $rootScope.getTempPwd = ""; 2088 $rootScope.getMemId = ""; 2089 2090 $scope.processForm = function () { 2091 $scope.isProcessing = true; 2092 var url = "/api/player/ForgotPassword"; 2093 $http({ 2094 method: 'POST', 2095 url: url, 2096 data: $.param($scope.forgotPwd), 2097 headers: { 2098 'Content-Type': 'application/x-www-form-urlencoded' 2099 } // set the headers so angular passing info as form data (not request payload) 2100 }).success(function (data) { 2101 if (data.result == 1) { 2102 $rootScope.getTempPwd = data.tempPwd; 2103 $rootScope.getMemId = data.MemberID; 2104 ngDialog.open({ 2105 template: 'popup/change-forgot-password.php', 2106 className: 'ngdialog-theme-default ngdialog-forgot', 2107 closeByEscape: false, 2108 closeByDocument: false, 2109 scope: $scope 2110 }); 2111 } else { 2112 if (data.alert) { 2113 if (bowser.msie && bowser.version <= 8) { 2114 alert(data.message); 2115 } else { 2116 $translate([data.message, "PleaseTryAgain"]).then(function (translations) { 2117 SweetAlert.swal(translations[data.message], translations.PleaseTryAgain, "error"); 2118 }); 2119 } 2120 } 2121 } 2122 }).error(function (data, status) { 2123 console.error('Repos error', status, data); 2124 })["finally"](function () { 2125 $scope.isProcessing = false; 2126 }); 2127 }; 2128}); 2129 2130app.controller("ChangeForgotPasswordController", function ($scope, $rootScope, $http, SweetAlert, ngDialog, $window, $translate) { 2131 $scope.ChangeforgotPwd = {}; 2132 $scope.isProcessing = false; 2133 2134 $scope.ChangeforgotPwd.TempPwd = $rootScope.getTempPwd; 2135 $scope.ChangeforgotPwd.MemberID = $rootScope.getMemId; 2136 2137 $scope.processForm = function () { 2138 $scope.isProcessing = true; 2139 var url = "/api/player/ChangeForgotPassword"; 2140 $http({ 2141 method: 'POST', 2142 url: url, 2143 data: $.param($scope.ChangeforgotPwd), // pass in data as strings 2144 headers: { 2145 'Content-Type': 'application/x-www-form-urlencoded' 2146 } // set the headers so angular passing info as form data (not request payload) 2147 }).success(function (data) { 2148 if (data.result == 1) { 2149 if (bowser.msie && bowser.version <= 8) { 2150 alert(data.message); 2151 } else { 2152 $translate([data.message]).then(function (translations) { 2153 SweetAlert.swal(translations[data.message], "", "success"); 2154 }); 2155 ngDialog.close(); 2156 } 2157 $window.location.href = "/"; 2158 $window.location.reload(); 2159 } else { 2160 if (data.alert) { 2161 if (bowser.msie && bowser.version <= 8) { 2162 alert(data.message); 2163 } else { 2164 $translate([data.message, "PleaseTryAgain"]).then(function (translations) { 2165 SweetAlert.swal(translations[data.message], translations.PleaseTryAgain, "error"); 2166 }); 2167 } 2168 } 2169 } 2170 }).error(function (data, status) { 2171 console.error('Repos error', status, data); 2172 })["finally"](function () { 2173 $scope.isProcessing = false; 2174 }); 2175 }; 2176}); 2177 2178app.directive('phoneNumberDuplicated', function ($http) { 2179 return { 2180 require: 'ngModel', 2181 link: function (scope, elm, attrs, ctrl) { 2182 var original; 2183 ctrl.$formatters.unshift(function (modelValue) { 2184 original = modelValue; 2185 return modelValue; 2186 }); 2187 2188 ctrl.$parsers.push(function (viewValue) { 2189 if (viewValue != undefined) { 2190 if (viewValue.length >= 4) { 2191 var url = "/api/player/CheckDuplicatePhone"; 2192 $http({ 2193 method: 'POST', 2194 url: url, 2195 data: $.param({ 2196 MemberPhone: viewValue 2197 }), 2198 headers: { 2199 'Content-Type': 'application/x-www-form-urlencoded' 2200 } 2201 }).success(function (data) { 2202 if (data.result == 0) { 2203 ctrl.$setValidity('duplicated', false); 2204 } else { 2205 ctrl.$setValidity('duplicated', true); 2206 } 2207 ctrl.$setValidity('minlength', true); 2208 }); 2209 return viewValue; 2210 } else { 2211 ctrl.$setValidity('minlength', false); 2212 return viewValue; 2213 } 2214 } else { 2215 ctrl.$setValidity('minlength', false); 2216 return viewValue; 2217 } 2218 }) 2219 } 2220 }; 2221}); 2222 2223app.controller("LoginController", function (CsrfToken,$filter,$scope, $http, $window, SweetAlert, loggedInStatus, $translate) { 2224 $scope.loginForm = {}; 2225 2226 $scope.isProcessing = false;
2227 $scope.processForm = function () { 2228 if (!$scope.isProcessing) { 2229 $scope.isProcessing = true; 2230 $("#preloader").show(); 2231 var url = "/api/player/Login"; 2232 CsrfToken.HttpRequest('POST',url,$scope.loginForm) 2233 .success(function (data) { 2234 if (data.result == 1) { 2235 $window.location.href = "/#/"; 2236 $window.location.reload(); 2237 } else if (data.result == 213) { 2238 if (bowser.msie && bowser.version <= 8) { 2239 alert(data.message); 2240 } else { 2241 SweetAlert.swal(data.message, "ì¹ì¸ì 기ë¤ë ¤ì£¼ìê±°ë ì§ê¸ì±í í기를 íµí´ ê³ ê°ì§ìíì 문ì íì¬ ì£¼ì기 ë°ëëë¤", "error"); 2242 } 2243 } else if (data.result == 203) { 2244 if (bowser.msie && bowser.version <= 8) { 2245 alert(data.message); 2246 } else { 2247 $translate([data.message, "PleaseTryAgain"]).then(function (translations) { 2248 SweetAlert.swal(translations[data.message], translations.PleaseTryAgain, "error"); 2249 }); 2250 } 2251 } else { 2252 if (bowser.msie && bowser.version <= 8) { 2253 alert(data.message); 2254 } else { 2255 if(data.csrf){ 2256 swal({ 2257 title: "ìºì ë° ì¿ í¤ ìì í", 2258 text: "ë¸ë¼ì°ì 를 ìë¡ê³ ì¹¨í´ ì£¼ì¸ì", 2259 className: "csrf-swal", 2260 icon: "error",
2261 showCancelButton: false, 2262 confirmButtonClass: "#7cd1f9", 2263 confirmButtonText: "OK", 2264 closeOnConfirm: false 2265 }).then(function(confirm) { 2266 if (confirm) { 2267 $window.location.href = "/#/"; 2268 $window.location.reload(); 2269 } 2270 }); 2271 } else { 2272 $translate([data.message, "PleaseTryAgain"]).then(function (translations) { 2273 SweetAlert.swal(translations[data.message], translations.PleaseTryAgain, "error"); 2274 }); 2275 } 2276 } 2277 } 2278 }).error(function (data, status) { 2279 console.error('Repos error', status, data); 2280 })["finally"](function () { 2281 $scope.isProcessing = false; 2282 $("#preloader").hide(); 2283 }); 2284 } 2285 }; 2286 2287// caret on category 2288 $scope.showGameList = function (index) { 2289 $(".category.caret-" + index + " .caret").toggleClass("caret-up"); 2290 } 2291 2292// open game list on login 2293 $('.dropdown-toggle').on('click', function (event) { 2294 $(this).parent().toggleClass('open'); 2295 }); 2296 2297// close game list 2298 $('body').on('click', function (e) { 2299 if (!$('.dropdown').is(e.target) 2300 && $('.dropdown').has(e.target).length === 0 2301 && $('.open').has(e.target).length === 0 2302 ) { 2303 $('.dropdown').removeClass('open'); 2304 } 2305 }); 2306 2307// caret on login 2308 $('.dropdown-toggle').click(function () { 2309 $('.dropdown-toggle .caret').toggleClass("caret-up"); 2310 }); 2311 2312 2313 $scope.walletCategory = [ 2314 {"category": "Live Casino", "target": "live-login", "img": "live"}, 2315 {"category": "Fun Game", "target": "fun-login", "img": "fun"}, 2316 {"category": "Slot Games", "target": "slots-login", "img": "slots"}, 2317 {"category": "Sports", "target": "sports-login", "img": "sports"}, 2318 2319 /*{"category": "Fish Game", "target": "fish-login", "img": "fish"},*/ 2320 /*{"category": "Poker", "target": "poker-login", "img": "poker"},*/ 2321 /*{"category": "Lottery", "target": "lottery-login", "img": "lottery"},*/ 2322 2323 ]; 2324}); 2325 2326app.controller("LogoutController", function ($scope, $rootScope, $http, $window, SweetAlert, loggedInStatus, $timeout) { 2327 $scope.isProcessing = false; 2328 $rootScope.logout = function () { 2329 $scope.isProcessing = true; 2330 $http.get("/api/player/Logout") 2331 .success(function (data) { 2332 if (data.result == 1) { 2333 if (bowser.msie && bowser.version <= 8) { 2334 alert(data.message); 2335 } else { 2336 SweetAlert.swal("ë¡ê·¸ìì ëììµëë¤", "", "success"); 2337 } 2338 /*DELAY RELOAD AFTER LOGGING OUT*/ 2339 $timeout(function () { 2340 loggedInStatus.setLoggedOutStatus(); 2341 $window.location.href = "/#/"; 2342 $window.location.reload(); 2343 }, 1000) 2344 } else { 2345 if (data.alert) { 2346 if (bowser.msie && bowser.version <= 8) { 2347 alert(data.message); 2348 } else { 2349 SweetAlert.swal("ë¡ê·¸ìì ëììµëë¤", "", "error"); 2350 } 2351 } 2352 } 2353 }).error(function (data, result) { 2354 console.error('Repos error', result, data); 2355 })["finally"](function () { 2356 $scope.isProcessing = false; 2357 }); 2358 } 2359}); 2360 2361app.controller('NoticeController', function ($rootScope, $scope, $cookies, $http, $window, SweetAlert, $translate, ngDialog, $sce) { 2362 $rootScope.writeQuestion = {}; 2363 2364 $scope.notToday = function () { 2365 var expireDate = new Date(); 2366 expireDate.setDate(expireDate.getDate() + 1); 2367 $cookies.put('notToday', 'true', {'expires': expireDate}); 2368 $scope.closeThisDialog(); 2369 }; 2370 2371 $scope.newEventNotToday = function () { 2372 var expireDate = new Date(); 2373 expireDate.setDate(expireDate.getDate() + 1); 2374 $cookies.put('newEventNotToday', 'true', {'expires': expireDate}); 2375 $scope.closeThisDialog(); 2376 }; 2377 2378 2379 $rootScope.processForm = function () { 2380 $rootScope.isProcessing = true; 2381 var url = "/api/operation/GetWriteBoard"; 2382 $http({ 2383 method: 'POST', 2384 url: url, 2385 data: $.param($rootScope.writeQuestion), // pass in data as strings 2386 headers: { 2387 'Content-Type': 'application/x-www-form-urlencoded' 2388 } // set the headers so angular passing info as form data (not request payload) 2389 }).success(function (data) { 2390 if (data.result == 1) { 2391 if (bowser.msie && bowser.version <= 8) { 2392 alert(data.message); 2393 } else { 2394 $translate([data.message]).then(function (translations) { 2395 SweetAlert.swal(translations[data.message], "", "success"); 2396 }); 2397 } 2398 } else { 2399 if (data.alert) { 2400 if (bowser.msie && bowser.version <= 8) { 2401 alert(data.message); 2402 } else { 2403 $translate([data.message, "PleaseTryAgain"]).then(function (translations) { 2404 SweetAlert.swal(translations.PleaseTryAgain, translations[data.message], "success"); 2405 }); 2406 } 2407 } 2408 } 2409 }).error(function (data, result) { 2410 console.error('Repos error', result, data); 2411 })["finally"](function () { 2412 $rootScope.isProcessing = false;
2413 }); 2414 } 2415}); 2416 2417 2418app.controller('PromotionController', function ($rootScope, $scope, ngDialog) { 2419 $scope.promotions = [ 2420 { 2421 'promotionID': '1', 2422 'promotionTitle': 'ì ê·íì ì ì ì´ë²¤í¸', 2423 'promotionDesc': 'ê°ì í 첫 ì ê¸ì¼ë¶í° 30ì¼ê° 매ì¼ë§¤ì¼ íë² ë 기íê° ì£¼ì´ì§ë¤! \n' + 2424 'ð¯ êµ¬ê° ë£¨ì§ ê¸ì¡ì ë°ë¼ ë¤ìë ì¿ í° ì§ê¸! (ì¤ë§ì¿± ë³ëì§ê¸!!) \n' + 2425 'ë£¨ì§ 50,000ì ì´ì 20,000ì ì¿ í° \n' + 2426 'ë£¨ì§ 100,000ì ì´ì 30,000ì ì¿ í° \n' + 2427 'ë£¨ì§ 200,000ì ì´ì 50,000ì ì¿ í° \n' + 2428 'ë£¨ì§ 500,000ì ì´ì 100,000ì ì¿ í° \n' + 2429 'â»ì£¼ìâ» \n' + 2430 'âê°ì í 첫 ì ê¸ì¼ë¡ë¶í° 30ì¼ì ëë¤. \n' + 2431 'âì ê¸ë³´ë¤ ì¶ê¸ì´ ë ë§ìê²½ì° ì§ê¸ ë¶ê°ì ëë¤. \n' + 2432 'âì´í© 루ì§ì´ ìë ê°ì¥ ë§ì 1í ì ê¸ì¡ 기ì¤ì¼ë¡ ì§ê¸ë©ëë¤. ex)ì¼ ì ê¸ ì´ 30ë§ ì¤ 20ë§ ì¤ë§ì 5ë§ ì¿ í°ì§ê¸ \n' + 2433 'âí´ë¹ ì¿ í°ì ì§ê¸ ë°ì ê²½ì° ë¡¤ë§ 3ë°° ìµë 3ë°°ê¹ì§ ì¶ê¸ì´ ê°ë¥í©ëë¤. \n' + 2434 'âì¿ í° ì ì©ìë¡ íë¨ë ê²½ì° ì§ê¸ ë¶ê°ì ëë¤. \n' + 2435 'âì´ë²¤í¸ ë´ì© ë° ì§ê¸ì¡°ê±´ì ë³ê²½ë ì ììµëë¤. \n' + 2436 '기í ê¶ê¸í ì¬í ë° ë¶í¸í ì¬íì ê³ ê°ì¼í°ë¡ 문ì 주ì기 ë°ëëë¤ \n' + 2437 'í ë ê·¸ë¨: sola114 \n' + 2438 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ì ì¤íëì¤ ì´ìì§ì´ ëê² ìµëë¤. \n', 2439 'promoImage': 'promo-banner-1' 2440 }, 2441 { 2442 'promotionID': '2', 2443 'promotionTitle': 'ìì¹´ì§ë ¸ êµêµ°ì¥ë³ í¹ë³ ì´ë²¤í¸!', 2444 'promotionDesc': 'ëíë¯¼êµ êµêµ°ì¥ë³ íìëë¤ì ìí \n' + 2445 'ìì¹´ì§ë ¸ í¹ë³ íë¡ëª¨ì ì´ë²¤í¸! \n' + 2446 '\n' + 2447 '1. êµêµ°ì¥ë³ ì¶ì² ì´ë²¤í¸ \n' + 2448 '기존 ì§ì¸ ì¶ì²ì´ë²¤í¸ì ì¶ì²í ì ì° ì ê¸ ì ìì ì¶ì²ì¸ ëìë¶ê» \n' + 2449 'ìµë 10ë§ì ì¿ í° ì§ê¸! \n' + 2450 '\n' + 2451 '2. í´ê°ì ë¡ê° ì´ë²¤í¸ \n' + 2452 'í´ê°ì¦ ì¸ì¦ + ì ì방문 ì¸ì¦ ìë£ ì \n' + 2453 'ì¸ì¦ë íìë¶ë¤ ëìì¼ë¡ ì ìë¹ì© ì§ì ì´ë²¤í¸ ì§í! \n' + 2454 'â» ìµë 20ë§ìê¹ì§ ì§ì ê°ë¥ \n' + 2455 'â» ì ì ì ê¹ì§ 1íë§ ì°¸ì¬ ê°ë¥í©ëë¤. \n' + 2456 '\n' + 2457 '3. ì ìì ì´ë²¤í¸ \n' + 2458 'ìì¹´ì§ë ¸ë¥¼ 꾸ì¤íê² ì´ì©í´ì£¼ì ì¥ë³ì¬ë¬ë¶ê» ìì ì ì ìì¶íê¸ì ì§ìí´ë립ëë¤ \n' + 2459 '\n' + 2460 'âªï¸ 100ë§ì ì´ì ì ê¸ â 5ë§ì ì¿ í° \n' + 2461 'âªï¸ 300ë§ì ì´ì ì ê¸ â 10ë§ì ì¿ í° \n' + 2462 'âªï¸ 500ë§ì ì´ì ì ê¸ â 15ë§ì ì¿ í° \n' + 2463 'âªï¸ 1,000ë§ì ì´ì ì ê¸ â 30ë§ì ì¿ í° \n' + 2464 'âªï¸ 5,000ë§ì ì´ì â 1:1 ê³ ê°ì¼í° 문ì \n' + 2465 '\n' + 2466 'â»ì ìì¼ ê¸°ì¤ 1ì£¼ì¼ ì´ë´ ì ì² ê°ë¥ \n' + 2467 '\n' + 2468 'â ï¸ ì°¸ì¬ ì í ìë´ \n' + 2469 '기존 ì ìì / ìë¹êµ° / ì¬í복무ìì / ìê·¼ìë¹ì / ì°ì 기ë¥ìì íìëë¤ì \n' + 2470 'ì´ë²¤í¸ ì°¸ì¬ê° ë¶ê°ë¥í©ëë¤. \n' + 2471 '\n' + 2472 'â ï¸ì£¼ìì¬í \n' + 2473 'ì´ë²¤í¸ ì ì© ì í´ë¹ ì´ë²¤í¸ë ì°¸ì¬ê° ë¶ê°í©ëë¤ \n' + 2474 '\n' + 2475 'ìì¸í ì¬íì ê³ ê°ì¼í°ë¡ 문ì ë¶íë립ëë¤. \n' + 2476 'ê°ì¬í©ëë¤. \n', 2477 'promoImage': 'promo-banner-2' 2478 }, 2479 { 2480 'promotionID': '3', 2481 'promotionTitle': '[ììì¼] ì£¼ê° ë£¨ì§ ì´ë²¤í¸', 2482 'promotionDesc': 'â¶ï¸ì ì²ëì : ì íì ëì \n' + 2483 'â¶ï¸ì ì²ë°©ë² : ìë ì§ê¸ \n' + 2484 'ììì¼ ìì ì¼ìì¼ ì¢ ë£ ê¸°ì¤ì¼ë¡ ì´í© íì¬ ê·¸ ë¤ì 주 ììì¼ë ì§ê¸ ë©ëë¤. \n' + 2485 '루ì§ì¡ì 5% ìµë 100ë§ì ê¹ì§ ì§ê¸ ê°ë¥í©ëë¤. \n' + 2486 '2025ë 7ì 28ì¼ ì§ê¸ë¶ë¶í° ðªí ë ì±ëì°¸ì¬ https://t.me/soleventchannel í ì±ëì¹êµ¬ @solcaChannel ì¶ê°ì ìµë 200ë§ ê°ë¥ ð \n' + 2487 '#ì¿ í° ì§ê¸ê·ì # \n' +
2488 '-50ë§ì ì´ì = 5% (1ë§ì ë¨ì ì§ê¸) \n' + 2489 '-25ë§ì ì´ê³¼ ~ 50ë§ì ë¯¸ë§ = 10,000ì \n' + 2490 '-15ë§ì ì´ê³¼ ~ 25ë§ì ë¯¸ë§ = 5,000ì \n' + 2491 'â»ì£¼ìâ» \n' + 2492 'âí´ë¹ ì´ë²¤í¸ë í ì£¼ê° 3ì¼ ì´ì ì ê¸ ìë íìë¤ë§ ì°¸ì¬ ê°ë¥í©ëë¤. \n' + 2493 'âí 주ê°ì ì ê¸ - ì¶ê¸ì ì°¨ì¡ì ì ì°íì¬ ì§ê¸ëìëë¤. \n' + 2494 'âíì£¼ê° ì ê¸-ì¶ê¸ ì°¨ì¡ì 10%ì´ì ë³´ì ì¤ì´ì¤ê²½ì° ì¤ë§ì¼ë¡ ê°ì£¼ëì§ ìì ì§ê¸ì´ ë¶ê°íì ì ìë¶íë립ëë¤. \n' + 2495 'âí´ë¹ ì¿ í°ì ì§ê¸ ë°ì ê²½ì° ë¡¤ë§ 3ë°° ìµë 5ë°°ê¹ì§ ì¶ê¸ì´ ê°ë¥í©ëë¤. \n' + 2496 'âì´ë²¤í¸ ê·ì ì ìí©ì ë°ë¼ ë³ê²½ë ì ììµëë¤. \n' + 2497 '기í ê¶ê¸í ì¬í ë° ë¶í¸í ì¬íì ê³ ê°ì¼í°ë¡ 문ì 주ì기 ë°ëëë¤ \n' + 2498 '모ë ê²ìì¬ ë£°ë ì ì´ì©ê¸ì§ ê²ìì ëë¤ \n' + 2499 'í ë ê·¸ë¨: sola114 \n' + 2500 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ì ì¤íëì¤ ì´ìì§ì´ ëê² ìµëë¤. \n', 2501 'promoImage': 'promo-banner-3' 2502 }, 2503 { 2504 'promotionID': '4', 2505 'promotionTitle': '[íìì¼] ì°ìì ê¸ ì´ë²¤í¸ ìë´!', 2506 'promotionDesc': '<div class="promo-desc-img"><img src="/common/images/promotion/consecutive_DepositEvent.png" alt=""></div>\n' + 2507 'â¶ï¸ì ì²ëì : ì íì ëì \n' + 2508 'â¶ï¸ì ì²ë°©ë² : íìì¼ë¶í° ì ì²ê°ë¥(ê³ ê°ì¼í°ì ì§ì 문ì) \n' + 2509 '매주 ììì¼ë¶í° ì¼ìì¼ ê¸°ì¤ \n' + 2510 'ì°ì ì ê¸ì¡ 기ì¤ì ë°ë¼ 1ë§-100ë§ ì¿ í° ì§ê¸ ë°ì¼ì¤ì ììµëë¤. \n' + 2511 'â»ì£¼ìâ» \n' + 2512 'âì§ë주 ììì¼ë¶í° ì¼ìì¼ê¹ì§ ì°ì ì ê¸ì¡ 기ì¤ì ëë¤. \n' + 2513 'âê°ì¥ ëì êµ¬ê° ê¸°ì¤ì¼ë¡ 1í ì§ê¸ì ëë¤. \n' + 2514 'âì°ìì¼ë¡ ì ê¸ íì ë° ê¹ì§ì íìë¡ ì§ê¸ëìëë¤ ex) 20ë§ êµ¬ê° 5íì°¨ 3ë§ ì§ê¸ \n' + 2515 'âì§ë주 ì ê¸ì¡ ëë¹ ë¡¤ë§ 200% ì´íë ì§ê¸ ë¶ê° \n' + 2516 'âí´ë¹ ì¿ í°ì 매주 íìì¼ ì¡°ê±´ íì¸ í ìë²½ ì¼ê´ì§ê¸ ë©ëë¤ \n' + 2517 'âí´ë¹ ì¿ í°ì ì§ê¸ ë°ì ê²½ì° ë¡¤ë§ 3ë°° ìµë 3ë°°ê¹ì§ ì¶ê¸ì´ ê°ë¥í©ëë¤. \n' + 2518 'âì¿ í° ì ì©ìë¡ íë¨ë ê²½ì° ì§ê¸ ë¶ê°ì ëë¤. \n' + 2519 'âì´ë²¤í¸ ë´ì© ë° ê·ì ì ë³ê²½ë ì ììµëë¤. \n' + 2520 '기í ê¶ê¸í ì¬í ë° ë¶í¸í ì¬íì ê³ ê°ì¼í°ë¡ 문ì 주ì기 ë°ëëë¤ \n' + 2521 'í ë ê·¸ë¨: sola114 \n' + 2522 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ì ì¤íëì¤ ì´ìì§ì´ ëê² ìµëë¤. \n', 2523 'promoImage': 'promo-banner-4' 2524 }, 2525 { 2526 'promotionID': '5', 2527 'promotionTitle': '[ììì¼] ì¶ì ì´ë²¤í¸', 2528 'promotionDesc': 'â¶ëìì - í ë ì±ë 구ë ì t.me/soleventchannel \n' + 2529 'â¶ì°¸ì¬ì¡°ê±´ \n' + 2530 '매주 ììì¼ë¶í° ì¼ìì¼ ê¸°ì¤ì¼ë¡ 3ì¼, 5ì¼, 7ì¼ ì¶ì í´ì£¼ìë íìë ëì \n' + 2531 'ì¶ì ì¼ìì ë°ë¼ 3ì¼, 5ì¼, 7ì¼ = 1ë§, 2ë§, 3ë§ ì¿ í°ì¼ë¡ 7ì¼ ì¶ìì ìµë 3ë§ì ì¿ í°ì ë°ì¼ì¤ ì ììµëë¤ \n' + 2532 '주ìì¬í \n' + 2533 '1) ììì¼ë¶í° ì¼ìì¼ê¹ì§ í루ì 10ë§ì ì´ì ì ê¸ íì íìë¶ë¤ ëì \n' + 2534 '2) ì¶ìì ììì¼ë¶í° ì¼ìì¼ ê¸°ì¤ì´ë©° 3ì¼ì´ì ì ê¸ ì´ì©íìë íìë¶ë¤ ëìì¼ë¡ ì¿ í°ì ê·¸ ë¤ì 주 ììì¼ë ì¼ê´ì ì¼ë¡ ì±ë ì°¸ì¬ìë¶ë¤ì íí´ ì§ê¸ ë©ëë¤. \n' + 2535 '3) ì ê· íìë¶ë¤ì ê°ì 첫 ë 첫 ì¶©ì ì´ë²¤í¸ ì´ì©ì ì¶ìì í¬í¨ëì§ ììµëë¤.(ì ê· ì²« ì´ë²¤í¸ ìì´ ì ê¸í´ì¼ ì¸ì ) \n' + 2536 '4) ì ì©ìë¡ íë¨ì ì°¸ì¬ë¶ê° í©ëë¤. \n' + 2537 'ìì¹´ì§ë ¸ ì´ë²¤í¸ ì±ë - t.me/soleventchannel \n' + 2538 'ê¶ê¸íì ì´ ìì¼ë©´ ì¸ì ë ì§ ê³ ê°ì¼í°ë¡ 문ìë¶íë립ëë¤ \n' + 2539 'í ë ê·¸ë¨: sola114 \n' + 2540 'í ë ê·¸ë¨ ì¹êµ¬ì¶ê° ë§í¬ : https://t.me/sola114 \n' + 2541 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ì ì¤íëì¤ ì´ìì§ì´ ëê² ìµëë¤. \n', 2542 'promoImage': 'promo-banner-5' 2543 }, 2544 { 2545 'promotionID': '6', 2546 'promotionTitle': '[목ìì¼] í ë ê·¸ë¨ ì±ë í리ì¤í ì´ë²¤í¸', 2547 'promotionDesc': 'â¶ëìì - í ë ì±ë 구ë ì t.me/soleventchannel \n' + 2548 'â¶ì°¸ì¬ì¡°ê±´ \n' + 2549 'ë¹ì¼ 10ë§ì ì´ì ì ê¸ ë° ë¡¤ë§ 200% ìë£ í ìëì 커뮤ëí°ì í기 ìì± ì¸ì¦ì (ê¸ë´ì© 3ì¤ì´ì & ë¹ì¼ë°°í ë´ìì¬ì§ 첨ë¶) \n' + 2550 'ë¹ ë¥¸í°ë¹ - quick-tv.com \n' + 2551 'ì¸ëë - underdogcasino1.com \n' + 2552 'ì¹´ì¸ì¬ - ì¹´ì¸ì¬.com \n' + 2553 'â¶ ì¶ê¸ ì¡°ê±´ - ë¡¤ë§ 3ë°° ìµë 3ë°°ê¹ì§ ì¶ê¸ ê°ë¥! (ì´ê³¼ ëë ê¸ì¡ì ìë íì ì²ë¦¬ ë©ëë¤) \n' + 2554 'â¶ ì§ê¸ì¿ í° - í리ì¤í 2ë§ì ì¿ í° \n' + 2555 'â¶ ì¿ í°ì¬ì©ë² - ì주 묻ë ì§ë¬¸ í´ë¦ í "ìì¹´ì§ë ¸ ì¿ í° ê·ì ìë´" 를 í´ë¦íì ì ì°¸ê³ í´ì£¼ì기 ë°ëëë¤. \n' + 2556 'ⶠ주ì ì¬í - ì§ì ê²ìì¬ ì§ì ê²ìë§ ì´ì©í´ì£¼ì ì¼ í©ëë¤ - í ë ê³µì§ ì°¸ì¡° \n' + 2557 'í리ì¤í ì´ë²¤í¸ ê²ìì´ ìë ë¤ë¥¸ ê²ìì ì´ì©íì¤ ê²½ì° ë¹ì²¨ê¸ì ì ì¡ íìì²ë¦¬ ë©ëë¤. \n' + 2558 'ìì¹´ì§ë ¸ ì´ë²¤í¸ ì±ë - t.me/soleventchannel \n' + 2559 'ê¶ê¸íì ì´ ìì¼ë©´ ì¸ì ë ì§ ê³ ê°ì¼í°ë¡ 문ìë¶íë립ëë¤ \n' + 2560 'í ë ê·¸ë¨: sola114 \n' + 2561 'í ë ê·¸ë¨ ì¹êµ¬ì¶ê° ë§í¬ : https://t.me/sola114 \n' + 2562 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ì ì¤íëì¤ ì´ìì§ì´ ëê² ìµëë¤. \n', 2563 'promoImage': 'promo-banner-6' 2564 }, 2565 { 2566 'promotionID': '7', 2567 'promotionTitle': '[ê¸ìì¼] 롤ë§ì í ëë¨¼í¸ ì´ë²¤í¸', 2568 'promotionDesc': 'â¶ï¸ì ì²ëì : í ë ì±ë íì ëì t.me/soleventchannel \n' + 2569 'â¶ï¸ì ì²ë°©ë² : ì íì ìëì ì² \n' + 2570 'íìëë¤ì ìí ë´ê° 롤ë§ì í ëë¨¼í¸ ì´ë²¤í¸ë¥¼ ì§ííê² ëììµëë¤ \n' + 2571 '모ë íì ì°¸ì¬ê° ê°ë¥íìë ë§ì ì°¸ì¬ ë¶íë립ëë¤ !! \n' + 2572 'ì´ ìê¸ 5ìµ ! ì£¼ê° ìµë ìê¸ ì²ë§ì ! \n' + 2573 'â¶ï¸ì´ìë´ì© \n' + 2574 'ìì¹´ì§ë ¸ë¥¼ ì´ì©íë 모ë íìë¤ ëìì¼ë¡ ë°ì¹´ë¼ì ì¬ë¡¯ ê°ê° 롤ë§ì ê°ì¥ ë§ì´ í íì ìì¼ë¡ \n' + 2575 'ìê¸ì ì§ê¸í©ëë¤ í ë먼í¸ë ë°ì¹´ë¼ ë° ì¬ë¡¯ì¼ë¡ ì§í ëë©° ë°ì¹´ë¼ì ê²½ì° ë¼ì´í¸ë, íí ë°©ì½ë±ì ë² í ê³¼ íì´ë² í ì 롤ë§ì í¬í¨ëì§ ììµëë¤. \n' + 2576 '롤ë§ì ë² í /ì ê¸ì¡ ë¹ë¡ í¼ì¼í¸ ë¹ì¨ë¡ ììê° ë§¤ê²¨ì§ëì ê¼ ì°¸ê³ ë¶íë립ëë¤. \n' + 2577 'â¶ï¸ê¸ì¡ë³ ìê¸ìë´ \n' + 2578 'â1ë± 500ë§ì \n' + 2579 'â2ë± 300ë§ì \n' + 2580 'â3ë± 100ë§ì \n' + 2581 'â4ë± 60ë§ì \n' + 2582 'â5ë± 40ë§ì \n' + 2583 'ì¤ì ê¸ ê¸°ì¤ \n' + 2584 'â3ì²ë§ì~ 100% ì§ê¸ \n' + 2585 'â2ì²ë§ì~2,999ë§ì 80% ì§ê¸ \n' + 2586 'â1ì²ë§ì~1,999ë§ì 60% ì§ê¸ \n' + 2587 'â500ë§ì~999ë§ì 40% ì§ê¸ \n' + 2588 'â100ë§ì~499ë§ì 20% ì§ê¸ \n' + 2589 'â50ë§ì~99ë§ì 10% ì§ê¸ \n' + 2590 'ì) ìê¸ 100ë§ì ë¹ì²¨ ëì ê²½ì° ì¤ì ê¸ 3ì²ë§ìì´ë©´ 100ë§ì 모ë ìë ¹ ê°ë¥, ì¤ì ê¸ì´ 50ë§ìì¼ ê²½ì° \n' + 2591 'ìê¸ 100ë§ìì 10%ì¸ 10ë§ìë§ ì§ê¸ ë©ëë¤. \n' + 2592 '* í 주 ì ê¸ 50ë§ì ì´íë ì°¸ì¬ê° ëì§ ììµëë¤ \n' + 2593 '기í ê¶ê¸í ì¬í ë° ë¶í¸í ì¬íì ê³ ê°ì¼í°ë¡ 문ì 주ì기 ë°ëëë¤ \n' + 2594 'í ë ê·¸ë¨: sola114 \n' + 2595 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ì ì¤íëì¤ ì´ìì§ì´ ëê² ìµëë¤. \n', 2596 'promoImage': 'promo-banner-7' 2597 }, 2598 { 2599 'promotionID': '8', 2600 'promotionTitle': '[í ìì¼] ì ê¸ íë¬ì¤ ì´ë²¤í¸!!', 2601 'promotionDesc': 'íì ì í¬ ìì¹´ì§ë ¸ ë¯¿ê³ ì´ì©í´ 주ì ì ê°ì¬í©ëë¤. \n' + 2602 'ì í¬ ìì¹´ì§ë ¸ìì í ìì¼ ì´ë²¤í¸ë¥¼ ì§ííê² ëì´ ê³µì§ ë리며 ìì¸í ë´ì©ì ìë를 ì°¸ê³ ë¶í ë립ëë¤! \n' + 2603 'ì´ë²¤í¸ ê¸°ê° : 매주 í ìì¼ ~ ì°¨í ìë´ìê¹ì§ \n' + 2604 'ì´ë²¤í¸ ëìì : 모ë íìëë¤! \n' + 2605 '1. í ìì¼ ì í ì´ë²¤í¸! \n' + 2606 '매주 í ìì¼ ì²«ì ê¸ ì í ì´ë²¤í¸ ìì²ì 15%ì ì¶ê° í¬ì¸í¸ë¥¼ ë°ì ì´ì©íì¤ ì ììµëë¤! (ìì²ì´ ìì¼ìë©´ ì§ê¸ì´ ì´ë ¤ì°ìë ê¼ ë¬¸ì ë¶í ëë ¤ì!) \n' +
2607 '- ë¹ì¼ ì¶ê¸ì´ ìì¼ìë©´ ìì²ì´ ë¶ê°ë¥í©ëë¤. \n' + 2608 '- ì´ë²¤í¸ì ì°¸ì¬í´ì£¼ìë©´ ì§ê¸ë í¬ì¸í¸ í¬í¨íì¬ ë¡¤ë§ 3ë°°ê° íìí©ëë¤. \n' + 2609 '- ì í ì´ë²¤í¸ë§ ì°¸ì¬ í´ì£¼ì ì ì í ì ì©ìë¡ íì¸ë ê²½ì° ë¡¤ë§ 5ë°° í´ì£¼ì ì¼ í©ëë¤. \n' + 2610 '- ì§ê¸ëë í¬ì¸í¸ë ìµë 10ë§ì ì ëë¤. \n' + 2611 '- ìµì ì°¸ì¬ê¸ì¡ì ì ê¸ì¡ 5ë§ì ë¶í° ì ëë¤ \n' + 2612 '기í ê¶ê¸í ì¬íì ë¼ì´ë¸ ì±í ë° í ë ê·¸ë¨ ê³ ê°ì¼í°ë¡ 문ì ë¶í ë립ëë¤. \n' + 2613 'í ë ê·¸ë¨: sola114 (ë¤ì ì문ë±ì´ ìëê³³ì ì¬ì¹ì ëë¤) \n' + 2614 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ìì¹´ì§ë ¸ ì´ìì§ì´ ëê² ìµëë¤. \n', 2615 'promoImage': 'promo-banner-8' 2616 }, 2617 { 2618 'promotionID': '9', 2619 'promotionTitle': '[ì±ë ì´ë²¤í¸] ì¤ìê° ì¤ë§ì¿ í° ì´ë²¤í¸', 2620 'promotionDesc': 'â±ì¤ìê° ì¤ë§ì¿ í°/ì±ëì ì¥ https://t.me/soleventchannel í @solcaChannel ì±ëì¹êµ¬ ì¶ê°ì ì°¸ì¬ê°ë¥í©ëë¤! \n' + 2621 'â¨ë¹ì¼ ì´ì© ê¸ì¡ ì íìì´ ìì ì ê¸ì¡ì¼ë¡ë§ ë£¨ì§ í ìì²ì 5% ì¤ë§ì¿ í° ì´ 3ë²ê¹ì§ ì§ê¸ (모ë ì í ë° íë¡ëª¨ì í¨ê» ì¬ì©ì ì§ê¸ë¶ê°) \n' + 2622 'ð롤ë§3ë°° ìµë 5ë°° (ë¹ì¼ ì´í© ìµë 50ë§) \n' + 2623 'â주ìì¬í \n' + 2624 '1ï¸â£ ë¹ì¼ ì¶ê¸ì´ ìì¼ë©´ ì°¸ì¬ ë¶ê°ì ëë¤. \n' + 2625 '2ï¸â£ ì¤ë§ì¿± ë°ì í ì¶ê¸ì ë¹ì¼ ì´ë²¤í¸ ì¢ ë£ì ëë¤. \n' + 2626 '3ï¸â£ ì¤ë§ì¿± ë°ì í 미ì¶ê¸ì¼ê²½ì° ë¤ì ì ê¸ ì´ì©í ì¤ë§ì 2ì°¨ ì§ê¸ì´ ê°ë¥í©ëë¤. (ì´í© 루ì§ê¸°ì¤ì´ ìëëë¤. ì¤ë§ì¿± ì§ê¸ì 리ì ) \n' + 2627 '4ï¸â£ ëë°ì´ë²¤í¸ ì°¸ì¬ì í´ë¹ ì´ë²¤í¸ ì°¸ì¬ë ë¶ê°í©ëë¤ \n' + 2628 'âï¸ @solcaChannel í ë ë¡ ë¬¸ì주ì ì¼ ì§ê¸ ê°ë¥í©ëë¤. https://t.me/solcaChannel ð \n', 2629 'promoImage': 'promo-banner-9' 2630 }, 2631 { 2632 'promotionID': '10', 2633 'promotionTitle': '[ì±ë ì´ë²¤í¸] í ë ê·¸ë¨ ì±ë ì í ì´ë²¤í¸', 2634 'promotionDesc': 'â¶ëìì - í ë ì±ë 구ë ì t.me/soleventchannel \n' + 2635 'ì´ë²¤í¸ 1. ì í ì´ë²¤í¸ \n' + 2636 'â¶ì°¸ì¬ì¡°ê±´ \n' + 2637 '5+3 \n' + 2638 '10+5 \n' + 2639 '20+7 \n' + 2640 '50+12 \n' + 2641 '100+20 \n' + 2642 'ê° êµ¬ê°ë³ 1íì© ì¶ê¸ ëì¬ëê¹ì§ ì í ì°¸ì¬ ê°ë¥! \n' + 2643 'â¶ ì¶ê¸ ì¡°ê±´ - ì ê¸ì¡ + ì¿ í° ê¸ì¡ ë¡¤ë§ 5ë°°ì´í ì¶ê¸ ê°ë¥ \n' + 2644 'ì´ë²¤í¸ 2. ìí ì¤í 리 ê³µì ì´ë²¤í¸ \n' + 2645 'â¶ì°¸ì¬ì¡°ê±´ \n' + 2646 'ì´ë²¤í¸ ìê°ë´ì 500ë°° ì´ì ì¬ë¡¯ ìí ë¹ì²¨ë íì \n' + 2647 'ê³ ê°ì¼í°ì ë¹ì²¨ë´ì ìº¡ì³ í ì¿ í° ì ì² (ìµì ë² í 200ì ì´ì ê°ë¥ 1ì¼ 1íë§ ê°ë¥) \n' + 2648 '500ë°° ì´ì 2ë§ \n' + 2649 '3000ë°° ì´ì 3ë§ \n' + 2650 '5000ë°° ì´ì 5ë§ \n' + 2651 '10000ë°° ì´ì 10ë§ \n' + 2652 'â¶ ì¶ê¸ ì¡°ê±´ - ë¡¤ë§ 3ë°° ìµë 3ë°°ê¹ì§ ì¶ê¸ ê°ë¥! (ì´ê³¼ ëë ê¸ì¡ì ìë íì ì²ë¦¬ ë©ëë¤) \n' + 2653 '*ì í ë° ì¿ í°ì¼ë¡ ë¹ì²¨ì ì°¸ì¬ ë¶ê° \n' + 2654 'ìì¹´ì§ë ¸ ì´ë²¤í¸ ì±ë - t.me/soleventchannel \n' + 2655 'ê¶ê¸íì ì´ ìì¼ë©´ ì¸ì ë ì§ ê³ ê°ì¼í°ë¡ 문ìë¶íë립ëë¤ \n' + 2656 'í ë ê·¸ë¨: sola114 \n' + 2657 'í ë ê·¸ë¨ ì¹êµ¬ì¶ê° ë§í¬ : https://t.me/sola114 \n' + 2658 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ì ì¤íëì¤ ì´ìì§ì´ ëê² ìµëë¤. \n', 2659 'promoImage': 'promo-banner-10' 2660 }, 2661 { 2662 'promotionID': '11', 2663 'promotionTitle': '[ë§¤ì¼ ì´ë²¤í¸] ì¼ì¼ ì¤ë§ì¿ í° ì´ë²¤í¸', 2664 'promotionDesc': 'ìë íì¸ì ìì¹´ì§ë ¸ ì ëë¤. \n' + 2665 'ê¸ì¼ë¶í° ëì± ì ê·¸ë ì´ë ëë ì¼ì¼ ì¤ë§ì¿ í° ì´ë²¤í¸ ìë´ë립ëë¤. \n' + 2666 'ì´ë²¤í¸ ë´ì©ì ìëì ê°ìµëë¤. \n' + 2667 'â¶ï¸ìì¹´ì§ë ¸ ì¤ë§ ì¿ í° ì´ë²¤í¸âï¸ \n' + 2668 'â¶ï¸ì ì²ëì : ì¼ë° íì ëì \n' + 2669 'â¶ï¸ì ì²ë°©ë² : ì¼ë° íì ìëì ì² \n' + 2670 'ë§¤ì¼ ì¤ë§ ì¿ í°ì ë§¤ì¼ ìì ì íìëì ë¹ì¼ ì ê¸ - ì¶ê¸ì ì°¨ì¡ì ì ì°í´ì ìë²½ 2ì ì´ì ê¹ì§ ì§ê¸í´ ëë¦¬ê³ ìì¼ë©° ì¿ í° ê¸ì¡ì ë¤ìê³¼ ê°ìµëë¤ \n' +
2671 '-50ë§ì ì´ì = 5% 50ë§ì \n' + 2672 '-25ë§ì ì´ì ~ 50ë§ì ë¯¸ë§ = 10,000ì \n' + 2673 '-10ë§ì ì´ì ~ 25ë§ì ë¯¸ë§ = 5,000ì \n' + 2674 '-5ë§ì ì´ì ~ 10ë§ì ë¯¸ë§ = 2,000ì \n' + 2675 'â»ì£¼ìâ» \n' + 2676 'âë§¤ì¼ ì¤ë§ ì¿ í°ì ë¡¤ë§ 3ë°° ì´ì, ìµë 10ë°°ê¹ì§ ì¶ê¸ ê°ë¥í©ëë¤ \n' + 2677 'âì¤ë§ì¿ í° 30ë§ì´ìë¶í°ë 5ë§ì ë¨ìë¡ ì§ê¸ë©ëë¤. (ì: 33ë§ì ì§ê¸ì¼ê²½ì° 30ë§ì§ê¸) \n' + 2678 'âì ì° ë¹ì ì ê¸ - ì¶ê¸ ì°¨ì¡ì 10%ì´ì ë³´ì íê³ ìì ê²½ì° ì§ê¸ ë¶ê° \n' + 2679 'ì) ë¹ì¼ ì ê¸ 100ë§, ì¶ê¸ 40ë§ ë°ë¼ì, ì°¨ì¡ 60ë§ìì 10% 6ë§ì, ì ì° ë¹ì ë³´ì ê¸ì¡ 6ë§ì ì´ì ë³´ì ì, ì¤ë§ì¿ í° ëìììì ì ì¸ \n' + 2680 'â¶ï¸ ì¿ í°ì¬ì©ë² \n' + 2681 'ì주 묻ë ì§ë¬¸ë¬¸ í´ë¦ í "ìì¹´ì§ë ¸ ì¿ í° ê·ì ìë´" 를 í´ë¦íì ì ì°¸ê³ í´ì£¼ì기 ë°ëëë¤. \n' + 2682 '기í ê¶ê¸í ì¬í ë° ë¶í¸í ì¬íì ê³ ê°ì¼í°ë¡ 문ì 주ì기 ë°ëëë¤ \n' + 2683 'í ë ê·¸ë¨: sola114 \n' + 2684 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ì ì¤íëì¤ ì´ìì§ì´ ëê² ìµëë¤. \n', 2685 'promoImage': 'promo-banner-11' 2686 }, 2687 { 2688 'promotionID': '12', 2689 'promotionTitle': '[ë§¤ì¼ ì´ë²¤í¸] ì§ì¸ì¶ì² ì´ë²¤í¸', 2690 'promotionDesc': 'â¶ï¸ì§ì¸ ì¶ì²ì´ë²¤í¸ê° ë³ê²½ëì´ ê³µì§ ë립ëë¤. \n' + 2691 '\n' + 2692 'â¶ï¸ëìì : ì¶ì²ì¸ ì¶ì² ëìì \n' + 2693 'â¶ï¸ì°¸ì¬ ë°©ë² : ê³ ê°ì¼í°ë¡ 문ì í ì ì°¨ì ë°ë¼ ê°ì ë íìì ì¶ì²ì¸ \n' + 2694 '\n' + 2695 'ì§ì¸ ì¶ì² ì ê· ì¿ í° (ì¶ì²ì¸ ê°ì ì ëë¤ ì§ê¸) \n' + 2696 'ì 주차 ê°ì ìì ë£¨ì§ ê¸ì¡ì 20%를 ì¶ì²ì¸ìê² ì§ê¸ \n' + 2697 'ì 주차 ê°ì ìì ë£¨ì§ ê¸ì¡ì 10%를 ê°ì ììê² ì§ê¸ \n' + 2698 'ìµë 100ë§ìê¹ì§ ì§ê¸ \n' + 2699 '\n' + 2700 '<주ìì¬í> \n' + 2701 '1) ì ì± ì ì ì¶ì², ì¤ë³µ ê°ì ì ì ì¶ì², ê°ì ip ì ì ì ë° , ê°ì í¨í´ì ë² í ì í , íì¸ê²°ê³¼ ì¤ì§ì¸ì´ ìëê²½ì° ìë í´ë¹ íì ë¿ ìëë¼ ì¶ì²í 모ë íìì ëí´ìë ì§ê¸ ë¶ê°í©ëë¤. \n' + 2702 'ì´ë²¤í¸ë¥¼ ì ì©íì¬ ë¶ì´ìµì ë¹íë ë¶ë¶ì´ ìëë¡ ëª¨ë íìëë¤ì í´ë¹ ë¶ë¶ì ìì§ í ì§ì¸ ì¶ì² í´ì£¼ì길 ë°ëëë¤. \n' + 2703 '\n' + 2704 '2) ì§ì¸ë¶ë§ ì¶ì² í íìì ê³ì ì ì¤ì ê¸ ì¼ë¡ ì´ì©íì§ ìê³ ì§ì¸ë¶ ì¶ì²ì¼ë¡ ì¸í´ ë¤ì´ì¤ë ì¿ í°ë§ì¼ë¡ ì¬ì©í ììë ì¶ì²í ì§ì¸ì´ ì¤ì ê¸ í ì´ì©íì¬ ì¿ í° ì§ê¸ ëìì ì¼ì§ë¼ë íìë¶ê»ë ì¿ í° ì§ê¸ì´ ë¶ê°í©ëë¤. (ìµê·¼ ì¼ì£¼ì¼ ì´ì© 50ë§ì ì´ì íì,기존건 ë¶í¬í¨) \n' + 2705 '\n' + 2706 '3) ê°ì ì ì¶ì²ì¸ ëì ì¶ì²ì¸ ìì± í ê°ì íì ë¶ì íí´ìë§ ì§ì¸ì¼ë¡ ì¸ì ëë©° ë§ì½ ì§ì¸ë¶ê»ì ì¶ì²ì¸ì ì ì§ ìì¼ì ìíë¡ ê°ì íì¤ê²½ì° ì§ì¸ì¼ë¡ ì¸ì ëì§ ììµëë¤. \n' + 2707 '\n' + 2708 '<ì ì² ìì> \n' + 2709 '1:1 ë¼ì´ë¸ ì±í ë° í ë ê·¸ë¨ ê³ ê°ì¼í°ë¡ ì§ì¸ë¶ ì±í¨, í¸ëí° ë²í¸ ì´ ë ê°ì§ë¥¼ ìì± íì¬ ë§ì주ìë©´ ì í¬ ê³ ê°ì¼í°ìì íì¸ í ëìì ì´ì¤ ê²½ì° ì§ê¸ ë립ëë¤. \n' + 2710 '\n' + 2711 'â¶ï¸ ì¶ê¸ ì¡°ê±´ \n' + 2712 'ì¿ í°ë§ë¤ ìì´íë©° ì¿ í°ëª íì¸ í ì´ì© ë¶í ë립ëë¤. \n' + 2713 '\n' + 2714 'â¶ï¸ 주ì ì¬í \n' + 2715 'ì¶ì²íì ë¶ì´ 문ì ê° ìì ê²½ì° í´ë¹ ì¶ì²ì¸ ìê²ë í¼í´ê° ê° ì ìì¼ë ì ì¤íê² ì¶ì² ë¶íë립ëë¤. \n' + 2716 '\n' + 2717 'â» ë°ëì ì ì²ì í´ì£¼ì ì¼ íì¸ í ì¿ í°ì§ê¸ì í´ë립ëë¤. \n' + 2718 '\n' + 2719 '⻠매주 í ìì¼ì ë¼ì´ë¸ì± ëë í ë ê·¸ë¨ ê³ ê°ì¼í°ë¡ 문ì 주ìë©´ íì¸ í ì§ê¸í´ë립ëë¤. \n' + 2720 '\n' + 2721 'â» [ì§ì¸ì¶ì²]ë¨ë 롤ë§3ë°°/ìµë3ë°° ê¹ì§ ì ëë¤. \n' + 2722 '\n' + 2723 'â» 8ì 20ì¼ë¶í° ììíì¬ ì´ë ë¶í° ì¶ì²í íìë¤ìê²ë§ í´ë¹ë©ëë¤. ì´ì ê°ì ì í´ë¹ëì§ ììµëë¤. \n' + 2724 '\n' + 2725 '⻠기존ì ì ìì ì¼ë¡ ì´ì©íê³ ìì¼ë ì´ë²¤í¸ ì°¸ì¬ë¥¼ ìí´ íí´ ë° ê°ì ì ì´ë²¤í¸ìì ë°°ì ëì¤ë ì´ì ì ìíì기 ë°ëëë¤. \n' + 2726 '\n' + 2727 'í ë ê·¸ë¨: sola114 \n' + 2728 'í ë ê·¸ë¨ ì¹êµ¬ì¶ê° ë§í¬ : ê³ ê°ì¼í° ìë ì´(ì) \n' + 2729 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ì ì¤íëì¤ ì´ìì§ì´ ëê² ìµëë¤. \n', 2730 'promoImage': 'promo-banner-12' 2731 }, 2732 { 2733 'promotionID': '13', 2734 'promotionTitle': '[ë§¤ì¼ ì´ë²¤í¸] 콤í ì´ë²¤í¸', 2735 'promotionDesc': '(ì¹´ì§ë ¸ ì´ì©ì) 콤í 0.2% ~ 0.4% ì§ê¸ \n' + 2736 'ì íìë¶ë¤ìê² 0.2% 콤í를 ì§ê¸ í©ëë¤. \n' + 2737 'ì¬ì¬ë¥¼ ê±°ì³ ìµë 0.4%ê¹ì§ ìí¥ ë©ëë¤. \n' + 2738 '(ì¬ë¡¯ ì´ì©ì) 콤í 1% ì§ê¸ \n' + 2739 'ì¬ë¡¯ ë°°í ì 1% ì¼ì¼ ìµë 100ë§ìê¹ì§ 콤í를 ì§ê¸í©ëë¤. \n' + 2740 'â»ì½¤í ëì 목ë¡â» \n' + 2741 '모ë ì¬ë¡¯ë¥ ê²ì ë° ë°ì¹´ë¼, ë¸ëìë± ì¼ë° ì¹´ì§ë ¸ ê²ì \n' + 2742 'ë¼ì´í¸ëë¥ ê²ì ë° ë¼ì´ë¸ì¼ ê²ì, 1ì¸ì¹ ê²ì ìë³´ë±ì ê²½ì° ì½¤í ì§ê¸ì´ ëì§ ììµëë¤. \n' + 2743 'â»ì£¼ìâ» \n' +
2744 '- í´ë¹ ì´ë²¤í¸ë ë¸ë, ì ê·, ì´ì©ê¸°ê° ë° ì ê¸ì¡ ë± ì¬ì¬ê° ìë£ë íìë¤ìê²ë§ ì§ê¸ ê°ë¥í©ëë¤. \n' + 2745 '- ì¬ë¡¯ í리ì¤í 구매ì í´ë¹ ê¸ì¡ì ëí 콤íë ì ì©ëì§ ììµëë¤. \n' + 2746 '- í´ë¹ 콤íë ë¹ì¼ ì ê¸ì´ ìì´ì¼ì§ë§ ìµì¼ ìë²½ì ì¿ í°ì¼ë¡ ì§ê¸ ë©ëë¤. \n' + 2747 '- ë¹ì¼ ì ê¸ì´ ìë ê²½ì° ì»´íë ìµì¼ ì§ê¸ì´ ë¶ê°í©ëë¤. \n' + 2748 '- í´ë¹ ì¿ í°ì ë°ë¡ ì¶ê¸ ê°ë¥ í©ëë¤ ìµì ë¡¤ë§ ììµëë¤. \n' + 2749 '- í´ë¹ ì¿ í°ì ë¹ì¼ ì ê¸ë´ìì´ ìì¼ì ì¼ì§ë§ ì§ê¸ë©ëë¤. \n' + 2750 '- í´ë¹ ì¿ í°ì ìµë 10ë°°ê¹ì§ë§ ì¶ê¸ì´ ê°ë¥í©ëë¤. \n' + 2751 '- í´ë¹ ì¿ í°ì ë¹ì¼ ë°°í ë´ìì ë°ë¼ ë¤ìë 06ìì ê¹ì§ ì¼ê´ ì§ê¸ëìëë¤. \n' + 2752 'â ì´ë ì ê¸ì¡ì´ë ê°ì´ ì¬ì©íë©° ì ê¸ì¡ì´ ë í´ ê²½ì° ìµë ì¶ê¸ ì í ììµëë¤. \n' + 2753 '- í´ë¹ ì´ë²¤í¸ ìì¨ ê³ì°ì íì´ ë° ì¿ í°ì¬ì© ê¸ì¡ì ì ì¸ ëì´ ì§ê¸ ë©ëë¤. \n' + 2754 '- ë¡¤ë§ íìì 콤í ì§ê¸ ë¶ê°í©ëë¤. \n', 2755 'promoImage': 'promo-banner-13' 2756 }, 2757 { 2758 'promotionID': '14', 2759 'promotionTitle': '[ë§¤ì¼ ì´ë²¤í¸] ì¬ë¡¯ ë³´ëì¤ ì´ë²¤í¸', 2760 'promotionDesc': 'íìëë¤ì ë§ì ì±ìì íì ì´ ì¬ë¡¯ì ì´ì©íìë íìëë¤ì ìí ì´ë²¤í¸ë¥¼ ì§ííê² ëììµëë¤! \n' + 2761 'ëìì : 모ë ì¬ë¡¯ì´ì© íì \n' + 2762 'ì´ë²¤í¸ ë´ì© : ì ê¸ ì ì²ì ì¬ë¡¯ ë³´ëì¤ ì´ë²¤í¸ë¥¼ ì í í´ì£¼ìë©´ 첫,매충 ë³´ëì¤ í¬ì¸í¸ ë° ë¤ìí ì´ë²¤í¸ì ì°¸ì¬ ê°ë¥í©ëë¤! \n' + 2763 '첫충ì 15% ì¶ê° í¬ì¸í¸ (ìµë 50ë§) \n' + 2764 '매충ì 10% ì¶ê° í¬ì¸í¸ (ìµë 50ë§) \n' + 2765 'ì¤ë§ì¿ í° ì§ê¸ \n' + 2766 'ì»´íì¿ í° ì§ê¸ \n' + 2767 '주ê°ë£¨ì§ ì¿ í° ì§ê¸ \n' + 2768 '*주ì ì¬í (ì¶ê° í¬ì¸í¸ ì§ê¸ì) \n' + 2769 '- ë¡¤ë§ 300% ì´í ì¶ê¸ ê°ë¥í©ëë¤. \n' + 2770 '- ë¹ì¼ì¶ê¸ ìë£ì ì¶ê°í¬ì¸í¸ ì§ê¸ì´ ëì§ ìì¼ë©° íì 롤ë§ëí ììµëë¤. \n' + 2771 '- 머ì ì¬ë¡¯ ì´ì¸ì 모ë ê²ìì´ ê¸ì§ë©ëë¤. \n' + 2772 '**ì¬ë¡¯ ì ì©ì¼ë¡ ì¸íì¬ ì ì©ìë¡ ë¶ë¥ë ê²½ì° ìëì ê°ì´ ì ì ëìì¼ë¡ ì§ì ë ì ìì¼ë ì°¸ê³ ë¶í ë립ëë¤. \n' + 2773 '1. ë¡¤ë§ 500% \n' + 2774 '2. ì ê¸ì¡ë³ ìµì ë² í ì¤ì \n' + 2775 '- ì ì©ìì ê²½ì° ì ì ì¼ë¡ ì¬ì´í¸ì¸¡ìì íìëë¤ì ì ê¸ì¡ ë° ë² í í¨í´ íì¸ í ì ì ë©ëë¤. ìì¬ì ì¼ë¡ ê²ì ì¦ê¸°ìë íìëë¤ì ê²½ì° ê±±ì íì§ ìì 주ì ë ë©ëë¤. \n' + 2776 'ì ê¸ì¡ ~10ë§ ìµì ë² í ìì \n' + 2777 'ì ê¸ì¡ ~50ë§ 2ì² ì´ì ë² í \n' + 2778 'ì ê¸ì¡ ~200ë§ 1ë§ ì´ì ë² í \n' + 2779 'ì ê¸ì¡ ~500ë§ 3ë§ ì´ì ë² í \n' + 2780 '기í ê¶ê¸í ì¬íì ë¼ì´ë¸ ì±í ë° í ë ê·¸ë¨ ê³ ê°ì¼í°ë¡ 문ì ë¶í ë립ëë¤. \n' + 2781 'í ë ê·¸ë¨: sola114 \n' + 2782 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ìì¹´ì§ë ¸ ì´ìì§ì´ ëê² ìµëë¤. \n', 2783 'promoImage': 'promo-banner-14' 2784 }, 2785 { 2786 'promotionID': '15', 2787 'promotionTitle': '[ë§¤ì¼ ì´ë²¤í¸] ë°ë¡ ì¶ê¸ ê°ë¥í í기 ì¿ í!!!', 2788 'promotionDesc': 'ë°ë¡ ì¶ê¸ ê°ë¥í í기 ì¿ í° ìë´ ë립ëë¤!! ìë íì¸ì ìì¹´ì§ë ¸ íì ì¬ë¬ë¶, ë³ê²½ë í기 ì´ë²¤í¸ ìë´ ë립ëë¤!! \n' + 2789 'â¶ï¸ì ì²ëì : ì íì ëì (ë¹ì¼ 10ë§ìì´ì ì ê¸ & ë¡¤ë§ 200%) \n' + 2790 'â¶ï¸ì ì²ë°©ë² : í기 ìì± í íê¸°ê¸ ìº¡ì³ ê·¸ë¦¬ê³ í´ë¹ ë§í¬ ë³µì¬íì¬ ì í¬ í ë ê·¸ë¨ ê³ ê°ì¼í°(@sola114)ë¡ ë³´ë´ì£¼ìë©´ ë©ëë¤. \n' + 2791 'â¶ï¸ì°¸ì¬ë°©ë² : í기를 ê°ì¢ 커뮤ëí°ì ìì± (ê¸ë´ì©ì 3ì¤ì´ì&ë¹ì¼ë°°í ë´ìì¬ì§) \n' + 2792 '모ë 커뮤ëí° ê°ë¥(ì커뮤ëí°ì ì¸) íê¸°ë§ ìì±íìë©´ ë§¤ì¼ ë§¤ì¼ ìµë 1ë§ì(ê°ê° 5ì²ì ë°ë¡ ì¶ê¸ ê°ë¥) ì§ê¸ ë¨,ì커뮤ëí° ì»¤í¼ì´ë²¤í¸ì ì¤ë³µ 1ê±´/1ê±´ ì°¸ì¬ê°ë¥ 1ê±´/2ê±´ ì°¸ì¬ë¶ê°ë¥ 모ë í기 ê´ë ¨ ì´ë²¤í¸ë ìµë 2ê±´ê¹ì§ ì°¸ì¬ê°ë¥í©ëë¤. \n' + 2793 'â주ìâ \n' + 2794 'âï¸í기커뮤1 ë³µì¬->í기커뮤2 ë¶ì¬ë£ê¸° ë¡ ì°¸ì¬ì ì¿ í°ì§ê¸ë¶ê°í©ëë¤. \n' + 2795 'âï¸í루 ì´ 2ê±´ë§ ì°¸ì¬ ê°ë¥í©ëë¤. \n' + 2796 'âï¸í´ë¹ ì¿ í°ì ë°ë¡ ì¶ê¸ ê°ë¥í ì¿ í°ì ëë¤. \n' + 2797 'ë ê¶ê¸íì ì¬í ë° ë¶í¸íì ì¬íì ê³ ê°ì¼í°ë¡ 문ì 주ì기 ë°ëëë¤ \n' + 2798 'í ë ê·¸ë¨: sola114 \n' + 2799 'í ë ê·¸ë¨ ì¹êµ¬ì¶ê° ë§í¬ : https://t.me/sola114 \n' + 2800 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ìì¹´ì§ë ¸ ì´ìì§ì´ ëê² ìµëë¤. \n' + 2801 'âï¸í´ë¹ ì¿ í°ì ìµëì¶ê¸ 10ë°° ê¹ì§ ê°ë¥í ì¿ í°ì ëë¤. \n' + 2802 'âï¸í´ë¹ ì¿ í°ì ì ì© ëª©ì ì¼ë¡ ì´ì©íë íìì ê°ë ¥í ì ì¬ ëìì ëë¤. \n' + 2803 'âï¸ì§ê¸ ì ê²ì물 íì¸ í ì§ê¸ í´ëë¦¬ê³ ììµëë¤. â» ì´ì©ë´ì ì¬ì§ì²¨ë¶ ë° 3ì¤ì´ì ìì± â» \n' + 2804 'âï¸í기ì ë´ì© ë° ì 목ì ê²½ì° ë³µì¬ ë¶ì¬ë£ê¸°ë¥¼ í ê²½ì° íì¸ì ì¶ê°ì§ê¸ì´ ì´ë ¤ì¸ì ìì¼ë 커뮤ëí° ë§ë¤ ë³ê²½ ìì±ë¶íëë¦¬ê² ìµëë¤. \n' + 2805 'â³ì¡°ê±´ì ë§ì§ ìë í기ì¼ì ì§ê¸ì´ ëì§ ìë ì ì°¸ê³ ë°ëëë¤. \n' + 2806 '기í ê¶ê¸í ì¬í ë° ë¶í¸í ì¬íì ê³ ê°ì¼í°ë¡ 문ì 주ì기 ë°ëëë¤ \n' + 2807 'í ë ê·¸ë¨: sola114 \n' + 2808 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ì ì¹´ì§ë ¸ ì´ìì§ì´ ëê² ìµëë¤ \n', 2809 'promoImage': 'promo-banner-15'
2810 }, 2811 { 2812 'promotionID': '16', 2813 'promotionTitle': '[ì£¼ê° ì´ë²¤í¸] ì¤í¬ì¸ ì£¼ê° ë£¨ì§ ì´ë²¤í¸', 2814 'promotionDesc': 'ì¤í¬ì¸ ì´ì© íìë¤ ëìì¼ë¡ ì¤í¬ì¸ ì£¼ê° ë£¨ì§ ì¿ í°ì ì§ê¸í©ëë¤! \n' + 2815 'ê¸°ê° : 매주 ììì¼~ì¼ìì¼ê¹ì§ ì¤í¬ì¸ ë£¨ì§ ê¸ì¡ì í©ì° (ì¤ì§ ì¤í¬ì¸ ë§ ê³ì°í©ëë¤) \n' + 2816 'ì´ë²¤í¸ ë´ì© : 기ê°ëì ë£¨ì§ í©ì° ê¸ì¡ì 5%를 ì¿ í°ì¼ë¡ ì§ê¸! (ì¤í¬ì¸ ë§ ì¬ì© ê°ë¥) \n' + 2817 '루ì§ì¡ì 5% ìµë 50ë§ì ê¹ì§ ì§ê¸ ê°ë¥í©ëë¤. \n' + 2818 '-50ë§ì ì´ì = 5% (ìµë 50ë§) \n' + 2819 '-25ë§ì ì´ì ~ 50ë§ì ë¯¸ë§ = 10,000ì \n' + 2820 '-15ë§ì ì´ì ~ 25ë§ì ë¯¸ë§ = 5,000ì \n' + 2821 '* ì¤í¬ì¸ ì£¼ê° ë£¨ì§ ì¿ í°ì ë¡¤ë§ 2ë°° ì´í ìµë 5ë°°ê¹ì§ ì¶ê¸ ê°ë¥í©ëë¤. \n' + 2822 '* ì¤í¬ì¸ ì£¼ê° ë£¨ì§ ì¿ í°ì ì¼ì£¼ì¼ì ìµì 3ì¼ê° ì¤í¬ì¸ ì´ì©ì´ ìì¼ì ì¼ ì°¸ì¬ê° ê°ë¥í©ëë¤. \n' + 2823 'ì볼루ì 주ììì¥ì ê¸ì§ê²ìì ëë¤. \n' + 2824 '기í ê¶ê¸í ì¬íì ë¼ì´ë¸ ì±í ë° í ë ê·¸ë¨ ê³ ê°ì¼í°ë¡ 문ì ë¶í ë립ëë¤. \n' + 2825 'í ë ê·¸ë¨: sola114 \n' + 2826 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ìì¹´ì§ë ¸ ì´ìì§ì´ ëê² ìµëë¤. \n', 2827 'promoImage': 'promo-banner-16' 2828 }, 2829 { 2830 'promotionID': '17', 2831 'promotionTitle': 'BT1 ì¤í¬ì¸ ì ì© ì´ë²¤í¸ ìë´', 2832 'promotionDesc': 'ì¤í¬ì¸ 첫ì ê¸ / ì»´í / ê³ ë°°ë¹ / ì¬ë첨 / íí´ë \n' + 2833 'ì¤í¬ì¸ ì±ë ì ì© ì´ë²¤í¸ ì¤í \n' + 2834 'ì¤í¬ì¸ ì í ì´ë²¤í¸ \n' + 2835 '첫ë²ì§¸ ìµì \n' + 2836 '3+3 (3í´ 1.9ë°°ë¹) \n' + 2837 '5+3 (3í´ 1.9ë°°ë¹) \n' + 2838 'ë¡¤ë§ 200íë¡ \n' + 2839 '10+5, \n' + 2840 '20+7 \n' + 2841 '50+15 \n' + 2842 '100+20 \n' + 2843 'ë¡¤ë§ 150íë¡ \n' + 2844 '3í´ë ë°°ë¹ 1.5 ì´ìë¶í° ì°¸ì¬ê°ë¥ \n' + 2845 'ì¤í¬ì¸ ì»´í ì´ë²¤í¸ \n' + 2846 'âï¸ì°¸ì¬ ì¡°ê±´ \n' + 2847 'ã»3í´ë ì´ì ì¡°í© \n' + 2848 'ã»í루 ì´ ë² í ì¡ 100ë§ì ì´ì \n' + 2849 'ðµì´ë²¤í¸ ë³´ì \n' + 2850 'ã» ì´ ë² í ì¡ì 1% ìµë 100ë§ ì§ê¸ \n' + 2851 'ê³ ë°°ë¹ ì´ë²¤í¸ \n' + 2852 'âï¸ì°¸ì¬ ì¡°ê±´ \n' + 2853 'ã»3í´ë ì´ì ì¡°í© \n' + 2854 'ã»ì´ ë°°ë¹ 10ë°°ë¹ ì´ì \n' + 2855 'ã»ë² í ê¸ 5ë§ì ì´ì \n' + 2856 'ðµì´ë²¤í¸ ë³´ì \n' + 2857 'ã»ì ì¤ ì 5ë§ì ì¿ í° ì§ê¸ \n' + 2858 'ì¬ë¯¸ë¹ ì´ë²¤í¸ \n' + 2859 'âï¸ì°¸ì¬ ì¡°ê±´ \n' + 2860 'ã»ê²½ê¸°ë¹ 1.5ë°°ë¹ ì´ì \n' + 2861 'ã»ì ë¶ ë¯¸ì ì¤ ì \n' + 2862 'ðµì´ë²¤í¸ ë³´ì \n' + 2863 'ã»3í´ë: ë² í ì¡ì 50% ì¿ í° ì§ê¸ \n' + 2864 'ã»4í´ë: ë² í ì¡ì 70% ì¿ í° ì§ê¸ \n' + 2865 'ã»5í´ë ì´ì : ë² í ì¡ì 100% ì¿ í° ì§ê¸ \n' + 2866 'ìµë 50ë§ ê¹ì§ \n' + 2867 'íí´ë ì´ë²¤í¸ \n' + 2868 'âï¸ì°¸ì¬ ì¡°ê±´ \n' + 2869 'ã»ê²½ê¸°ë¹ 1.5ë°°ë¹ ì´ì \n' + 2870 'ã»1í´ëë§ ë¯¸ì ì¤ ì \n' + 2871 'ðµì´ë²¤í¸ ë³´ì \n' + 2872 'ã»5í´ë ì¤ 1í´ë 미ì ì¤ â ë² í ì¡ì 20% ì¿ í° ì§ê¸ \n' + 2873 'ã»7í´ë ì¤ 1í´ë 미ì ì¤ â ë² í ì¡ì 40% ì¿ í° ì§ê¸ \n' + 2874 'ã»10í´ë ì¤ 1í´ë 미ì ì¤ â ë² í ì¡ì 100% ì¿ í° ì§ê¸ \n' + 2875 'ìµë 50ë§ ê¹ì§ \n' + 2876 'ð ì´ë²¤í¸ ì°¸ì¬ ë°©ë² \n' + 2877 'ì´ë²¤í¸ ì¡°ê±´ì 충족íì ¨ë¤ë©´, \n' + 2878 'ð ë² í ë´ì ìº¡ì² í ì±ë ì´ë²¤í¸ ë´ë¹ììê² ë¬¸ìí´ì£¼ì¸ì! \n' + 2879 'â» ì§ê¸ ì¿ í°ì ì¤í¬ì¸ ì ì©ì´ë©°, BT1ì¤í¬ì¸ ììë§ ì¬ì© ê°ë¥í©ëë¤. \n', 2880 'promoImage': 'promo-banner-17' 2881 }, 2882 { 2883 'promotionID': '18', 2884 'promotionTitle': 'ìì¼ ì¶í ì´ë²¤í¸', 2885 'promotionDesc': 'â¶ëìì - ìì¹´ì§ë ¸ë¥¼ 기존ì ì´ì©íê³ ê³ìë íìë¶ê»ì \n' + 2886 'ê³ ê°ì¼í°ë¡ ì ë¶ì¦ ìì리 ëë ê·¸ì ì¤íë ê³µì ì ë¶ì¦ì¼ë¡ íì¸, ì¦ëª ì, \n' + 2887 '2ë§ì ì¿ í°ì ì§ê¸í´ë립ëë¤ \n' + 2888 '(ì , ì¶ê¸ ë´ìì´ ìì¼ë©° ì¬ì¸¡ íë¨ì¼ë¡ ìµê·¼ íëì 문ì ê° ìë íììê² ì§ê¸ í´ë립ëë¤. ) \n' + 2889 'â¶ì¶ê¸ì¡°ê±´ - ë¡¤ë§ 3ë°° 5ë°° ê¹ì§ ì¶ê¸ê°ë¥ (ì´ê³¼ê¸ì¡ì íìì²ë¦¬ íì ì¶ê¸ì²ë¦¬ ë©ëë¤) \n' + 2890 'â¶ì¿ í°ì¬ì©ë² - ì주묻ë ì§ë¬¸ í´ë¦ í "ìì¹´ì§ë ¸ ì¿ í° ê·ì ìë´" 를 í´ë¦íì ì ì°¸ê³ í´ì£¼ì기 ë°ëëë¤. \n' + 2891 'ë ê¶ê¸íì ì¬í ë° ë¶í¸íì ì¬íì ê³ ê°ì¼í°ë¡ 문ì 주ì기 ë°ëëë¤ \n' + 2892 'í ë ê·¸ë¨: sola114 \n' + 2893 'í ë ê·¸ë¨ ì¹êµ¬ì¶ê° ë§í¬ : https://t.me/sola114 \n' + 2894 'ìì¼ë¡ë ëì± ë ¸ë ¥íë ìì¹´ì§ë ¸ ì´ìì§ì´ ëê² ìµëë¤. \n', 2895 'promoImage': 'promo-banner-18' 2896 } 2897 ]; 2898 2899 $rootScope.displayPromotion = function (promoID, language) { 2900 // console.log(promoID) 2901 if(!promoID) { 2902 return $rootScope.comingSoon(); 2903 } 2904 $('.add_disableEvent').addClass('disable-event'); 2905 ngDialog.open({ 2906 template: 'popup/promotion.php', 2907 controller: '', 2908 className: 'ngdialog-theme-default ngdialog-promotion', 2909 scope: $scope, 2910 preCloseCallback:function(){ 2911 $('.add_disableEvent').removeClass('disable-event'); 2912 }, 2913 data: { 2914 id: promoID 2915 } 2916 }); 2917 }; 2918}); 2919 2920 2921app.controller('MovieController2', function ($rootScope, $scope, $http, $cookies) { 2922 $scope.notTodayVideo2 = function () { 2923 var expireDate = new Date(); 2924 expireDate.setDate(expireDate.getDate() + 1); 2925 $cookies.put('notTodayVideo2', 'true', {'expires': expireDate}); 2926 $scope.closeThisDialog(); 2927 }; 2928 2929 $scope.notTodayVideo3 = function () { 2930 var expireDate = new Date(); 2931 expireDate.setDate(expireDate.getDate() + 1); 2932 $cookies.put('notTodayVideo3', 'true', {'expires': expireDate}); 2933 $scope.closeThisDialog(); 2934 }; 2935}); 2936 2937app.controller("TransactionPasswordController", function ($scope, $http, SweetAlert, ngDialog) { 2938 $scope.transpwForm = {}; 2939 $scope.isProcessing = false;
2940 $scope.processForm = function () { 2941 if (!$scope.isProcessing) { 2942 $scope.isProcessing = true; 2943 var url = "/api/player/UpdateTransactionPW"; 2944 $http({ 2945 method: 'POST', 2946 url: url, 2947 data: $.param($scope.transpwForm), // pass in data as strings 2948 headers: { 2949 'Content-Type': 'application/x-www-form-urlencoded' 2950 } // set the headers so angular passing info as form data (not request payload) 2951 }).success(function (data) { 2952 if (data.result == 1) { 2953 if (bowser.msie && bowser.version <= 8) { 2954 alert(data.message); 2955 } else { 2956 SweetAlert.swal(data.message, data.message1, "success"); 2957 } 2958 ngDialog.close(); 2959 } else { 2960 if (bowser.msie && bowser.version <= 8) { 2961 alert(data.message); 2962 } else { 2963 SweetAlert.swal(data.message, "ë¤ì ìëí´ë³´ì¸ì", "error"); 2964 } 2965 } 2966 }).error(function (data, status) { 2967 console.error('Repos error', status, data); 2968 })["finally"](function () { 2969 $scope.isProcessing = false; 2970 }); 2971 } 2972 }; 2973});
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.