1$.fn.modal.Constructor.prototype.enforceFocus = function () { 2 modal_this = this 3 $(document).on('focusin.modal', function (e) { 4 if (modal_this.$element[0] !== e.target && !modal_this.$element.has(e.target).length 5 && !$(e.target.parentNode).hasClass('cke_dialog_ui_input_select') 6 && !$(e.target.parentNode).hasClass('cke_dialog_ui_input_text')) { 7 modal_this.$element.focus() 8 } 9 }) 10}; 11var tID = null; // иденÑиÑикаÑÐ¾Ñ ÑаймаÑÑа 12var intervals = []; //инÑеÑÐ²Ð°Ð»Ñ 13String.prototype.in_array = function (arr) { 14 for (var i = 0, l = arr.length; i < l; i++) { 15 if (arr[i] == this) { return true; } 16 } 17 return false; 18} 19Array.prototype.remove = function (value) { 20 var idx = this.indexOf(value); 21 if (idx != -1) { return this.splice(idx, 1); } 22 return false; 23} 24 25// полÑÑиÑÑ Ð·Ð½Ð°Ñение cookie по имени 26function getCookie(name) { 27 var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)')); 28 if (match) return match[2]; 29} 30 31//пеÑÐ²Ð°Ñ Ð±Ñква заглавнаÑ, оÑÑалÑнÑе Ð½ÐµÑ 32function cap(input) 33{ 34 return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase(); 35} 36 37//инÑеÑÐ²Ð°Ð»Ñ 38function class_intervals() 39{ 40 intervals.push(setInterval(function () { infowidgets(".zchat", false); }, 60000)); //ÑÐ°Ñ 41 42 intervals.push(setInterval(function () { prompt(); }, 90000)); //ÑÑаÑÑÑ 43} 44 45 46//кÑаÑивое оÑоÑмление 47function class_nice() 48{ 49 50 $(".fonts > option").each( 51 function(){ 52 $(this).css("font-family",$(this).val()); 53 } 54 ) 55 //вÑÐ±Ð¾Ñ ÑвеÑа 56 $('.colorpickerField').ColorPicker({ 57 onSubmit: function(hsb, hex, rgb, el) { 58 $(el).val("#"+hex); 59 $(el).ColorPickerHide(); 60 }, 61 onBeforeShow: function () { 62 63 $(this).ColorPickerSetColor(this.value); 64 }, 65 onChange: function (hsb, hex, rgb, el) { 66 var textColor; 67 $(el).css('background-color', '#' + hex); 68 if (rgb.g < 140) textColor = '#FFFFFF'; 69 else textColor = '#000000'; 70 $(el).css('color', textColor); 71 $(el).val("#"+hex); 72 } 73 }); 74 75 //авÑопÑокÑÑÑка вниз 76 $(".scrolldown").each( 77 function() 78 { 79 $(this).scrollTop($(this).prop('scrollHeight')); 80 //$(this).animate({ scrollTop: $(this).children(":first").height() }, "fast"); 81 return false; 82 } 83 ); 84 85 //модалÑÐ½Ð°Ñ ÐºÐ°ÑÑинка 86 $('.fancybox').off().fancybox({ 87 prevEffect: 'none', 88 nextEffect: 'none', 89 90 closeBtn: true, 91 arrows: true, 92 nextClick: true, 93 94 helpers: { 95 thumbs: { 96 width: 50, 97 height: 50 98 } 99 } 100 }); 101 102 $('.nicescroll').off().niceScroll({mousescrollstep:20,scrollspeed:200,smoothscroll:false}); 103 104 var dateformat = $('.calendar,.datepicker').attr("dateformat"); 105 $('.calendar,.datepicker').not(".hasdatepicker").addClass("hasdatepicker").datepicker({ 106 showButtonPanel: true, 107 dateFormat: dateformat ? dateformat : 'yy-mm-dd', 108 closeText: 'ÐакÑÑÑÑ', 109 prevText: 'ÐÑед', 110 nextText: 'След', 111 currentText: 'СегоднÑ', 112 monthNames: ['ЯнваÑÑ', 'ФевÑалÑ', 'ÐаÑÑ', 'ÐпÑелÑ', 'Ðай', 'ÐÑнÑ', 113 'ÐÑлÑ', 'ÐвгÑÑÑ', 'СенÑÑбÑÑ', 'ÐкÑÑбÑÑ', 'ÐоÑбÑÑ', 'ÐекабÑÑ'], 114 monthNamesShort: ['Янв', 'Фев', 'ÐаÑ', 'ÐпÑ', 'Ðай', 'ÐÑн', 115 'ÐÑл', 'Ðвг', 'Сен', 'ÐкÑ', 'ÐоÑ', 'Ðек'], 116 dayNames: ['воÑкÑеÑенÑе', 'понеделÑник', 'вÑоÑник', 'ÑÑеда', 'ÑеÑвеÑг', 'пÑÑниÑа', 'ÑÑббоÑа'], 117 dayNamesShort: ['вÑк', 'пнд', 'вÑÑ', 'ÑÑд', 'ÑÑв', 'пÑн', 'ÑбÑ'], 118 dayNamesMin: ['ÐÑ', 'Ðн', 'ÐÑ', 'СÑ', 'ЧÑ', 'ÐÑ', 'Сб'], 119 changeMonth: true, 120 changeYear: true, 121 showOtherMonths: true, 122 selectOtherMonths: true, 123 yearRange: "1930:2021" 124 }); 125 126 /*$('.calendar,.datepicker').inputmask( 127 { 128 mask: "99.99.9999", 129 alias: "date", 130 placeholder: "ÐÐ/ÐÐ/ÐÐÐÐ", 131 insertMode: false 132 } 133 );*/ 134 135 $('.datetimepicker').not(".hasdatetimepicker").addClass("hasdatetimepicker").datetimepicker({ 136 step: 5, format: 'Y-m-d H:i:s', lang: 'ru', withoutCopyright: true 137 }); 138 139 140 $("textarea.cketextarea").not(".hascke").addClass("hascke").each(function () { CKEDITOR.replace($(this).attr("id")) }); 141 142 $('.changes-select').not(".hasselectchangehandler").addClass("hasselectchangehandler").on("change blur", function () { 143 var obj = this; 144 var value = $(obj).val(); 145 var namefield = $(obj).attr('name'); 146 var target = $(obj).attr("target-change"); 147 var targetcontainerid = $(obj).attr("target-container"); 148 var form = $(this).closest('#imitationform'); 149 if (form.length == 0) form = $(this).closest('form'); 150 if (form.length == 0) return; 151 var targetcontainer = form.find('#' + targetcontainerid); 152 var div = $(this).closest('div.form-group'); 153 var data = {}; data = $('form[name=menuitemform]').serialize(); 154 var beforeselect = $(form).find('[this-target=' + target + ']'); 155 var events = $._data(beforeselect.get(0), "events"); 156 $.ajax({ 157 url: form.attr('action'), type: 'POST', data: data, 158 beforeSend: function () { targetcontainer.html(spinner); }, 159 success: function (html) { 160 var targetselect = $(html).find('[this-target=' + target + ']'); 161 if (typeof events !== "undefined") { 162 if (typeof events["change"] !== "undefined") { 163 events["change"].forEach(function (item, i, arr) { 164 targetselect.change(item.handler) 165 }); 166 } 167 } 168 targetcontainer.html(targetselect); 169 targetcontainer.find(targetselect).chosen({ allow_single_deselect: true }); 170 targetcontainer.find(targetselect).trigger("change"); 171 } 172 }); 173 }); 174 175 $('.changes-select.autostart').change(); 176 $('.inputregexmask').not(".hasinputregexmask").addClass("hasinputregexmask").inputmask('Regex'); 177 $('.inputmask').not(".hasinputmask").addClass("hasinputmask").inputmask(); 178 $('select.chosen').not(".haschosen").addClass("haschosen").chosen(); 179 180 autocomplete(); 181 dropZoneInit(); // dz1 182 183 $(".dz2").each(function(){dz(this)}); //dz2 184 185 186} 187 188//ÑобÑÑÐ¸Ñ ÐºÐ»Ð°ÑÑов 189function class_events() { 190 191 // 192 $("body").on("click", ".fasttest", function(e){ 193 194 if ($(this).attr("correct")==1) 195 $(this).parent().addClass("bg-green"); 196 else 197 $(this).parent().addClass("bg-red"); 198 }); 199 200 // 201 $("body").on("change", ".ajax_file", function(e){ 202 ajax_file($(this)); 203 }); 204 205 //пÑедоÑвÑаÑиÑÑ Ð¾Ð±ÑÑнÑй submit ÑоÑÐ¼Ñ 206 $("body").on("submit", "form.dontsubmit", function(e){ 207 e.preventDefault(); 208 }); 209 210 //оÑеÑÑа 211 $("body").on("submit", "form.ofertable", function(e){ 212 show_modal(this,true); 213 e.preventDefault(); 214 215 $("#user_data_REGISTRATION").removeAttr("disabled"); 216 }); 217 218 $("body").on("focus blur", "input[type=text],input[type=password]", function(e){ 219 if ($(this).is(":focus")) { 220 if ($(this).hasClass("scrollto")) SCROLL_TO($(this),$(".bcontent")); 221 $(".mobile-items").hide(); 222 } else $(".mobile-items").show(); 223 }); 224 225 $("body").on("click", ".lookingglass", function(e){ 226 e.preventDefault(); 227 ajax_asynq(window.location.href+"/",function(){ 228 $('.simple_search_result').html(spinner)}, 229 function(html){$('.simple_search_result').html(html); 230 },"word="+$(".lookingword").val()); 231 }); 232 233 $("body").on("keydown", "[name=user_data]", function(e){ 234 if (e.keyCode == 13) 235 { 236 e.preventDefault(); 237 $(this).find(".enter").click(); 238 } 239 }); 240 241 $("body").on("keyup", ".waitenter", function(e){ 242 if (e.keyCode == 13) 243 { 244 $(this).blur(); 245 $($(this).attr("submit")).click(); 246 } 247 }); 248 249 $("body").on("keydown", ".enter", function(e){ 250 if (e.keyCode == 13) 251 {
252 console.log('enter'); 253 e.preventDefault(); 254 $(this).blur(); 255 $(this).click(); 256 } 257 }); 258 259 $("body").on("keyup", ".noenter", function(e){ 260 if (e.keyCode == 13) 261 { 262 e.preventDefault(); 263 } 264 }); 265 266 $("body").on("click", "button.loginneeded", function(){ 267 curl("/session/referer:123","referer="+window.location.href); 268 confirm_modal3("/login/",false,"ÐакÑÑÑÑ",function(){}); 269 }); 270 271 $("body").on("click", "button.regneeded", function(){ 272 location.href= `/main/registration/${$(this).attr('participant')}?redirect=${$(this).attr('redirect')}&passport=${$(this).attr('passport')}`; 273 }); 274 275 $("body").on("click", "button.basket-button", function(){ 276 var _this = this; 277 if (isNaN($(this).attr("passport"))) return; 278 ajax_asynq($(this).attr("link"), function() { 279 },function(data) { 280 var json = JSON.parse(data); 281 if (json.hasOwnProperty("exists")) 282 serversuccess($(_this).attr("exists")); 283 else{ 284 serversuccess($(_this).attr("success")); 285 $('#basket_cost').text(json["cost"]); 286 $('#basket_count').text(json["count"]); 287 if ($(_this).attr("reload")=="1") location.reload(); 288 } 289 290 }, $(this).attr("post")); 291 }); 292 293 $("body").on("change",".saveable", 294 function(event) 295 { 296 var value=$(this).val(); 297 switch($(this).attr("type")) 298 { 299 case "checkbox": 300 value=$(this).prop("checked")?1:0; 301 break; 302 default: 303 value=$(this).val(); 304 } 305 ajax_asynq($(this).attr("action"),function(){serversuccess('Ð¡Ð¾Ñ Ñанение...');},function(){serversuccess('Ð¡Ð¾Ñ Ñанено');},`idfield=${$(this).attr('idfield')}&${$(this).attr("property")}=${value}`); 306 } 307); 308 309 $("body").on("click",".informable", 310 function(event) 311 { 312 confirm_modal3($(this).attr('link'),"ÐÑпÑавиÑÑ","Ðазад",function(){sendForm($('#3453454'));}); 313 } 314 ); 315 316 $("body").on("click",".hrefable", 317 function(event) 318 { 319 event.preventDefault(); 320 321 window.open($(this).attr("_href"),$(this).attr("target")); 322 323 prompt(); 324 } 325 ); 326 327 //$("*").not(".hasinputmask").off(); // оÑиÑÑка пÑедÑдÑÑÐ¸Ñ 328 329 //оÑпÑавка ÑоÑÐ¼Ñ 330 $("body").on("click",".submitter", 331 function(e) 332 { 333 if (e.keyCode && e.keyCode != 13) return; 334 sendForm(this); 335 } 336 ); 337 338 //оÑпÑавка запÑоÑа 339 $("body").on("click",".curler", 340 function(e) 341 { 342 var _this = this; 343 var start = $(_this).attr("start"); 344 var end = $(_this).attr("end"); 345 var error = $(_this).attr("error"); 346 var reload = $(_this).attr("reload")=="yes"; 347 confirm_modal3($(_this).attr("confirmlink"),"Ðа","ÐеÑ", 348 function(){ 349 ajax_asynq($(_this).attr("link"),function(){serversuccess(start)},function(json){ 350 var result = JSON.parse(json); 351 if (result["result"]=="OK"){ 352 serversuccess(end); 353 if (reload) location.reload(); 354 } 355 else 356 servererror(error); 357 },$($(_this).attr("for")).serialize()) 358 },$($(_this).attr("for")).serialize()); 359 360 } 361 ); 362 363 //ÑкаÑаÑÑ Ñайл 364 $("body").on("click",".downloader", 365 function(e) 366 { 367 event.preventDefault(); 368 var _this = this; 369 ajax_asynq($(_this).attr("link"),function(){$($(_this).attr("handler")).hide();},function(response){var json = JSON.parse(response); 370 $($(_this).attr("handler")).show();$($(_this).attr("handler")).attr('href',json["href"])},$($(_this).attr("for")).serialize()); 371 372 } 373 ); 374 375 $("body").on("click",".cas", function(){ 376 create_and_submit($(this).attr('data')); 377 }); 378 379 //trim 380 $("body").on("blur",".form-control[type=text]", 381 function () { 382 $(this).val($(this).val().trim()); 383 $(this).val($(this).val().replace(/[\s\t]+/g," ")); 384 } 385 ) 386 387 //бÑÑÑÑÐ°Ñ Ð¿ÑовеÑка regex 388 $("body").on("keyup blur",".fastcheck", 389 function () { 390 var regexp = new RegExp(/.*/i); 391 regexp = $(this).attr("regex") ? new RegExp($(this).attr("regex"), "i") : regexp; 392 393 if (!regexp.exec($(this).val())) 394 { 395 $(this).popover("enable"); 396 $(this).addClass('error'); 397 $(this).popover("show"); 398 } 399 else 400 { 401 $(this).popover("disable"); 402 $(this).removeClass('error'); 403 $(this).popover("hide"); 404 } 405 } 406 ); 407 408 //ÑбÑÑÑÑое иÑпÑавление имени 409 $("body").on("blur",".autofix[user='user']", 410 function () { 411 $(this).val(cap($(this).val())); 412 413 $(this).val($(this).val().replace(/[ ]+/g," ")); 414 415 $(this).val($(this).val().replace(/[-]+/g,"-")); 416 417 if ($(this).val().includes("-")) 418 $(this).val($(this).val().split('-').map(cap).join('-')); 419 420 if ($(this).val().includes(" ")) 421 $(this).val($(this).val().split(' ').map(cap).join(' ')); 422 } 423 ); 424 425 //ÑеÑвеÑÐ½Ð°Ñ Ð¿ÑовеÑка 426 $("body").on("blur",".serverchk", 427 function () { 428 serverchk(this); 429 } 430 ); 431 432 433 //оÑмениÑÑ Ð¾Ð±ÑзаÑелÑное поле 434 $("body").on("change",".notreq", 435 function () { 436 $($(this).attr('ref')).removeClass('error'); 437 $($(this).attr('ref')).popover("hide"); 438 if ($(this).prop("checked")) { 439 $($(this).attr('ref')).val("ÐÐТ"); 440 441 $($(this).attr('ref')).attr("readonly", "readonly"); 442 } 443 else { 444 $($(this).attr('ref')).removeAttr("readonly"); 445 } 446// $(".fastcheck").blur(); 447 448 } 449 ); 450 $(".notreq").change(); 451 452 //ÑмениÑÑ Ð¼Ð°ÑÐºÑ Ð²Ð²Ð¾Ð´Ð° 453 $("body").on("change", ".maskchanger", function(e){ 454 if (($($(this).attr("action"))).attr("readonly")) return; 455 456 $($(this).attr("action")).val(''); 457
458 $masks = {"Username":"(^[A-z0-9_.\-]{1,50}@[A-z0-9_.\-]{1,50}\.(ru|com|net|su|ua|info|org|edu))*$","Phone":"8\\(\\d{3}\\)\\d{3}-\\d{2}-\\d{2}","Fio":"[Ð-ÑÑ\\s-]*"}; 459 $($(this).attr("action")).attr("regex","^"+$masks[$(this).val()]+"$"); 460 $($(this).attr("action")).attr("data-inputmask-regex",".*"); 461 if ($(this).val()=="Phone"){ 462 $($(this).attr("action")).attr("data-inputmask-regex",$masks[$(this).val()]); 463 } 464 $($(this).attr("action")).next('.valid').text('').hide(); 465 $($(this).attr("action")).inputmask(); 466 }); 467 468 $("body").on("click",".modaling",function () { show_modal(this, true); }); 469 470 $("body").on("click",".uploading:not('.blocked')",function () { 471 $("input[for=#" + $(this).attr("id") + "]").click(); 472 473 $("input[for=#" + $(this).attr("id") + "]").not(".mychat").unbind("change").change( 474 function () { 475 ajax_file(this); 476 }); 477 } 478 ); 479 480 //checkbox 481 $("body").on("click",".checkval", 482 function(event) 483 { 484 if ($(this).is(':checked')) 485 $(this).val($(this).attr("onval")); 486 else 487 $(this).val($(this).attr("offval")); 488 } 489 ); 490 491 492} 493 494//аÑÑÑибÑÑÑ ÐºÐ»Ð°ÑÑов 495function class_attrs() { 496 if ($(".dataverificated").val()==1) { 497 $(".toremove").remove(); 498 $(".blaver[type=text]").addClass("blocked"); 499 $(".blaver[type=text]").attr("readonly", "readonly"); 500 $(".blaver[type=text]").attr("title", "ÐÑ Ð¿Ð¾Ð´ÑвеÑдили даннÑе. РедакÑиÑование ÑÑого Ð¿Ð¾Ð»Ñ ÑепеÑÑ Ð½ÐµÐ´Ð¾ÑÑÑпно."); 501 $(".blaver[type=checkbox]").attr("disabled", "disabled"); 502 } 503 504 /*$(".form-group").each( 505 function(){ 506 if ($(this).find("[class=hidden]").length>0) 507 $(this).addClass("hidden"); 508 } 509 );*/ 510 511 512} 513 514function initialization() { 515 console.log("ÐниÑиализаÑÐ¸Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð²"); 516 captcha(); 517 entity(); 518 json_params(); 519 class_events(); 520 class_attrs(); 521 class_intervals(); 522 class_nice(); 523 blockmodal(); // блокиÑÑÑÑее обÑÑвление 524 popup(); // вÑплÑваÑÑие окна 525 //prompt(); 526 infowidgets(); // вÑвод виджеÑов 527 528 $(".autoclick").removeClass("d-n").click(); 529 530 531 532 renew(); 533 uploading(); 534 535 $('h4.section:empty').hide(); 536 537 CKEDITOR.config.allowedContent = true; // оÑклÑÑиÑÑ ÑилÑÑÑаÑÐ¸Ñ Ñегов 538 CKEDITOR.config.filebrowserUploadUrl = "/admin/cke" 539 540 $(".reloader").each(function(){location.reload();}); 541} 542 543//поле загÑÑзки Ñайла 544function uploading($class="") { 545 546 $(".uploading" + $class).each(function () { 547 $(this).after("<input ztype=" + $(this).attr("ztype") + " accept='image/*,application/pdf' class='hidden' dest='"+($(this).attr("prefix") ? $(this).attr("storage"):"")+"/"+$(this).attr("who")+"/loadfiles/attachments?remote=1&prefix="+$(this).attr("prefix")+"' type=file for=#" + $(this).attr("id") + ">"); 548 549 if ($("div[for=#" + $(this).attr("id") + "]").length==0) 550 $(this).closest('form').after("<div class='f-l formfiles' for=#" + $(this).attr("id") + "></div>"); 551 552 if ($(this).val() && $(this).val().includes("/")) 553 $("div[for=#" + $(this).attr("id") + "]").html("<a class=fancybox href='"+ 554 ($(this).val().includes($(this).attr("prefix"))? $(this).attr("storage") + "/web/ext/mime.php?host=local&file="+$(this).attr("prefix"):"") 555 +"/web/upload/attachments/" + 556 $(this).val().trim().replace($(this).attr("prefix"),"") + 557 "'><img class=imgerr width=300 height=300 src='"+ 558 ($(this).val().includes($(this).attr("prefix"))? $(this).attr("storage") + "/web/ext/mime.php?host=local&file="+$(this).attr("prefix"):"") 559 +"/web/upload/attachments/" + 560 $(this).val().trim().replace($(this).attr("prefix"),"") + 561 "'></a><i title='УдалиÑÑ' onclick='$($(this).parent().attr(\"for\")).val(\"\");$(this).parent().html(\"\");' class='toremove cursor-p fa fa-times fa-2x'></i>") 562 } 563 ); 564 565 $('.imgerr').unbind("error").error( 566 function () { 567 $(this).attr('src', "/web/graphics/pdf2.png"); 568 } 569 ); 570} 571 572//поле загÑÑзки Ñайла 573function uploading_old($class="") { 574 575 $(".uploading" + $class).each(function () { 576 $(this).after("<input ztype=" + $(this).attr("ztype") + " accept='image/*,application/pdf' class='hidden' dest='/"+$(this).attr("who")+"/loadfiles/attachments' type=file for=#" + $(this).attr("id") + ">"); 577 578 if ($("div[for=#" + $(this).attr("id") + "]").length==0) 579 $(this).closest('form').after("<div class='f-l formfiles' for=#" + $(this).attr("id") + "></div>"); 580 581 if ($(this).val() && $(this).val().includes("/")) 582 $("div[for=#" + $(this).attr("id") + "]").html("<a class=fancybox href='/web/upload/attachments/" + $(this).val().trim() + "'><img class=imgerr width=300 height=300 src='/web/upload/attachments/" + $(this).val() + "'></a><i title='УдалиÑÑ' onclick='$($(this).parent().attr(\"for\")).val(\"\");$(this).parent().html(\"\");' class='toremove cursor-p fa fa-times fa-2x'></i>") 583 } 584 ); 585 586 $('.imgerr').unbind("error").error( 587 function () { 588 $(this).attr('src', "/web/graphics/pdf2.png"); 589 } 590 ); 591} 592 593 594//вÑпадаÑÑий ÑпиÑок 595function autocomplete() { 596 var selected = false;
597 function split(val) { 598 return val.split(/,\s*/); 599 } 600 function extractLast(term) { 601 return split(term).pop(); 602 } 603 604 $(".autocomplete") 605 .on("keydown", function (event) { 606 if (event.keyCode === $.ui.keyCode.TAB && 607 $(this).autocomplete("instance").menu.active) { 608 event.preventDefault(); 609 } 610 }) 611 .autocomplete({ 612 source: function (request, response) { 613 $.getJSON($(".autocomplete").attr("jsource") + extractLast(request.term), { 614 }, response); 615 }, 616 search: function () { 617 selected = false; 618 // custom minLength 619 var term = extractLast(this.value); 620 if (term.length < 2) { 621 return false; 622 } 623 }, 624 focus: function () { 625 // prevent value inserted on focus 626 return false; 627 }, 628 select: function () { 629 selected = true; 630 } 631 }); 632} 633function randtimer(func = function () { }) { 634 setTimeout(function () { func(); randtimer(func) }, (Math.floor(Math.random() * 81 + 20) * 1000)); 635} 636function toogleColor(panel) { 637 panel.toggleClass('bg-blue').toggleClass('bg-green'); 638 if (panel.hasClass('bg-blue') && panel.hasClass('bg-green')) 639 panel.removeClass('bg-blue'); 640} 641 642function setprop(check) // ÑÑÑановка ÑвойÑÑв 643{ 644 645 var data = {}; 646 var check = $(check); 647 var link = check.attr("link"); 648 var user = check.attr("user"); 649 var prop = check.attr("name"); 650 var checked = check.prop("checked"); 651 var onVal = check.val(); 652 var offVal = check.attr("offval"); 653 var ajaxLink = link + user; 654 data[prop] = checked ? onVal : offVal; 655 ajax_asynq( 656 ajaxLink, 657 function () { }, 658 function (response) { console.log(response) }, 659 data 660 ); 661} 662 663function disattach(button) { 664 var attach = button.attr('file'); 665 if (typeof attach === 'undefined' || !attach) return; 666 if (swap && (swap == attach)) return; 667 button.prev().toggleClass('hidden'); 668 button.children().toggleClass(cplus).last().parent().parent().next().toggleClass('br-red'); 669 var attachments = $(".attachments").val().split(","); 670 671 var attachcontainer = button.closest('.attachcontainer'); 672 var clone = attachcontainer.clone(true, true); 673 if (!attachments.remove(attach)) { 674 attachments.push(attach); 675 attachments.remove("!" + attach) 676 attachcontainer.parent().children('.removed').first().before(clone.removeClass('removed')); 677 } 678 else { 679 attachments.push("!" + attach); 680 attachcontainer.parent().append(clone.addClass('removed')); 681 } 682 attachcontainer.remove(); 683 $(".attachments").val(attachments.join(",")); 684} 685function swapattachs(attach1 = "", attach2 = "") { 686 if (attach1 == attach2) { return; } 687 var attachments = $(".attachments").val().split(","); 688 var key1 = attachments.indexOf(attach1); 689 var key2 = attachments.indexOf(attach2); 690 691 if (key1 == '-1' || key2 == '-1') { return; } 692 var moveb1 = $('[action=moveattach][file="' + attach1 + '"]').find('i'); 693 var moveb2 = $('[action=moveattach][file="' + attach2 + '"]').find('i'); 694 if ( 695 typeof moveb1.attr('movable') === 'undefined' || typeof moveb2.attr('movable') === 'undefined' || 696 !moveb1.attr('movable') && !moveb2.attr('movable') || (moveb1.attr('movable') != moveb2.attr('movable')) 697 ) { return; } 698 var attachcontainer1 = moveb1.closest('.attachcontainer'); 699 var attachcontainer2 = moveb2.closest('.attachcontainer'); 700 var clone1 = attachcontainer1.clone(true, true); 701 var clone2 = attachcontainer2.clone(true, true); 702 attachments[key1] = attach2; 703 attachments[key2] = attach1; 704 attachcontainer1.replaceWith(clone2); 705 attachcontainer2.replaceWith(clone1); 706 $(".attachments").val(attachments.join(",")); 707} 708function manageattachs(movable = "images") { 709 return $("<div></div>").addClass("btn-group p-a z-i-1 t-r-0") 710 .append( 711 $("<span></span>").attr('action', 'moveattach').attr('attachtype', movable).addClass('btn btn-primary b-t-l-r-0') 712 .click(function () { 713 if (swaptype && (swaptype != $(this).attr('attachtype'))) return false; 714 $('[movable=' + movable + ']').toggleClass('fa-spin'); 715 if (swap) { swapattachs(swap, $(this).attr('file')); swap = false; swaptype = undefined; } 716 else { swap = $(this).attr('file'); swaptype = movable; } 717 return false; 718 }).append($('<i></i>').attr('movable', movable).addClass('fa fa-retweet')) 719 ) 720 .append( 721 $("<span></span>").attr('action', 'disattach').addClass('btn btn-primary b-r-0') 722 .click(function () { disattach($(this)); return false; }) 723 .append($('<i></i>').addClass('fa fa-times')) 724 ); 725} 726function crosstoprightelem1() { 727 return $("<span><span>").attr("target", "actions").addClass("fa fa-times f-r m-l-10") 728 .attr("style", "margin-right:-5px") 729 .attr("onclick", "$(this).toggleClass(cplus).parent().toggleClass('br-red');"); 730} 731function setflowplayer(idplayer = "") { 732 if (idplayer) { 733 flowplayer( 734 idplayer 735 , 736 { 737 src: "/web/flash/flowplayer-3.2.16.swf", 738 wmode: "opaque" 739 740 }, 741 { 742 plugins: { controls: { url: '/web/flash/flowplayer.controls-3.2.15.swf' } }, 743 clip: 744 {
745 autoPlay: false, 746 autoBuffering: false, 747 scaling: "fit" 748 } 749 } 750 ); 751 } 752} 753function unescapeHtml(safe) { 754 return safe 755 .replace(/&/g, "&") 756 .replace(/</g, "<") 757 .replace(/>/g, ">") 758 .replace(/"/g, "\"") 759 .replace(/'/g, "'"); 760} 761function clear_carousel() { 762 $("#big-modal .carousel-inner").html(""); 763} 764function add_body_padding() { 765 /* 766 * var w1 = self.innerWidth; // ШиÑина вмеÑÑе Ñ Ð¿Ð¾Ð»Ð¾Ñой пÑокÑÑÑки var w2 = 767 * $('body').width(); // ШиÑина без полоÑÑ Ð¿ÑокÑÑÑки var ww = w1 - w2; // 768 * ШиÑина вмеÑÑе Ñ Ð¿Ð¾Ð»Ð¾Ñой пÑокÑÑÑки var sliderWidth = 769 * $('.slide-panel-carousel').css('width'); // ШиÑина ÑлайдеÑной панели // 770 * ÐолÑÑаем изнаÑалÑнÑе ÑиÑÐ¸Ð½Ñ ÑлеменÑов ( без Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±Ð¾Ð´Ð¸ ) 771 * $('.changable-width').each(function(){ var width = $(this).css('width'); 772 * $(this).attr('wid', width); }); 773 * $('body,.navbar-fixed-top').css('padding-right', ww); // ÐобавлÑем 774 * паддинг к боди, ÑÑÐ¾Ð±Ñ Ð½Ðµ бÑло ÑкаÑка // УÑÑанавливаем изнаÑалÑнÑе ÑиÑÐ¸Ð½Ñ 775 * ÑлеменÑов, ÑÑÐ¾Ð±Ñ Ð½Ðµ бÑло ÑкаÑка $('.changable-width').each(function(){ 776 * $(this).css('width', $(this).attr('wid')); }); 777 * 778 * $('.slide-panel,.slide-panel-carousel').css('width', sliderWidth); // 779 * УбиÑаем ÑкаÑок ÑиÑÐ¸Ð½Ñ ÑлайдеÑной панели return w2; 780 */ 781} 782function delete_body_padding() { 783 // $('body,.navbar-fixed-top').css('padding-right', 0); 784} 785function formOrder(f) { 786 var form = $(f); 787 var orderData = form.find('input[name=orderData]'); 788 var checked = $('input[type=checkbox][target=order]:checked'); 789 var amount = checked.length + 1; 790 var dataString = ''; 791 var arr = new Array(); 792 793 checked.each(function () { 794 arr.push($(this).prev('span').html()); 795 }); 796 dataString = arr.join('-+-+-+-+-+-+-+-+-'); 797 798 orderData.val(dataString); 799 800 801} 802 803//дополниÑелÑÐ½Ð°Ñ Ð¿ÑовеÑка email 804function emailValidation() { 805 var mail = $("#user_data_username"); 806 if (mail.length && mail.val().includes("gmail.ru")) { 807 mail.closest("form").find("#valid").text('ÐÑибка. Ðе найден поÑÑовÑй ÑеÑÐ²ÐµÑ gmail.ru. Ðозможно, ÐÑ Ð¸Ð¼ÐµÐ»Ð¸ в Ð²Ð¸Ð´Ñ gmail.com?').show(); 808 mail.removeClass('ok').addClass('error'); 809 return false; 810 } 811 else { 812 mail.closest("form").find("#valid").text('').hide(); 813 mail.removeClass('error').addClass('ok'); 814 return true; 815 } 816 817 /*var re2=new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i); 818 var mail = $("input[data-mask=mail]"); 819 if( mail.length == 0 ) return true; 820 var submit = mail.closest("form").find("button"); 821 var valid = mail.closest("form").find("#valid"); 822 if(!mail.val()){ 823 valid.text('Ðоле не должно бÑÑÑ Ð¿ÑÑÑÑм!').show(); 824 mail.removeClass('ok').addClass('error'); 825 } 826 else{ 827 if(!re2.exec(mail.val())){ 828 valid.text('ÐведиÑе, пожалÑйÑÑа, коÑÑекÑнÑй e-mail').show(); 829 mail.removeClass('ok').addClass('error'); 830 }else{ 831 valid.text('').hide(); 832 mail.removeClass('error').addClass('ok'); 833 return true; 834 } 835 } 836 return false*/ 837} 838 839//пÑовеÑка индекÑа на ÑеÑвеÑв 840function serverchk(_this, warning = false) { 841 if ($(_this).attr("readonly")) return true; 842 var result = true; 843 var valid = $(_this).next(".valid"); 844 var checkfailed = $(_this).attr('chkfailed'); 845 var checkresult = $($(_this).attr('chkresult')); 846 if (!(new RegExp($(_this).attr("regex"), "i")).exec($(_this).val())) 847 { 848 valid.text($(_this).attr('invalid')).show(); 849 return false; 850 } 851 ajax_synq($(_this).attr("chkurl"), function () { }, function (data) { 852 //еÑли Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð° найден, Ñо ÑообÑение 853 obj = JSON.parse(data); 854 if (!obj.length) { 855 result = $(_this).hasClass("warning") || false; 856 valid.text(checkfailed).show(); 857 checkresult.val(''); 858 } 859 else { 860 checkresult.val(obj.join(", ")); 861 valid.text('').hide(); 862 } 863 } 864 ,
865 $("form[name=user_data]").serialize() 866 867 ); 868 869 return result; 870} 871 872function serverchk2(_this, warning = false) { 873 var result = true; 874 ajax_synq($(_this).attr("chkurl"), function () { }, function (data) { 875 //еÑли Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð° найден, Ñо ÑообÑение 876 obj = JSON.parse(data); 877 if (!obj.length) { 878 result = false; 879 confirm_modal3("/user/mytwig/fio/", "OK", "Ðазад", function () { 880 if (compare(".compfirst", ".compsecond")) //еÑли знаÑÐµÐ½Ð¸Ñ ÑовпадаÑÑ (ÑоÑма закÑÑваеÑÑÑ, в ÑледÑÑÑий Ñаз не оÑкÑÑваеÑÑÑ) 881 { 882 $(".zvalid").text("").hide(); 883 $(".compfirst").addClass("compared"); 884 885 $("#user_data_REGISTRATION").click(); 886 $("#user_data_personaldata").focus(); 887 SCROLL_TO("#user_data_personaldata"); 888 $("#user_data_personaldata").blur(function(){console.log('fddddddddddddd');$(this).focus();}); 889 return true; 890 } 891 $(".zvalid").text("ÐведÑннÑе Ðами даннÑе не ÑовпадаÑÑ Ñ Ð²Ð²ÐµÐ´ÑннÑми Ñанее даннÑми. ÐÑовеÑÑÑе еÑÑ Ñаз.").show(); //(ÑоÑма не закÑÑваеÑÑÑ) 892 return false; 893 } 894 ); 895 } 896 } 897 , 898 $("form[name=user_data]").serialize() 899 900 ); 901return result; 902} 903 904//ÑвеÑиÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´Ð²ÑÑ ÐºÐ»Ð°ÑÑов 905function compare(class1, class2) { 906 if ($(class1).length != $(class2).length ) return false; 907 for (i = 0; i <= $(class1).length; i++){ 908 //if ($($(class1 + ":eq(" + i + ")")).val().trim()=="") return false; 909 if ($($(class1 + ":eq(" + i + ")")).val() != $($(class2 + ":eq(" + i + ")")).val()) return false; 910 } 911 return true; 912} 913 914//валидаÑÐ¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ Ð¿Ð¾ ÑегÑкÑÐ¿Ñ 915function validate() { 916 event.preventDefault(); 917 var result = true; 918 919 var regexp = new RegExp(/.*/i); 920 $("span.valid").text("").hide(); 921 $("button.report").hide(); 922 $("input.error").removeClass("error"); 923 $("input.ok").removeClass("ok"); 924 925 //пÑовеÑка required 926 $("input[required='required']").each( 927 function () { 928 var valid = $(this).parent().find("span.valid"); 929 if ($(this).val().trim()=="") { 930 valid.text('ÐÑо поле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ.').show(); 931 $(this).removeClass('ok').addClass('error'); 932 SCROLL_TO($(document).find(".error").eq(0)); 933 result = false;
934 } 935 else 936 { 937 valid.text('').hide(); 938 $(this).removeClass('error').addClass('ok'); 939 } 940 } 941 ); 942 943 $(".validate").not(".error").each( 944 function () { 945 //var valid = $(this).next(".valid"); 946 var valid = $(this).parent().find("span.valid"); 947 var report = $(this).next().next(".report"); 948 var equal = true; 949 //ÑÐ¸Ð¿Ñ ÑегÑлÑÑнÑÑ Ð²ÑÑажений 950 951 regexp = $(this).attr("regex") ? new RegExp($(this).attr("regex"), "i") : regexp; 952 953 equal = !$($(this).attr("equal1")).val() && !$($(this).attr("equal2")).val() || ($(this).val() == $($(this).attr("equal1")).val() || $(this).val() == $($(this).attr("equal2")).val()); 954 955 if (!regexp.exec($(this).val()) || $(this).val().includes("gmail.ru") || !equal) { 956 valid.text($(this).attr('invalid')).show(); 957 if (!equal) report.show(); 958 $(this).removeClass('ok').addClass('error'); 959 SCROLL_TO($(document).find(".error").eq(0)); 960 result = false; 961 } 962 else{ 963 valid.text('').hide(); 964 report.hide(); 965 $(this).removeClass('error').addClass('ok'); 966 } 967 } 968 ); 969 970 // ÑеÑвеÑÐ½Ð°Ñ Ð¿ÑовеÑка 1 (индекÑ) 971 $(".validate.serverchk").each( 972 function () { 973 result = result && serverchk($(this)); 974 } 975 ) 976 977 // ÑеÑвеÑÐ½Ð°Ñ Ð¿ÑовеÑка 2 978 $(".validate.serverchk2").each( 979 function () { 980 result = result && ($(this).hasClass("compared") || serverchk2($(this))); 981 } 982 ) 983 984 $("input[type=text].form-control").not(".error").addClass('ok'); 985 986 if (result) 987 { 988 $(".error").removeClass('error').addClass('ok'); 989 } 990 991 return result; 992} 993 994//ÑÐ¾Ð·Ð´Ð°ÐµÑ ÑоÑÐ¼Ñ Ð¸ Ð´ÐµÐ»Ð°ÐµÑ submit 995function create_and_submit(json) { 996 var form = document.createElement("form"); 997 var params = JSON.parse(json); 998 form.setAttribute("method", "post"); 999 form.setAttribute("action", params["path"]); 1000 _domain = params["domain"]; 1001 //form.setAttribute("target", "_blank"); 1002 for (var key in params) { 1003 if (params.hasOwnProperty(key)) { 1004 var hiddenField = document.createElement("input"); 1005 hiddenField.setAttribute("type", "hidden"); 1006 hiddenField.setAttribute("name", key); 1007 hiddenField.setAttribute("value", params[key]); 1008 1009 form.appendChild(hiddenField); 1010 } 1011 } 1012 1013 document.body.appendChild(form); 1014 form.submit(); 1015} 1016 1017// оÑпÑавлÑÐµÑ Ð´Ð°Ð½Ð½Ñе ÑоÑÐ¼Ñ 1018function sendForm(elem) { 1019 event.preventDefault(); 1020 var form = $(elem).closest("form"); 1021 var reset = $(elem).attr("trigger")==="reset"; // ÑбÑÐ¾Ñ ÑоÑÐ¼Ñ 1022 var nopopup = $(elem).attr("popup")==="no"; //инÑо popup 1023 var startmsg = $(elem).attr("startmsg")===undefined ? "ÐÑпÑавка даннÑÑ ..." : $(elem).attr("startmsg"); //ÑÑаÑÑ 1024 var errormsg = $(elem).attr("errormsg")===undefined ? "ÐÑибка оÑпÑавки даннÑÑ . ÐопÑобÑйÑе еÑе Ñаз." : $(elem).attr("errormsg"); //оÑибка 1025 $(".form-button").attr("disabled", true); 1026 1027 ajax_with_form( 1028 form, 1029 function () { if (!nopopup) serversuccess(startmsg,0); }, 1030 function (response) { 1031 1032 var json = JSON.parse(response); 1033 1034 1035 if (json.callback) eval(json.callback); 1036 if (!json.response.trim().startsWith('!!!')) { 1037 if (reset) { 1038 $(form).next(".formfiles").html(''); 1039 form.trigger('reset'); 1040 } 1041 if (!nopopup) serversuccess(json.response); 1042 } 1043 else 1044 servererror(json.response.trim().replace('!!!', '')); 1045 1046 $(".form-button").removeAttr("disabled"); 1047 1048 }, 1049 function (request, status, error) { 1050 servererror(errormsg); 1051 $(".form-button").removeAttr("disabled"); 1052 } 1053 ); 1054 return false; 1055} 1056 1057function search(bSubm, out) { 1058 1059 var bSubm = $(bSubm); 1060 var form = bSubm.closest("form"); 1061 var searchlink = bSubm.attr("link"); 1062 var linksuff = bSubm.attr("linksuff"); 1063 var partsLink = searchlink.split("/"); 1064 form.find("[target=search]").each(function () { 1065 if ($(this).val()) searchlink += ("/" + $(this).attr("search") + "=" + $(this).val()); 1066 }); 1067 form.find("[target=choicevalue]").each(function () { 1068 $('[choice-input-id=' + $(this).attr('choice-input') + ']').val($(this).val() ? '/' + $(this).val() : ''); 1069 }); 1070 form.find("[target=filter]").each(function () { 1071 var filter = $(this).prop('checked'), val = $(this).val(); 1072 if (val && filter) searchlink += $(this).val(); 1073 }); 1074 form.find("[target=hiddenfilter]").each(function () { 1075 if ($(this).val()) searchlink += $(this).val(); 1076 }); 1077 searchlink = searchlink.replace("enter_by_passport_input", '/' + form.find("[id*=passport_input]").val()); // поиÑк 1078 // по 1079 // паÑпоÑÑÑ 1080 ajax_asynq( 1081 searchlink + linksuff, 1082 function () { $("#" + out).html(spinner) }, 1083 function (response) { $("#" + out).html(spinner).html(response);infowidgets(); } 1084 ); 1085} 1086 1087//Ñпиок загÑÑженнÑÑ Ñайлов 1088function files_ready(uploaded) { 1089 var attachments = $("input[type=hidden].attachments"); 1090 var filename = uploaded.split(".")[0]; 1091 var ext = uploaded.split(".")[1]; 1092 if (attachments.val()) attachments.val(attachments.val() + ','); 1093 attachments.val(attachments.val() + "~tmp~_" + uploaded); 1094 if (ext.in_array(["jpeg", "jpg", "png", "gif"])) { 1095 if (ext == "png") $(".giftimage").val(filename); 1096 var imgs = $("#attachments_images_edit"); 1097 var imgf = imgs.attr("imgf");
1098 $("<div></div>").addClass("p-r attachcontainer").append(manageattachs("images")) 1099 .children().last().children().attr("file", "~tmp~_" + uploaded).last().parent().after("<img>") 1100 .next().addClass("w-100").attr("src", imgf + uploaded) 1101 .parent().appendTo(imgs); 1102 } 1103 else if (ext.in_array(["mp4", "flv", "f4v", "mov", "m4v"])) { 1104 var vds = $("#attachments_videos_edit"); 1105 var vdsf = vds.attr("vdsf"); 1106 var vurl = vds.attr("vurl"); 1107 var rand = '_' + Math.random().toString(36).substr(2, 16); 1108 $("<div></div>").addClass("p-r attachcontainer").append(manageattachs("videos")).children().last() 1109 .children().attr("file", "~tmp~_" + uploaded).last().parent().parent() 1110 .append('<video controls></video>').children().last() 1111 .attr("id", "videotag" + rand).attr("width", "100%").attr("height", "400px") 1112 .append('<source>').children().last().attr("src", vdsf + uploaded) 1113 .attr("onerror", "$(this).parent().replaceWith($(this).next());setflowplayer('flowplayer" + rand + "')") 1114 .parent().append('<div></div>').children().last().attr("href", vurl + uploaded) 1115 .attr("style", "width:100%;height:400px").attr("id", "flowplayer" + rand).parent().parent().appendTo(vds); 1116 } 1117 else { 1118 1119 var fls = $("#attachments_files_edit"); 1120 var flsf = fls.attr("flsf"); 1121 var spltr = "-_-_-_-_-_-"; 1122 var parts = uploaded.split(spltr); 1123 var dwnld = parts[0].replace(/_/g, " "); 1124 var ext = parts[1].split(".")[1]; 1125 $('<a target=_blank class="list-group-item p-r attachcontainer p-t-50"></a>') 1126 .append(manageattachs("files")).children().last() 1127 .children().attr("file", "~tmp~_" + uploaded).last().parent().parent() 1128 .append('<span class=badge></span>').attr("href", flsf + parts[1]) 1129 .attr("download", dwnld + "." + ext).find("span.badge").html(ext) 1130 .after(dwnld).parent().appendTo(fls); 1131 } 1132} 1133 1134//dz2 1135function dz(dz) { 1136 $(dz).on("dragover",function(){$(this).addClass("ok");}); 1137 1138 $(dz).on("dragleave",function(){$(this).removeClass("ok");}); 1139 1140 // иниÑиализаÑÐ¸Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° jQuery File Upload 1141 $(dz).fileupload({ 1142 1143 // ÑÑÐ¾Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð±ÑÐ´ÐµÑ Ð¿ÑинимаÑÑ Ð¿ÐµÑеÑаÑкиваемÑе на него ÑÐ°Ð¹Ð»Ñ 1144 dropZone: $(dz), 1145 1146 // ФÑнкÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð²Ñзвана пÑи помеÑении Ñайла в оÑеÑÐµÐ´Ñ 1147 add: function (e, data) { 1148 //console.log(''); 1149 ajax_file($(`input[for='#${$(dz).attr("id")}']`),data); 1150 }, 1151 1152 progress: function (e, data) { 1153 1154 }, 1155 1156 fail: function (e, data) { 1157 }, 1158 done: function (e, data) { 1159 1160 } 1161 1162 1163 1164 }); 1165 1166 $(document).on('drop dragover', function (e) { 1167 e.preventDefault(); 1168 }); 1169 1170} 1171 1172function dropZoneInit(formId = "multiple_d_d_upload_file", dropZoneId = "drop") { 1173 var ul = $('#' + formId + ' ul'); 1174 1175 $('#' + dropZoneId + ' a').click(function () { 1176 // имиÑаÑÐ¸Ñ Ð½Ð°Ð¶Ð°ÑÐ¸Ñ Ð½Ð° поле вÑбоÑа Ñайла 1177 $(this).parent().find('input').click(); 1178 }); 1179 1180 // иниÑиализаÑÐ¸Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° jQuery File Upload 1181 $('#' + formId).fileupload({ 1182 1183 // ÑÑÐ¾Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð±ÑÐ´ÐµÑ Ð¿ÑинимаÑÑ Ð¿ÐµÑеÑаÑкиваемÑе на него ÑÐ°Ð¹Ð»Ñ 1184 dropZone: $('#' + dropZoneId), 1185 1186 // ФÑнкÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð²Ñзвана пÑи помеÑении Ñайла в оÑеÑÐµÐ´Ñ 1187 add: function (e, data) { 1188 1189 var tpl = $('<li class="list-group-item"><input type="text" value="0" data-width="48" data-height="48"' + 1190 ' data-fgColor="#0788a5" data-readOnly="1" data-bgColor="#3e4043" /><span class=badge></span><span class="filename fnt3"></span></li>'); 1191 1192 // вÑвод имени и ÑазмеÑа Ñайла 1193 tpl.find('span.badge').html(formatFileSize(data.files[0].size)); 1194 if (parseInt(data.files[0].size) > 260 * 1024 * 1024) { alert("Ð Ð°Ð·Ð¼ÐµÑ Ñайла пÑевÑÑÐ°ÐµÑ 250 ÐÐ!"); return; } 1195 tpl.find('span.filename').html(data.files[0].name); 1196 1197 data.context = tpl.appendTo(ul); 1198 1199 // иниÑиализаÑÐ¸Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° jQuery Knob 1200 tpl.find('input').knob(); 1201 1202 // оÑÑлеживание нажаÑÐ¸Ñ Ð½Ð° Ð¸ÐºÐ¾Ð½ÐºÑ Ð¾ÑÐ¼ÐµÐ½Ñ 1203 tpl.find('span').click(function () { 1204 1205 if (tpl.hasClass('working')) { 1206 jqXHR.abort(); 1207 } 1208 1209 tpl.fadeOut(function () { 1210 tpl.remove(); 1211 }); 1212 1213 }); 1214 1215 // ÐвÑомаÑиÑеÑки загÑÑжаем Ñайл пÑи добавлении в оÑеÑÐµÐ´Ñ 1216 var jqXHR = data.submit(); 1217 }, 1218 1219 progress: function (e, data) { 1220 1221 // ÐÑÑиÑление пÑоÑенÑа загÑÑзки 1222 var progress = parseInt(data.loaded / data.total * 100, 10); 1223 1224 // обновлÑем ÑÐºÐ°Ð»Ñ 1225 data.context.find('input').val(progress).change(); 1226 1227 if (progress == 100) { 1228 data.context.removeClass('working'); 1229 } 1230 }, 1231 1232 fail: function (e, data) {
1233 // ÑÑо-Ñо поÑло не Ñак 1234 data.context.addClass('error'); 1235 }, 1236 done: function (e, data) { 1237 var uploaded = data.response().result.replace(/[\n\r\s]/g, ''); 1238 var li = data.context; 1239 var msg_el = li.find("span.filename"); 1240 var msg = "<br><i class='fa fa-spinner fa-spin fa-2x'></i> ÐодождиÑе, Ð¸Ð´ÐµÑ ÐºÐ¾Ð½Ð²ÐµÑÑаÑÐ¸Ñ Ð²Ð¸Ð´ÐµÐ¾Ñайла..."; 1241 var old_text = msg_el.html(); 1242 if (uploaded.substr(0, 3) == "err") // конвеÑÑаÑÐ¸Ñ Ð²Ð¸Ð´ÐµÐ¾ 1243 ajax_asynq("/convertvideo/" + uploaded.split("_")[1], function () { msg_el.html(msg_el.html() + msg); }, 1244 function (data) { msg_el.html(old_text); li.addClass('ok'); files_ready(data) }); 1245 else { 1246 li.addClass('ok') 1247 files_ready(uploaded); 1248 } 1249 1250 } 1251 1252 1253 1254 }); 1255 1256 $(document).on('drop dragover', function (e) { 1257 e.preventDefault(); 1258 }); 1259 1260 // вÑпомогаÑелÑÐ½Ð°Ñ ÑÑнкÑиÑ, коÑоÑÐ°Ñ ÑоÑмаÑиÑÑÐµÑ ÑÐ°Ð·Ð¼ÐµÑ Ñайла 1261 function formatFileSize(bytes) { 1262 if (typeof bytes !== 'number') { 1263 return ''; 1264 } 1265 1266 if (bytes >= 1000000000) { 1267 return (bytes / 1000000000).toFixed(2) + ' GB'; 1268 } 1269 1270 if (bytes >= 1000000) { 1271 return (bytes / 1000000).toFixed(2) + ' MB'; 1272 } 1273 1274 return (bytes / 1000).toFixed(2) + ' KB'; 1275 } 1276} 1277function fullresetform(form) { 1278 $(form).trigger('reset'); 1279 $('.chosen').trigger("chosen:updated"); 1280 $(form).find("[type=hidden]").val(""); 1281 $(form).find("textarea").each(function () { 1282 1283 var ckeinst = $(this).attr("id"); 1284 if (CKEDITOR.instances[ckeinst]) CKEDITOR.instances[ckeinst].setData(""); 1285 1286 }); 1287 swap = swaptype = false;
1288 $('.fa-spin').removeClass('fa-spin'); 1289 $('#attachments_images_edit,#attachments_videos_edit,#attachments_files_edit').html(""); 1290} 1291 1292function servererror(request, status, error, time = 6000) { // ÑообÑение еÑли оÑибка ÑеÑвеÑа 1293 if (request.status===0) return; 1294 serversuccess(); 1295 var msg = (request.status === undefined ? request : 'ÐÑибка ' + request.status); 1296 if (time) 1297 $('.servererror').html(msg).slideToggle( 1298 'fast', 1299 'linear', 1300 function () { 1301 setTimeout( 1302 function () { 1303 $('.servererror').slideToggle( 1304 'fast', 1305 'linear', 1306 function () { 1307 $('.servererror').html('').hide(); 1308 } 1309 ); 1310 }, 1311 time 1312 ); 1313 } 1314 ); 1315 1316 1317} 1318 1319function serversuccess(msg = "", time = 6000) { // вÑвеÑÑи ÑообÑение 1320 1321 var after = (time ? // ÑеÑез ÑколÑко ÑбÑаÑÑ; 0- навÑегда 1322 function () { 1323 $('.serversuccess').slideToggle( 1324 'fast', 1325 'linear', 1326 function () { 1327 $('.serversuccess').html('').hide(); 1328 } 1329 ); 1330 } 1331 : 1332 function () { } 1333 ); 1334 1335 if (tID) { clearTimeout(tID) }; // ÑбÑаÑÑ Ð¿ÑедÑдÑÑие ÑообÑÐµÐ½Ð¸Ñ 1336 1337 if (time) 1338 $('.serversuccess').slideUp('fast', 'linear'); 1339 else 1340 $('.serversuccess').hide(); 1341 if (!msg) return; 1342 if (time) 1343 $('.serversuccess').html(msg).slideToggle( 1344 'fast', 1345 'swing', 1346 function () { 1347 tID = setTimeout( 1348 after, 1349 time 1350 ); 1351 } 1352 ); 1353 else 1354 $('.serversuccess').html(msg).show(); 1355} 1356 1357//оÑпÑавиÑÑ Ñайл из инпÑÑа 1358function ajax_file( 1359 input, 1360 data = null, 1361 error = function (request, status, error) { 1362 servererror(request, status, error) 1363 } 1364) { 1365 var fd = new FormData; 1366 var _input = input; 1367 var file = data==null ? $(input).prop('files')[0] : data.files[0]; 1368 1369 if (file==undefined) { return; } 1370 1371 if (parseInt(file.size) > 100 * 1024 * 1024) { alert("Ð Ð°Ð·Ð¼ÐµÑ Ñайла пÑевÑÑÐ°ÐµÑ 100 ÐÐ!"); return; } 1372 1373 if (!file.type.match("(application\/pdf|image\/jpeg|image\/png)") && !file.type.match($(input).attr("extensions"))) { alert("ÐеподдеÑживаемÑй ÑоÑÐ¼Ð°Ñ Ñайла!"); return; } 1374 1375 fd.append($(input).attr('name'), file); // добавление даннÑÑ 1376 1377 fd.append('param', $(input).attr('param')); // добавление даннÑÑ 1378 1379 1380 1381 $.ajax({ 1382 url: $(input).attr('dest'), 1383 type: "POST", 1384 data: fd, 1385 cache: false, 1386 processData: false, 1387 contentType: false, 1388 beforeSend: function () { $($(_input).attr('result')).html("Ðжидание..."); $($(_input).attr("for")).val('ÐодождиÑе, Ñайл загÑÑжаеÑÑÑ...'); }, 1389 success: function (html) { 1390 $($(_input).attr('result')).html(html); 1391 $(_input).val(''); 1392 html = html.split("-_-_-_-_-_-").reverse()[0]; 1393 $($( _input).attr("for")).val(html); 1394 $(".zhidden").val(html); 1395 var href = $(_input).attr("ztype")=="simple" ? 1396 "<div><a target=_blank href='/web/upload/attachments/" + html.trim() + "'>Ðложение</a><i onclick='$(this).parent().remove();$(\".zhidden\").val(\"\")' class='fa fa-times fa-1x'></i></div>" : 1397 "<a class='fancybox ' target=_blank href='"+ 1398 (html.includes($($(_input).attr("for")).attr("prefix"))? $($(_input).attr("for")).attr("storage") + "/web/ext/mime.php?host=local&file="+$($(_input).attr("for")).attr("prefix"):"") 1399 +"/web/upload/attachments" + 1400 html.trim().replace($($(_input).attr("for")).attr("prefix"),"") + 1401 "'><img class=imgerr width=300 height=300 src='"+ 1402 (html.includes($($(_input).attr("for")).attr("prefix"))? $($(_input).attr("for")).attr("storage") + "/web/ext/mime.php?host=local&file="+$($(_input).attr("for")).attr("prefix"):"") 1403 +"/web/upload/attachments/" + 1404 html.trim().replace($($(_input).attr("for")).attr("prefix"),"") + 1405 "'></a><i title = 'УдалиÑÑ' onclick='$($(this).parent().attr(\"for\")).val(\"\");$(this).parent().html(\"\");' class='cursor-p fa fa-times fa-2x'></i>"; 1406 $("div[for=" + $(_input).attr("for") + "]").html(href); 1407 1408 $('.imgerr').unbind("error").error( 1409 function () { 1410 $(this).attr('src', "/web/graphics/pdf2.png"); 1411 } 1412 ); 1413 }, 1414 error: error 1415 }); 1416} 1417 1418//оÑпÑавиÑÑ Ñайл из инпÑÑа 1419function ajax_file_old( 1420 input, 1421 data = null, 1422 error = function (request, status, error) { 1423 servererror(request, status, error) 1424 } 1425) { 1426 var fd = new FormData; 1427 var _input = input; 1428 var file = data==null ? $(input).prop('files')[0] : data.files[0]; 1429 1430 if (file==undefined) { return; } 1431 1432 if (parseInt(file.size) > 100 * 1024 * 1024) { alert("Ð Ð°Ð·Ð¼ÐµÑ Ñайла пÑевÑÑÐ°ÐµÑ 100 ÐÐ!"); return; } 1433 1434 if (!file.type.match("(application\/pdf|image\/jpeg|image\/png)")) { alert("ÐеподдеÑживаемÑй ÑоÑÐ¼Ð°Ñ Ñайла!"); return; } 1435 1436 fd.append($(input).attr('name'), file); // добавление даннÑÑ 1437 1438 1439 1440 $.ajax({ 1441 url: $(input).attr('dest'), 1442 type: "POST", 1443 data: fd, 1444 cache: false, 1445 processData: false, 1446 contentType: false, 1447 beforeSend: function () { $($(_input).attr("for")).val('ÐодождиÑе, Ñайл загÑÑжаеÑÑÑ...'); }, 1448 success: function (html) { 1449 $( _input).val(''); 1450 html = html.split("-_-_-_-_-_-").reverse()[0]; 1451 $($( _input).attr("for")).val(html); 1452 $(".zhidden").val(html); 1453 var href = $(_input).attr("ztype")=="simple" ? 1454 "<div><a target=_blank href='/web/upload/attachments/" + html.trim() + "'>Ðложение</a><i onclick='$(this).parent().remove();$(\".zhidden\").val(\"\")' class='fa fa-times fa-1x'></i></div>" : 1455 "<a class='fancybox ' target=_blank href='/web/upload/attachments/" + html.trim() + "'><img class=imgerr width=300 height=300 src='/web/upload/attachments/" + html.trim() + "'></a><i title = 'УдалиÑÑ' onclick='$($(this).parent().attr(\"for\")).val(\"\");$(this).parent().html(\"\");' class='cursor-p fa fa-times fa-2x'></i>"; 1456 $("div[for=" + $(_input).attr("for") + "]").html(href); 1457 1458 $('.imgerr').unbind("error").error( 1459 function () { 1460 $(this).attr('src', "/web/graphics/pdf2.png"); 1461 } 1462 ); 1463 }, 1464 error: error 1465 }); 1466} 1467 1468function ajax_asynq( 1469 script, 1470 start = function () { }, 1471 end = function () { }, 1472 data = {}, 1473 error = function (request, status, error) { 1474 servererror(request, status, error) 1475 } 1476) { 1477 if (script == "nolink") return false;
1478 $.ajax({ 1479 url: script, 1480 type: "POST", 1481 data: data, 1482 cache: false, 1483 beforeSend: start, 1484 success: end, 1485 error: error 1486 }); 1487} 1488 1489function ajax_asynq_simple(script) { 1490 $.ajax({ url: script, cache: false }); 1491} 1492function benefitSubmit(bSubm) { 1493 var data = {}; 1494 var bSubm = $(bSubm); 1495 var benefit = bSubm.prev("input[data-type=benefit]"); 1496 data["number"] = benefit.val(); 1497 ajax_asynq( 1498 '/benefit', 1499 function () { bSubm.next('#valid').removeClass('valid').html(spinner) }, 1500 function (response) { 1501 if (response == "00000") { 1502 bSubm.next('#valid').addClass('valid').text('ÐевеÑнÑй номеÑ'); 1503 } 1504 if (response != "00000" && response != "") { 1505 location.href = response; 1506 } 1507 }, 1508 data 1509 ); 1510} 1511 1512//пÑовеÑка логина (иÑполÑзÑеÑÑÑ Ð¿Ñи ÑегиÑÑÑаÑии) 1513function checklogin(bSubm) { 1514 event.preventDefault(); 1515 var data = {}; 1516 var form = $(bSubm).closest("form"); 1517 var bSubm = $(bSubm); 1518 var login = form.find("input[data-type=login]"); 1519 var answer = form.find("#user_data_user_answer").val(); 1520 var mask = form.find("#user_data_mask").val(); 1521 if (!emailValidation()) return false; 1522 1523 /*form.find("[required],[required=ok]").each(function () { 1524 var value = $(this).val(); 1525 if (!value) { 1526 1527 } 1528 });*/ 1529 1530 data = $("form[name=user_data]").serialize(); 1531 1532 ajax_asynq( 1533 '/chk', 1534 function () { $("#user_data_REGISTRATION").attr("disabled", "disabled"); serversuccess('ÐодождиÑе, пожалÑйÑÑа. ÐÐ´ÐµÑ ÑегиÑÑÑаÑиÑ...', 0) }, 1535 function (response) { 1536 //$(form).find("[type=submit]").click(); 1537 login.addClass('ok').removeClass('error'); 1538 form.find('#valid').text('').hide(); 1539 1540 if (form.find("#user_data_user_answer").length>0) 1541 ajax_asynq('/captcha',null,function(response){bSubm.removeAttr("disabled"); 1542 if (response==1) $(form).find("[type=submit]").trigger("click"); else servererror('ÐепÑавилÑно Ð²Ð²ÐµÐ´ÐµÐ½Ñ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ñ ÐºÐ°ÑÑинки!');},"answer="+answer); 1543 else 1544 $(form).find("[type=submit]").trigger("click"); 1545 }, 1546 data, 1547 function (request, status, error) { 1548 var json = JSON.parse(request.responseText.trim()); 1549 var msgs = {"username":"ÐÑÐ¾Ñ Ð»Ð¾Ð³Ð¸Ð½ Ñже иÑполÑзÑеÑÑÑ Ð² ÑиÑÑеме. ÐведиÑе дÑÑгой.", "phone":"ÐÑÐ¾Ñ ÑелеÑон Ñже иÑполÑзÑеÑÑÑ Ð² ÑиÑÑеме.ÐведиÑе дÑÑгой."}; 1550 1551 for(var key in msgs) 1552 1553 if (json[key]==1) { 1554 console.log(key); 1555 $(`#user_data_${key}`).removeClass('ok').addClass('error'); 1556 $(`#user_data_${key}`).next('.valid').text(msgs[key]).show(); 1557 } 1558 1559 1560 //login.next('.valid').text(msg).show(); 1561 $("#user_data_REGISTRATION").removeAttr("disabled"); 1562 serversuccess(""); 1563 } 1564 ); 1565} 1566 1567/*function submitlogin(event, bSubm, admin = 0) // ÑоÑма логина (Ñ ÑÐ¸Ð½Ñ ÑонизаÑией 1568// паÑолÑ) 1569{ 1570 1571 var data = {}; 1572 var form = $(document).find("#login_form"); 1573 var bSubm = $(bSubm); 1574 var login = form.find("input[data-type=login]"); 1575 $('#username').val($('#username').val().trim()); 1576 $('#password').val($('#password').val().trim()); 1577 event.preventDefault(); // пÑедоÑвÑаÑиÑÑ Ð¾Ð±ÑÑнÑй submit 1578 data["username"] = $('#username').val(); 1579 if (admin) // Ð°Ð´Ð¼Ð¸Ð½Ñ Ð½Ðµ надо ÑÐ¸Ð½Ñ ÑонизиÑоваÑÑ Ð¿Ð°ÑÐ¾Ð»Ñ 1580 { 1581 1582 $(bSubm).prop("disabled", true); 1583 ajax_asynq('/chk',null,function(){form.find("[type=submit]").click();},$(form).serialize(), function (request, status, error) { 1584 var msg = (request.responseText.trim() == "checked" ? 1585 'ÐÑÐ¾Ñ Ð»Ð¾Ð³Ð¸Ð½ Ñже иÑполÑзÑеÑÑÑ Ð² ÑиÑÑеме' 1586 : 1587 'ÐÑибка Ð²Ñ Ð¾Ð´Ð°. ÐопÑобÑйÑе еÑе Ñаз.' 1588 ) 1589 $(bSubm).prop("disabled", false); 1590 login.removeClass('ok').addClass('error'); 1591 login.next('.valid').text(msg).show(); 1592 1593 serversuccess(""); 1594 }); 1595 } 1596 else 1597 ajax_asynq( 1598 '/syncpsw', 1599 function () { serversuccess("Ð¡Ð¸Ð½Ñ ÑонизаÑÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ñ Ð¿Ð¾ÑÑÑолио..."); $(bSubm).attr("disabled", "disabled"); }, 1600 function () { 1601 serversuccess(""); 1602 form.submit(); 1603 }, 1604 data, 1605 function (request, status, error) { 1606 servererror("ÐÑибка Ð²Ñ Ð¾Ð´Ð°. ÐопÑобÑйÑе еÑе Ñаз."); 1607 $(bSubm).removeAttr("disabled"); 1608 } 1609 ); 1610}*/ 1611 1612 1613function submitlogin(event, bSubm, admin = 0) // ÑоÑма логина (Ñ ÑÐ¸Ð½Ñ ÑонизаÑией 1614// паÑолÑ) 1615{ 1616 var data = {}; 1617 var form = $(document).find("#login_form"); 1618 var bSubm = $(bSubm); 1619 var login = form.find("input[data-type=login]"); 1620 $('#username').val($('#username').val().trim()); 1621 $('#password').val($('#password').val().trim()); 1622 event.preventDefault(); // пÑедоÑвÑаÑиÑÑ Ð¾Ð±ÑÑнÑй submit 1623 data["username"] = $('#username').val(); 1624 if (admin) // Ð°Ð´Ð¼Ð¸Ð½Ñ Ð½Ðµ надо ÑÐ¸Ð½Ñ ÑонизиÑоваÑÑ Ð¿Ð°ÑÐ¾Ð»Ñ 1625 { 1626 form.find("[type=submit]").click(); 1627 $(bSubm).attr("disabled", "disabled"); 1628 } 1629 else 1630 ajax_asynq( 1631 '/syncpsw', 1632 function () { serversuccess("Ð¡Ð¸Ð½Ñ ÑонизаÑÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ñ Ð¿Ð¾ÑÑÑолио..."); $(bSubm).attr("disabled", "disabled"); }, 1633 function () { 1634 serversuccess(""); 1635 form.submit(); 1636 }, 1637 data, 1638 function (request, status, error) { 1639 servererror("ÐÑибка Ð²Ñ Ð¾Ð´Ð°. ÐопÑобÑйÑе еÑе Ñаз."); 1640 $(bSubm).removeAttr("disabled"); 1641 } 1642 ); 1643} 1644 1645 1646function clickrecoverybutton(bSubm) { 1647 var data = {}; 1648 var form = $(bSubm).closest("form"); 1649 var bSubm = $(bSubm); 1650 var mail = form.find("input[data-type=login]"); 1651 mail.val(mail.val().trim()); 1652 data["username"] = mail.val(); 1653 if (!emailValidation()) { 1654 if (mail.val()) form.find('#valid').text('ÐбÑаÑиÑеÑÑ Ðº ÑегиÑÑÑиÑÑÑÑÐµÐ¼Ñ Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°ÑолÑ').show(); 1655 return; 1656 } 1657 mail.removeClass('error').addClass('ok'); 1658 form.find('#valid').text('').addClass('d-n'); 1659 ajax_asynq( 1660 '/chk', 1661 function () { }, 1662 function (response) { 1663 mail.removeClass('ok').addClass('error'); 1664 form.find('#valid').text('Такого логина Ð½ÐµÑ Ð² ÑиÑÑеме').removeClass('d-n'); 1665 }, 1666 form.serialize(), 1667 function (request, status, error) { 1668 ajax_with_file( 1669 $(bSubm).closest("form").attr("id"), 1670 function () { 1671 $("#updated").hide(); 1672 $("#loading").show(); 1673 }, 1674 function () { 1675 $("#loading").hide(); 1676 $("#updated").slideDown(); 1677 } 1678 ); 1679 } 1680 ); 1681} 1682 1683function modalWin(header, _this) { 1684 var elem = $(_this); 1685 1686 var ajaxLink = elem.attr('editlink'); 1687 1688 $('#mini-modal .modal-title').html(header) 1689 1690 ajax_asynq( 1691 ajaxLink, 1692 function () { 1693 $('#mini-modal .modal-body').html(spinner); 1694 }, 1695 function (html) { 1696 $('#mini-modal .modal-body').html(html); 1697 class_nice(); 1698 } 1699 ); 1700 1701 elem.addClass('___active_window_caller___'); 1702 1703 $('#mini-modal').modal({backdrop: 'static', keyboard: false}); 1704 1705 1706} 1707 1708 1709function sendformfrommodal( 1710 elem, 1711 beginmessage = "ÐодождиÑе, дейÑÑвие вÑполнÑеÑÑÑ...", 1712 endmessage = "ÐÑполнено!", 1713 errorcallback = function (request, status, error) { 1714 servererror(request, status, error) 1715 } 1716) { 1717 var form = $(elem).closest("form"); 1718 var flag = true; 1719 form.find("[required],[required=ok]").each(function () { 1720 if (flag) { 1721 var input = $(this).closest("div"); 1722 var value = $(this).val(); 1723 /* 1724 * if(this.tagName=="SELECT" && $(this).hasClass("chosen")) { input = 1725 * $("#" + $(this).attr("id") + "_chosen"); } 1726 */ 1727 if (!value) { 1728 flag = false;
1729 input.attr("title", $(this).attr("title")) 1730 .attr("data-placement", $(this).attr("data-placement")) 1731 .focus().tooltip('show'); 1732 $(".modal").animate({ scrollTop: input.get(0).offsetTop }, 500); 1733 1734 } 1735 1736 } 1737 }); 1738 form.find("[limited=ok]").each(function () { 1739 if (flag) { 1740 if (this.tagName == "TEXTAREA") { 1741 var ckeDiv = $("#cke_" + $(this).attr("id")); 1742 var ckeTop = ckeDiv.get(0).offsetTop; 1743 var ckeStringLength = CKEDITOR.instances[$(this).attr("id")].getData().length; 1744 var limit = $(this).attr('lmt'); 1745 var title = $(this).attr('title'); 1746 var dataPlacement = $(this).attr('data-placement'); 1747 var overlimit = ckeStringLength >= limit; 1748 var blank = $(this).attr('nonblank') == "ok" && ckeStringLength == 0; 1749 if (overlimit || blank) { 1750 flag = false; 1751 ckeDiv.attr("title", title).attr("data-placement", dataPlacement).focus().tooltip('show'); 1752 $(".modal").animate({ scrollTop: ckeTop }, 500); 1753 1754 } 1755 } 1756 } 1757 }); 1758 if (flag) { 1759 $(form).find("textarea").each(function () { 1760 1761 var ckeinst = $(this).attr("id"); 1762 if (CKEDITOR.instances[ckeinst]) CKEDITOR.instances[ckeinst].updateElement(); 1763 1764 }); 1765 ajax_with_form( 1766 form, 1767 function () { 1768 $("div#onsendmessage").find("#___beginmessage").html(beginmessage); 1769 $("div#onsendmessage").show().next().hide(); 1770 $(".postupdate").html(spinner); 1771 $(elem).prop('disabled', true); 1772 }, 1773 function (response) { 1774 var firstresponse = response; 1775 var window_caller = $(".___active_window_caller___"); 1776 if (window_caller.length == 1) { 1777 if (window_caller.hasClass("add-button-norenew")) { 1778 $("div#onsentmessage").find("#___endmessage").html(endmessage); 1779 $("div#onsentmessage").slideDown().prev().hide(); 1780 $(elem).prop('disabled', false); fullresetform(form); 1781 return; 1782 } 1783 var itsEditButton = window_caller.hasClass("edit-button"); 1784 var itsAddButton = window_caller.hasClass("add-button"); 1785 if (itsEditButton || itsAddButton) { 1786 var renewlink = window_caller.attr("renew"); 1787 if (renewlink) { 1788 var editableid = window_caller.attr("editableitem"), editablebodies = false, 1789 editablefullbodies = false; 1790 1791 if (itsEditButton && editableid) { 1792 editablebodies = $(".resoursebody" + editableid); 1793 editablefullbodies = $(".fullresoursebody" + editableid); 1794 } 1795 if (itsEditButton || itsAddButton) { 1796 if (itsAddButton) { 1797 var idadded = firstresponse.replace(/[\n\r\s]/g, ''); 1798 var numeric = idadded.match(/\d+/g); 1799 if (numeric) renewlink = renewlink.replace(/(\[ID\])/g, idadded); 1800 } 1801 ajax_asynq( 1802 renewlink, 1803 function () { 1804 if (itsEditButton) console.log("обновление"); 1805 else if (itsAddButton) console.log("добавление"); 1806 if (itsEditButton) editablebodies.html(spinner); 1807 if (itsEditButton) editablefullbodies.html(spinner); 1808 }, 1809 function (response) { 1810 if (itsEditButton) { 1811 var slidehtml = $(response), bodyslide; 1812 slidehtml.find(".edit-button").first().addClass('___active_window_caller___'); 1813 bodyslide = slidehtml.find(".resoursebody" + editableid); 1814 editablebodies.replaceWith(bodyslide.clone(true, true)); 1815 editablefullbodies.replaceWith(slidehtml); 1816 } 1817 else if (itsAddButton) { 1818 var addtop = window_caller.hasClass("add-top"); 1819 var adddown = window_caller.hasClass("add-down"); 1820 if (addtop) 1821 added = window_caller.before(response).prev(); 1822 else if (adddown) 1823 added = window_caller.after(response).next(); 1824 SCROLL_TO(added); 1825 } 1826 }, 1827 {}, 1828 errorcallback 1829 ); 1830 } 1831 } 1832 } 1833 } 1834 $("div#onsentmessage").find("#___endmessage").html(endmessage); 1835 $("div#onsentmessage").slideDown().prev().hide(); 1836 $(elem).prop('disabled', false); 1837 if (itsAddButton) fullresetform(form); 1838 1839 $(".postupdate").html("ÐÑвеÑÑ ÑÐ¾Ñ ÑаненÑ"); // Ð´Ð»Ñ Ð¾ÑвеÑов ÑеÑÑа 1840 }, 1841 {}, 1842 errorcallback 1843 1844 ); 1845 return; 1846 } 1847} 1848 1849 1850function startSlidingProcess() { 1851 slidingProcess = true; 1852} 1853function stopSlidingProcess() { 1854 slidingProcess = false;
1855} 1856function sliding() { 1857 return slidingProcess; 1858} 1859// ФÑнкÑÐ¸Ñ Ð¿Ð¾Ð´Ð³ÑÑзки Ñлайдов. ÐÑи пÑомоÑке подгÑÑÐ¶Ð°ÐµÑ ÑлайдÑ, еÑли они еÑÑÑ Ð¸ 1860// еÑли они еÑÑ Ð½Ðµ бÑли подгÑÑÐ¶ÐµÐ½Ñ 1861function slide(to) { 1862 // alert("ÐеÑемоÑка Ñ Ð¿Ð¾Ð´Ð³ÑÑзкой Ñлайдов"); 1863 $currentIdent = $("#big-modal .carousel-inner div.item.active").attr("slide-identificator"); 1864 if (to == "prev") { 1865 // alert("ÐоÑаем назад"); 1866 add_right_narrow(); 1867 $prevSlidesNum = $("#big-modal .carousel-inner div.item.active[slide-identificator=" + $currentIdent + "]").prev().prev().length; 1868 1869 if (!$prevSlidesNum) { 1870 // alert("ÐÑедÑдÑÑие ÑÐ»Ð°Ð¹Ð´Ñ Ð½Ðµ бÑли еÑÑ Ð¿Ð¾Ð´Ð³ÑÑженÑ. СейÑÐ°Ñ Ð¿ÑовеÑим, 1871 // имеÑÑÑÑ Ð»Ð¸ они вообÑе"); 1872 $prevPrevDivLink = $("div[identificator=" + $currentIdent + "]").prev().prev().attr("more"); 1873 if ($prevPrevDivLink) { 1874 // alert("ÐÑÑÑ ÐµÑÑ Ð¿ÑедÑдÑÑие ÑлайдÑ, подгÑÑжаем Ð¸Ñ "); 1875 $prevPrevDivIdent = $("div[identificator=" + $currentIdent + "]").prev().prev().attr("identificator"); 1876 ajax_asynq( 1877 $prevPrevDivLink, 1878 function () { 1879 $("#big-modal .carousel-inner").prepend('<div slide-identificator="' + $prevPrevDivIdent + '" class="item"></div>'); 1880 }, 1881 function (html) { 1882 $("div[slide-identificator=" + $prevPrevDivIdent + "]").html(html); 1883 } 1884 ); 1885 1886 } else {/* alert("ÐÑедÑдÑÑÐ¸Ñ Ñлайдов болÑÑе неÑ"); */remove_left_narrow(); } 1887 }// else alert("ÐÑедÑдÑÑие неÑколÑко Ñлайдов Ñже бÑли подгÑÑженÑ"); 1888 } 1889 if (to == "next") { 1890 // alert("ÐоÑаем впеÑÑд"); 1891 add_left_narrow(); 1892 $nextSlidesNum = $("#big-modal .carousel-inner div.item.active[slide-identificator=" + $currentIdent + "]").next().next().length; 1893 if (!$nextSlidesNum) { 1894 // alert("СледÑÑÑие ÑÐ»Ð°Ð¹Ð´Ñ Ð½Ðµ бÑли еÑÑ Ð¿Ð¾Ð´Ð³ÑÑженÑ. СейÑÐ°Ñ Ð¿ÑовеÑим, 1895 // имеÑÑÑÑ Ð»Ð¸ они вообÑе"); 1896 $nextNextDivLink = $("div[identificator=" + $currentIdent + "]").next().next().attr("more"); 1897 if ($nextNextDivLink) { 1898 // alert("ÐÑÑÑ ÐµÑÑ ÑледÑÑÑие ÑлайдÑ, подгÑÑжаем Ð¸Ñ "); 1899 $nextNextDivIdent = $("div[identificator=" + $currentIdent + "]").next().next().attr("identificator"); 1900 ajax_asynq( 1901 $nextNextDivLink, 1902 function () { 1903 $("#big-modal .carousel-inner").append('<div slide-identificator="' + $nextNextDivIdent + '" class="item"></div>'); 1904 }, 1905 function (html) { 1906 $("div[slide-identificator=" + $nextNextDivIdent + "]").html(html); 1907 } 1908 ); 1909 } else {/* alert("СледÑÑÑÐ¸Ñ Ñлайдов болÑÑе неÑ"); */remove_right_narrow(); } 1910 }// else alert("СледÑÑÑие неÑколÑко Ñлайдов Ñже бÑли подгÑÑженÑ"); 1911 } 1912 1913} 1914 1915function confirm_modal(msgtype, btnYes, btnNo, callback) { 1916 msg = definedmsg[msgtype]; 1917 bootbox.confirm({ 1918 message: msg, 1919 buttons: { 1920 cancel: { 1921 label: btnNo, 1922 className: 'btn-danger pull-right' 1923 }, 1924 confirm: { 1925 label: btnYes, 1926 className: 'btn-success pull-left' 1927 } 1928 1929 }, 1930 callback: function (result) { 1931 if (result) callback(); 1932 } 1933 }); 1934 1935} 1936 1937function confirm_modal2(msg, btnYes, btnNo, callback) { 1938 bootbox.confirm({ 1939 message: msg, 1940 buttons: { 1941 cancel: { 1942 label: btnNo, 1943 className: 'btn-danger pull-right' 1944 }, 1945 confirm: { 1946 label: btnYes, 1947 className: 'btn-success pull-left' 1948 } 1949 1950 }, 1951 callback: function (result) { 1952 if (result) callback(); 1953 } 1954 }); 1955 1956} 1957 1958function confirm_modal3(link, btnYes = "OK", btnNo = "Ðазад", callback = function () { },data=null) { 1959 bootbox.confirm({ 1960 message: curl(link,data), 1961 buttons: { 1962 cancel: { 1963 label: btnNo, 1964 className: 'btn-danger pull-right' 1965 }, 1966 confirm: { 1967 label: btnYes, 1968 className: 'btn-success pull-left' 1969 } 1970 1971 }, 1972 callback: function (result) { 1973 if (result) { 1974 return callback(); } 1975 } 1976 }); 1977 1978 if (btnYes ===false) $("[data-bb-handler=confirm]").addClass('d-n'); 1979 if (btnNo ===false) $("[data-bb-handler=cancel]").addClass('d-n'); 1980 1981} 1982 1983 1984function close_modal(identificator = "undefined") { 1985 $('#big-modal').modal("hide"); 1986} 1987 1988 1989function show_modal(elem, one = false, url = "", options = {backdrop: 'static', keyboard: false}) { 1990 1991 elem = one ? $(elem) : $(elem).closest("div.infoblock"); 1992 1993 $thisLink = (url ? url : $(elem).attr("more")); 1994 $post = $(elem).attr("post"); 1995 $thisIdent = $(elem).attr("identificator"); 1996 1997 // загÑÑзиÑÑ ÑоÑедние ÑÑÐµÐ¹Ð¼Ñ 1998 $prevLink = (one ? false : $(elem).prev().attr("more")); 1999 $nextLink = (one ? false : $(elem).next().attr("more")); 2000 2001 $prevIdent = $(elem).prev().attr("identificator"); 2002 $nextIdent = $(elem).next().attr("identificator"); 2003 2004 $("#big-modal .carousel-inner").html(""); 2005 2006 $("#big-modal .carousel-inner").attr("more",$thisLink); 2007 // alert("ÐаÑинаеÑÑÑ Ð¿Ð¾Ð´Ð³ÑÑзка новоÑÑей"); 2008 2009 if ($thisLink) { 2010 ajax_asynq( 2011 $thisLink, 2012 function () { 2013 $("#big-modal .carousel-inner").html(spinner); 2014 // <i class="fa fa-spinner fa-spin fa-2x"></i> 2015 }, 2016 function (html) { 2017 $("#big-modal .carousel-inner").html(""); 2018 $("#big-modal .carousel-inner").append('<div slide-identificator="' + $thisIdent + '" class="item active"><div class=animated></div></div>'); 2019 $("div[slide-identificator=" + $thisIdent + "] div.animated").html(html); 2020 $("div[slide-identificator=" + $thisIdent + "] div.animated").show(400, 'swing'); 2021 if ($prevLink) { 2022 ajax_asynq( 2023 $prevLink, 2024 function () { 2025 $("#big-modal .carousel-inner").prepend('<div slide-identificator="' + $prevIdent + '" class="item"></div>'); 2026 add_left_narrow(); 2027 }, 2028 function (html) { 2029 $("div[slide-identificator=" + $prevIdent + "]").html(html); 2030 } 2031 ); 2032 } 2033 if ($nextLink) { 2034 ajax_asynq( 2035 $nextLink, 2036 function () { 2037 $("#big-modal .carousel-inner").append('<div slide-identificator="' + $nextIdent + '" class="item"></div>'); 2038 add_right_narrow(); 2039 }, 2040 function (html) { 2041 $("div[slide-identificator=" + $nextIdent + "]").html(html); 2042 } 2043 ); 2044 } 2045 class_nice(); 2046 uploading(); 2047 }, 2048 $post 2049 ); 2050 // alert("СейÑÐ°Ñ Ð¾ÑкÑоеÑÑÑ Ð¾ÐºÐ½Ð¾"); 2051 2052 if ($thisLink) $('#big-modal').modal(options); 2053 2054 2055 // alert("Ðкно оÑкÑÑлоÑÑ"); 2056 2057 } 2058} 2059 2060function show_modal_slide(elem, id, event) { // вÑвод конкÑеÑного Ñлайда 2061 2062 infoblock = $(elem).closest("div.infoblock"); 2063 2064 var oldmore = $(infoblock).attr("more"); 2065 2066 $(infoblock).attr("more", "/main/lenta/info/id=" + id + "/"); 2067 2068 show_modal(elem, event); 2069 2070 $(infoblock).attr("more", oldmore); 2071} 2072 2073 2074function check_narrows() { 2075 // alert("ÐÑовеÑка ÑÑÑелок"); 2076 2077 if ($("#big-modal div.item:first").hasClass("active")) { 2078 $("a.left-narrow").removeClass("otk_str"); 2079 } 2080 else 2081 $("a.left-narrow").addClass("otk_str"); 2082 if ($("#big-modal div.item:last").hasClass("active")) { 2083 $("a.right-narrow").removeClass("otk_str"); 2084 } 2085 else 2086 $("a.right-narrow").addClass("otk_str"); 2087 2088} 2089function add_left_narrow() { 2090 // alert("ÐобавлÑем левÑÑ ÑÑÑелкÑ"); 2091 $("a.left-narrow").addClass("otk_str"); 2092} 2093function add_right_narrow() { 2094 // alert("ÐобавлÑем пÑавÑÑ ÑÑÑелкÑ"); 2095 $("a.right-narrow").addClass("otk_str"); 2096} 2097function remove_left_narrow() { 2098 // alert("УдалÑем левÑÑ ÑÑÑелкÑ"); 2099 $("a.left-narrow").removeClass("otk_str"); 2100} 2101function remove_right_narrow() { 2102 // alert("УдалÑем пÑавÑÑ ÑÑÑелкÑ"); 2103 $("a.right-narrow").removeClass("otk_str"); 2104} 2105 2106 2107function alertObject(obj) { 2108 for (var key in obj) { 2109 alert('key: ' + key + '\n' + 'value: ' + obj[key]); 2110 if (typeof obj[key] === 'object') { 2111 alertObject(obj[key]); 2112 } 2113 } 2114} 2115 2116 2117 2118function ajax_with_message(script, start, end) { 2119 $.ajax({ 2120 url: script, 2121 cache: false, 2122 beforeSend: function (html) { $(".plup_msg").html(start); $(".plup_fade,.plup_msg").fadeIn(500); }, 2123 success: function (html) { $(".plup_msg").html(end); setTimeout(function () { $(".plup_fade,.plup_msg").fadeOut(1000) }, 2000); } 2124 }); 2125} 2126function ajax_with_file(form, start = function () { }, end = function () { }) { 2127 $$f({ 2128 formid: form, 2129 url: $("#" + form).attr("action"), 2130 onstart: start, 2131 onsend: end 2132 }); 2133 2134} 2135 2136function curl( 2137 script, 2138 data = {} 2139) { 2140 var result = ""; 2141 $.ajax({ 2142 url: script, 2143 type: "POST", 2144 data: data, 2145 async: false, 2146 cache: false, 2147 beforeSend: function () { }, 2148 success: function (html) { result = html; }, 2149 error: function (html) { result = ""; } 2150 }); 2151 2152 return result; 2153} 2154 2155function ajax_synq( 2156 script, 2157 start = function () { }, 2158 end = function () { }, 2159 data = {}, 2160 error = function (request, status, error) { 2161 servererror(request, status, error) 2162 } 2163) { 2164 $.ajax({ 2165 url: script, 2166 type: "POST", 2167 data: data, 2168 async: false, 2169 cache: false, 2170 beforeSend: start, 2171 success: end, 2172 error: error 2173 }); 2174 2175 return 2176} 2177 2178function ajax_with_form(form, start = function () { }, end = function () { }, error = function (request, status, error) { 2179 servererror(request, status, error) 2180}) { 2181 $.ajax({ 2182 type: "POST", 2183 url: $(form).attr("action"), 2184 cache: false, 2185 data: $(form).serialize(), 2186 beforeSend: start, 2187 success: end, 2188 error: error 2189 }); 2190} 2191function ajax_return(script, p1, p2, p3) { 2192 var r; 2193 $.ajax({ 2194 async: false, 2195 type: "POST", 2196 url: script, 2197 cache: false, 2198 data: { p1: p1, p2: p2, p3: p3 }, 2199 success: function (html) { 2200 r = html; 2201 } 2202 }); 2203 return r; 2204} 2205 2206function ajax_return_trim(script, p1, p2) { 2207 var r; 2208 $.ajax({ 2209 async: false, 2210 type: "POST", 2211 url: script, 2212 cache: false, 2213 data: { p1: p1, p2: p2 }, 2214 success: function (html) { 2215 r = html; 2216 r = r.replace(/[\n\r\s]/g, ''); 2217 } 2218 }); 2219 return r; 2220} 2221function PHP_END_FUNCTION(script, key, val, func = function () { }) { 2222 var arr = {}; 2223 arr[key] = val; 2224 $.ajax({ 2225 async: false, 2226 type: "POST", 2227 url: script, 2228 cache: false, 2229 data: arr, 2230 success: func 2231 }); 2232} 2233 2234//пÑокÑÑÑка вниз 2235function scrolldown(elem) { 2236 elem.scrollTop(elem.prop('scrollHeight')); 2237} 2238 2239function SCROLL_TO(elem, source = "body,html") { 2240 if (elem.length == 1) { 2241 console.log("ÐоÑаем"); 2242 //alert("ÐоÑаем"); 2243 //alert('ssss'); 2244 2245 var destination = elem.offset().top-41; 2246 //$(elem).get(0).scrollIntoView(); 2247 $(source).animate({ scrollTop: destination }, 800); 2248 } 2249} 2250 2251 2252function preview(field, image) { 2253 console.log("n=" + $(field).length); 2254 $(field).change(function () { 2255 var input = $(this)[0]; 2256 if (input.files && input.files[0]) { 2257 if (input.files[0].type.match('image.*')) { 2258 var reader = new FileReader(); 2259 reader.onload = function (e) { $(image).attr('src', e.target.result); }
2260 reader.readAsDataURL(input.files[0]); 2261 } 2262 else { 2263 console.log('ÐагÑÑжено не изобÑажение'); 2264 } 2265 2266 } 2267 else 2268 console.log('Ðе бÑло загÑÑжено Ñайлов либо API не поддеÑживаеÑÑÑ'); 2269 }); 2270} 2271 2272function captcha() // вÑвод капÑи 2273{ 2274 ajax_asynq( 2275 "/captcha", 2276 function () { $('.captcha').html(spinner) }, 2277 function (src) { $('.captcha').attr("src", src); } 2278 ); 2279} 2280 2281function testanswers(key = 0, id = "new", title = "", checked = "", elem = null) // ваÑианÑÑ 2282// оÑвеÑа 2283// Ð´Ð»Ñ 2284// ÑеÑÑа 2285// (добавление 2286// Ñдаление 2287// полей) 2288{ 2289 if (elem) { 2290 var val = $(elem).closest(".myAnswer-admin").children("input:hidden").val(); 2291 // console.log($(elem).closest(".myAnswer").children(".hid").html()); 2292 $(elem).closest(".myAnswer-admin").children("input:hidden").val(-1 * val); 2293 // console.log($(elem).closest(".myAnswer").children(".hid").html()); 2294 $(elem).closest(".myAnswer-admin").css("display", "none"); 2295 2296 } 2297 else { 2298 if (!key) key = $(".myAnswer-admin").length; 2299 2300 $(".myAnswers-admin").append("<div class=myAnswer-admin><input type=hidden id=id_" + key + " name=id_" + key + " value=" + id + "><input type=radio " + checked + " value=" + key + " id=correct_" + key + " name=correct><input type=text id=question_" + key + " name=question_" + key + " class='form-control d-i-b v-a-t' value='" + title + "'><a onclick=testanswers(0,0,'','',this) class=btn btn-alert>X</a></div>"); 2301 } 2302 2303} 2304 2305function finishtest(division, test) // ваÑианÑÑ Ð¾ÑвеÑа Ð´Ð»Ñ ÑеÑÑа (добавление 2306// Ñдаление полей) 2307{ 2308 var data = ""; // post data 2309 if ($(".finishtest").hasClass("finished")) return 0; // еÑли ÑеÑÑ Ñже 2310 // завеÑÑен 2311 $(".myAnswer > input:radio:checked").each(function (key, value) { 2312 data += (data ? "&" : "") + "answer_" + key + "=" + $(this).val(); 2313 } 2314 ); 2315 2316 ajax_asynq( 2317 "/me/" + division + "tests/" + test + "/check", 2318 function () { $(".finishtest").html(spinner); }, 2319 function (data) { 2320 data = JSON.parse(data); 2321 if (isNaN(data["score"])) 2322 $(".finishtest").html("ÐÑибка завеÑÑÐµÐ½Ð¸Ñ ÑеÑÑа. ÐопÑобÑйÑе еÑе Ñаз."); 2323 else { 2324 $(".finishtest").html("ÐÐ°Ñ ÑезÑлÑÑаÑ: " + data["score"] + " б."); 2325 $(".finishtest").addClass("finished"); 2326 prompt(true); 2327 } 2328 }, 2329 data 2330 ); 2331 2332 return 0; 2333 2334} 2335 2336function blockmodal() // блокиÑÑÑÑее модалÑное окно 2337{ 2338 /*ajax_asynq("/session/control"); 2339 2340 setInterval(function () { ajax_asynq("/session/control") }, 30000); 2341 2342 $(".blockmodal.on").each(function () { 2343 if ($(this).attr("more").trim() == "") return; 2344 2345 countdown("ÐÑоÑмоÑÑ ÑайÑа бÑÐ´ÐµÑ Ð´Ð¾ÑÑÑпен ÑеÑез {sec} Ñек.", $(this).attr("time")); 2346 2347 show_modal($(this), true, "", { backdrop: 'static', keyboard: false }); 2348 $(".cross-modal-close").hide(); 2349 // оÑклÑÑиÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½ÑÑÑ Ð·Ð°ÐºÑÑÑÐ¸Ñ 2350 } 2351 );*/ 2352} 2353 2354function popup() // вÑплÑваÑÑее окно 2355{ 2356 return; 2357 $(".popup.on").each(function () { 2358 if ($(this).attr("more").trim() == "") return; 2359 2360 show_modal($(this), true); 2361 } 2362 ); 2363 //initialization(); 2364} 2365 2366function checkstatus() 2367{ 2368 return curl("/myservice/reg/getModal/","passport="+$("input.passport").val()).trim(); 2369} 2370 2371function prompt($force = false) // вÑплÑваÑÑÐ°Ñ Ð¿Ð¾Ð´Ñказка 2372{ 2373 /*$(".prompt.on").each(function () { 2374 if ($(this).attr("msg").trim() == "") return; 2375 var redirect = $(this).attr("redirect"); 2376 var passport = $(this).attr("passport"); 2377 confirm_modal2($(this).attr("msg"), "OK", "Ðазад", function () {ajax_asynq(`/session/modal:${passport}`,null,function(){location.href = redirect;}); }); 2378 } 2379 );*/ 2380 2381 if (window.location.href.includes('admin')) return; 2382 2383 var passport = $("input.passport").val(); 2384 2385 var result = checkstatus(); 2386 2387 result = JSON.parse(result); 2388 2389 // 2390 2391 _this = $(".prompt"); 2392 2393 //if ($(_this).attr("msg").trim() == "") return; 2394 2395 $(".hintitem").each( 2396 function(){ 2397 var status = result[$(this).attr("passport")]["status"]; 2398 var redirect = result[$(this).attr("passport")]["redirect"]; 2399 var msg = result[$(this).attr("passport")]["msg"]; 2400 $(this).html(`<a href='${redirect}'>${msg}</a>`); 2401 2402 if (status && status != $(this).attr("status")){ 2403 $(this).attr("status",status); // бÑло ли изменение ÑÑаÑÑÑа 2404 confirm_modal2(msg, "OK", "Ðазад", function () {location.href = redirect;}); 2405 } 2406 2407 }); 2408 2409 //initialization(); 2410} 2411 2412function entity() // виджеÑÑ 2413{ 2414 $(".entity").each(function () { 2415 var link = "/json"; 2416 var _this = this; 2417 ajax_asynq( 2418 link, 2419 function () { $(_this).html(spinner); }, 2420 function (data) { 2421 2422 } 2423 ); 2424 "entity=" + $(this).attr("entity") + "&filter=user&field=" + $(this).attr("field"), 2425 function () { 2426 console.log("widget error"); 2427 } 2428 } 2429 ); 2430} 2431 2432function infowidgets(_class = "", _spinner = true) // виджеÑÑ 2433{ 2434 //event.preventDefault(); 2435 $(`.infowidget${_class}`).each(function () { 2436 var link = $(this).attr("link"); 2437 var _this = this; 2438 if (!link.trim().length || ($(this).hasClass("authonly") && !$("input.session").val())) return; 2439 if ($(this).attr("type") && $(this).attr("type")!=$("input.usertype").val()) return; 2440 ajax_asynq( 2441 link, 2442 function () { if (_spinner) $(_this).html(spinner); }, 2443 function (html) { 2444 $(_this).html(html.indexOf("notfound") == -1 ? html : ""); 2445 class_nice(); 2446 //$(".chatmain").focus(); 2447 //autoscroll($(".chatmain").eq(0)); 2448 //SCROLL_TO($(".chatitem").last(),$(".chatmain")); 2449 }, 2450 $(this).attr("post") + "&passport="+$('.passport').val(), 2451 function () { 2452 console.log("widget error"); 2453 } 2454 ); 2455 2456 } 2457 ); 2458} 2459 2460function renew() // обновление ÑлеменÑа 2461{ 2462 //event.preventDefault(); 2463 $(`.renewable`).each(function () { 2464 var link = $(this).attr("link"); 2465 var _this = this; 2466 ajax_asynq( 2467 link, 2468 function () { $(_this).html(spinner); }, 2469 function (html) { 2470 $(_this).html(html); 2471 } 2472 ); 2473 } 2474 ); 2475} 2476 2477function columnsum(elems, attr = "") // ÑÑмма ÑлеменÑов 2478{ 2479 var total = 0; 2480 $(elems).each(function () { 2481 total += parseInt(attr ? (attr == "value" ? $(this).val() : $(this).attr(attr)) : parseInt($(this).text())); 2482 }); 2483 // console.log(total); 2484 return total; 2485 2486} 2487 2488function countdown(msg, time = 30) // ÑÐ°Ð¹Ð¼ÐµÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ 2489{ 2490 time = (isNaN(time) ? 30 : time); 2491 msg = msg.replace("{sec}", time); 2492 var tID = setInterval(function () { if (!time) { clearInterval(tID); ajax_asynq("/session/reset"); $('#big-modal').data('bs.modal').options.backdrop = false; $('#big-modal').data('bs.modal').options.keyboard = true; serversuccess(); $(".cross-modal-close").show(); } else { msg = msg.replace(time, time - 1);/*serversuccess(msg,0);*/time--; } }, 1000); 2493} 2494 2495 2496//заполниÑÑ html ÑлеменÑÑ Ð¿Ð¾Ð»Ñми из json 2497function json_html(json, _class = ".dbfield") { 2498 //var json = JSON.parse(data); 2499 if (json.length == 0) return false;
2500 $(_class).each(function (key) { 2501 if ($(this).prop("tagName").toLowerCase() == "input") 2502 $(this).val(json[$(this).attr("id")]); 2503 else 2504 $(this).text(json[$(this).attr("id")]); 2505 }); 2506 2507 return true; 2508 2509 2510} 2511 2512 2513//паÑамеÑÑÑ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ 2514function json_params() { 2515 2516 return; 2517 ajax_asynq("/myservice/project/getButtons/", function () { }, 2518 function (json) { 2519 json = JSON.parse(json); 2520 //json_html(json, ".parse"); 2521 $(".substitute").each(function (key) { 2522 $(this).text(json[$(this).attr("from")].trim() != "" ? json[$(this).attr("from")] : $(this).text()); 2523 }); 2524 2525 //json_html(json,".parse"); 2526 } 2527 ); 2528} 2529 2530function save_as_pdf() { 2531 2532 var doc = new jsPDF($("#orientation").val() ? "landscape" : "portrait"); 2533 var options = {}; 2534 var page = $('.a4').get(0); 2535 2536 doc.addHTML(page, 0, 0, options, function () { doc.save('a4.pdf') }); 2537 //doc.text('Hello world!', 10, 10); 2538} 2539 2540function redirect($class="") { 2541 2542 console.log($class); 2543 var url = $('.myredirect'+$class).val(); 2544 if (url===undefined) return; 2545 location.href = url; 2546} 2547 2548function mustache(obj,attr) 2549{ 2550 return $(obj).attr(attr).replace(/{{([^]+)}}/,function(a, b){ 2551 return eval(b).trim(); 2552}); 2553} 2554 2555//полÑÑиÑÑ Ð°ÑÑÑибÑÑÑ 2556function jqattrs($class,$attr,$unique=false) 2557{ 2558 var $attr = $attr; 2559 var $result = $($class).map(function(){ 2560 return $(this).attr($attr); 2561 }).get(); 2562 return $unique ? jQuery.unique($result) : $result; 2563} 2564 2565 2566//ÑаблиÑа из json 2567function json_table(data,container="body") 2568{ 2569 /*var data = '{"aaa":{"xxx":111,"yyy":222,"zzz":333},"bbb":{"xxx":444,"yyy":555,"zzz":666},"ccc":{"xxx":777,"yyy":888,"zzz":999}}';*/ 2570 //["field1"=>"value1","field2"=>"value2"]; 2571 var json = JSON.parse(data); 2572 var headers = false; 2573 var nodata = $('<div><h4>ÐÐ ÐÐÐÐÐÐÐ</h4></div>'); 2574 var table = $('<table>'); 2575 var thead = $('<thead>'); 2576 var tbody = $('<tbody>'); 2577 var total = json.length; 2578 if (total==0) 2579 { 2580 nodata.appendTo(container); 2581 return true; 2582 } 2583 $.each(json,function(index1, value1){ 2584 2585 var tr = $('<tr>'); 2586 $("<th>"+ index1+"</th>").appendTo(tr); 2587 if (!headers) {$("<th>ÐСÐÐÐ: "+total+"</th>").appendTo(thead);} 2588 $.each(value1,function(index2, value2){ 2589 if (!headers) {$("<th>"+ index2+"</th>").appendTo(thead);} 2590 $("<td>"+ value2+"</td>").appendTo(tr); 2591 }); 2592 headers = true; 2593 tr.appendTo(tbody); 2594}); 2595 2596 thead.appendTo(table); 2597 tbody.appendTo(table); 2598 table.appendTo(container); 2599 return true; 2600} 2601 2602 2603
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.