HEX
Server: LiteSpeed
System: Linux l24.yourwebhosting.net 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: turkishi (1582)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //home/turkishi/www/wp-content/plugins/learnpress/assets/js/admin/courses/generate-with-ai.min.js
import*as lpUtils from"lpAssetsJsPath/utils.js";import SweetAlert from"sweetalert2";import*as lpToastify from"lpAssetsJsPath/lpToastify.js";let lp_structure_course,lp_is_generating_course_data=!1;const lp_course_ai_setting=JSON.parse(localStorage.getItem("lp_course_ai_setting"))||{};export class CreateCourseViaAI{constructor(){this.init()}static selectors={elGenerateDataAiWrap:".lp-generate-data-ai-wrap"};init(){lpData?.enable_open_ai&&(lpUtils.lpOnElementReady(".page-title-action",e=>{e.insertAdjacentHTML("afterend",`<button type="button" class="lp-btn-generate-course-with-ai">\n\t\t\t\t\t<i class="lp-ico-ai"></i>\n\t\t\t\t\t<span>${lpData.i18n.generate_with_ai}</span>\n\t\t\t\t</button>`)}),this.events())}events(){CreateCourseViaAI._loadedEvents||(CreateCourseViaAI._loadedEvents=!0,lpUtils.eventHandlers("click",[{selector:".lp-btn-generate-course-with-ai",class:this,callBack:this.showPopupCreateFullCourse.name},{selector:".lp-btn-step",class:this,callBack:this.showStep.name},{selector:".lp-btn-generate-prompt",class:this,callBack:this.generatePrompt.name},{selector:".lp-btn-call-open-ai",class:this,callBack:this.generateDataCourse.name},{selector:".lp-btn-create-course",class:this,callBack:this.createCourse.name}]))}showPopupCreateFullCourse(){const e=document.querySelector("#lp-tmpl-create-course-ai");e?SweetAlert.fire({html:e.innerHTML,width:"60%",showCloseButton:!0,showConfirmButton:!1,allowOutsideClick:!1,didOpen:()=>{const e=SweetAlert.getPopup();e.click();const t=e.querySelector('select[name="target_audience"]');t&&lp_course_ai_setting?.target_audience&&t.tomselect.setValue(lp_course_ai_setting.target_audience);const s=e.querySelector('select[name="tone"]');s&&lp_course_ai_setting?.tone&&s.tomselect.setValue(lp_course_ai_setting.tone);const a=e.querySelector('select[name="language"]');a&&lp_course_ai_setting?.language&&a.tomselect.setValue(lp_course_ai_setting.language),t.addEventListener("change",e=>{lp_course_ai_setting.target_audience=t.tomselect.getValue(),localStorage.setItem("lp_course_ai_setting",JSON.stringify(lp_course_ai_setting))}),s.addEventListener("change",e=>{lp_course_ai_setting.tone=s.tomselect.getValue(),localStorage.setItem("lp_course_ai_setting",JSON.stringify(lp_course_ai_setting))}),a.addEventListener("change",e=>{const t=a.tomselect.getValue();lp_course_ai_setting.language=t?[t]:[],localStorage.setItem("lp_course_ai_setting",JSON.stringify(lp_course_ai_setting))})}}).then(e=>{if(e.isDismissed){const e=document.querySelector("#lp-tmpl-close-warning-course-ai");lp_is_generating_course_data&&(SweetAlert.fire({html:e.innerHTML,showCloseButton:!0,showConfirmButton:!0}),lp_is_generating_course_data=!1)}}):console.error("AI Create Full Course Modal Template not found!")}showStep(e){const{e:t,target:s}=e;t.preventDefault();const a=s.closest(".button-actions"),l=a.closest(CreateCourseViaAI.selectors.elGenerateDataAiWrap);let o=parseInt(a.dataset.step);const r=s.dataset.action;"next"===r?o++:"prev"===r&&o--,a.dataset.step=o;const i=s.closest("form"),n=i.querySelector(`.step-content[data-step="${o}"]`),c=l.querySelector(`.step-item[data-step="${o}"]`);i.querySelectorAll(".step-content").forEach(e=>e.classList.remove("active")),n.classList.add("active"),l.querySelectorAll(".step-item").forEach(e=>e.classList.remove("active")),c.classList.add("active");s.closest("form").querySelectorAll("button[data-step-show]").forEach(e=>{e.dataset.stepShow.split(",").map(e=>parseInt(e.trim())).includes(o)?lpUtils.lpShowHideEl(e,1):lpUtils.lpShowHideEl(e,0)})}generatePrompt(e){const{e:t,target:s}=e;t.preventDefault(),lpUtils.lpSetLoadingEl(s,!0);const a=s.closest("form");let l=JSON.parse(s.dataset.send);l=lpUtils.mergeDataWithDatForm(a,l);const o={success:e=>{const{message:t,status:s,data:l}=e;if(lpToastify.show(t,s),"success"===s){a.querySelector(".lp-btn-step[data-action=next]").click();a.querySelector("textarea[name=lp-openai-prompt-generated-field]").value=l}},error:e=>{lpToastify.show(e,"error")},completed:()=>{lpUtils.lpSetLoadingEl(s,!1)}};window.lpAJAXG.fetchAJAX(l,o)}generateDataCourse(e){const{e:t,target:s}=e;t.preventDefault(),lpUtils.lpSetLoadingEl(s,!0);const a=s.closest("form");let l=JSON.parse(s.dataset.send);l=lpUtils.mergeDataWithDatForm(a,l);const o=a.querySelector(".lp-btn-step[data-action=prev]");lpUtils.lpShowHideEl(o,0),setTimeout(()=>{lpToastify.show("Generating course data. This may take a few moments...","info")},1e3);const r={success:e=>{const{message:t,status:s,data:l}=e;if(lp_is_generating_course_data&&lpToastify.show(t,s),"success"===s){lp_structure_course=l.lp_structure_course;a.querySelector(".lp-ai-generated-results").innerHTML=l.lp_html_preview;a.querySelector(".lp-btn-step[data-action=next]").click()}},error:e=>{lpToastify.show(e,"error")},completed:()=>{lpUtils.lpSetLoadingEl(s,!1),lpUtils.lpShowHideEl(o,1),lp_is_generating_course_data=!1}};lp_is_generating_course_data=!0,window.lpAJAXG.fetchAJAX(l,r)}createCourse(e){const{e:t,target:s}=e;t.preventDefault(),lpUtils.lpSetLoadingEl(s,!0);const a=JSON.parse(s.dataset.send);a.lp_structure_course=lp_structure_course;const l=s.closest("form").querySelector(".lp-btn-step[data-action=prev]");lpUtils.lpShowHideEl(l,0);let o;o=window.outerWidth<768?"90%":"30%";const r=document.querySelector("#lp-tmpl-creating-course-ai");SweetAlert.fire({html:r.innerHTML,showCloseButton:!1,showConfirmButton:!1,allowOutsideClick:!1,width:o});const i={success:e=>{const{message:t,status:s,data:a}=e;SweetAlert.close(),lpToastify.show(t,s),"success"===s?setTimeout(()=>{window.location.href=a.edit_course_url},2e3):lpUtils.lpShowHideEl(l,1)},error:e=>{lpToastify.show(e,"error"),lpUtils.lpShowHideEl(l,1)},completed:()=>{lpUtils.lpSetLoadingEl(s,!1)}};window.lpAJAXG.fetchAJAX(a,i)}}