1// console.log("form_tracker init"); 2 3window.addEventListener('b24:form:init', function(event){ 4 let form = event.detail.object; 5 // console.log('[form_tracker] ФоÑма иниÑиализиÑована:', form.identification); 6}); 7 8window.addEventListener('b24:form:send:success', function(event){ 9 let form = event.detail.object; 10 console.log('[form_tracker] ФоÑма оÑпÑавлена ÑÑпеÑно:', form.identification); 11 saveLog({ 12 status: 'success', 13 formId: form.identification, 14 time: new Date().toISOString(), 15 fields: event.detail.data 16 }); 17}); 18 19window.addEventListener('b24:form:send:fail', function(event){ 20 let form = event.detail.object; 21 // console.log('[form_tracker] ÐÑибка оÑпÑавки ÑоÑмÑ:', form.identification, event.detail.errors); 22 saveLog({ 23 status: 'error', 24 formId: form.identification, 25 time: new Date().toISOString(), 26 errors: event.detail.errors 27 }); 28}); 29 30function saveLog(data) { 31 fetch('/local/ajax/form_logger.php', { 32 method: 'POST', 33 headers: { 'Content-Type': 'application/json' }, 34 body: JSON.stringify(data) 35 }).catch(err => console.error('[form_tracker] ÐÑибка запиÑи лога на ÑеÑвеÑ:', err)); 36}
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.