PageSourceSearch

https://acpsevendistributor.com/wp-content/plugins/gpt3-ai-content…/public/js/wpaicg-form-shortcode.js

js acpsevendistributor.com collected 2026-10-03 18:19:37 UTC 25,381 bytes, 417 lines download raw bytes

1var wpaicgPlayGround = {
2    init: function(){
3        var wpaicg_PlayGround = this;
4        var wpaicgFormsShortcode = document.getElementsByClassName('wpaicg-playground-shortcode');
5        var wpaicgClearButtons = document.getElementsByClassName('wpaicg-prompt-clear');
6        var wpaicgStopButtons = document.getElementsByClassName('wpaicg-prompt-stop-generate');
7        var wpaicgSaveButtons = document.getElementsByClassName('wpaicg-prompt-save-draft');
8        var wpaicgDownloadButtons = document.getElementsByClassName('wpaicg-prompt-download');
9        if(wpaicgDownloadButtons && wpaicgDownloadButtons.length){
10            for(var i=0;i < wpaicgDownloadButtons.length;i++) {
11                var wpaicgDownloadButton = wpaicgDownloadButtons[i];
12                wpaicgDownloadButton.addEventListener('click', function (e) {
13                    e.preventDefault();
14                    var wpaicgDownloadButton = e.currentTarget;
15                    var wpaicgForm = wpaicgDownloadButton.closest('.wpaicg-prompt-form');
16                    var formID = wpaicgForm.getAttribute('data-id');
17                    var wpaicgFormData = window['wpaicgForm'+formID];
18                    var currentContent = wpaicg_PlayGround.getContent(wp
18aicgFormData.response,formID);
19                    var element = document.createElement('a');
20                    currentContent = currentContent.replace(/<br>/g,"\n");
21                    currentContent = currentContent.replace(/<br \/>/g,"\n");
22                    element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(currentContent));
23                    element.setAttribute('download', 'ai-response.txt');
24
25                    element.style.display = 'none';
26                    document.body.appendChild(element);
27
28                    element.click();
29
30                    document.body.removeChild(element);
31                });
32            }
33        }
34        if(wpaicgClearButtons && wpaicgClearButtons.length){
35            for(var i=0;i < wpaicgClearButtons.length;i++){
36                var wpaicgClearButton = wpaicgClearButtons[i];
37                wpaicgClearButton.addEventListener('click', function (e) {
38                    e.preventDefault();
39                    var wpaicgClearButton = e.currentTarget;
40                    var wpaicgForm = wpaicgClearButton.closest('.wpaicg-prompt-form');
41                    var formID = wpaicgForm.getAttribute('data-id');
42                    var wpaicgFormData = window['wpaicgForm'+formID];
43                    var wpaicgSaveResult = wpaicgForm.getElementsByClassName('wpaicg-prompt-save-result')[0];
44                    wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,'');
45                    wpaicgSaveResult.style.display = 'none';
46                });
47            }
48        }
49        if(wpaicgStopButtons && wpaicgStopButtons.length){
50            for(var i=0;i < wpaicgStopButtons.length;i++){
51                var wpaicgStopButton = wpaicgStopButtons[i];
52                wpaicgStopButton.addEventListener('click', function (e) {
53                    e.preventDefault();
54                    var wpaicgStopButton = e.currentTarget;
55                    var wpaicgForm = wpaicgStopButton.closest('.wpaicg-prompt-form');
56                    var eventID = wpaicgStopButton.getAttribute('data-event');
57                    var wpaicgSaveResult = wpaicgForm.getElementsByClassName('wpaicg-prompt-save-result')[0];
58                    var wpaicgGenerateBtn = wpaicgForm.getElementsByClassName('wpaicg-generate-button')[0];
59                    wpaicg_PlayGround.eventClose(eventID,wpaicgStopButton,wpaicgSaveResult,wpaicgGenerateBtn);
60                });
61            }
62        }
63        if(wpaicgSaveButtons && wpaicgSaveButtons.length){
64            for(var i=0;i < wpaicgSaveButtons.length;i++){
65                var wpaicgSaveButton = wpaicgSaveButtons[i];
66                wpaicgSaveButton.addEventListener('click', function (e) {
67                    e.preventDefault();
68                    var wpaicgSaveButton = e.currentTarget;
69                    var wpaicgForm = wpaicgSaveButton.closest('.wpaicg-prompt-form');
70                    var formID = wpaicgForm.getAttribute('data-id');
71                    var wpaicgFormData = window['wpaicgForm'+formID];
72                    var title = wpaicgForm.getElementsByClassName('wpaicg-prompt-post_title')[0].value;
73                    var content = wpaicg_PlayGround.getContent(wp
73aicgFormData.response,formID);
74                    if (title === '') {
75                        alert('Please insert title');
76                    } else if (content === '') {
77                        alert('Please wait generate content')
78                    } else {
79                        const xhttp = new XMLHttpRequest();
80                        xhttp.open('POST', wpaicgFormData.ajax);
81                        xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
82                        xhttp.send('action=wpaicg_save_draft_post_extra&title=' + title + '&content=' + content+'&save_source=promptbase&nonce='+wpaicgFormData.ajax_nonce);
83                        wpaicg_PlayGround.loading.add(wpaicgSaveButton);
84                        xhttp.onreadystatechange = function (oEvent) {
85                            if (xhttp.readyState === 4) {
86                                wpaicg_PlayGround.loading.remove(wpaicgSaveButton);
87                                if (xhttp.status === 200) {
88                                    var wpaicg_response = this.responseText;
89                                    wpaicg_response = JSON.parse(wpaicg_response);
90                                    if (wpaicg_response.status === 'success') {
91                                        window.location.href = wpaicgFormData.post+'?post=' + wpaicg_response.id + '&action=edit';
92                                    } else {
93                                        alert(wpaicg_response.msg);
94                                    }
95                                } else {
96                                    alert('Something went wrong');
97                                }
98                            }
99                        }
100                    }
101                });
102            }
103        }
104        if(wpaicgFormsShortcode && wpaicgFormsShortcode.length){
105            for(var i = 0;i< wpaicgFormsShortcode.length;i++){
106                var wpaicgFormShortcode =  wpaicgFormsShortcode[i];
107                var wpaicgForm = wpaicgFormShortcode.getElementsByClassName('wpaicg-prompt-form')[0];
108                wpaicgForm.addEventListener('submit', function (e) {
109                    e.preventDefault();
110                    var wpaicgForm = e.currentTarget;
111                    var formID = wpaicgForm.getAttribute('data-id');
112                    var formSource = wpaicgForm.getAttribute('data-source');
113                    var wpaicgFormData = window['wpaicgForm'+formID];
114                    var wpaicgMaxToken = wpaicgForm.getElementsByClassName('wpaicg-prompt-max_tokens')[0];
115                    var wpaicgTemperature = wpaicgForm.getElementsByClassName('wpaicg-prompt-temperature')[0];
116                    var wpaicgTopP = wpaicgForm.getElementsByClassName('wpaicg-prompt-top_p')[0];
117                    var wpaicgBestOf = wpaicgForm.getElementsByClassName('wpaicg-prompt-best_of')[0];
118                    var wpaicgFP = wpaicgForm.getElementsByClassName('wpaicg-prompt-frequency_penalty')[0];
119                    var wpaicgPP = wpaicgForm.getElementsByClassName('wpaicg-prompt-presence_penalty')[0];
120                    var wpaicgMaxLines = wpaicgForm.getElementsByClassName('wpaicg-prompt-max-lines')[0];
121                    var wpaicgPromptTitle = wpaicgForm.getElementsByClassName('wpaicg-prompt-title')[0];
122                    var wpaicgPromptTitleFilled = wpaicgForm.getElementsByClassName('wpaicg-prompt-title-filled')[0];
123                    var wpaicgGenerateBtn = wpaicgForm.getElementsByClassName('wpaicg-generate-button')[0];
124                    var wpaicgSaveResult = wpaicgForm.getElementsByClassName('wpaicg-prompt-save-result')[0];
125                    var wpaicgStop = wpaicgForm.getElementsByClassName('wpaicg-prompt-stop-generate')[0];
126                    var max_tokens = wpaicgMaxToken.value;
127                    var temperature = wpaicgTemperature.value;
128                    var top_p = wpaicgTopP.value;
129                    var best_of = wpaicgBestOf.value;
130                    var frequency_penalty = wpaicgFP.value;
131                    var presence_penalty = wpaicgPP.value;
132                    var error_message = false;
133                    var title = wpaicgPromptTitle.value;
134                    if (title === '') {
135                        error_message = 'Please insert prompt';
136                    } else if (max_tokens === '') {
137                        error_message = 'Please enter max tokens';
138                    } else if (parseFloat(max_tokens) < 1 || parseFloat(max_tokens) > 8000) {
139                        error_message = 'Please enter a valid max tokens value between 1 and 8000';
140                    } else if (temperature === '') {
141                        error_message = 'Please enter temperature';
142                    } else if (parseFloat(temperature) < 0 || parseFloat(temperature) > 1) {
143                        error_message = 'Please enter a valid temperature value between 0 and 1';
144                    } else if (top_p === '') {
145                        error_message = 'Please enter Top P';
146                    } else if (parseFloat(top_p) < 0 || parseFloat(top_p) > 1) {
147                        error_message = 'Please enter a valid Top P value between 0 and 1';
148                    } else if (best_of === '') {
149                        error_message = 'Please enter best of';
150                    } else if (parseFloat(best_of) < 1 || parseFloat(best_of) > 20) {
151                        error_message = 'Please enter a valid best of value between 0 and 1';
152                    } else if (frequency_penalty === '') {
153                        error_message = 'Please enter frequency penalty';
154                    } else if (parseFloat(frequency_penalty) < 0 || parseFloat(frequency_penalty) > 2) {
155                        error_message = 'Please enter a valid frequency penalty value between 0 and 2';
156                    } else if (presence_penalty === '') {
157                        error_message = 'Please enter presence penalty';
158                    } else if (parseFloat(presence_penalty) < 0 || parseFloat(presence_penalty) > 2) {
159                        error_message = 'Please enter a valid presence penalty value between 0 and 2';
160                    }
161                    if (error_message) {
162                        alert(error_message);
163                    } else {
164                        if (typeof wpaicgFormData.fields === 'object') {
165                            for (var i = 0; i < wpaicgFormData.fields.length; i++) {
166                                var form_field = wpaicgFormData.fields[i];
167                                var field = wpaicgForm.getElementsByClassName('wpaicg-form-field-' + i)[0];
168                                var field_type = form_field['type'] !== undefined ? form_field['type'] : 'text';
169                                var field_label = form_field['label'] !== undefined ? form_field['label'] : '';
170                                var field_min = form_field['min'] !== undefined ? form_field['min'] : '';
171                                var field_max = form_field['max'] !== undefined ? form_field['max'] : '';
172                                if (field_type !== 'radio' && field_type !== 'checkbox') {
173                                    var field_value = field.value;
174                                    if (field_type === 'text' || field_type === 'textarea' || field_type === 'email' || field_type === 'url') {
175                                        if (field_min !== '' && field_value.length < parseInt(field_min)) {
176                                            error_message = field_label + ' minimum ' + field_min + ' characters';
177                                        } else if (field_max !== '' && field_value.length > parseInt(field_max)) {
178                                            error_message = field_label + ' maximum ' + field_max + ' characters';
179                                        } else if (field_type === 'email' && !wpaicg_PlayGround.validate.email(field_value)) {
180                                            error_message = field_label + ' must be email address';
181                                        } else if (field_type === 'url' && !wpaicg_PlayGround.validate.url(field_value)) {
182                                            error_message = field_label + ' must be url';
183                                        }
184                                    } else if (field_type === 'number') {
185                                        if (field_min !== '' && parseFloat(field_value) < parseInt(field_min)) {
186                                            error_message = field_label + ' minimum ' + field_min;
187                                        } else if (field_max !== '' && parseFloat(field_value) > parseInt(field_max)) {
188                                            error_message = field_label + ' maximum ' + field_max;
189                                        }
190                                    }
191                                } else if (field_type === 'checkbox' || field_type === 'radio') {
192                                    var field_inputs = field.getElementsByTagName('input');
193                                    var field_checked = false;
194                                    if (field_inputs && field_inputs.length) {
195                                        for (var y = 0; y < field_inputs.length; y++) {
196                                            var field_input = field_inputs[y];
197                                            if (field_input.checked) {
198                                                field_checked = true;
199                                            }
200                                        }
201                                    }
202                                    if (!field_checked) {
203                                        error_message = field_label + ' is required';
204                                    }
205                                }
206                            }
207                        }
208                        if(error_message){
209                            alert(error_message);
210                        }
211                        else{
212                            if (typeof wpaicgFormData.fields === 'object') {
213                                for (var i = 0; i < wpaicgFormData.fields.length; i++) {
214                                    var form_field = wpaicgFormData.fields[i];
215                                    var field_type = form_field.type;
216                                    var field = wpaicgForm.getElementsByClassName('wpaicg-form-field-' + i)[0];
217                                    var field_name = form_field['id'] !== undefined ? form_field['id'] : '';
218                                    var field_value;
219                                    if (field_type === 'checkbox' || field_type === 'radio') {
220                                        field_value = '';
221                                        var field_inputs = field.getElementsByTagName('input');
222                                        if (field_inputs && field_inputs.length) {
223                                            for (var y = 0; y < field_inputs.length; y++) {
224                                                var field_input = field_inputs[y];
225                                                if (field_input.checked) {
226                                                    var current_field_value = field_input.value;
227                                                    if (current_field_value !== undefined && current_field_value !== '') {
228                                                        field_value += (field_value === '' ? '' : ', ') + current_field_value;
229                                                    }
230                                                }
231                                            }
232                                        }
233                                    } else {
234                                        field_value = field.value;
235                                    }
236                                    var sRegExInput = new RegExp('{' + field_name + '}', 'g');
237                                    title = title.replace(sRegExInput, field_value);
238                                }
239                            }
240                            if(formSource === 'form') {
241                                wpaicgPromptTitleFilled.value = title + ".\n\n";
242                            }
243                            let queryString = new URLSearchParams(new FormData(wpaicgForm)).toString();
244                            wpaicg_PlayGround.loading.add(wpaicgGenerateBtn);
245                            wpaicgSaveResult.style.display = 'none';
246                            wpaicgStop.style.display = 'inline';
247                            wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,'');
248                            queryString += '&source_stream='+formSource+'&nonce='+wpaicgFormData.ajax_nonce;
249                            var eventID = Math.ceil(Math.random()*1000000);
250                            wpaicgStop.setAttribute('data-event',eventID);
251                            window['eventGenerator'+eventID] = new EventSource(wpaicgFormData.event + '&' + queryString);
252                            if(formSource === 'form'){
253                                queryString += '&action=wpaicg_form_log';
254                            }
255                            else{
256                                queryString += '&action=wpaicg_prompt_log';
257                            }
258                            wpaicg_PlayGround.process(queryString,eventID,wpaicgFormData,formID,wpaicgStop,wpaicgSaveResult,wpaicgGenerateBtn,wpaicgMaxLines);
259                        }
260                    }
261                })
262            }
263        }
264    },
265    process: function(queryString,eventID,wpaicgFormData,formID,wpaicgStop,wpaicgSaveResult,wpaicgGenerateBtn,wpaicgMaxLines){
266        var wpaicg_PlayGround = this;
267        var wpaicg_break_newline = wpaicgUserLoggedIn ? '<br/>': '\n';
268        var startTime = new Date();
269        var wpaicg_response_events = 0;
270        var wpaicg_newline_before = false;
271        var prompt_response = '';
272        var wpaicg_limited_token = false;
273        var count_line = 0;
274        var wpaicg_limitLines = parseFloat(wpaicgMaxLines.value);
275        var currentContent = '';
276        window['eventGenerator'+eventID].onmessage = function (e) {
277            currentContent = wpaicg_PlayGround.getContent(wpaicgFormData.response,formID);
278            if (e.data === "[DONE]") {
279                count_line += 1;
280                wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,currentContent + wpaicg_break_newline);
281                wpaicg_response_events = 0;
282            }
283            else if (e.data === "[LIMITED]") {
284                wpaicg_limited_token = true;
285                count_line += 1;
286                wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,currentContent + wpaicg_break_newline);
287                wpaicg_response_events = 0;
288            } else {
289                var result = JSON.parse(e.data);
290                var content_generated = '';
291                if (result.error !== undefined) {
292                    content_generated = result.error.message;
293                } else {
294                    content_generated = result.choices[0].delta !== undefined ? (result.choices[0].delta.content !== undefined ? result.choices[0].delta.content : '') : result.choices[0].text;
295                }
296                prompt_response += content_generated;
297                if ((content_generated === '\n' || content_generated === ' \n' || content_generated === '.\n' || content_generated === '\n\n') && wpaicg_response_events > 0 && currentContent !== '') {
298                    if (!wpaicg_newline_before) {
299                        wpaicg_newline_before = true;
300                        wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,currentContent + wpaicg_break_newline);
301                    }
302                }
303                else if(content_generated.indexOf("\n") > -1 && wpaicg_response_events > 0 && currentContent !== ''){
304                    if (!wpaicg_newline_before) {
305                        wpaicg_newline_before = true;
306                        if(wpaicgFormData.response === 'textarea'){
307                            if(!wpaicg_PlayGround.editor(formID)){
308                                content_generated = content_generated.replace(/\n/g,'<br>');
309                            }
310                        }
311                        else{
312                            content_generated = content_generated.replace(/\n/g,'<br>');
313                        }
314                        wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,currentContent + content_generated);
315                    }
316                }
317                else if (content_generated === '\n' && wpaicg_response_events === 0 && currentContent === '') {
318
319                } else {
320                    wpaicg_newline_before = false;
321                    wpaicg_response_events += 1;
322                    wpaicg_PlayGround.setContent(wpaicgFormData.response,formID,currentContent + content_generated);
323                }
324            }
325            if (count_line === wpaicg_limitLines) {
326                if(!wpaicg_limited_token) {
327                    let endTime = new Date();
328                    let timeDiff = endTime - startTime;
329                    timeDiff = timeDiff / 1000;
330                    queryString += '&prompt_id=' + wpaicgFormData.id + '&prompt_name=' + wpaicgFormData.name + '&prompt_response=' + prompt_response + '&duration=' + timeDiff + '&_wpnonce=' + wpaicgFormData.nonce + '&source_id=' + wpaicgFormData.sourceID;
331                    const xhttp = new XMLHttpRequest();
332                    xhttp.open('POST', wpaicgFormData.ajax);
333                    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
334                    xhttp.send(queryString);
335                    xhttp.onreadystatechange = function (oEvent) {
336                        if (xhttp.readyState === 4) {
337
338                        }
339                    }
340                }
341                wpaicg_PlayGround.eventClose(eventID,wpaicgStop,wpaicgSaveResult,wpaicgGenerateBtn,wpaicg_limited_token);
342            }
343        }
344    },
345    editor: function (form_id){
346        var basicEditor = true;
347        if(wpaicg_prompt_logged){
348            var editor = tinyMCE.get('wpaicg-prompt-result-'+form_id);
349            if ( document.getElementById('wp-wpaicg-prompt-result-'+form_id+'-wrap').classList.contains('tmce-active') && editor ) {
350                basicEditor = false;
351            }
352        }
353        return basicEditor;
354    },
355    setContent: function (type,form_id,value){
356        if(type === 'textarea') {
357            if (this.editor(form_id)) {
358                document.getElementById('wpaicg-prompt-result-'+form_id).value = value;
359            } else {
360                var editor = tinyMCE.get('wpaicg-prompt-result-'+form_id);
361                editor.setContent(value);
362            }
363        }
364        else{
365            document.getElementById('wpaicg-prompt-result-'+form_id).innerHTML = value;
366        }
367    },
368    getContent: function (type,form_id){
369        if(type === 'textarea') {
370            if (this.editor(form_id)) {
371                return document.getElementById('wpaicg-prompt-result-'+form_id).value
372            } else {
373                var editor = tinyMCE.get('wpaicg-prompt-result-'+form_id);
374                var content = editor.getContent();
375                content = content.replace(/<\/?p(>|$)/g, "");
376                return content;
377            }
378        }
379        else return document.getElementById('wpaicg-prompt-result-'+form_id).innerHTML;
380    },
381    loading: {
382        add: function (btn){
383            btn.setAttribute('disabled','disabled');
384            btn.innerHTML += '<span class="wpaicg-loader"></span>';
385        },
386        remove: function (btn){
387            btn.removeAttribute('disabled');
388            btn.removeChild(btn.getElementsByTagName('span')[0]);
389        }
390    },
391    eventClose: function (eventID,btn,btnResult,btn_generator,wpaicg_limited_token){
392        btn.style.display = 'none';
393        if(!wpaicg_limited_token) {
394            btnResult.style.display = 'block';
395        }
396        this.loading.remove(btn_generator);
397        window['eventGenerator'+eventID].close();
398    },
399    validate: {
400        email: function (email){
401            return String(email)
402                .toLowerCase()
403                .match(
404                    /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
405                );
406        },
407        url: function (url){
408            try {
409                new URL(url);
410                return true;
411            } catch (err) {
412                return false;
413            }
414        }
415    }
416}
417wpaicgPlayGround.init();

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.