Plugin Directory

Changeset 3458914


Ignore:
Timestamp:
02/11/2026 11:21:12 AM (7 days ago)
Author:
stylemix
Message:

prepare release 3.7.15

Location:
masterstudy-lms-learning-management-system/trunk
Files:
8 added
7 deleted
37 edited

Legend:

Unmodified
Added
Removed
  • masterstudy-lms-learning-management-system/trunk/_core/assets/css/components/buy-button.css

    r3392871 r3458914  
    1 @-webkit-keyframes pulse{0%{-webkit-transform:scale(.1,.1);transform:scale(.1,.1);opacity:0}50%{opacity:1}100%{-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2);opacity:0}}@keyframes pulse{0%{-webkit-transform:scale(.1,.1);transform:scale(.1,.1);opacity:0}50%{opacity:1}100%{-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2);opacity:0}}@-webkit-keyframes loading-pulse{0%{-webkit-transform:translate(-50%,-50%) scale(.1,.1);transform:translate(-50%,-50%) scale(.1,.1);opacity:0}50%{opacity:1}100%{-webkit-transform:translate(-50%,-50%) scale(1.2,1.2);transform:translate(-50%,-50%) scale(1.2,1.2);opacity:0}}@keyframes loading-pulse{0%{-webkit-transform:translate(-50%,-50%) scale(.1,.1);transform:translate(-50%,-50%) scale(.1,.1);opacity:0}50%{opacity:1}100%{-webkit-transform:translate(-50%,-50%) scale(1.2,1.2);transform:translate(-50%,-50%) scale(1.2,1.2);opacity:0}}@-webkit-keyframes rotate360{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate360{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}body .masterstudy-buy-button{display:inline-block;vertical-align:top;white-space:nowrap;min-width:100%;outline:0;border:none;background:var(--accent-100);position:relative;border-radius:8px;transition:.2s;color:#fff;cursor:pointer}body .masterstudy-buy-button:active,body .masterstudy-buy-button:focus,body .masterstudy-buy-button:hover{background-color:var(--accent-hover)}body .masterstudy-buy-button>a.masterstudy-buy-button__link{display:flex;min-height:60px;padding:14px 20px;justify-content:space-between;align-items:center;text-align:center;text-decoration:none;color:#fff}body .masterstudy-buy-button>a.masterstudy-buy-button__link.masterstudy-buy-button__link_disabled:hover{cursor:default}body .masterstudy-buy-button>a.masterstudy-buy-button__link.loading:before{top:auto;left:50%;border:2px solid #fff;margin:0 0 0 -15px;padding:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-animation:pulse 1.5s ease-out;animation:pulse 1.5s ease-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;height:30px;width:30px;z-index:99}body .masterstudy-buy-button>a.masterstudy-buy-button__link:hover{color:#fff}body .masterstudy-buy-button__link.masterstudy-buy-button__link_centered{justify-content:center}body .masterstudy-buy-button__link.masterstudy-buy-button__link_centered .masterstudy-buy-button__title{text-align:center}body .masterstudy-buy-button-centred>a{justify-content:center}body .masterstudy-buy-button__title{width:100%;text-align:left;font-size:16px;line-height:18px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;transition:background .2s;position:relative}body .masterstudy-buy-button__title.masterstudy-buy-button__loading{font-size:0}body .masterstudy-buy-button__title.masterstudy-buy-button__loading:before{content:"";position:absolute;top:-25%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:30px;height:30px;margin-left:20px;border:2px solid #fff;border-radius:50%;-webkit-animation:pulse 1.5s ease-out;animation:pulse 1.5s ease-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;z-index:1}body .masterstudy-buy-button__separator{display:block;width:1px;height:30px;margin:0 20px;background-color:rgba(255,255,255,.1)}body .masterstudy-buy-button__price{display:inline-block;vertical-align:top;text-align:right;position:relative;line-height:28px;font-weight:700;font-size:16px}body .masterstudy-buy-button__price_sale{display:block;line-height:16px}body .masterstudy-buy-button__price.has_sale{line-height:16px}body .masterstudy-buy-button__price.has_sale .masterstudy-buy-button__price_regular{text-decoration:line-through;line-height:14px;font-weight:500;font-size:14px;color:rgba(255,255,255,.7)}body .masterstudy-buy-button_dropdown{padding-right:25px}body .masterstudy-buy-button_dropdown:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;cursor:pointer}body .masterstudy-buy-button_dropdown:after{content:"";position:absolute;top:50%;right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%);border-style:solid;border-width:6px 5px 0;border-color:#fff transparent transparent;box-shadow:none;cursor:pointer}body .masterstudy-buy-button-dropdown{display:none;position:absolute;top:100%;right:0;left:0;padding:0;margin-top:14px;border-radius:8px;background:#fff;box-shadow:0 10px 40px 0 rgba(0,0,0,.25);text-align:left;visibility:hidden;opacity:0;z-index:10;cursor:default}body .masterstudy-buy-button-dropdown>a,body .masterstudy-buy-button-dropdown>button{display:flex;width:100%;justify-content:space-between;min-height:38px;padding:10px 20px;text-align:left;border:0;transition:all .3s;border-radius:4px;background:var(--accent-10);margin-bottom:10px}body .masterstudy-buy-button-dropdown>a:last-child,body .masterstudy-buy-button-dropdown>button:last-child{margin-bottom:0}body .masterstudy-buy-button-dropdown>a.loading:before,body .masterstudy-buy-button-dropdown>button.loading:before{margin-left:auto}body .masterstudy-buy-button-dropdown>a:active,body .masterstudy-buy-button-dropdown>a:focus,body .masterstudy-buy-button-dropdown>a:hover,body .masterstudy-buy-button-dropdown>button:active,body .masterstudy-buy-button-dropdown>button:focus,body .masterstudy-buy-button-dropdown>button:hover{outline-offset:0;border:0;background-color:var(--accent-100);color:#fff}body .masterstudy-buy-button-dropdown>a:active span,body .masterstudy-buy-button-dropdown>a:focus span,body .masterstudy-buy-button-dropdown>a:hover span,body .masterstudy-buy-button-dropdown>button:active span,body .masterstudy-buy-button-dropdown>button:focus span,body .masterstudy-buy-button-dropdown>button:hover span{color:#fff}body .masterstudy-buy-button-dropdown__title{display:block;margin:10px 0;font-weight:500;font-size:14px;color:#4d5e6f}body .masterstudy-buy-button-dropdown__label{width:100%;text-transform:none;font-weight:700;font-size:14px;color:var(--accent-100)}body .masterstudy-buy-button-dropdown a.masterstudy-purchase-button{display:flex;width:100%;height:40px;align-items:center;justify-content:center;background:var(--accent-100);text-decoration:none;transition:.3s;border-radius:4px;margin-top:20px;position:relative}body .masterstudy-buy-button-dropdown a.masterstudy-purchase-button.masterstudy-purchase-button__loading .masterstudy-purchase-button__title{display:none}body .masterstudy-buy-button-dropdown a.masterstudy-purchase-button.masterstudy-purchase-button__loading::before{content:"";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:25px;height:25px;border:2px solid #fff;border-radius:50%;margin:0;-webkit-animation:loading-pulse 1.5s ease-out;animation:loading-pulse 1.5s ease-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;z-index:2}body .masterstudy-buy-button-dropdown a.masterstudy-purchase-button:hover{background:var(--accent-hover)}body .masterstudy-buy-button-dropdown a.masterstudy-purchase-button .masterstudy-purchase-button__title{display:flex;text-transform:capitalize;color:#fff;font-weight:700;font-size:14px;font-style:normal;line-height:normal}body .masterstudy-buy-button-dropdown .masterstudy-membership-button{display:flex;width:100%;height:40px;align-items:center;justify-content:center;background:var(--accent-100);text-decoration:none;transition:.3s;border-radius:4px;position:relative}body .masterstudy-buy-button-dropdown .masterstudy-membership-button:hover{background:var(--accent-hover)}body .masterstudy-buy-button-dropdown .masterstudy-membership-button .masterstudy-membership-button__title{display:flex;color:#fff;font-weight:700;font-size:14px;font-style:normal;line-height:normal}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan-link{display:flex;flex-direction:column;width:100%;padding:15px 20px;border-radius:10px;border:1px solid #dbe0e9;background:#fff;transition:.3s;box-shadow:0 1px 3px 0 rgba(0,0,0,.07);margin-bottom:10px}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan-link:last-child{margin-bottom:0}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan-link:hover{cursor:pointer;border-color:var(--accent-100)}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan-link.masterstudy-membership-plan-link_use{background:var(--accent-10);border-color:var(--accent-100)}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__label{display:flex;width:100%;white-space:normal;font-size:16px;font-style:normal;font-weight:600;line-height:normal;color:#001931;margin-bottom:10px}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__label-featured{display:flex;align-self:flex-start;justify-content:center;align-items:center;padding:3px 5px;margin-bottom:5px;border-radius:4px;background:var(--accent-100);font-size:10px;font-style:normal;font-weight:700;line-height:normal;letter-spacing:1px;text-transform:uppercase;text-align:center;color:#fff}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__price{display:flex;width:100%;font-size:18px;font-style:normal;font-weight:700;line-height:normal;color:#001931;align-items:center}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__old-price{display:flex;width:100%;font-size:14px;font-style:normal;font-weight:400;color:#4d5e6f;line-height:normal;-webkit-text-decoration-line:line-through;text-decoration-line:line-through}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__period{display:flex;align-items:flex-end;width:100%;font-size:12px;font-style:normal;font-weight:400;line-height:normal;color:#4d5e6f;text-transform:lowercase;margin-left:5px;margin-top:2px}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__features{display:flex;width:100%;flex-direction:column;margin-top:10px}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__features-item{display:flex;width:100%;white-space:normal;font-size:14px;font-style:normal;font-weight:400;line-height:140%;color:#4d5e6f}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__button{display:flex;width:100%;height:40px;min-height:40px;align-items:center;justify-content:center;background:var(--accent-100);transition:.3s;border-radius:4px;margin-top:10px;margin-bottom:5px;position:relative}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__button.masterstudy-membership-plan__button_disabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;pointer-events:none;opacity:.7}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__button.masterstudy-membership-plan__button_loading .masterstudy-membership-plan__button-title{display:none}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__button.masterstudy-membership-plan__button_loading::before{content:"";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:25px;height:25px;border:2px solid #fff;border-radius:50%;margin:0;-webkit-animation:loading-pulse 1.5s ease-out;animation:loading-pulse 1.5s ease-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;z-index:2}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__button:hover{cursor:pointer;background:var(--accent-hover)}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__button .masterstudy-membership-plan__button-title{display:flex;text-transform:capitalize;color:#fff;font-weight:700;font-size:14px;font-style:normal;line-height:normal}body .masterstudy-buy-button-dropdown__price{font-weight:500;font-size:14px;color:#808c98}body .masterstudy-buy-button-dropdown .masterstudy-buy-button__price-info{display:flex;width:100%;flex-direction:column}body .masterstudy-buy-button-dropdown .masterstudy-buy-button__price-info .masterstudy-buy-button__price-value{display:flex;width:100%;font-size:18px;font-style:normal;font-weight:700;line-height:normal;color:#001931}body .masterstudy-buy-button-dropdown .masterstudy-buy-button__price-info .masterstudy-buy-button__price-value.masterstudy-buy-button__price-value_sale{font-size:14px;font-style:normal;font-weight:500;line-height:normal;-webkit-text-decoration-line:line-through;text-decoration-line:line-through;color:#4d5e6f}body .masterstudy-buy-button-dropdown__section{display:flex;width:100%;flex-direction:column}body .masterstudy-buy-button-dropdown__section.masterstudy-buy-button-dropdown__section_open{background:#eef1f7}body .masterstudy-buy-button-dropdown__section.masterstudy-buy-button-dropdown__section_open .masterstudy-buy-button-dropdown__head-checkbox{background:#fff;border-color:var(--accent-100)}body .masterstudy-buy-button-dropdown__section.masterstudy-buy-button-dropdown__section_open .masterstudy-buy-button-dropdown__head-checkbox::before{opacity:1;visibility:visible}body .masterstudy-buy-button-dropdown__section.masterstudy-buy-button-dropdown__section_open .masterstudy-buy-button-dropdown__body{max-height:500px}body .masterstudy-buy-button-dropdown__section:first-child{border-top-left-radius:8px;border-top-right-radius:8px}body .masterstudy-buy-button-dropdown__section:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}body .masterstudy-buy-button-dropdown__section:last-child .masterstudy-buy-button-dropdown__body{border-bottom:none}body .masterstudy-buy-button-dropdown__head{display:flex;width:100%;justify-content:space-between;align-items:center;padding:15px 20px}body .masterstudy-buy-button-dropdown__head:hover{cursor:pointer}body .masterstudy-buy-button-dropdown__head-title{display:flex;width:auto;font-size:15px;font-style:normal;font-weight:500;line-height:normal;color:#001931}body .masterstudy-buy-button-dropdown__head-checkbox{display:flex;width:20px;height:20px;border-radius:50%;border:2px solid #dbe0e9;transition:.3s}body .masterstudy-buy-button-dropdown__head-checkbox::before{content:"";display:flex;margin:auto;width:9px;height:9px;border-radius:50%;background-color:var(--accent-100);opacity:0;visibility:hidden}body .masterstudy-buy-button-dropdown__body{display:flex;width:100%;flex-direction:column;max-height:0;overflow:hidden;transition:max-height .3s;border-bottom:1px solid #dbe0e9;padding:0}body .masterstudy-buy-button-dropdown__body-wrapper{display:flex;flex-direction:column;width:100%;padding:0 20px 15px;overflow-y:auto}body .masterstudy-buy-button-dropdown__body-wrapper::-webkit-scrollbar{width:5px}body .masterstudy-buy-button-dropdown__body-wrapper::-webkit-scrollbar-thumb{background:var(--accent-100);border-radius:4px}body .masterstudy-buy-button-dropdown__body-wrapper::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}body .masterstudy-buy-button-dropdown__body-wrapper::-webkit-scrollbar-track{background:#eef1f7;border-radius:4px}body .masterstudy-buy-button.dropdown-show{z-index:100}body .masterstudy-buy-button.dropdown-show .masterstudy-buy-button-dropdown{display:block;-webkit-transform:translateY(-4px);transform:translateY(-4px);transition:.3s;visibility:visible;opacity:1}body .masterstudy-buy-button.dropdown-show:after{margin-top:-6px;-webkit-transform:rotate(180deg) translateY(-50%);transform:rotate(180deg) translateY(-50%)}body .masterstudy-buy-button_style-dark-mode .masterstudy-buy-button-dropdown{background-color:#1e1e1e;box-shadow:0 10px 40px 0 rgba(0,0,0,.25)}body .masterstudy-buy-button_style-dark-mode .masterstudy-buy-button-dropdown__price,body .masterstudy-buy-button_style-dark-mode .masterstudy-buy-button-dropdown__title{color:rgba(255,255,255,.7)}body.rtl .masterstudy-buy-button.masterstudy-buy-button_dropdown{padding-right:0;padding-left:25px}body.rtl .masterstudy-buy-button.masterstudy-buy-button_dropdown::after{left:20px;right:auto}body.rtl .masterstudy-buy-button__title{text-align:right}
     1@-webkit-keyframes pulse{0%{-webkit-transform:scale(.1,.1);transform:scale(.1,.1);opacity:0}50%{opacity:1}100%{-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2);opacity:0}}@keyframes pulse{0%{-webkit-transform:scale(.1,.1);transform:scale(.1,.1);opacity:0}50%{opacity:1}100%{-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2);opacity:0}}@-webkit-keyframes loading-pulse{0%{-webkit-transform:translate(-50%,-50%) scale(.1,.1);transform:translate(-50%,-50%) scale(.1,.1);opacity:0}50%{opacity:1}100%{-webkit-transform:translate(-50%,-50%) scale(1.2,1.2);transform:translate(-50%,-50%) scale(1.2,1.2);opacity:0}}@keyframes loading-pulse{0%{-webkit-transform:translate(-50%,-50%) scale(.1,.1);transform:translate(-50%,-50%) scale(.1,.1);opacity:0}50%{opacity:1}100%{-webkit-transform:translate(-50%,-50%) scale(1.2,1.2);transform:translate(-50%,-50%) scale(1.2,1.2);opacity:0}}@-webkit-keyframes rotate360{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate360{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}body .masterstudy-buy-button__single-price-info-text{font-size:12px;color:#808c98;font-weight:500;margin-top:10px;line-height:normal}body .masterstudy-buy-button{display:inline-block;vertical-align:top;white-space:nowrap;min-width:100%;outline:0;border:none;background:var(--accent-100);position:relative;border-radius:8px;transition:.2s;color:#fff;cursor:pointer}body .masterstudy-buy-button:active,body .masterstudy-buy-button:focus,body .masterstudy-buy-button:hover{background-color:var(--accent-hover)}body .masterstudy-buy-button>a.masterstudy-buy-button__link{display:flex;min-height:60px;padding:14px 20px;justify-content:space-between;align-items:center;text-align:center;text-decoration:none;color:#fff}body .masterstudy-buy-button>a.masterstudy-buy-button__link.masterstudy-buy-button__link_disabled:hover{cursor:default}body .masterstudy-buy-button>a.masterstudy-buy-button__link.loading:before{top:auto;left:50%;border:2px solid #fff;margin:0 0 0 -15px;padding:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-animation:pulse 1.5s ease-out;animation:pulse 1.5s ease-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;height:30px;width:30px;z-index:99}body .masterstudy-buy-button>a.masterstudy-buy-button__link:hover{color:#fff}body .masterstudy-buy-button__link.masterstudy-buy-button__link_centered{justify-content:center}body .masterstudy-buy-button__link.masterstudy-buy-button__link_centered .masterstudy-buy-button__title{text-align:center}body .masterstudy-buy-button-centred>a{justify-content:center}body .masterstudy-buy-button__title{width:100%;text-align:left;font-size:16px;line-height:18px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;transition:background .2s;position:relative}body .masterstudy-buy-button__title.masterstudy-buy-button__loading{font-size:0}body .masterstudy-buy-button__title.masterstudy-buy-button__loading:before{content:"";position:absolute;top:-25%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:30px;height:30px;margin-left:20px;border:2px solid #fff;border-radius:50%;-webkit-animation:pulse 1.5s ease-out;animation:pulse 1.5s ease-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;z-index:1}body .masterstudy-buy-button__separator{display:block;width:1px;height:30px;margin:0 20px;background-color:rgba(255,255,255,.1)}body .masterstudy-buy-button__price{display:inline-block;vertical-align:top;text-align:right;position:relative;line-height:28px;font-weight:700;font-size:16px}body .masterstudy-buy-button__price_sale{display:block;line-height:16px}body .masterstudy-buy-button__price.has_sale{line-height:16px}body .masterstudy-buy-button__price.has_sale .masterstudy-buy-button__price_regular{text-decoration:line-through;line-height:14px;font-weight:500;font-size:14px;color:rgba(255,255,255,.7)}body .masterstudy-buy-button_dropdown{padding-right:25px}body .masterstudy-buy-button_dropdown:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;cursor:pointer}body .masterstudy-buy-button_dropdown:after{content:"";position:absolute;top:50%;right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%);border-style:solid;border-width:6px 5px 0;border-color:#fff transparent transparent;box-shadow:none;cursor:pointer}body .masterstudy-buy-button-dropdown{display:none;position:absolute;top:100%;right:0;left:0;padding:0;margin-top:14px;border-radius:8px;background:#fff;box-shadow:0 10px 40px 0 rgba(0,0,0,.25);text-align:left;visibility:hidden;opacity:0;z-index:10;cursor:default}body .masterstudy-buy-button-dropdown>a,body .masterstudy-buy-button-dropdown>button{display:flex;width:100%;justify-content:space-between;min-height:38px;padding:10px 20px;text-align:left;border:0;transition:all .3s;border-radius:4px;background:var(--accent-10);margin-bottom:10px}body .masterstudy-buy-button-dropdown>a:last-child,body .masterstudy-buy-button-dropdown>button:last-child{margin-bottom:0}body .masterstudy-buy-button-dropdown>a.loading:before,body .masterstudy-buy-button-dropdown>button.loading:before{margin-left:auto}body .masterstudy-buy-button-dropdown>a:active,body .masterstudy-buy-button-dropdown>a:focus,body .masterstudy-buy-button-dropdown>a:hover,body .masterstudy-buy-button-dropdown>button:active,body .masterstudy-buy-button-dropdown>button:focus,body .masterstudy-buy-button-dropdown>button:hover{outline-offset:0;border:0;background-color:var(--accent-100);color:#fff}body .masterstudy-buy-button-dropdown>a:active span,body .masterstudy-buy-button-dropdown>a:focus span,body .masterstudy-buy-button-dropdown>a:hover span,body .masterstudy-buy-button-dropdown>button:active span,body .masterstudy-buy-button-dropdown>button:focus span,body .masterstudy-buy-button-dropdown>button:hover span{color:#fff}body .masterstudy-buy-button-dropdown__title{display:block;margin:10px 0;font-weight:500;font-size:14px;color:#4d5e6f}body .masterstudy-buy-button-dropdown__label{width:100%;text-transform:none;font-weight:700;font-size:14px;color:var(--accent-100)}body .masterstudy-buy-button-dropdown a.masterstudy-purchase-button{display:flex;width:100%;height:40px;align-items:center;justify-content:center;background:var(--accent-100);text-decoration:none;transition:.3s;border-radius:4px;margin-top:20px;position:relative}body .masterstudy-buy-button-dropdown a.masterstudy-purchase-button.masterstudy-purchase-button__loading .masterstudy-purchase-button__title{display:none}body .masterstudy-buy-button-dropdown a.masterstudy-purchase-button.masterstudy-purchase-button__loading::before{content:"";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:25px;height:25px;border:2px solid #fff;border-radius:50%;margin:0;-webkit-animation:loading-pulse 1.5s ease-out;animation:loading-pulse 1.5s ease-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;z-index:2}body .masterstudy-buy-button-dropdown a.masterstudy-purchase-button:hover{background:var(--accent-hover)}body .masterstudy-buy-button-dropdown a.masterstudy-purchase-button .masterstudy-purchase-button__title{display:flex;text-transform:capitalize;color:#fff;font-weight:700;font-size:14px;font-style:normal;line-height:normal}body .masterstudy-buy-button-dropdown .masterstudy-membership-button{display:flex;width:100%;height:40px;align-items:center;justify-content:center;background:var(--accent-100);text-decoration:none;transition:.3s;border-radius:4px;position:relative}body .masterstudy-buy-button-dropdown .masterstudy-membership-button:hover{background:var(--accent-hover)}body .masterstudy-buy-button-dropdown .masterstudy-membership-button .masterstudy-membership-button__title{display:flex;color:#fff;font-weight:700;font-size:14px;font-style:normal;line-height:normal}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan-link{display:flex;flex-direction:column;width:100%;padding:15px 20px;border-radius:10px;border:1px solid #dbe0e9;background:#fff;transition:.3s;box-shadow:0 1px 3px 0 rgba(0,0,0,.07);margin-bottom:10px}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan-link:last-child{margin-bottom:0}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan-link:hover{cursor:pointer;border-color:var(--accent-100)}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan-link.masterstudy-membership-plan-link_use{background:var(--accent-10);border-color:var(--accent-100)}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__label{display:flex;width:100%;white-space:normal;font-size:16px;font-style:normal;font-weight:600;line-height:normal;color:#001931;margin-bottom:10px}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__label-featured{display:flex;align-self:flex-start;justify-content:center;align-items:center;padding:3px 5px;margin-bottom:5px;border-radius:4px;background:var(--accent-100);font-size:10px;font-style:normal;font-weight:700;line-height:normal;letter-spacing:1px;text-transform:uppercase;text-align:center;color:#fff}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__price{display:flex;width:100%;font-size:18px;font-style:normal;font-weight:700;line-height:normal;color:#001931;align-items:center}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__old-price{display:flex;width:100%;font-size:14px;font-style:normal;font-weight:400;color:#4d5e6f;line-height:normal;-webkit-text-decoration-line:line-through;text-decoration-line:line-through}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__period{display:flex;align-items:flex-end;width:100%;font-size:12px;font-style:normal;font-weight:400;line-height:normal;color:#4d5e6f;text-transform:lowercase;margin-left:5px;margin-top:2px}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__features{display:flex;width:100%;flex-direction:column;margin-top:10px}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__features-item{display:flex;width:100%;white-space:normal;font-size:14px;font-style:normal;font-weight:400;line-height:140%;color:#4d5e6f}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__button{display:flex;width:100%;height:40px;min-height:40px;align-items:center;justify-content:center;background:var(--accent-100);transition:.3s;border-radius:4px;margin-top:10px;margin-bottom:0;position:relative}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__button.masterstudy-membership-plan__button_disabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;pointer-events:none;opacity:.7}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__button.masterstudy-membership-plan__button_loading .masterstudy-membership-plan__button-title{display:none}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__button.masterstudy-membership-plan__button_loading::before{content:"";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:25px;height:25px;border:2px solid #fff;border-radius:50%;margin:0;-webkit-animation:loading-pulse 1.5s ease-out;animation:loading-pulse 1.5s ease-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;z-index:2}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__button:hover{cursor:pointer;background:var(--accent-hover)}body .masterstudy-buy-button-dropdown .masterstudy-membership-plan__button .masterstudy-membership-plan__button-title{display:flex;text-transform:capitalize;color:#fff;font-weight:700;font-size:14px;font-style:normal;line-height:normal}body .masterstudy-buy-button-dropdown__price{font-weight:500;font-size:14px;color:#808c98}body .masterstudy-buy-button-dropdown .masterstudy-buy-button__price-info-text{font-size:12px;color:#808c98;font-weight:500;margin-top:10px;line-height:normal}body .masterstudy-buy-button-dropdown .masterstudy-buy-button__price-info{display:flex;width:100%;flex-direction:column}body .masterstudy-buy-button-dropdown .masterstudy-buy-button__price-info .masterstudy-buy-button__price-value{display:flex;width:100%;font-size:18px;font-style:normal;font-weight:700;line-height:normal;color:#001931}body .masterstudy-buy-button-dropdown .masterstudy-buy-button__price-info .masterstudy-buy-button__price-value.masterstudy-buy-button__price-value_sale{font-size:14px;font-style:normal;font-weight:500;line-height:normal;-webkit-text-decoration-line:line-through;text-decoration-line:line-through;color:#4d5e6f}body .masterstudy-buy-button-dropdown__section{display:flex;width:100%;flex-direction:column}body .masterstudy-buy-button-dropdown__section.masterstudy-buy-button-dropdown__section_open{background:#eef1f7}body .masterstudy-buy-button-dropdown__section.masterstudy-buy-button-dropdown__section_open .masterstudy-buy-button-dropdown__head-checkbox{background:#fff;border-color:var(--accent-100)}body .masterstudy-buy-button-dropdown__section.masterstudy-buy-button-dropdown__section_open .masterstudy-buy-button-dropdown__head-checkbox::before{opacity:1;visibility:visible}body .masterstudy-buy-button-dropdown__section.masterstudy-buy-button-dropdown__section_open .masterstudy-buy-button-dropdown__body{max-height:500px}body .masterstudy-buy-button-dropdown__section:first-child{border-top-left-radius:8px;border-top-right-radius:8px}body .masterstudy-buy-button-dropdown__section:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}body .masterstudy-buy-button-dropdown__section:last-child .masterstudy-buy-button-dropdown__body{border-bottom:none}body .masterstudy-buy-button-dropdown__head{display:flex;width:100%;justify-content:space-between;align-items:center;padding:15px 20px}body .masterstudy-buy-button-dropdown__head:hover{cursor:pointer}body .masterstudy-buy-button-dropdown__head-title{display:flex;width:auto;font-size:15px;font-style:normal;font-weight:500;line-height:normal;color:#001931}body .masterstudy-buy-button-dropdown__head-checkbox{display:flex;width:20px;height:20px;border-radius:50%;border:2px solid #dbe0e9;transition:.3s}body .masterstudy-buy-button-dropdown__head-checkbox::before{content:"";display:flex;margin:auto;width:9px;height:9px;border-radius:50%;background-color:var(--accent-100);opacity:0;visibility:hidden}body .masterstudy-buy-button-dropdown__body{display:flex;width:100%;flex-direction:column;max-height:0;overflow:hidden;transition:max-height .3s;border-bottom:1px solid #dbe0e9;padding:0}body .masterstudy-buy-button-dropdown__body-wrapper{display:flex;flex-direction:column;width:100%;padding:0 20px 15px;overflow-y:auto}body .masterstudy-buy-button-dropdown__body-wrapper::-webkit-scrollbar{width:5px}body .masterstudy-buy-button-dropdown__body-wrapper::-webkit-scrollbar-thumb{background:var(--accent-100);border-radius:4px}body .masterstudy-buy-button-dropdown__body-wrapper::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}body .masterstudy-buy-button-dropdown__body-wrapper::-webkit-scrollbar-track{background:#eef1f7;border-radius:4px}body .masterstudy-buy-button.dropdown-show{z-index:100}body .masterstudy-buy-button.dropdown-show .masterstudy-buy-button-dropdown{display:block;-webkit-transform:translateY(-4px);transform:translateY(-4px);transition:.3s;visibility:visible;opacity:1}body .masterstudy-buy-button.dropdown-show:after{margin-top:-6px;-webkit-transform:rotate(180deg) translateY(-50%);transform:rotate(180deg) translateY(-50%)}body .masterstudy-buy-button_style-dark-mode .masterstudy-buy-button-dropdown{background-color:#1e1e1e;box-shadow:0 10px 40px 0 rgba(0,0,0,.25)}body .masterstudy-buy-button_style-dark-mode .masterstudy-buy-button-dropdown__price,body .masterstudy-buy-button_style-dark-mode .masterstudy-buy-button-dropdown__title{color:rgba(255,255,255,.7)}body.rtl .masterstudy-buy-button.masterstudy-buy-button_dropdown{padding-right:0;padding-left:25px}body.rtl .masterstudy-buy-button.masterstudy-buy-button_dropdown::after{left:20px;right:auto}body.rtl .masterstudy-buy-button__title{text-align:right}
  • masterstudy-lms-learning-management-system/trunk/_core/init.php

    r3449418 r3458914  
    44define( 'STM_LMS_PATH', dirname( STM_LMS_FILE ) );
    55define( 'STM_LMS_URL', plugin_dir_url( STM_LMS_FILE ) );
    6 define( 'STM_LMS_VERSION', '3.7.14' );
     6define( 'STM_LMS_VERSION', '3.7.15' );
    77define( 'STM_LMS_DB_VERSION', '3.7.5' );
    88define( 'STM_LMS_BASE_API_URL', '/wp-json/lms' );
  • masterstudy-lms-learning-management-system/trunk/_core/lms/classes/instructors.php

    r3427267 r3458914  
    485485                $single_sale        = get_post_meta( $id, 'single_sale', true );
    486486                $not_in_membership  = get_post_meta( $id, 'not_membership', true );
    487                 $course_free_status = masterstudy_lms_course_free_status( $single_sale, $price );
     487                $course_free_status = masterstudy_lms_course_free_status( $id, $price );
    488488
    489489                switch ( $status ) {
  • masterstudy-lms-learning-management-system/trunk/_core/lms/classes/user.php

    r3422825 r3458914  
    976976        if ( is_ms_lms_addon_enabled( Addons::SUBSCRIPTIONS ) ) {
    977977            $subscription_info = ( new CourseService() )->has_access_to_course( $user_id, $course, $course_id, $add );
    978             $condition         = $add ? $subscription_info['only_for_membership'] && $subscription_info['bought_by_membership'] : $subscription_info['only_for_membership'];
     978            $condition         = $add ? $subscription_info['only_for_membership'] && $subscription_info['bought_by_membership'] : $subscription_info['only_for_membership'] && ! empty( $subscription_info['subscription_id'] );
    979979            if ( $condition ) {
    980980                return apply_filters( 'stm_lms_has_course_access', $subscription_info['has_access'], $course_id, $item_id );
  • masterstudy-lms-learning-management-system/trunk/_core/lms/classes/vendor/LmsUpdateCallbacks.php

    r3410526 r3458914  
    66use MasterStudy\Lms\Database\CurriculumMaterial;
    77use MasterStudy\Lms\Database\CurriculumSection;
     8use MasterStudy\Lms\Enums\PricingMode;
    89use MasterStudy\Lms\Plugin\PostType;
     10use MasterStudy\Lms\Pro\AddonsPlus\Subscriptions\Enums\SubscriptionPlanType;
    911use MasterStudy\Lms\Repositories\CurriculumMaterialRepository;
    1012use MasterStudy\Lms\Repositories\CurriculumSectionRepository;
    1113use MasterStudy\Lms\Utility\CourseGrade;
    1214use Automattic\WooCommerce\Utilities\OrderUtil;
    13 use WP_Query;
    1415
    1516abstract class LmsUpdateCallbacks {
     
    970971        }
    971972    }
     973
     974    public static function lms_update_pricing() {
     975        global $wpdb;
     976
     977        $subscriptions_join   = '';
     978        $subscriptions_select = '';
     979        $prepare_args         = array();
     980
     981        if ( is_ms_lms_addon_enabled( 'subscriptions' ) ) {
     982            $subscription_plans_table = stm_lms_subscription_plans_table_name( $wpdb );
     983            $plan_items_table         = stm_lms_subscription_plan_items_table_name( $wpdb );
     984
     985            $subscriptions_join = "
     986            LEFT JOIN (
     987                SELECT pi.object_id, COUNT(*) AS total_plans
     988                FROM {$subscription_plans_table} AS p
     989                INNER JOIN {$plan_items_table} AS pi ON pi.plan_id = p.id
     990                WHERE p.type = %s AND p.is_enabled = 1
     991                GROUP BY pi.object_id
     992            ) AS sp ON sp.object_id = posts.ID
     993        ";
     994
     995            $subscriptions_select = ',
     996            MAX(COALESCE(sp.total_plans, 0)) AS total_plans
     997        ';
     998
     999            $prepare_args[] = SubscriptionPlanType::COURSE;
     1000        }
     1001
     1002        $sql = "
     1003        SELECT posts.ID AS course_id,
     1004
     1005            MAX(CASE WHEN pm.meta_key = 'pricing_mode' THEN pm.meta_value END)            AS pricing_mode,
     1006            MAX(CASE WHEN pm.meta_key = 'affiliate_course' THEN pm.meta_value END)        AS affiliate_course,
     1007            MAX(CASE WHEN pm.meta_key = 'affiliate_course_link' THEN pm.meta_value END)   AS affiliate_course_link,
     1008            MAX(CASE WHEN pm.meta_key = 'affiliate_course_text' THEN pm.meta_value END)   AS affiliate_course_text,
     1009            MAX(CASE WHEN pm.meta_key = 'single_sale' THEN pm.meta_value END)             AS single_sale,
     1010            MAX(CASE WHEN pm.meta_key = 'price' THEN pm.meta_value END)                   AS price,
     1011            MAX(CASE WHEN pm.meta_key = 'enterprise_price' THEN pm.meta_value END)        AS enterprise_price,
     1012            MAX(CASE WHEN pm.meta_key = 'points_price' THEN pm.meta_value END)            AS points_price,
     1013            MAX(CASE WHEN pm.meta_key = 'subscriptions' THEN pm.meta_value END)           AS subscriptions,
     1014            MAX(CASE WHEN pm.meta_key = 'not_membership' THEN pm.meta_value END)          AS not_membership,
     1015            MAX(CASE WHEN pm.meta_key = 'price_info' THEN pm.meta_value END)              AS price_info
     1016
     1017            {$subscriptions_select}
     1018
     1019        FROM {$wpdb->posts} AS posts
     1020
     1021        LEFT JOIN {$wpdb->postmeta} AS pm
     1022        ON pm.post_id = posts.ID
     1023        AND pm.meta_key IN (
     1024            'pricing_mode',
     1025            'affiliate_course',
     1026            'affiliate_course_link',
     1027            'affiliate_course_text',
     1028            'single_sale',
     1029            'price',
     1030            'enterprise_price',
     1031            'points_price',
     1032            'subscriptions',
     1033            'not_membership',
     1034            'price_info'
     1035        )
     1036
     1037        {$subscriptions_join}
     1038
     1039        WHERE posts.post_type = 'stm-courses' GROUP BY posts.ID
     1040    ";
     1041
     1042        if ( ! empty( $prepare_args ) ) {
     1043            // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared -- prepared before
     1044            $sql = $wpdb->prepare( $sql, $prepare_args );
     1045        }
     1046
     1047        // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared -- prepared before
     1048        $rows = $wpdb->get_results( $sql, ARRAY_A );
     1049
     1050        if ( empty( $rows ) ) {
     1051            return;
     1052        }
     1053
     1054        foreach ( $rows as $row ) {
     1055            $course_id    = (int) $row['course_id'];
     1056            $pricing_info = $row['price_info'] ?? '';
     1057
     1058            // Pricing is affiliate
     1059            if (
     1060            ! empty( $row['affiliate_course'] ) &&
     1061            ! empty( $row['affiliate_course_link'] ) &&
     1062            ! empty( $row['affiliate_course_text'] )
     1063            ) {
     1064                update_post_meta( $course_id, 'pricing_mode', PricingMode::AFFILIATE );
     1065
     1066                if ( ! empty( $row['price'] ) ) {
     1067                    update_post_meta( $course_id, 'affiliate_course_price', $row['price'] );
     1068                }
     1069                continue;
     1070            }
     1071
     1072            $total_plans = isset( $row['total_plans'] ) ? (int) $row['total_plans'] : 0;
     1073
     1074            // Pricing is paid
     1075            $has_single_sale_price   = ! empty( $row['single_sale'] ) && ! empty( $row['price'] );
     1076            $has_enterprise_price    = ! empty( $row['enterprise_price'] );
     1077            $has_points_price        = ! empty( $row['points_price'] );
     1078            $has_subscriptions_plans = ! empty( $total_plans ) && ! empty( $row['subscriptions'] );
     1079            $has_membership_enabled  = empty( $row['not_membership'] ) && ( is_ms_lms_addon_enabled( 'subscriptions' ) || defined( 'PMPRO_VERSION' ) );
     1080            $is_zero_price           = '0' === $row['price'];
     1081
     1082            if ( $has_enterprise_price ) {
     1083                update_post_meta( $course_id, 'enterprise', 'on' );
     1084            }
     1085
     1086            if ( $has_points_price ) {
     1087                update_post_meta( $course_id, 'points', 'on' );
     1088            }
     1089
     1090            if ( ! $is_zero_price && ( $has_single_sale_price || $has_enterprise_price || $has_points_price || $has_membership_enabled || $has_subscriptions_plans ) ) {
     1091                update_post_meta( $course_id, 'pricing_mode', PricingMode::PAID );
     1092                update_post_meta( $course_id, 'single_sale_price_info', $pricing_info );
     1093                update_post_meta( $course_id, 'enterprise_price_info', $pricing_info );
     1094                update_post_meta( $course_id, 'points_price_info', $pricing_info );
     1095                update_post_meta( $course_id, 'subscriptions_price_info', $pricing_info );
     1096                update_post_meta( $course_id, 'membership_price_info', $pricing_info );
     1097
     1098                continue;
     1099            }
     1100
     1101            // Pricing is free
     1102            update_post_meta( $course_id, 'pricing_mode', PricingMode::FREE );
     1103            update_post_meta( $course_id, 'free_price_info', $pricing_info );
     1104        }
     1105    }
    9721106}
  • masterstudy-lms-learning-management-system/trunk/_core/lms/classes/vendor/LmsUpdates.php

    r3410526 r3458914  
    6060        '3.7.3'  => array( 'lms_update_zero_sale_price' ), // If user had sale_price 0 then make it an empty string, otherwise keep the value,
    6161        '3.7.5'  => array( 'lms_add_course_statuses' ), // Add default course statuses
     62        '3.7.15' => array( 'lms_update_pricing' ), // Update old pricing to new separated pricing
    6263    );
    6364
  • masterstudy-lms-learning-management-system/trunk/_core/lms/helpers.php

    r3449418 r3458914  
    11<?php
    22
     3use MasterStudy\Lms\Enums\PricingMode;
    34use MasterStudy\Lms\Plugin\PostType;
    45use MasterStudy\Lms\Pro\addons\CourseBundle\Repository\CourseBundleRepository;
     
    1112}
    1213
    13 use \MasterStudy\Lms\Repositories\CurriculumMaterialRepository;
     14use MasterStudy\Lms\Repositories\CurriculumMaterialRepository;
    1415
    1516function stm_lms_str_replace_once( $str_pattern, $str_replacement, $string ) {
     
    145146
    146147    return $translate ? sprintf( $translate, $number ) : $translate;
    147 
    148148}
    149149
     
    438438    $content = preg_replace_callback(
    439439        $pattern,
    440         function( $matches ) {
     440        function ( $matches ) {
    441441            $pre_text      = wp_kses_post( trim( $matches[1] ) );
    442442            $timecode      = $matches[2];
     
    516516                $lang['url'] = $lang['url'] . $sub_path;
    517517            }
    518         };
     518        }
    519519
    520520        return $langs;
    521 
    522521    }
    523522);
     
    640639    if ( function_exists( 'stm_lms_get_VC_img' ) && function_exists( 'wpb_getImageBySize' ) && ! empty( $size_1 ) ) {
    641640        $image = stm_lms_get_VC_img( $attachment_id, $size_1, $url );
     641    } elseif ( $url ) {
     642            $image = stm_lms_get_image_url( $attachment_id, $size_2 );
    642643    } else {
    643         if ( $url ) {
    644             $image = stm_lms_get_image_url( $attachment_id, $size_2 );
    645         } else {
    646             $image = wp_get_attachment_image( $attachment_id, $size_2 );
    647         }
     644        $image = wp_get_attachment_image( $attachment_id, $size_2 );
    648645    }
    649646    if ( false === $retina && strpos( $image, 'srcset' ) !== false ) {
     
    922919    foreach ( $post_types as $post_type ) {
    923920        if ( isset( $post_type['args']['show_in_menu'] ) && 'admin.php?page=stm-lms-settings' === $post_type['args']['show_in_menu'] ) {
    924             $menu_position ++;
     921            ++$menu_position;
    925922        }
    926923    }
     
    10041001                $select[ $term_child_id ] = "- {$term_child->name}";
    10051002            }
    1006         };
    1007 
     1003        }
    10081004    }
    10091005
     
    14921488    global $wpdb;
    14931489
    1494     if ( is_ms_lms_addon_enabled( Addons::SUBSCRIPTIONS ) ) {
     1490    if ( class_exists( 'MasterStudy\Lms\Pro\AddonsPlus\Subscriptions\Services\CourseService' ) ) {
    14951491        $is_provided = ( new CourseService() )->is_certificate_provided( get_current_user_id(), $course_id );
    14961492        if ( ! $is_provided ) {
     
    15781574        return false;
    15791575    }
    1580 };
     1576}
    15811577
    15821578function masterstudy_course_header_meta_data() {
     
    16021598add_action( 'wp_head', 'masterstudy_course_header_meta_data' );
    16031599
    1604 function masterstudy_lms_course_free_status( $single_sale, $price ) {
     1600function masterstudy_lms_course_free_status( $course_id, $price ) {
     1601    $pricing_mode = get_post_meta( $course_id, 'pricing_mode', true ) ?? false;
    16051602    return array(
    1606         'is_free'    => $single_sale && 0.0 === floatval( $price ),
     1603        'is_free'    => PricingMode::FREE === $pricing_mode,
    16071604        'zero_price' => empty( $price ) || 0.0 === floatval( $price ),
    16081605    );
  • masterstudy-lms-learning-management-system/trunk/_core/lms/widgets/popular.widget.php

    r3427267 r3458914  
    6666                    $single_sale        = get_post_meta( $post_id, 'single_sale', true );
    6767                    $not_in_membership  = get_post_meta( $post_id, 'not_membership', true );
    68                     $course_free_status = masterstudy_lms_course_free_status( $single_sale, $price );
     68                    $course_free_status = masterstudy_lms_course_free_status( $post_id, $price );
    6969                    $content            = '';
    7070                    if ( ! $single_sale && ! $not_in_membership ) {
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/components/buy-button/buy-button.php

    r3392871 r3458914  
    99 * @var bool $dark_mode
    1010 */
     11
     12use MasterStudy\Lms\Enums\PricingMode;
    1113
    1214wp_enqueue_style( 'masterstudy-buy-button' );
     
    2527$course_price          = STM_LMS_Course::get_course_price( $post_id );
    2628$single_sale           = get_post_meta( $post_id, 'single_sale', true );
     29$pricing_mode          = get_post_meta( $post_id, 'pricing_mode', true );
    2730$has_access            = isset( $has_access ) ? $has_access : STM_LMS_User::has_course_access( $post_id, '', false );
    2831$prerequisite_passed   = true;
     
    4952}
    5053
    51 if ( class_exists( 'STM_LMS_Courses_Pro' ) && method_exists( 'STM_LMS_Courses_Pro', 'affiliate_course' ) ) {
    52     $is_affiliate = STM_LMS_Courses_Pro::affiliate_course( $post_id );
    53 } else {
    54     $is_affiliate = false;
    55 }
    56 
    57 if ( ! $is_affiliate ) {
    58     if ( ( $has_access || ( empty( $course_price ) && $single_sale ) ) && $prerequisite_passed ) :
     54if ( PricingMode::AFFILIATE !== $pricing_mode || ! class_exists( 'STM_LMS_Courses_Pro' ) ) {
     55    if ( ( $has_access || PricingMode::FREE === $pricing_mode ) && $prerequisite_passed ) :
    5956        /* Including the button template for free courses */
    6057        STM_LMS_Templates::show_lms_template(
     
    8178        );
    8279    endif;
     80} else {
     81    STM_LMS_Templates::show_lms_template(
     82        'components/buy-button/paid-courses/affiliate',
     83        array(
     84            'course_id' => $post_id,
     85        )
     86    );
    8387}
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/components/buy-button/free-courses/free-courses.php

    r3198820 r3458914  
    99<div class="<?php echo esc_attr( implode( ' ', $button_classes ) ); ?>">
    1010    <?php
    11     $course              = STM_LMS_Helpers::simplify_db_array( stm_lms_get_user_course( $user_id, $post_id, array( 'current_lesson_id', 'progress_percent' ) ) );
    12     $current_lesson      = $course['current_lesson_id'] ?? '0';
    13     $progress            = intval( $course['progress_percent'] ?? 0 );
    14     $lesson_url          = STM_LMS_Lesson::get_lesson_url( $post_id, $current_lesson );
    15     $btn_label           = esc_html__( 'Start course', 'masterstudy-lms-learning-management-system' );
    16     $trial_addon         = is_ms_lms_addon_enabled( 'shareware' );
    17     $guest_trial_enabled = false;
     11    $course                 = STM_LMS_Helpers::simplify_db_array(
     12        stm_lms_get_user_course(
     13            $user_id,
     14            $post_id,
     15            array(
     16                'current_lesson_id',
     17                'progress_percent',
     18            )
     19        )
     20    );
     21    $current_lesson         = $course['current_lesson_id'] ?? '0';
     22    $progress               = intval( $course['progress_percent'] ?? 0 );
     23    $lesson_url             = STM_LMS_Lesson::get_lesson_url( $post_id, $current_lesson );
     24    $btn_label              = esc_html__( 'Start course', 'masterstudy-lms-learning-management-system' );
     25    $trial_addon            = is_ms_lms_addon_enabled( 'shareware' );
     26    $guest_trial_enabled    = false;
     27    $is_certificate_enabled = \MasterStudy\Lms\Repositories\PricingRepository::is_certificate_enabled( $post_id );
     28    $price_info             = get_post_meta( $post_id, 'free_price_info', true );
     29    $cert_info              = empty( get_post_meta( $post_id, 'free_do_not_provide_certificate', true ) ) && $is_certificate_enabled;
     30
     31    if ( ! function_exists( 'concat_info' ) ) {
     32        function concat_info( array $strings ): string {
     33            return implode( ' • ', array_filter( $strings ) );
     34        }
     35    }
     36
    1837
    1938    if ( $trial_addon ) {
     
    2746    if ( empty( $user_id ) && $trial_addon && $guest_trial_enabled ) {
    2847        ?>
    29         <a class="masterstudy-buy-button__link masterstudy-buy-button__link_centered" href="<?php echo esc_url( $lesson_url ); ?>">
    30             <span class="masterstudy-buy-button__title"><?php echo esc_html( sanitize_text_field( $btn_label ) ); ?></span>
     48        <a class="masterstudy-buy-button__link masterstudy-buy-button__link_centered"
     49            href="<?php echo esc_url( $lesson_url ); ?>">
     50            <span
     51                class="masterstudy-buy-button__title"><?php echo esc_html( sanitize_text_field( $btn_label ) ); ?></span>
    3152        </a>
    3253        <?php
    3354    } elseif ( empty( $user_id ) ) {
    3455        ?>
    35         <a class="masterstudy-buy-button__link masterstudy-buy-button__link_centered" href="#" data-authorization-modal="login">
    36             <span class="masterstudy-buy-button__title"><?php echo esc_html__( 'Enroll course', 'masterstudy-lms-learning-management-system' ); ?></span>
     56        <a class="masterstudy-buy-button__link masterstudy-buy-button__link_centered" href="#"
     57            data-authorization-modal="login">
     58            <span
     59                class="masterstudy-buy-button__title"><?php echo esc_html__( 'Enroll course', 'masterstudy-lms-learning-management-system' ); ?></span>
    3760        </a>
    3861        <?php
     
    4467        if ( $is_course_coming_soon ) {
    4568            ?>
    46             <a href="#" class="masterstudy-buy-button__link masterstudy-buy-button__link_centered masterstudy-buy-button__link_disabled">
    47                 <span class="masterstudy-buy-button__title"><?php echo esc_html__( 'Coming soon', 'masterstudy-lms-learning-management-system' ); ?></span>
     69            <a href="#"
     70                class="masterstudy-buy-button__link masterstudy-buy-button__link_centered masterstudy-buy-button__link_disabled">
     71                <span
     72                    class="masterstudy-buy-button__title"><?php echo esc_html__( 'Coming soon', 'masterstudy-lms-learning-management-system' ); ?></span>
    4873            </a>
    4974            <?php
    5075        } else {
    5176            ?>
    52             <a class="masterstudy-buy-button__link masterstudy-buy-button__link_centered" href="<?php echo esc_url( $lesson_url ); ?>">
    53                 <span class="masterstudy-buy-button__title"><?php echo esc_html( sanitize_text_field( $btn_label ) ); ?></span>
     77            <a class="masterstudy-buy-button__link masterstudy-buy-button__link_centered"
     78                href="<?php echo esc_url( $lesson_url ); ?>">
     79                <span
     80                    class="masterstudy-buy-button__title"><?php echo esc_html( sanitize_text_field( $btn_label ) ); ?></span>
    5481            </a>
    5582            <?php
     
    5885    ?>
    5986</div>
     87<?php if ( ( ! empty( $price_info ) || $cert_info ) && empty( $course ) ) : ?>
     88    <span class="masterstudy-buy-button__single-price-info-text">
     89            <?php
     90            echo esc_html(
     91                concat_info(
     92                    array(
     93                        $price_info ?? '',
     94                        $cert_info ? esc_html__( 'Certificate included', 'masterstudy-lms-learning-management-system' ) : null,
     95                    )
     96                )
     97            );
     98            ?>
     99    </span>
     100<?php endif ?>
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/components/buy-button/paid-courses/paid-courses.php

    r3422825 r3458914  
    1111use MasterStudy\Lms\Plugin\Addons;
    1212use MasterStudy\Lms\Pro\AddonsPlus\Subscriptions\Repositories\SubscriptionPlanRepository;
     13use MasterStudy\Lms\Repositories\PricingRepository;
    1314
    1415wp_enqueue_style( 'masterstudy-button' );
     
    2021$not_in_membership        = get_post_meta( $post_id, 'not_membership', true );
    2122$is_subscriptions_enabled = get_post_meta( $post_id, 'subscriptions', true );
     23$price_info               = PricingRepository::get_price_info( $post_id );
     24$cert_info                = PricingRepository::get_certificates_info( $post_id );
    2225$points_price             = class_exists( 'STM_LMS_Point_System' ) ? STM_LMS_Point_System::course_price( $post_id ) : null;
     26$points_enabled           = get_post_meta( $post_id, 'points', true );
    2327$enterprise_price         = class_exists( 'STM_LMS_Enterprise_Courses' ) ? STM_LMS_Enterprise_Courses::get_enterprise_price( $post_id ) : null;
    24 $group_course_show        = $prerequisite_passed && empty( $hide_group_course ) && ! empty( $enterprise_price ) && $logged_in;
     28$enterprise_enabled       = get_post_meta( $post_id, 'enterprise', true );
     29$group_course_show        = $prerequisite_passed && empty( $hide_group_course ) && ! empty( $enterprise_enabled ) && $logged_in;
    2530$show_buttons             = apply_filters( 'stm_lms_pro_show_button', true, $post_id );
    2631$sale_price_active        = STM_LMS_Helpers::is_sale_price_active( $post_id );
    2732$is_sale                  = ! empty( $sale_price ) && ! empty( $sale_price_active );
    2833$guest_checkout           = STM_LMS_Options::get_option( 'guest_checkout', false );
     34$cert_included_text       = esc_html__( 'Certificate included', 'masterstudy-lms-learning-management-system' );
    2935
    3036$pmpro_plans_courses        = array();
     
    98104$dropdown_enabled = (
    99105    ( ! empty( $pmpro_plans_courses ) && ! $not_in_membership )
    100     || ( ! empty( $points_price ) && $logged_in )
     106    || ( ! empty( $points_enabled ) && $logged_in )
    101107    || ( $group_course_show && $logged_in )
    102108    || ( ! empty( $ms_membership_plans ) && ! $not_in_membership )
     
    123129}
    124130
     131if ( ! function_exists( 'concat_info' ) ) {
     132    function concat_info( array $strings ): string {
     133        return implode( ' • ', array_filter( $strings ) );
     134    }
     135}
     136
    125137if ( $show_buttons ) {
    126138    ?>
     
    134146                'sale_price'        => 'on' !== $single_sale ? '' : $sale_price,
    135147                'sale_price_active' => $sale_price_active,
     148                'price_info'        => $price_info,
    136149            )
    137150        );
     151        $single_price_info = $price_info['single_sale_price_info'];
    138152        if ( $dropdown_enabled ) {
    139153            ?>
     154
    140155            <div class="masterstudy-buy-button-dropdown">
    141156                <?php
     
    167182                                    </span>
    168183                                </a>
     184                                <?php if ( ! empty( $price_info['single_sale_price_info'] ) || $cert_info['single_sale'] ) : ?>
     185                                    <span class="masterstudy-buy-button__price-info-text">
     186                                        <?php echo esc_html( concat_info( array( $price_info['single_sale_price_info'] ?? '', $cert_info['single_sale'] ? $cert_included_text : null ) ) ); ?>
     187                                    </span>
     188                                <?php endif; ?>
    169189                            </div>
    170190                        </div>
     
    194214                                );
    195215                                ?>
     216
     217                                <?php if ( ! empty( $price_info['membership_price_info'] ) || $cert_info['pmpro'] ) : ?>
     218                                    <span class="masterstudy-buy-button__price-info-text">
     219                                        <?php echo esc_html( concat_info( array( $price_info['membership_price_info'] ?? '', $cert_info['pmpro'] ? $cert_included_text : null ) ) ); ?>
     220                                    </span>
     221                                <?php endif; ?>
    196222                            </div>
    197223                        </div>
     
    218244                                        'logged_in'      => $logged_in,
    219245                                        'guest_checkout' => $guest_checkout,
     246                                        'course_id'      => $post_id,
    220247                                    )
    221248                                );
    222249                                ?>
     250                                <?php if ( ! empty( $price_info['membership_price_info'] ) ) : ?>
     251                                    <span class="masterstudy-buy-button__price-info-text"><?php echo esc_html( $price_info['membership_price_info'] ); ?></span>
     252                                <?php endif; ?>
    223253                            </div>
    224254                        </div>
     
    245275                                        'logged_in'      => $logged_in,
    246276                                        'guest_checkout' => $guest_checkout,
     277                                        'course_id'      => $post_id,
    247278                                    )
    248279                                );
    249280                                ?>
    250                             </div>
    251                         </div>
    252                     </div>
    253                     <?php
    254                 }
    255 
    256                 if ( ! empty( $points_price ) && $logged_in ) {
     281                                <?php if ( ! empty( $price_info['subscriptions_price_info'] ) ) : ?>
     282                                    <span class="masterstudy-buy-button__price-info-text"><?php echo esc_html( $price_info['subscriptions_price_info'] ); ?></span>
     283                                <?php endif; ?>
     284                            </div>
     285                        </div>
     286                    </div>
     287                    <?php
     288                }
     289
     290                if ( $group_course_show ) {
     291                    ?>
     292                    <div class="masterstudy-buy-button-dropdown__section">
     293                        <div class="masterstudy-buy-button-dropdown__head">
     294                                <span class="masterstudy-buy-button-dropdown__head-title">
     295                                    <?php echo esc_html__( 'Group course', 'masterstudy-lms-learning-management-system' ); ?>
     296                                </span>
     297                            <span class="masterstudy-buy-button-dropdown__head-checkbox"></span>
     298                        </div>
     299                        <div class="masterstudy-buy-button-dropdown__body">
     300                            <div class="masterstudy-buy-button-dropdown__body-wrapper">
     301                                <?php do_action( 'masterstudy_group_course_button', $post_id ); ?>
     302                                <?php if ( ! empty( $price_info['enterprise_price_info'] ) || $cert_info['enterprise'] ) : ?>
     303                                    <span class="masterstudy-buy-button__price-info-text">
     304                                        <?php echo esc_html( concat_info( array( $price_info['enterprise_price_info'] ?? '', $cert_info['enterprise'] ? $cert_included_text : null ) ) ); ?>
     305                                    </span>
     306                                <?php endif; ?>
     307                            </div>
     308                        </div>
     309                    </div>
     310                    <?php
     311                }
     312
     313                if ( ! empty( $points_enabled ) && $logged_in ) {
    257314                    ?>
    258315                    <div class="masterstudy-buy-button-dropdown__section">
     
    266323                            <div class="masterstudy-buy-button-dropdown__body-wrapper">
    267324                                <?php do_action( 'masterstudy_point_system', $post_id ); ?>
    268                             </div>
    269                         </div>
    270                     </div>
    271                     <?php
    272                 }
    273 
    274                 if ( $group_course_show ) {
    275                     ?>
    276                     <div class="masterstudy-buy-button-dropdown__section">
    277                         <div class="masterstudy-buy-button-dropdown__head">
    278                             <span class="masterstudy-buy-button-dropdown__head-title">
    279                                 <?php echo esc_html__( 'Group course', 'masterstudy-lms-learning-management-system' ); ?>
    280                             </span>
    281                             <span class="masterstudy-buy-button-dropdown__head-checkbox"></span>
    282                         </div>
    283                         <div class="masterstudy-buy-button-dropdown__body">
    284                             <div class="masterstudy-buy-button-dropdown__body-wrapper">
    285                                 <?php do_action( 'masterstudy_group_course_button', $post_id ); ?>
     325                                <?php if ( ! empty( $price_info['points_price_info'] ) || $cert_info['points'] ) : ?>
     326                                    <span class="masterstudy-buy-button__price-info-text">
     327                                        <?php echo esc_html( concat_info( array( $price_info['points_price_info'] ?? '', $cert_info['points'] ? $cert_included_text : null ) ) ); ?>
     328                                    </span>
     329                                <?php endif; ?>
    286330                            </div>
    287331                        </div>
     
    293337        <?php } ?>
    294338    </div>
     339
     340    <?php if ( ! $dropdown_enabled ) : ?>
     341        <span class="masterstudy-buy-button__single-price-info-text">
     342            <?php echo esc_html( concat_info( array( $price_info['single_sale_price_info'] ?? '', $cert_info['single_sale'] ? $cert_included_text : null ) ) ); ?>
     343        </span>
     344    <?php endif; ?>
     345
    295346    <?php
    296347    if ( $group_course_show ) {
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/components/course/card/global/popup-price.php

    r3392871 r3458914  
    44 */
    55
    6 $course_free_status = masterstudy_lms_course_free_status( $course['single_sale'], $course['price'] );
     6$course_free_status = masterstudy_lms_course_free_status( $course['id'], $course['price'] );
    77$is_sale            = ! empty( $course['sale_price'] ) && $course['is_sale_active'];
    88
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/components/course/card/global/price.php

    r3427267 r3458914  
    44 */
    55
    6 $course_free_status = masterstudy_lms_course_free_status( $course['single_sale'], $course['price'] );
    7 $members_only       = ! $course['single_sale'] && ! $course['not_in_membership'];
     6$course_free_status = masterstudy_lms_course_free_status( $course['id'], $course['price'] );
     7$members_only       = ! $course['single_sale'] && STM_LMS_Subscriptions::subscription_enabled() && ! $course['not_in_membership'];
    88$is_sale            = ! empty( $course['sale_price'] ) && $course['is_sale_active'];
    99?>
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/components/course/popular-courses.php

    r3427267 r3458914  
    4848                $course_status      = STM_LMS_Course::get_post_status( $course_id );
    4949                $sale_price         = ! empty( $popular_course->sale_price ) && $is_sale_active ? true : false;
    50                 $course_free_status = masterstudy_lms_course_free_status( $popular_course->single_sale, $popular_course->price );
     50                $course_free_status = masterstudy_lms_course_free_status( $popular_course->id, $popular_course->price );
    5151
    5252                if ( $popular_course->is_udemy_course ) {
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/components/course/price-info.php

    r3104164 r3458914  
    44 */
    55
    6 if ( ! empty( $course->price_info ) ) { ?>
     6use MasterStudy\Lms\Enums\PricingMode;
     7?>
     8<?php if ( PricingMode::FREE === $course->pricing_mode ) : ?>
    79    <div class="masterstudy-single-course-price-info">
    8         <?php echo esc_html( $course->price_info ); ?>
     10        <?php echo esc_html( $course->free_price_info ); ?>
    911    </div>
    10     <?php
    11 }
     12<?php endif; ?>
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/components/course/related-courses.php

    r3427267 r3458914  
    7373                $is_sale_active     = STM_LMS_Helpers::is_sale_price_active( $course_id );
    7474                $sale_price         = ! empty( $related_course->sale_price ) && $is_sale_active ? true : false;
    75                 $course_free_status = masterstudy_lms_course_free_status( $related_course->single_sale, $related_course->price );
     75                $course_free_status = masterstudy_lms_course_free_status( $related_course->id, $related_course->price );
    7676
    7777                if ( $related_course->is_udemy_course ) {
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/course.php

    r3247826 r3458914  
    114114            </div>
    115115            <?php
    116             STM_LMS_Templates::show_lms_template( 'components/course/price-info', array( 'course' => $course_data['course'] ) );
    117116        }
    118117        if ( $course_data['is_coming_soon'] && $course_data['course']->coming_soon_price && ! $course_data['course']->coming_soon_preorder ) {
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/elementor-widgets/courses/card/card-style-3/price.php

    r3427267 r3458914  
    11<?php
    2 $course_free_status = masterstudy_lms_course_free_status( $course['single_sale'], $course['price'] );
     2$course_free_status = masterstudy_lms_course_free_status( $course['id'], $course['price'] );
    33$is_sale            = ! empty( $course['sale_price'] ) && $course['is_sale_active'];
    44?>
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/elementor-widgets/courses/card/card-style-4/price.php

    r3427267 r3458914  
    11<?php
    2 $course_free_status = masterstudy_lms_course_free_status( $course['single_sale'], $course['price'] );
     2$course_free_status = masterstudy_lms_course_free_status( $course['id'], $course['price'] );
    33$is_sale            = ! empty( $course['sale_price'] ) && $course['is_sale_active'];
    44?>
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/elementor-widgets/courses/card/card-style-5/price.php

    r3427267 r3458914  
    11<?php
    2 $course_free_status = masterstudy_lms_course_free_status( $course['single_sale'], $course['price'] );
     2$course_free_status = masterstudy_lms_course_free_status( $course['id'], $course['price'] );
    33$has_price_info     = $course['single_sale'] && ! $course_free_status['zero_price'];
    44$members_only       = ! $course['single_sale'] && ! $course['not_in_membership'];
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/elementor-widgets/courses/card/global/popup-price.php

    r3427267 r3458914  
    11<?php
    2 $course_free_status = masterstudy_lms_course_free_status( $course['single_sale'], $course['price'] );
     2$course_free_status = masterstudy_lms_course_free_status( $course['id'], $course['price'] );
    33$is_sale            = ! empty( $course['sale_price'] ) && $course['is_sale_active'];
    44
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/elementor-widgets/courses/card/global/price.php

    r3427267 r3458914  
    11<?php
    2 $course_free_status = masterstudy_lms_course_free_status( $course['single_sale'], $course['price'] );
    3 $members_only       = ! $course['single_sale'] && ! $course['not_in_membership'];
     2$course_free_status = masterstudy_lms_course_free_status( $course['id'], $course['price'] );
     3$members_only       = ! $course['single_sale'] && STM_LMS_Subscriptions::subscription_enabled() && ! $course['not_in_membership'];
    44$has_price_info     = $course['single_sale'] && ! $course_free_status['zero_price'];
    55$is_sale            = ! empty( $course['sale_price'] ) && $course['is_sale_active'];
  • masterstudy-lms-learning-management-system/trunk/_core/stm-lms-templates/global/price.php

    r3427267 r3458914  
    99$is_udemy_course    = get_post_meta( $course_id, 'udemy_course_id', true );
    1010$not_in_membership  = get_post_meta( $course_id, 'not_in_membership', true );
    11 $members_only       = ! $single_sale && ! $not_in_membership;
    12 $course_free_status = masterstudy_lms_course_free_status( $single_sale, $price );
     11$members_only       = ! $single_sale && STM_LMS_Subscriptions::subscription_enabled() && ! $not_in_membership;
     12$course_free_status = masterstudy_lms_course_free_status( $course_id, $price );
    1313
    1414if ( $members_only ) { ?>
  • masterstudy-lms-learning-management-system/trunk/assets/course-builder/js/i18n-translations.js

    r3448656 r3458914  
    11/* AUTO-GENERATED. DO NOT EDIT. */
    22/* Generated for wp i18n scan tool. */
    3 (function(){__(" Create your first certificate");__(" Markers & Questions ");__(" and include a short text to highlight key moments. This helps learners quickly find important sections.");__("");__("0");__("10 per page");__("100 per page");__("20 per page");__("50 per page");__("A question type presents several options for the user to choose the correct answer from.");__("A question type requires a simple answer of either true or false to a given statement.");__("AI Generate");__("AI Text Generator");__("AI course creation");__("AI is generating your course. You can edit everything once it's ready and saved.");__("AI is generating your course. You can edit everything once it’s ready and saved.");__("ASSIGNMENTS");__("Access Type");__("Access device types");__("Access duration");__("Access successfully saved ");__("Access");__("Actions");__("Activate Elementor");__("Active");__("Add %s %s");__("Add Certificate");__("Add Enrolled Students as Attendees");__("Add Marker");__("Add New Order");__("Add New Plan");__("Add New");__("Add Question");__("Add a category");__("Add a co-instructor");__("Add a lesson first");__("Add a lesson");__("Add an assignment first");__("Add an quiz first");__("Add dependency");__("Add explanation");__("Add lesson to course");__("Add new Category");__("Add new answer");__("Add new question");__("Add new");__("Add note");__("Add questions");__("Add this Image");__("Add this Video");__("Add to course");__("Add");__("Additional information");__("Additional");__("Addon is disabled");__("Affiliate this course");__("All Course Layouts");__("All PRO addons");__("All Time");__("All bundles");__("All courses and bundles");__("All courses");__("All courses, bundles and memberships");__("All files");__("All information about your membership plans will be displayed here");__("All membership plans");__("All question types");__("All unsaved data will be lost. Do you really want to leave this page?");__("All your Coupon will be displayed here");__("All");__("Allow email notifications");__("Allow participants to join anytime");__("Allow preordering");__("Already in Quiz");__("An error occured while generating \"\"\n");__("An error occured");__("An error occurred");__("Answer explanation");__("Answer");__("Answers limit is required");__("Answers");__("Applies to");__("Apply Coupon to");__("Apply");__("Approval Pending");__("Are you sure that you want to delete this question?");__("Are you sure you want to close this modal?");__("Are you sure you want to delete the SCORM ?");__("Are you sure you want to delete these coupons?");__("Are you sure you want to delete these memberships?");__("Are you sure you want to delete these orders?");__("Are you sure you want to delete this FAQ item?");__("Are you sure you want to delete this drip content?");__("Are you sure you want to delete this drip item?");__("Are you sure you want to delete this file?");__("Are you sure you want to delete this marker? It will be removed from the video.");__("Are you sure you want to delete this material?");__("Are you sure you want to delete this question?");__("Are you sure you want to delete this section?");__("Are you sure you want to delete this template?");__("Assignment attempts");__("Assignment content");__("Assignment generated successfully!");__("Assignment materials");__("Assignment successfully created");__("Assignment successfully saved");__("Assignment successfully updated");__("Assignment");__("Assignments addon disabled");__("Assignments");__("At least 1 question type should be selected");__("At least one question");__("At least two answers per question");__("Attach Video");__("Attempts");__("Audio Lesson addon disabled");__("Audio file");__("Audio lesson");__("Audio");__("Available in Pro Version");__("Back to assignments");__("Back to courses");__("Back to google meets");__("Back to lessons");__("Back to questions");__("Back to quizzes");__("Back");__("Bank Transfer");__("Bank name");__("Basic info");__("Basic info, requirements, intended audience");__("Before adding markers or questions to timeline, please upload video");__("Billing Cycles Type");__("Billing Interval");__("Billing cycles");__("Blank Template");__("Briefly describe this membership plan");__("Browse PDF files");__("Browse audio files");__("Browse files");__("Browse subtitle files");__("Build Courses & Content with AI");__("Bulk actions");__("Bundle");__("Bundle-based");__("Bundles");__("Button Link");__("Button Text");__("Cancel Subscription");__("Cancel");__("Cancelled");__("Cash");__("Categories");__("Category has been successfully added");__("Category name");__("Category");__("Category-based");__("Certificate Builder addon is locked!");__("Certificate Builder addon is not enabled!");__("Certificate builder");__("Certificate included");__("Certificate info");__("Certificate successfully saved");__("Certificate");__("Change Prompt");__("Change Video Type");__("Change prompt");__("Change status to active");__("Change status to cancelled");__("Change status to completed");__("Change status to inactive");__("Change status to pending");__("Change video type");__("Choose SCORM package file .zip");__("Choose a style that will be applied only to this course");__("Choose instructor");__("Click on Create before adding questions to the quiz.");__("Click the button below and drag and drop the elements for the left bar for a new dependency");__("Close");__("Co instructor addon is not enabled!");__("Code");__("Collapse all");__("Coming soon end date");__("Coming soon end time");__("Comment added successfully");__("Comment was deleted successfully");__("Company Name");__("Complete!");__("Completed");__("Confirm");__("Content");__("Continue manually");__("Continue");__("Copied!");__("Copy & Edit");__("Copy template");__("Copy");__("Correct answer");__("Correct");__("Country");__("Coupon Applied");__("Coupon Code");__("Coupon Summary");__("Coupon created successfully");__("Coupon updated successfully");__("Coupon");__("Coupon:");__("Coupons");__("Course Description");__("Course FAQ Generator");__("Course Page");__("Course Views");__("Course cover");__("Course description");__("Course duration");__("Course expiration (days)");__("Course files");__("Course has been added successfully");__("Course has been published successfully");__("Course has been rejected");__("Course has been saved as draft");__("Course has been sent for review");__("Course info");__("Course information");__("Course materials successfully saved");__("Course materials");__("Course name");__("Course not found");__("Course page style successfully saved");__("Course preview description");__("Course requirements");__("Course sections");__("Course settings");__("Course short description");__("Course status has been changed");__("Course status");__("Course title");__("Course will have one lesson with SCORM package content.");__("Course");__("Course-based");__("Courses");__("Craft Your Assignment with AI");__("Craft Your Content with AI");__("Craft your Questions with AI");__("Create New Coupon");__("Create New Membership Plan");__("Create YouTube streams from your course to conduct lectures in real time.");__("Create a new dependency");__("Create assignments");__("Create course outline only");__("Create courses with AI");__("Create frequently asked questions and answers (FAQ) about your course in this section");__("Create new quiz");__("Create");__("Credit Card");__("Current students");__("Curriculum");__("Custom fields successfully saved");__("Custom fields");__("Daily");__("Date range");__("Date");__("Day(s)");__("Days");__("Deal ends");__("Deal starts");__("Default");__("Delete marker");__("Delete");__("Describe your course or what students might want to know. AI will generate relevant student FAQs");__("Describe your course...");__("Describe your image...");__("Description");__("Details");__("Discount Type");__("Discount Value (%)");__("Discount Value ()");__("Discount must be greater than 0");__("Discount");__("Do Not Provide Certificate");__("Do you really want to cancel this subscription?");__("Do you really want to delete this plan?");__("Do you really want to delete this subscription?");__("Documents");__("Draft");__("Drag & drop a PDF file here or browse it from your computer");__("Drag & drop a audio here or browse it from your computer");__("Drag & drop a video here or browse it from your computer");__("Drag & drop files here or browse files from your computer ");__("Drag & drop files here or browse files from your computer");__("Drag & drop subtitle files here or browse it from your computer");__("Drag and drop an image or upload it from your computer");__("Drag file here");__("Drag lessons here");__("Drag lessons, quizzes and assignments to the right to create drip content");__("Drip Content addon is locked!");__("Drip Content is disabled");__("Drip Content");__("Drip content ");__("Drip content & Prerequisites");__("Drip content");__("Drip successfully saved");__("Drip");__("EXAM STUDENTS");__("Edit Coupon");__("Edit explanation");__("Edit in Elementor");__("Edit");__("Email");__("Embed iframe content");__("Enable Pro Plus");__("Enable Pro");__("Enable addon");__("Enable this addon to create drip content");__("Enable this to add a \"Featured\" badge to the course ");__("Enable");__("End Date");__("End Time");__("End date");__("End time");__("Engage and evaluate learners with interesting tasks and projects.");__("Enter %");__("Enter 0 (or leave blank) to allow unlimited attempts");__("Enter Plan Title");__("Enter Title");__("Enter VdoCipher video ID");__("Enter Vimeo video URL");__("Enter YouTube video URL");__("Enter access device types");__("Enter access duration");__("Enter an answer");__("Enter assignment name");__("Enter audio progress");__("Enter bank name");__("Enter button link");__("Enter button text");__("Enter category name");__("Enter certificate info");__("Enter course excerpt");__("Enter course name");__("Enter days");__("Enter duration info");__("Enter email");__("Enter explanation");__("Enter external link URL");__("Enter feature");__("Enter featured badge label");__("Enter google meet name");__("Enter keywords to find relevant materials...");__("Enter lesson name");__("Enter message text about upcoming course");__("Enter password");__("Enter points");__("Enter price info");__("Enter price");__("Enter question name");__("Enter question");__("Enter quiz name");__("Enter sale price");__("Enter shortcode");__("Enter stream url");__("Enter template name");__("Enter the code or get a randomly generated");__("Enter url");__("Enter video duration");__("Enter video progress");__("Enter your answer");__("Enter your caption...");__("Enter your keyword");__("Enter your question");__("Enter your reply");__("Enterprise Price");__("Enterprise");__("Error 404");__("Event Visibility");__("Everyone can see this lesson");__("Example: 2h 45m");__("Example:");__("Excerpt");__("Expand all");__("Expand description");__("Expand");__("Expired");__("Explore");__("External Link");__("FAQ");__("FAQs have successfully been saved");__("Failed to add comment");__("Failed to add materials");__("Failed to add question");__("Failed to add questions");__("Failed to add section");__("Failed to add to course");__("Failed to change file title");__("Failed to create Google meet");__("Failed to create an Google meet");__("Failed to create an assignment");__("Failed to create course");__("Failed to create lesson");__("Failed to create quiz");__("Failed to delete SCORM");__("Failed to delete comment");__("Failed to edit comment");__("Failed to generate duration");__("Failed to load SCORM");__("Failed to remove file");__("Failed to remove section");__("Failed to save FAQs");__("Failed to save Google meet");__("Failed to save an access");__("Failed to save an assignment");__("Failed to save certificate");__("Failed to save course materials");__("Failed to save course page style");__("Failed to save custom fields");__("Failed to save drip");__("Failed to save lesson");__("Failed to save notice");__("Failed to save prerequisites");__("Failed to save pricing");__("Failed to save quiz");__("Failed to save settings");__("Failed to send reply");__("Failed to update Google meet");__("Failed to update assignment");__("Failed to update course status");__("Failed to update lesson");__("Failed to update markers");__("Failed to upload image");__("False");__("Featured course");__("File Manager");__("File title successfully changed");__("Files not found");__("Files");__("Fill out basic information about a course to make it attractive to potential students.");__("Fill out the question to the end to move/collapse");__("Fixed Amount");__("Frequently Asked Questions");__("General Details");__("General Info");__("Generate Assignment with AI");__("Generate Course FAQs with AI");__("Generate Entire Course");__("Generate Lesson Title, Description & Content with AI");__("Generate Questions");__("Generate with AI");__("Generate");__("Generating Course");__("Generating Lessons");__("Generating assignment content...");__("Generating images...");__("Generating lesson content...");__("Generating lesson images...");__("Get more options for creating a selling course:");__("Get order information from orders page");__("Give your template a title");__("Global");__("Go back");__("Go to curriculum");__("Go to orders");__("Google Meet addon disabled");__("Google meet addon disabled");__("Google meet lesson");__("Google meet successfully created");__("Google meet successfully saved");__("Google meet successfully updated");__("Google meet");__("Grade");__("Grades Table");__("Grades addon is locked!");__("Grades addon is not enabled!");__("Grid");__("Group Courses addon is not enabled!");__("Hint:");__("Host video");__("Hours");__("How many times the subscription will renew before ending");__("ID");__("Image Generation");__("Image Preview");__("Image Style");__("Image generation failed");__("Image style is required");__("Image");__("Images limit");__("Images");__("Import %d materials to Section %d");__("Import SCORM Package");__("Import SCORM");__("In Image Match type of questions, learners are asked to match pairs from different pictures.");__("In this question type, learners match items from two columns based on their corresponding attributes.");__("Inactive");__("Included");__("Install Elementor");__("Intended audience");__("Issue a certificate upon completion of the course");__("Keywords question type requires a brief answer in the form of a few words or a short phrase.");__("Keywords");__("LEARNING CONTENT");__("LESSONS");__("Language is required");__("Language");__("Last Month");__("Last Week");__("Last Year");__("Lesson content");__("Lesson duration");__("Lesson has been added successfully");__("Lesson is generating. Do you want to leave this page?");__("Lesson is unavailable");__("Lesson materials");__("Lesson preview");__("Lesson start date");__("Lesson start time");__("Lesson successfully created");__("Lesson successfully saved");__("Lesson successfully updated");__("Lesson video poster");__("Lesson video");__("Lesson");__("Lessons must be completed in order. Only admins can change the lesson sequence.");__("Let's build your course!");__("Level");__("Library");__("Limit how many times a single user can use this coupon");__("Limit how many times this coupon can be used in total.");__("Limit must be greater than or equal to 1");__("Limited attempts to retake quizzes");__("Limited");__("Link specific parts of the audio to text with timecodes. Just add the time in brackets, like");__("Link specific parts of the video to text with timecodes. Just add the time in brackets, like");__("List");__("Listen audio");__("Live Stream addon disabled");__("Load more");__("Loading markers... ");__("Loading");__("Lock lessons in order");__("Main");__("Make draft");__("Mark as Featured");__("Marker caption");__("Marker updated successfully");__("Markers & Questions");__("Markers is not supported in chosen video type");__("MasterStudy");__("Materials successfully added");__("Maximum file size: %s");__("Meeting password");__("Meeting summary");__("Membership Access Type");__("Membership Access");__("Membership Plans");__("Membership plan #");__("Membership");__("Memberships");__("Method");__("Minimal value is 1");__("Minimum Items Quantity");__("Minimum Order Amount ()");__("Minimum Purchase Requirements");__("Minutes");__("Month(s)");__("Monthly");__("Move to section");__("Move");__("Multi-instructors addon is locked!");__("Multiple choice");__("Mute Participants upon entry");__("My Templates");__("NEW");__("Name");__("Native Templates");__("New Subscription Plan");__("New question");__("New section");__("Next Payment Date");__("Next");__("No Coupon yet");__("No FAQ Yet");__("No FAQ items");__("No Membership Plans yet");__("No Minimum Requirement");__("No Subscription Plans Yet");__("No attached video yet");__("No certificate");__("No certificates yet");__("No course materials yet");__("No matching results");__("No materials yet");__("No options");__("No prompt provided");__("No sections in this course");__("No trial");__("Not found");__("Not included in membership");__("Notice successfully saved");__("Notice");__("Notification text about upcoming courses");__("Now you can share audio lessons. Upload audio files or add from Spotify or SoundCloud. Mix them with text, video and quizzes in your courses");__("Now you can share audio lessons. Upload audio files or add from Spotify or SoundCloud.");__("Number of Cycles");__("Number of FAQs");__("Number of images per lesson - for text lessons and assignments");__("Number of lessons per section");__("Number of questions per quiz");__("Number of sections");__("OFF");__("Offer Sale Price");__("On Hold");__("Once uploaded, subtitles will automatically appear in the course player during video playback.");__("Once you add a subscription plan, it will appear here with all related details.");__("One-time purchase");__("Only users who are signed in to a Zoom account will join the meeting.");__("Option");__("Order ID");__("Order details");__("Order info");__("Order key");__("Order note");__("Order");__("Ordering question type requires the learner to sort items in a specific order.");__("Orders");__("Owner");__("PDF Lessons available with Pro Plus");__("PDF Lessons available with Pro");__("PDF file");__("PDF lesson");__("PRO Styles is locked!");__("Page not found");__("Pagination");__("Parent category");__("Participants video");__("Passing grade % (0-100)");__("Passing grade (%)");__("Payment History");__("Payment Method");__("Payment info");__("Payment method");__("Pending for review");__("Pending");__("Percent");__("Period");__("Phone Number");__("Plan Features");__("Plan Summary:");__("Plan Title");__("Plan");__("Please Setup Grades");__("Please create lessons, quizzes, and assignments before setting up drip content.");__("Point system & Group courses");__("Point");__("Points cut after retake (%)");__("Points for a course");__("Post Code");__("Poster for question video");__("Poster for video preview");__("Prefered question types are required");__("Prefered question types");__("Preferred lesson types");__("Premium Addons");__("Premium Templates");__("Prerequisite Passing Percent (%)");__("Prerequisites successfully saved");__("Prerequisites");__("Prerequisities addon is locked!");__("Prevent complete the lesson until PDF is fully read");__("Preview video");__("Preview");__("Price info");__("Price");__("Pricing has successfully been saved");__("Pricing");__("Private");__("Pro tip: ");__("Products");__("Prompt is required");__("Public");__("Publish");__("Published");__("Q&A");__("QUIZZES");__("Question Bank");__("Question Media addon disabled");__("Question Media addon is available in the Pro Version of the plugin. Please, upgrade to Pro to add media to quiz questions.");__("Question Media addon is not enabled. Please, enable this addon to add media to quiz questions.");__("Question saved successfully");__("Question successfully saved");__("Question type");__("Question video");__("Question");__("Questions & Answers");__("Questions Bank");__("Questions Library");__("Questions are currently not supported for this video type.");__("Questions library");__("Questions limit is required");__("Questions not found");__("Questions successfully added");__("Questions");__("Quiz Attempt History");__("Quiz description");__("Quiz duration");__("Quiz style");__("Quiz successfully created");__("Quiz successfully saved");__("Quiz");__("Quizzes creation");__("RECENT MATERIALS");__("Randomize answers");__("Randomize questions");__("Range");__("Regenerate Curriculum");__("Regenerate missing lessons");__("Regenerate");__("Rejected");__("Remove");__("Renew");__("Renewal Period");__("Reply");__("Require answering all video questions to proceed to next lesson");__("Require authentication to join: Sign in to Zoom");__("Required Question");__("Required audio progress (%)");__("Required video progress (%)");__("Reset");__("Retake After Pass");__("Rewatch timecode");__("SCORM Course");__("SCORM Package contains some errors");__("SCORM successfully deleted");__("SCORM successfully loaded");__("SELECT QUESTION MEDIA TYPE");__("Sale Period");__("Sale available from");__("Sale end date");__("Sale price");__("Sale start date");__("Save & Continue");__("Save Question Bank");__("Save");__("Saving questions...");__("Search by id or user");__("Search by name");__("Search courses");__("Search materials");__("Search questions");__("Search");__("Section successfully added");__("Section successfully removed");__("Section");__("See table");__("Select All");__("Select Bundles");__("Select Categories");__("Select Category");__("Select Courses");__("Select Memberships");__("Select Products");__("Select at least 1 item");__("Select at least one lesson type");__("Select categories");__("Select coupon");__("Select end date");__("Select end time");__("Select file");__("Select language");__("Select lesson type");__("Select level");__("Select material type to continue");__("Select media type");__("Select number of questions");__("Select option");__("Select parent category (optional)");__("Select question type");__("Select section");__("Select source");__("Select start date");__("Select start time");__("Select status");__("Select timezone");__("Select type");__("Select video");__("Select");__("Select...");__("Sequential Lesson Lock is active.");__("Sequential lesson progression is enabled for all courses by the admin.");__("Set API key");__("Set End Date");__("Settings have been saved successfully");__("Settings");__("Setup");__("Short Description");__("Short description of the lesson");__("Short description of the quiz");__("Shortcode");__("Show correct answer");__("Show course author, category and rating");__("Show course price");__("Show less");__("Single Choice questions require the selection of one answer from a list of options provided.");__("Single choice");__("Sitewide");__("Some questions were not generated successfully. Are you sure you want to save the questions?");__("Something went wrong!");__("Sorry, no matching options.");__("Sort");__("Source type for video preview");__("Source type");__("Specific bundles");__("Specific categories");__("Specific courses");__("Specific membership plans");__("Speed up FAQ creation with AI for your course");__("Start Date");__("Start Time");__("Start Typing...");__("Start date");__("Start time");__("State");__("Status end date");__("Status start date");__("Status");__("Status:");__("Stream URL");__("Stream lesson");__("Student Details");__("Student details");__("Student email");__("Students will see the course category and instructor information for the upcoming course.");__("Style");__("Submit");__("Subscription Details");__("Subscription ID");__("Subscription Note for Admin");__("Subscription type");__("Subscription");__("Subscriptions & Memberships");__("Subscriptions addon is not enabled!");__("Subscriptions");__("Subtitles");__("Subtotal");__("Successfully Created");__("Successfully Updated");__("Successfully added to the course");__("Successfully created category");__("Supported file formats");__("Tax");__("Taxes");__("Teach with Zoom lessons, meetings and webinars directly on your website.");__("Template Library");__("Text lesson");__("Text");__("The Question Bank cannot be edited. You can delete it or create a new one.");__("The Show course price setting must be enabled for preordering to work");__("The comment was edited successfully");__("The file has been removed successfully ");__("The file has been removed successfully");__("The file has been renamed successfully");__("The file has been uploaded successfully");__("The order of lessons is locked. To customize it, disable the option in course settings.");__("The order of lessons is locked. To customize it, disable the option in settings.");__("The reply was successfully sent");__("The user will go to the link you put instead of buying on your website.");__("This Month");__("This Week");__("This Year");__("This course will be available soon");__("This field is required");__("This field must have at least 1 item");__("This file format is not supported");__("This section is available in the PRO version");__("Time limit");__("Time unit");__("Time");__("Timecode");__("Timezone");__("Title is required");__("Title");__("Today");__("Toggle all");__("Tone");__("Total Usage Limit");__("Total");__("Town/City");__("Trial Courses addon is locked!");__("Trial End Date");__("Trial Period (days)");__("Trial course");__("Trial");__("True");__("True/False");__("Try again");__("Try changing your filter settings");__("Try changing your search query");__("Type URL here");__("Type");__("Unable to create membership plan");__("Unable to create template");__("Unable to delete template");__("Unable to duplicate template");__("Unable to generate faq");__("Unable to generate text");__("Unable to update template");__("Unlock lesson after purchase (days)");__("Unlock the lesson after a certain time after the purchase");__("Unlock the power of online meetings with interactive virtual classrooms. Experience smooth communication and collaboration with learners.");__("Unlock");__("Unsaved data will be lost. Do you want to continue?");__("Until Cancelled");__("Untitled");__("Upcoming Course Status addon is locked!");__("Upcoming Course Status");__("Update");__("Upgrade to PRO PLUS");__("Upgrade to PRO");__("Upgrade to Pro Plus");__("Upgrade to Pro");__("Upload an image");__("Upload file");__("Upload from url");__("Upload");__("Url:");__("Usage Limit Per User");__("Usage Limits");__("Use selected image");__("Use selected text");__("User");__("Uses");__("Validation error");__("Validity Period");__("VdoCipher ID");__("Video Preview Feature");__("Video Preview");__("Video duration");__("Video lesson");__("Video preview");__("Video width (px)");__("Video");__("View");__("Vimeo video URL");__("Week(s)");__("Weekly");__("Will be shown in \"Show answer\" section");__("Wire Transfer");__("WooCommerce Checkout enabled");__("Words limit");__("Write the number of points needed to buy this course");__("Year(s)");__("Yearly");__("Yesterday");__("You can upload subtitle files in .vtt format to the field above.");__("You have reached your featured courses quota limit!");__("Your choosen video type is not supported");__("Your lesson has been generated successfully.");__("Youtube video URL");__("Zoom & Google webinars");__("Zoom lesson");__("Zoom webinar addon disabled");__("by date");__("by name");__("characters");__("coupon orders");__("courses in bundle");__("courses");__("day(s) free trial");__("day(s)");__("days free trial");__("for group");__("hide");__("instructor");__("off");__("question");__("questions");__("results");__("show");__("symbols left");__("symbols");__("time(s)");__("to");__("tokens left");__("with");__("words");_n("question", "questions", 1);sprintf("File is larger than %s","");sprintf("File is too large — max file size %s","");sprintf(__("Add %s %s"),"","");sprintf(__("Import %d materials to Section %d"),"","");sprintf(__("Maximum file size: %s"),"");});
     3(function(){__(" Create your first certificate");__(" Markers & Questions ");__(" and include a short text to highlight key moments. This helps learners quickly find important sections.");__("");__("0");__("10 per page");__("100 per page");__("20 per page");__("50 per page");__("A question type presents several options for the user to choose the correct answer from.");__("A question type requires a simple answer of either true or false to a given statement.");__("AI Generate");__("AI Text Generator");__("AI course creation");__("AI is generating your course. You can edit everything once it's ready and saved.");__("AI is generating your course. You can edit everything once it’s ready and saved.");__("ASSIGNMENTS");__("Access Type");__("Access device types");__("Access duration");__("Access successfully saved ");__("Access");__("Actions");__("Activate Elementor");__("Active");__("Add %s %s");__("Add Certificate");__("Add Enrolled Students as Attendees");__("Add Marker");__("Add New Order");__("Add New Plan");__("Add New");__("Add Question");__("Add a category");__("Add a co-instructor");__("Add a lesson first");__("Add a lesson");__("Add an assignment first");__("Add an quiz first");__("Add dependency");__("Add explanation");__("Add lesson to course");__("Add new Category");__("Add new answer");__("Add new question");__("Add new");__("Add note");__("Add questions");__("Add this Image");__("Add this Video");__("Add to course");__("Add");__("Additional information");__("Additional");__("Addon is disabled");__("Affiliate");__("All Course Layouts");__("All PRO addons");__("All Time");__("All bundles");__("All courses and bundles");__("All courses");__("All courses, bundles and memberships");__("All files");__("All information about your membership plans will be displayed here");__("All membership plans");__("All question types");__("All unsaved data will be lost. Do you really want to leave this page?");__("All your Coupon will be displayed here");__("All");__("Allow email notifications");__("Allow participants to join anytime");__("Allow preordering");__("Already in Quiz");__("An error occured while generating \"\"\n");__("An error occured");__("An error occurred");__("Answer explanation");__("Answer");__("Answers limit is required");__("Answers");__("Applies to");__("Apply Coupon to");__("Apply");__("Approval Pending");__("Are you sure that you want to delete this question?");__("Are you sure you want to close this modal?");__("Are you sure you want to delete the SCORM ?");__("Are you sure you want to delete these coupons?");__("Are you sure you want to delete these memberships?");__("Are you sure you want to delete these orders?");__("Are you sure you want to delete this FAQ item?");__("Are you sure you want to delete this drip content?");__("Are you sure you want to delete this drip item?");__("Are you sure you want to delete this file?");__("Are you sure you want to delete this marker? It will be removed from the video.");__("Are you sure you want to delete this material?");__("Are you sure you want to delete this question?");__("Are you sure you want to delete this section?");__("Are you sure you want to delete this template?");__("Assignment attempts");__("Assignment content");__("Assignment generated successfully!");__("Assignment materials");__("Assignment successfully created");__("Assignment successfully saved");__("Assignment successfully updated");__("Assignment");__("Assignments addon disabled");__("Assignments");__("At least 1 question type should be selected");__("At least one question");__("At least two answers per question");__("Attach Video");__("Attempts");__("Audio Lesson addon disabled");__("Audio file");__("Audio lesson");__("Audio");__("Available in Pro Version");__("Back to assignments");__("Back to courses");__("Back to google meets");__("Back to lessons");__("Back to questions");__("Back to quizzes");__("Back");__("Bank Transfer");__("Bank name");__("Basic info");__("Basic info, requirements, intended audience");__("Before adding markers or questions to timeline, please upload video");__("Billing Cycles Type");__("Billing Interval");__("Billing cycles");__("Blank Template");__("Briefly describe this membership plan");__("Browse PDF files");__("Browse audio files");__("Browse files");__("Browse subtitle files");__("Build Courses & Content with AI");__("Bulk actions");__("Bundle");__("Bundle-based");__("Bundles");__("Button Link");__("Button Text");__("Buy with points");__("Cancel Subscription");__("Cancel");__("Cancelled");__("Cash");__("Categories");__("Category has been successfully added");__("Category name");__("Category");__("Category-based");__("Certificate Builder addon is locked!");__("Certificate Builder addon is not enabled!");__("Certificate builder");__("Certificate included");__("Certificate info");__("Certificate successfully saved");__("Certificate");__("Change Prompt");__("Change Video Type");__("Change prompt");__("Change status to active");__("Change status to cancelled");__("Change status to completed");__("Change status to inactive");__("Change status to pending");__("Change video type");__("Choose SCORM package file .zip");__("Choose a style that will be applied only to this course");__("Choose instructor");__("Click on Create before adding questions to the quiz.");__("Click the button below and drag and drop the elements for the left bar for a new dependency");__("Close");__("Co instructor addon is not enabled!");__("Code");__("Collapse all");__("Coming soon end date");__("Coming soon end time");__("Comment added successfully");__("Comment was deleted successfully");__("Company Name");__("Complete!");__("Completed");__("Confirm");__("Content");__("Continue manually");__("Continue");__("Copied!");__("Copy & Edit");__("Copy template");__("Copy");__("Correct answer");__("Correct");__("Country");__("Coupon Applied");__("Coupon Code");__("Coupon Summary");__("Coupon created successfully");__("Coupon updated successfully");__("Coupon");__("Coupon:");__("Coupons");__("Course Description");__("Course FAQ Generator");__("Course Page");__("Course Views");__("Course cover");__("Course description");__("Course duration");__("Course expiration (days)");__("Course files");__("Course has been added successfully");__("Course has been published successfully");__("Course has been rejected");__("Course has been saved as draft");__("Course has been sent for review");__("Course info");__("Course information");__("Course materials successfully saved");__("Course materials");__("Course name");__("Course not found");__("Course page style successfully saved");__("Course preview description");__("Course requirements");__("Course sections");__("Course settings");__("Course short description");__("Course status has been changed");__("Course status");__("Course title");__("Course will have one lesson with SCORM package content.");__("Course");__("Course-based");__("Courses");__("Craft Your Assignment with AI");__("Craft Your Content with AI");__("Craft your Questions with AI");__("Create New Coupon");__("Create New Membership Plan");__("Create YouTube streams from your course to conduct lectures in real time.");__("Create a new dependency");__("Create assignments");__("Create course outline only");__("Create courses with AI");__("Create frequently asked questions and answers (FAQ) about your course in this section");__("Create new quiz");__("Create");__("Credit Card");__("Current students");__("Curriculum");__("Custom fields successfully saved");__("Custom fields");__("Daily");__("Date range");__("Date");__("Day(s)");__("Days");__("Deal ends");__("Deal starts");__("Default");__("Delete marker");__("Delete");__("Describe your course or what students might want to know. AI will generate relevant student FAQs");__("Describe your course...");__("Describe your image...");__("Description");__("Details");__("Discount Type");__("Discount Value (%)");__("Discount Value ()");__("Discount must be greater than 0");__("Discount");__("Do Not Provide Certificate");__("Do not provide certificate");__("Do you really want to cancel this subscription?");__("Do you really want to delete this plan?");__("Do you really want to delete this subscription?");__("Documents");__("Draft");__("Drag & drop a PDF file here or browse it from your computer");__("Drag & drop a audio here or browse it from your computer");__("Drag & drop a video here or browse it from your computer");__("Drag & drop files here or browse files from your computer ");__("Drag & drop files here or browse files from your computer");__("Drag & drop subtitle files here or browse it from your computer");__("Drag and drop an image or upload it from your computer");__("Drag file here");__("Drag lessons here");__("Drag lessons, quizzes and assignments to the right to create drip content");__("Drip Content addon is locked!");__("Drip Content is disabled");__("Drip Content");__("Drip content ");__("Drip content & Prerequisites");__("Drip content");__("Drip successfully saved");__("Drip");__("EXAM STUDENTS");__("Edit Coupon");__("Edit explanation");__("Edit in Elementor");__("Edit");__("Email");__("Embed iframe content");__("Enable Pro Plus");__("Enable Pro");__("Enable addon");__("Enable this addon to create drip content");__("Enable this to add a \"Featured\" badge to the course ");__("Enable");__("End Date");__("End Time");__("End date");__("End time");__("Engage and evaluate learners with interesting tasks and projects.");__("Enter %");__("Enter 0 (or leave blank) to allow unlimited attempts");__("Enter Plan Title");__("Enter Title");__("Enter VdoCipher video ID");__("Enter Vimeo video URL");__("Enter YouTube video URL");__("Enter access device types");__("Enter access duration");__("Enter affiliate price");__("Enter an answer");__("Enter assignment name");__("Enter audio progress");__("Enter bank name");__("Enter button link");__("Enter button text");__("Enter category name");__("Enter certificate info");__("Enter course excerpt");__("Enter course name");__("Enter days");__("Enter duration info");__("Enter email");__("Enter explanation");__("Enter external link URL");__("Enter feature");__("Enter featured badge label");__("Enter google meet name");__("Enter keywords to find relevant materials...");__("Enter lesson name");__("Enter message text about upcoming course");__("Enter password");__("Enter points info");__("Enter points");__("Enter price info");__("Enter price");__("Enter question name");__("Enter question");__("Enter quiz name");__("Enter sale price");__("Enter shortcode");__("Enter stream url");__("Enter subscriptions info");__("Enter template name");__("Enter the code or get a randomly generated");__("Enter url");__("Enter video duration");__("Enter video progress");__("Enter your answer");__("Enter your caption...");__("Enter your keyword");__("Enter your question");__("Enter your reply");__("Enterprise");__("Error 404");__("Event Visibility");__("Everyone can see this lesson");__("Example: 2h 45m");__("Example:");__("Excerpt");__("Expand all");__("Expand description");__("Expand");__("Expired");__("Explore");__("External Link");__("FAQ");__("FAQs have successfully been saved");__("Failed to add comment");__("Failed to add materials");__("Failed to add question");__("Failed to add questions");__("Failed to add section");__("Failed to add to course");__("Failed to change file title");__("Failed to create Google meet");__("Failed to create an Google meet");__("Failed to create an assignment");__("Failed to create course");__("Failed to create lesson");__("Failed to create quiz");__("Failed to delete SCORM");__("Failed to delete comment");__("Failed to edit comment");__("Failed to generate duration");__("Failed to load SCORM");__("Failed to remove file");__("Failed to remove section");__("Failed to save FAQs");__("Failed to save Google meet");__("Failed to save an access");__("Failed to save an assignment");__("Failed to save certificate");__("Failed to save course materials");__("Failed to save course page style");__("Failed to save custom fields");__("Failed to save drip");__("Failed to save lesson");__("Failed to save notice");__("Failed to save prerequisites");__("Failed to save pricing");__("Failed to save quiz");__("Failed to save settings");__("Failed to send reply");__("Failed to update Google meet");__("Failed to update assignment");__("Failed to update course status");__("Failed to update lesson");__("Failed to update markers");__("Failed to upload image");__("False");__("Featured course");__("File Manager");__("File title successfully changed");__("Files not found");__("Files");__("Fill out basic information about a course to make it attractive to potential students.");__("Fill out the question to the end to move/collapse");__("Fixed Amount");__("Free");__("Frequently Asked Questions");__("General Details");__("General Info");__("Generate Assignment with AI");__("Generate Course FAQs with AI");__("Generate Entire Course");__("Generate Lesson Title, Description & Content with AI");__("Generate Questions");__("Generate with AI");__("Generate");__("Generating Course");__("Generating Lessons");__("Generating assignment content...");__("Generating images...");__("Generating lesson content...");__("Generating lesson images...");__("Get more options for creating a selling course:");__("Get order information from orders page");__("Give your template a title");__("Global");__("Go back");__("Go to curriculum");__("Go to orders");__("Google Meet addon disabled");__("Google meet addon disabled");__("Google meet lesson");__("Google meet successfully created");__("Google meet successfully saved");__("Google meet successfully updated");__("Google meet");__("Grade");__("Grades Table");__("Grades addon is locked!");__("Grades addon is not enabled!");__("Grid");__("Group Courses addon is not enabled!");__("Group course Price");__("Hint:");__("Host video");__("Hours");__("How many times the subscription will renew before ending");__("ID");__("Image Generation");__("Image Preview");__("Image Style");__("Image generation failed");__("Image style is required");__("Image");__("Images limit");__("Images");__("Import %d materials to Section %d");__("Import SCORM Package");__("Import SCORM");__("In Image Match type of questions, learners are asked to match pairs from different pictures.");__("In this question type, learners match items from two columns based on their corresponding attributes.");__("Inactive");__("Included");__("Install Elementor");__("Intended audience");__("Issue a certificate upon completion of the course");__("Keywords question type requires a brief answer in the form of a few words or a short phrase.");__("Keywords");__("LEARNING CONTENT");__("LESSONS");__("Language is required");__("Language");__("Last Month");__("Last Week");__("Last Year");__("Lesson content");__("Lesson duration");__("Lesson has been added successfully");__("Lesson is generating. Do you want to leave this page?");__("Lesson is unavailable");__("Lesson materials");__("Lesson preview");__("Lesson start date");__("Lesson start time");__("Lesson successfully created");__("Lesson successfully saved");__("Lesson successfully updated");__("Lesson video poster");__("Lesson video");__("Lesson");__("Lessons must be completed in order. Only admins can change the lesson sequence.");__("Let's build your course!");__("Level");__("Library");__("Limit how many times a single user can use this coupon");__("Limit how many times this coupon can be used in total.");__("Limit must be greater than or equal to 1");__("Limited attempts to retake quizzes");__("Limited");__("Link specific parts of the audio to text with timecodes. Just add the time in brackets, like");__("Link specific parts of the video to text with timecodes. Just add the time in brackets, like");__("List");__("Listen audio");__("Live Stream addon disabled");__("Load more");__("Loading markers... ");__("Loading");__("Lock lessons in order");__("Main");__("Make draft");__("Mark as Featured");__("Marker caption");__("Marker updated successfully");__("Markers & Questions");__("Markers is not supported in chosen video type");__("MasterStudy");__("Materials successfully added");__("Maximum file size: %s");__("Meeting password");__("Meeting summary");__("Membership Access Type");__("Membership Access");__("Membership Plans");__("Membership plan #");__("Membership");__("Memberships");__("Method");__("Minimal value is 1");__("Minimum Items Quantity");__("Minimum Order Amount ()");__("Minimum Purchase Requirements");__("Minutes");__("Month(s)");__("Monthly");__("Move to section");__("Move");__("Multi-instructors addon is locked!");__("Multiple choice");__("Mute Participants upon entry");__("My Templates");__("NEW");__("Name");__("Native Templates");__("New Subscription Plan");__("New question");__("New section");__("Next Payment Date");__("Next");__("No Coupon yet");__("No FAQ Yet");__("No FAQ items");__("No Membership Plans yet");__("No Minimum Requirement");__("No Subscription Plans Yet");__("No attached video yet");__("No certificate");__("No certificates yet");__("No course materials yet");__("No matching results");__("No materials yet");__("No options");__("No prompt provided");__("No sections in this course");__("No trial");__("Not found");__("Not included in membership");__("Notice successfully saved");__("Notice");__("Notification text about upcoming courses");__("Now you can share audio lessons. Upload audio files or add from Spotify or SoundCloud. Mix them with text, video and quizzes in your courses");__("Now you can share audio lessons. Upload audio files or add from Spotify or SoundCloud.");__("Number of Cycles");__("Number of FAQs");__("Number of images per lesson - for text lessons and assignments");__("Number of lessons per section");__("Number of questions per quiz");__("Number of sections");__("OFF");__("Offer Sale Price");__("On Hold");__("Once uploaded, subtitles will automatically appear in the course player during video playback.");__("Once you add a subscription plan, it will appear here with all related details.");__("One-time purchase");__("Only users who are signed in to a Zoom account will join the meeting.");__("Option");__("Order ID");__("Order details");__("Order info");__("Order key");__("Order note");__("Order");__("Ordering question type requires the learner to sort items in a specific order.");__("Orders");__("Owner");__("PDF Lessons available with Pro Plus");__("PDF Lessons available with Pro");__("PDF file");__("PDF lesson");__("PRO Styles is locked!");__("Page not found");__("Pagination");__("Paid");__("Parent category");__("Participants video");__("Passing grade % (0-100)");__("Passing grade (%)");__("Payment History");__("Payment Method");__("Payment info");__("Payment method");__("Pending for review");__("Pending");__("Percent");__("Period");__("Phone Number");__("Plan Features");__("Plan Summary:");__("Plan Title");__("Plan");__("Please Setup Grades");__("Please create lessons, quizzes, and assignments before setting up drip content.");__("Point system & Group courses");__("Point");__("Points cut after retake (%)");__("Points info");__("Points price");__("Post Code");__("Poster for question video");__("Poster for video preview");__("Prefered question types are required");__("Prefered question types");__("Preferred lesson types");__("Premium Addons");__("Premium Templates");__("Prerequisite Passing Percent (%)");__("Prerequisites successfully saved");__("Prerequisites");__("Prerequisities addon is locked!");__("Prevent complete the lesson until PDF is fully read");__("Preview video");__("Preview");__("Price for Affiliate");__("Price info");__("Price");__("Pricing has successfully been saved");__("Pricing");__("Private");__("Pro tip: ");__("Products");__("Prompt is required");__("Provide special link and button label that redirects users to the external affiliate course.");__("Public");__("Publish");__("Published");__("Q&A");__("QUIZZES");__("Question Bank");__("Question Media addon disabled");__("Question Media addon is available in the Pro Version of the plugin. Please, upgrade to Pro to add media to quiz questions.");__("Question Media addon is not enabled. Please, enable this addon to add media to quiz questions.");__("Question saved successfully");__("Question successfully saved");__("Question type");__("Question video");__("Question");__("Questions & Answers");__("Questions Bank");__("Questions Library");__("Questions are currently not supported for this video type.");__("Questions library");__("Questions limit is required");__("Questions not found");__("Questions successfully added");__("Questions");__("Quiz Attempt History");__("Quiz description");__("Quiz duration");__("Quiz style");__("Quiz successfully created");__("Quiz successfully saved");__("Quiz");__("Quizzes creation");__("RECENT MATERIALS");__("Randomize answers");__("Randomize questions");__("Range");__("Regenerate Curriculum");__("Regenerate missing lessons");__("Regenerate");__("Rejected");__("Remove");__("Renew");__("Renewal Period");__("Reply");__("Require answering all video questions to proceed to next lesson");__("Require authentication to join: Sign in to Zoom");__("Required Question");__("Required audio progress (%)");__("Required video progress (%)");__("Reset");__("Retake After Pass");__("Rewatch timecode");__("SCORM Course");__("SCORM Package contains some errors");__("SCORM successfully deleted");__("SCORM successfully loaded");__("SELECT QUESTION MEDIA TYPE");__("Sale Period");__("Sale available from");__("Sale end date");__("Sale price");__("Sale start date");__("Save & Continue");__("Save Question Bank");__("Save");__("Saving questions...");__("Search by id or user");__("Search by name");__("Search courses");__("Search materials");__("Search questions");__("Search");__("Section successfully added");__("Section successfully removed");__("Section");__("See table");__("Select All");__("Select Bundles");__("Select Categories");__("Select Category");__("Select Courses");__("Select Memberships");__("Select Products");__("Select at least 1 item");__("Select at least one lesson type");__("Select categories");__("Select coupon");__("Select end date");__("Select end time");__("Select file");__("Select language");__("Select lesson type");__("Select level");__("Select material type to continue");__("Select media type");__("Select number of questions");__("Select option");__("Select parent category (optional)");__("Select question type");__("Select section");__("Select source");__("Select start date");__("Select start time");__("Select status");__("Select timezone");__("Select type");__("Select video");__("Select");__("Select...");__("Sequential Lesson Lock is active.");__("Sequential lesson progression is enabled for all courses by the admin.");__("Set API key");__("Set End Date");__("Settings have been saved successfully");__("Settings");__("Setup");__("Short Description");__("Short description of the lesson");__("Short description of the quiz");__("Shortcode");__("Show correct answer");__("Show course author, category and rating");__("Show course price");__("Show less");__("Show price for affiliate visually on the button");__("Single Choice questions require the selection of one answer from a list of options provided.");__("Single choice");__("Sitewide");__("Some questions were not generated successfully. Are you sure you want to save the questions?");__("Something went wrong!");__("Sorry, no matching options.");__("Sort");__("Source type for video preview");__("Source type");__("Specific bundles");__("Specific categories");__("Specific courses");__("Specific membership plans");__("Speed up FAQ creation with AI for your course");__("Start Date");__("Start Time");__("Start Typing...");__("Start date");__("Start time");__("State");__("Status end date");__("Status start date");__("Status");__("Status:");__("Stream URL");__("Stream lesson");__("Student Details");__("Student details");__("Student email");__("Students will see the course category and instructor information for the upcoming course.");__("Style");__("Submit");__("Subscription Details");__("Subscription ID");__("Subscription Note for Admin");__("Subscription type");__("Subscription");__("Subscriptions & Memberships");__("Subscriptions addon is not enabled!");__("Subscriptions info");__("Subscriptions");__("Subtitles");__("Subtotal");__("Successfully Created");__("Successfully Updated");__("Successfully added to the course");__("Successfully created category");__("Supported file formats");__("Tax");__("Taxes");__("Teach with Zoom lessons, meetings and webinars directly on your website.");__("Template Library");__("Text lesson");__("Text");__("The Question Bank cannot be edited. You can delete it or create a new one.");__("The Show course price setting must be enabled for preordering to work");__("The comment was edited successfully");__("The file has been removed successfully ");__("The file has been removed successfully");__("The file has been renamed successfully");__("The file has been uploaded successfully");__("The order of lessons is locked. To customize it, disable the option in course settings.");__("The order of lessons is locked. To customize it, disable the option in settings.");__("The reply was successfully sent");__("This Month");__("This Week");__("This Year");__("This course will be available soon");__("This field is required");__("This field must have at least 1 item");__("This file format is not supported");__("This section is available in the PRO version");__("Time limit");__("Time unit");__("Time");__("Timecode");__("Timezone");__("Title is required");__("Title");__("Today");__("Toggle all");__("Tone");__("Total Usage Limit");__("Total");__("Town/City");__("Trial Courses addon is locked!");__("Trial End Date");__("Trial Period (days)");__("Trial course");__("Trial");__("True");__("True/False");__("Try again");__("Try changing your filter settings");__("Try changing your search query");__("Type URL here");__("Type");__("Unable to create membership plan");__("Unable to create template");__("Unable to delete template");__("Unable to duplicate template");__("Unable to generate faq");__("Unable to generate text");__("Unable to update template");__("Unlock lesson after purchase (days)");__("Unlock the lesson after a certain time after the purchase");__("Unlock the power of online meetings with interactive virtual classrooms. Experience smooth communication and collaboration with learners.");__("Unlock");__("Unsaved data will be lost. Do you want to continue?");__("Until Cancelled");__("Untitled");__("Upcoming Course Status addon is locked!");__("Upcoming Course Status");__("Update");__("Upgrade to PRO PLUS");__("Upgrade to PRO");__("Upgrade to Pro Plus");__("Upgrade to Pro");__("Upload an image");__("Upload file");__("Upload from url");__("Upload");__("Url:");__("Usage Limit Per User");__("Usage Limits");__("Use selected image");__("Use selected text");__("User");__("Uses");__("Validation error");__("Validity Period");__("VdoCipher ID");__("Video Preview Feature");__("Video Preview");__("Video duration");__("Video lesson");__("Video preview");__("Video width (px)");__("Video");__("View");__("Vimeo video URL");__("Week(s)");__("Weekly");__("Will be shown in \"Show answer\" section");__("Wire Transfer");__("WooCommerce Checkout enabled");__("Words limit");__("Write the number of points needed to buy this course");__("Year(s)");__("Yearly");__("Yesterday");__("You can upload subtitle files in .vtt format to the field above.");__("You have reached your featured courses quota limit!");__("Your choosen video type is not supported");__("Your lesson has been generated successfully.");__("Youtube video URL");__("Zoom & Google webinars");__("Zoom lesson");__("Zoom webinar addon disabled");__("by date");__("by name");__("characters");__("coupon orders");__("courses in bundle");__("courses");__("day(s) free trial");__("day(s)");__("days free trial");__("for group");__("hide");__("instructor");__("off");__("question");__("questions");__("results");__("show");__("symbols left");__("symbols");__("time(s)");__("to");__("tokens left");__("with");__("words");_n("question", "questions", 1);sprintf("File is larger than %s","");sprintf("File is too large — max file size %s","");sprintf(__("Add %s %s"),"","");sprintf(__("Import %d materials to Section %d"),"","");sprintf(__("Maximum file size: %s"),"");});
  • masterstudy-lms-learning-management-system/trunk/assets/course-builder/js/main.js

    r3448656 r3458914  
    1 (()=>{var e={95391:(e,r,t)=>{"use strict";var o=t(65043),i=t(84391),s=t(94089),n=t(82907),a=(t(61667),t(79555)),d=t(6669),c=t(95338),p=t(83290),l=t(70579);const u=(e,r)=>{const t=document.getElementById(r);if(!t)return;t.shadowRoot&&(t.shadowRoot.innerHTML="");const u=t.shadowRoot||t.attachShadow({mode:"open"}),g=(0,c.T)(),h=(0,d.A)({key:"chakra",container:u,stylisPlugins:g}),m=i.createRoot(u),_=new n.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1,staleTime:500}}}),v="\n    #".concat(r,' {\n      font-family: Albert Sans,sans-serif;\n      color: var(--chakra-colors-gray-800);\n    }\n    [dir="ltr"] { --rtl-mult: 1; }\n    [dir="rtl"] { --rtl-mult: -1; }\n  ');m.render((0,l.jsxs)(n.QueryClientProvider,{client:_,children:[(0,l.jsx)(p.mL,{styles:v}),(0,l.jsx)(a.G,{cache:h,children:o.createElement(e())}),(0,l.jsx)(s.ReactQueryDevtools,{initialIsOpen:!1,position:"bottom-right"})]}))};u((()=>(0,o.lazy)((()=>Promise.all([t.e(96),t.e(225),t.e(321),t.e(926),t.e(786)]).then(t.bind(t,64926))))),"ms_wp_react_orders"),u((()=>(0,o.lazy)((()=>Promise.all([t.e(96),t.e(225),t.e(321),t.e(586),t.e(926),t.e(856)]).then(t.bind(t,56880))))),"ms_wp_react_memberships"),u((()=>(0,o.lazy)((()=>Promise.all([t.e(96),t.e(225),t.e(321),t.e(586),t.e(949)]).then(t.bind(t,76586))))),"ms_wp_react_membership_plans"),u((()=>(0,o.lazy)((()=>Promise.all([t.e(96),t.e(225),t.e(321),t.e(791)]).then(t.bind(t,91623))))),"ms_wp_react_coupons")},63711:(e,r,t)=>{"use strict";t.d(r,{o:()=>o});const o=e=>e?"".concat("asc"===e.direction?"":"-").concat(e.key):""},17622:(e,r,t)=>{"use strict";t.d(r,{HI:()=>a,PT:()=>n,Pr:()=>c,cy:()=>s,en:()=>l,f5:()=>i,g2:()=>u,gH:()=>d,qF:()=>o,v0:()=>p});const o=15,i=140,s=240,n=2500,a=60,d=4,c=5,p=4,l="Realistic",u="Professional"},78639:(e,r,t)=>{"use strict";t.d(r,{D:()=>n,e:()=>a});var o=t(65043),i=t(70579);const s=(0,o.createContext)(""),n=e=>{let{children:r}=e;const[t,n]=(0,o.useState)("");return(0,o.useLayoutEffect)((()=>{const e=window.location.pathname.split("/"),r=["edit-course","edit-lesson","edit-question","edit-quiz","edit-assignment","edit-google-meet"],t=e.findIndex((e=>r.includes(e)));if(-1!==t){const r=e.slice(0,t).join("/").substring(1);n(r)}}),[]),(0,i.jsx)(s.Provider,{value:t,children:r})},a=()=>(0,o.useContext)(s)},28064:(e,r,t)=>{"use strict";t.d(r,{L:()=>o});const o=e=>e?{columns:[{data:e.key}],order:[{columns:0,dir:e.direction}]}:{}},57522:(e,r,t)=>{"use strict";t.d(r,{K:()=>n,Z:()=>a});var o=t(65043),i=t(70579);const s=(0,o.createContext)({dir:"ltr",isRtl:!1});function n(e){let{children:r}=e;const t=document.dir||"ltr",o="rtl"===t;return(0,i.jsx)(s.Provider,{value:{dir:t,isRtl:o},children:r})}const a=()=>(0,o.useContext)(s)},79555:(e,r,t)=>{"use strict";t.d(r,{G:()=>$});var o=t(31590),i=t(60819),s=t(89568),n=t(51585),a=t(78639),d=t(89379),c=t(22273),p=t(36254);const l=(0,p.Dt)({variants:{msVariant:{root:{maxWidth:"365px"},container:{marginBottom:"10px",background:"white",borderRadius:"4px"},button:{padding:"0px",width:"25px",height:"25px",_hover:{background:"none"}},panel:{padding:"10px"}}}}),u=(0,p.Dt)({baseStyle:{fontWeight:"medium",textTransform:"none",borderRadius:"5px",border:0,margin:"10px",height:0,lineHeight:"18px",_disabled:{pointerEvents:"none",opacity:.3}},sizes:{tiny:{px:"10px",py:"6px"},smallx:{px:"10px",py:"7px",height:"30px",fontSize:"12px",borderRadius:"15px"},small:{px:"20px",py:"11px",height:"40px"},large:{px:"24px",py:"16px",height:"50px"}},variants:{default:{color:"primary",bg:"default",_hover:{color:"secondaryBg",bg:"primary"}},defaultLight:{color:"secondary",bg:"secondaryBg",_hover:{color:"primary",bg:"default"},_active:{color:"primary",bg:"default"}},primary:{color:"white",bg:"primary",_hover:{bg:"primaryHover"}},green:{color:"white",bg:"#19C895",_hover:{bg:"#14a178"}},secondary:{color:"secondary",bg:"secondaryBg",_hover:{color:"secondaryHover"}},"secondary-dark":{color:"white",bg:"secondary",_hover:{bg:"dark50",color:"white"}},outline:{color:"primary",bg:"outlineBg",border:"1px solid",borderColor:"primary",_hover:{color:"secondaryBg",bg:"primary"}},"outline-secondary":{color:"dark70",bg:"outlineBg",border:"1px solid",borderColor:"border",_hover:{color:"secondaryHover",bg:"rgba(0, 0, 0, 0.1)"}},"outline-primary":{color:"dark70",bg:"white",border:"1px solid",borderColor:"border",stroke:"dark70",_hover:{bg:"primary",color:"white",borderColor:"primary",stroke:"white"}},"outline-error":{color:"dark70",bg:"white",border:"1px solid",borderColor:"border",stroke:"dark70",_hover:{bg:"error",color:"white",borderColor:"error",stroke:"white"}},success:{color:"white",bg:"success",_hover:{bg:"successHover"}},error:{color:"white",bg:"error",_hover:{bg:"errorHover"}},"error-tonal":{color:"error",bg:"error10",_hover:{bg:"error",color:"white"}},warning:{color:"white",bg:"warning",_hover:{bg:"warningHover"}},materials:{color:"dark70",bg:"rgba(77, 94, 111, 0.1)",_hover:{color:"white",bg:"dark50"}},round:{borderRadius:21},aiSmall:{width:"28px",height:"28px",p:"0",m:"0",borderRadius:"5px",bg:"linear-gradient(0deg, #000 0%, #333 100%)",_hover:{bg:"linear-gradient(0deg, var(--chakra-colors-primary) 0%, var(--chakra-colors-primary) 100%)"},color:"white"},aiMedium:{size:"md",mx:"0",fontSize:"sm"}},defaultProps:{size:"small",variant:"default"}}),g=(0,p.Dt)({baseStyle:{control:{width:"20px",height:"20px",borderRadius:"4px",_disabled:{pointerEvents:"none"},_checked:{bg:"primary",color:"white",borderColor:"primary",_hover:{bg:"primaryHover",borderColor:"primary"}},_hover:{borderColor:"primary"},_invalid:{borderColor:"error"}},icon:{animation:"none"}}}),h=(0,p.H2)({borderWidth:"1px",borderStyle:"solid",opacity:1}),m=(0,p.Dt)({variants:{msVariant:h}}),_=(0,p.Dt)({variants:{default:{dialog:{maxWidth:"416px",bg:"secondaryBg"},header:{size:"xl",fontWeight:"light"},closeButton:{width:"24px",height:"24px",borderRadius:"50%",bg:"border",top:"24px",right:"30px",color:"dark50","&:hover":{color:"border",bg:"dark50"},"& svg":{width:"10px",height:"10px"}}}},defaultProps:{variant:"default"}});var v=t(73012);const{definePartsStyle:b,defineMultiStyleConfig:f}=(0,p.YU)(v.Gq.keys),x=b({field:{fontSize:"sm",border:"1px solid",borderColor:"border",borderRadius:"4px",padding:"10px 20px",minHeight:"40px",_focus:{borderColor:"primary"},_invalid:{borderColor:"error"},_placeholder:{color:"dark50"}},addon:{border:"1px solid",borderRadius:"4px",borderColor:"border",background:"white",color:"dark50",padding:"10px 10px 10px 20px",fontSize:"sm"}}),y=f({baseStyle:{field:{_disabled:{opacity:.8,background:"white"}}},variants:{msVariant:x,msQuiz:b((0,d.A)((0,d.A)({},x),{},{field:{height:"26px",border:"1px solid #DBE0E9",boxShadow:"none","&:focus-visible":{boxShadow:"none"}}})),msUrlField:b({field:{fontSize:"sm",border:"1px solid",borderColor:"border",borderRadius:"4px",minHeight:"40px",_focus:{borderColor:"primary"},_invalid:{borderColor:"error"},_placeholder:{color:"dark"},_disabled:{background:"mainBackground",opacity:1}}})}}),w=(0,p.Dt)({variants:{install:{fontWeight:"medium",textDecoration:"none",color:"white !important",bg:"primary",borderRadius:"5px",padding:"6px 20px",border:0,_hover:{bg:"primaryHover"}}}}),{definePartsStyle:C,defineMultiStyleConfig:k}=(0,p.YU)(v.Pe.keys),A=k({variants:{courseStatus:C({list:{display:"flex",flexDirection:"column",padding:"0",borderRadius:"4px",boxShadow:"0px 4px 10px rgba(0, 0, 0, 0.25)",background:"#DDDDDD",gap:"1px"},item:{padding:"11px 15px",_disabled:{color:"dark50",background:"white",opacity:1}},command:{}})}}),S=(0,p.Dt)({variants:{materials:{header:{padding:"20px",background:"mainBackground",borderRadius:"10px 10px 0 0"},dialog:{background:"mainBackground",padding:"0px",maxHeight:"600px",maxWidth:"600px"},body:{padding:"0px",minHeight:"259px",maxHeight:"500px",overflowY:"auto"},footer:{background:"mainBackground",padding:"20px",justifyContent:"space-between",borderRadius:"0 0 10px 10px"}},lessons:{header:{position:"relative",padding:"0px",marginBottom:"30px"},dialog:{padding:"30px",width:"590px"},body:{padding:"0px"}},grades:{header:{position:"relative",padding:"0px",marginBottom:"20px"},dialog:{padding:"20px",width:"590px",borderRadius:"20px"},body:{padding:"0px"}},category:{dialog:{padding:"40px"},header:{position:"relative",padding:"0 0 20px"},body:{padding:"0px"}},course:{header:{padding:"20px",background:"mainBackground",borderRadius:"10px 10px 0 0"},dialog:{padding:"0px",maxHeight:"600px"},body:{padding:"0px",minHeight:"250px",maxHeight:"500px",overflowY:"auto",borderTop:"1px solid",borderColor:"border"},footer:{background:"mainBackground",padding:"20px",justifyContent:"space-between",borderRadius:"0 0 10px 10px"}},prompt:{header:{padding:"0px",fontSize:"lg",fontWeight:"medium"},dialog:{padding:"20px",borderRadius:"10px",gap:"10px"},footer:{padding:"0px",gap:"10px"}},mediaGallery:{header:{display:"flex",justifyContent:"space-between",padding:0},dialog:{padding:"20px",borderRadius:"10px",gap:"20px",boxShadow:"0px 0px 30px 0px rgba(0, 0, 0, 0.20)",margin:"0px"},body:{display:"flex",flexDirection:"column",gap:"30px",padding:"0px"}},oldBuilder:{dialog:{padding:"30px",margin:"0px",borderRadius:"10px",boxShadow:"0px 0px 30px 0px rgba(0, 0, 0, 0.20)"},header:{display:"flex",flexDirection:"column",padding:"0px",alignItems:"center"},body:{margin:"40px 0px",padding:"0px",display:"flex",justifyContent:"center"},footer:{padding:"0px",justifyContent:"center",flexDirection:"column",gap:"40px"}},aiModal:{dialog:{width:"700px",minHeight:"521px",height:"auto"}},default:{header:{position:"relative",padding:"0px",marginBottom:"10px"},dialog:{padding:"30px",width:"590px"},body:{padding:"0px"}}}}),P=(0,p.Dt)({variants:{msVariant:{field:{fontSize:"sm",border:"1px solid",borderColor:"border",borderRadius:"4px",padding:"10px 20px 10px 20px",minHeight:"40px",_focus:{borderColor:"primary"},_invalid:{borderColor:"error"},_placeholder:{color:"dark50"}}},withStepper:{field:{fontSize:"sm",border:"1px solid",borderColor:"border",borderRadius:"4px",padding:"10px 40px 10px 20px",minHeight:"40px",_focus:{borderColor:"primary"},_invalid:{borderColor:"error"},_placeholder:{color:"dark50"}},stepperGroup:{padding:"3px",margin:"0px",width:"40px"},stepper:{color:"dark50",background:"secondaryBg",padding:"5px 3px 3px",border:"none","& > svg":{width:"100%",height:"0.8em"}}}}}),{definePartsStyle:E,defineMultiStyleConfig:T}=(0,p.YU)(v.vI.keys),q=T({baseStyle:E({body:{margin:"10px",color:"primary"},closeButton:{color:"primary"}})}),O=(0,p.Dt)({variants:{msVariant:{track:{borderRadius:"5px !important",margin:"6px 0 0 !important"},filledTrack:{bg:"primary"}}}}),{definePartsStyle:B,defineMultiStyleConfig:R}=(0,p.YU)(v.Vg.keys),D=R({variants:{msVariant:B({control:{width:"20px",height:"20px",_disabled:{pointerEvents:"none"},_checked:{bg:"white",color:"primary",borderColor:"primary",_hover:{color:"white",bg:"primary",borderColor:"primary"}},_hover:{borderColor:"primary"},_invalid:{borderColor:"error"}}})}}),{definePartsStyle:F,defineMultiStyleConfig:I}=(0,p.YU)(v.af.keys),H=I({baseStyle:F({container:{marginRight:"5px",paddingTop:"1px","--switch-thumb-x":"calc(var(--switch-track-diff) * var(--rtl-mult, 1))"},track:{_checked:{bg:"primary"}}})}),M=(0,p.Dt)({variants:{quiz:{root:{width:"100%"},tablist:{height:"40px",bg:"border",padding:"4px",borderRadius:"4px",width:"fit-content"},tab:{height:"32px",padding:0,margin:0,color:"dark70",borderRadius:"2px",_selected:{bg:"white",color:"dark"}},tabpanel:{padding:"20px 0 0"}}}}),z=(0,p.Dt)({baseStyle:{_disabled:{opacity:.8,background:"white"}},variants:{msVariant:{fontSize:"sm",border:"1px solid",borderColor:"border",borderRadius:"4px",padding:"10px 20px",_focus:{borderColor:"primary"},_invalid:{borderColor:"error"},_placeholder:{color:"dark50"}},unstyled:{color:"dark70",fontSize:"sm"}}}),j=(0,p.Vg)("popper-arrow-bg"),L=(0,p.H2)((()=>({[j.variable]:"#FF3945",borderRadius:"4px",background:"error",borderColor:"error",padding:"11px 20px",fontSize:"sm",fontWeight:"medium",color:"white",zIndex:20}))),U=(0,p.Dt)({variants:{error:L}}),N=(0,c.oY)((0,d.A)({config:{initialColorMode:"light",useSystemColorMode:!1},colors:{default:"rgba(34, 122, 255, 0.1)",white:"#FFFFFF",primary:"rgba(34, 122, 255, 1)",primary10:"rgba(34, 122, 255, 0.1)",primary20:"rgba(34, 122, 255, 0.2)",primary30:"rgba(34, 122, 255, 0.3)",primary40:"rgba(34, 122, 255, 0.4)",primary50:"rgba(34, 122, 255, 0.5)",primary60:"rgba(34, 122, 255, 0.6)",primary70:"rgba(34, 122, 255, 0.7)",primary80:"rgba(34, 122, 255, 0.8)",primary90:"rgba(34, 122, 255, 0.9)",primaryHover:"linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), #227AFF",secondary:"#4D5E6F",secondaryBg:"#EEF1F7",secondaryHover:"#001931",outlineBg:"transparent",unlockBannerBg:"linear-gradient(to bottom, #13283B, #161B21)",description:"rgba(255, 255, 255, 0.70)",success:"#61CC2F",successHover:"#57B82A",error:"rgba(255, 57, 69, 1)",error10:"rgba(255, 57, 69, 0.1)",error20:"rgba(255, 57, 69, 0.2)",error30:"rgba(255, 57, 69, 0.3)",error40:"rgba(255, 57, 69, 0.4)",error50:"rgba(255, 57, 69, 0.5)",error60:"rgba(255, 57, 69, 0.6)",error70:"rgba(255, 57, 69, 0.7)",error80:"rgba(255, 57, 69, 0.8)",error90:"rgba(255, 57, 69, 0.9)",errorHover:"#E6333E",warning:"#FFA800",warningHover:"#E69800",border:"#DBE0E9",dark:"#001931",dark20:"#C4C4C4",dark30:"#B3BAC2",dark50:"#808C98",dark70:"#4D5E6F",mainBackground:"#EEF1F7",headerBg:"#1C252E",selectedTab:"rgba(255, 255, 255, 0.1)",faqImageBg:"#BDD8FF",warningCardBg:"#FFFBF4",warningCardBorder:"#FFDB95",green:"#19C895",draftBg:"rgba(255, 168, 0, 0.1)",blue:{500:"#227AFF"},aiBlockBackground:"conic-gradient(from 180deg at 50% 52.85%, #CBFF93 4.894779995083809deg, #F0EBA0 44.99958157539368deg, #FF9004 130.5864679813385deg, #FF2E54 180.84588289260864deg, #C959DD 218.81051301956177deg, #5D68FF 284.53248739242554deg, #0894FF 324.67241048812866deg, #CBFF93 360deg)"},components:{Accordion:l,Button:u,Checkbox:g,Divider:m,Drawer:_,Input:y,Link:w,Menu:A,Modal:S,NumberInput:P,Popover:q,Progress:O,Radio:D,Switch:H,Tabs:M,Textarea:z,Tooltip:U},fonts:{heading:"Eudoxus Sans Medium, sans-serif",body:"Eudoxus Sans Medium, sans-serif"},fontSizes:{xxs:"10px",xs:"12px",sm:"14px",md:"16px",lg:"18px",xl:"24px"},breakpoints:{sm:"320px",md:"768px",lg:"1200px",xl:"1400px"},fontWeights:{hairline:100,thin:200,light:300,normal:400,medium:500,semiBold:600,bold:700,extraBold:800,black:900},lineHeights:{xs:"12px",sm:"14px",md:"16px",lg:"18px",xl:"24px",xxl:"30px"},styles:{global:{body:{fontSize:"sm",fontWeight:"normal",bg:"mainBackground"},svg:{fill:"currentColor"}}}},{radii:{none:"0",sm:"4px"}}));var W=t(57522),G=t(61667),Q=t(74472),V=t(6669),Y=t(95338),K=t(70579);const X=e=>{let{children:r,cache:t}=e;const o=(0,Y.T)(),i=null!==t&&void 0!==t?t:(0,V.A)({key:"chakra",stylisPlugins:o});return(0,K.jsx)(Q.C,{value:i,children:r})};var Z=t(65043);const $=e=>{let{children:r,cache:t}=e;const d=(0,Z.useRef)(null);return(0,K.jsx)(X,{cache:t,children:(0,K.jsx)(o.az,{ref:d,children:(0,K.jsx)(i.s,{theme:N,toastOptions:{portalProps:{containerRef:d}},children:(0,K.jsx)(s.t,{portalProps:{containerRef:d},children:(0,K.jsx)(n._P.Provider,{value:n.sW,children:(0,K.jsx)(G.CY,{children:(0,K.jsx)(W.K,{children:(0,K.jsx)(a.D,{children:r})})})})})})})})}},95338:(e,r,t)=>{"use strict";t.d(r,{T:()=>i});var o=t(62403);const i=()=>{const e=[];return"rtl"===(document.dir||"ltr")&&e.push(o.A),e}},44145:(e,r,t)=>{"use strict";t.d(r,{MB:()=>n,e2:()=>d,eA:()=>a});var o=t(89379),i=t(22908),s=t(28064);const n=e=>"string"===typeof e&&e.includes("ERR_CANCELED"),a=e=>(0,i.stringify)(e),d=e=>{let{dateRange:r,sort:t,search:i,page:n,perPage:a}=e;const d={date_from:"",date_to:""};if(r){const e=r.split(",");d.date_from=e[0],d.date_to=e[1]}const c=(0,s.L)(t);return(0,o.A)((0,o.A)({start:(n-1)*a,length:a,search:{value:i,regex:!1}},d),c)}},22974:(e,r,t)=>{"use strict";var o=t(65043),i=t(84391),s=t(94089),n=t(82907),a=(t(61667),t(51585),t(70579));const d=document.getElementById("ms_plugin_root");if(d){const e=o.lazy((()=>Promise.all([t.e(96),t.e(225),t.e(321),t.e(586),t.e(499)]).then(t.bind(t,54483)))),r=i.createRoot(d),c=new n.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1,staleTime:500}}});r.render((0,a.jsxs)(n.QueryClientProvider,{client:c,children:[(0,a.jsx)(e,{}),(0,a.jsx)(s.ReactQueryDevtools,{initialIsOpen:!1,position:"bottom-right"})]}))}},7673:(e,r,t)=>{"use strict";t.d(r,{Eo:()=>a,W8:()=>n,gn:()=>i,ru:()=>d,vg:()=>s,xj:()=>o});let o=function(e){return e.STM_LESSONS="stm-lessons",e.STM_QUIZZES="stm-quizzes",e.STM_ASSIGNMENTS="stm-assignments",e.STM_GOOGLE_MEETS="stm-google-meets",e.STM_QUESTIONS="stm-questions",e}({}),i=function(e){return e.STREAM="stream",e.TEXT="text",e.AUDIO="audio",e.VIDEO="video",e.ZOOM="zoom_conference",e.PDF="pdf",e}({}),s=function(e){return e.ASSIGNMENT="assignment",e.GOOGLE_MEET="google-meet",e.QUIZ="quiz",e.QUESTION="question",e}({}),n=function(e){return e.VIDEO="question-media-video",e.AUDIO="question-media-audio",e}({}),a=function(e){return e.EMBED="embed",e.EXTERNAL_LINK="ext_link",e.HTML="html",e.PRESTO_PLAYER="presto_player",e.VDOCIPHER="vdocipher",e.SHORTCODE="shortcode",e.VIMEO="vimeo",e.YOUTUBE="youtube",e}({}),d=function(e){return e.EMBED="embed",e.EXTERNAL_LINK="ext_link",e.FILE="file",e.SHORTCODE="shortcode",e}({})},33964:(e,r,t)=>{"use strict";t.d(r,{u:()=>o});let o=function(e){return e.SINGLE_CHOICE="single_choice",e.MULTI_CHOICE="multi_choice",e.TRUE_FALSE="true_false",e.ITEM_MATCH="item_match",e.IMAGE_MATCH="image_match",e.KEYWORDS="keywords",e.FILL_THE_GAP="fill_the_gap",e.QUESTION_BANK="question_bank",e.SORTABLE="sortable",e}({})},51585:(e,r,t)=>{"use strict";t.d(r,{_P:()=>le,sW:()=>pe,gf:()=>ue});var o=t(65043),i=t(60097);class s extends i.h{constructor(){super(...arguments),this.get=e=>this._provider.get("/courses/".concat(e,"/announcement")),this.put=e=>{let{data:r,id:t}=e;return this._provider.put("/courses/".concat(t,"/announcement"),r)}}}class n extends i.h{constructor(){super(...arguments),this.create=e=>this._provider.post("/courses/category",e)}}class a extends i.h{constructor(){super(...arguments),this.getBy=e=>this._provider.get("/comments/".concat(e)),this.create=(e,r)=>this._provider.post("/comments/".concat(e),{content:r}),this.reply=e=>{let{commentId:r,content:t}=e;return this._provider.post("/comments/".concat(r,"/reply"),{content:t})},this.update=e=>{let{commentId:r,content:t}=e;return this._provider.post("/comments/".concat(r,"/update"),{content:t})},this.remove=e=>this._provider.post("/comments/".concat(e,"/trash"),{})}}var d=t(89379),c=t(80045),p=t(57273),l=t.n(p),u=t(44145);const g=["image"];class h extends i.h{constructor(){super(...arguments),this.new=()=>this._provider.get("/courses/new"),this.create=e=>{const{image:r}=e,t=(0,c.A)(e,g),o=l()((0,d.A)((0,d.A)({},t),{},{image_id:null===r||void 0===r?void 0:r.id}),Boolean);return this._provider.post("/courses/create",o)},this.getBy=e=>this._provider.get("/courses/".concat(e,"/edit")),this.updateStatus=e=>{let{id:r,status:t}=e;return this._provider.put("/courses/".concat(r,"/status"),{status:t})},this.getCourses=e=>{let{search:r,page:t,paid:o,perPage:i}=e;const s=(0,u.eA)({s:r,page:t,per_page:i,paid_only:o});return this._provider.get("/courses?".concat(s))},this.getCourseBundles=e=>{let{search:r,page:t,perPage:o}=e;const i=(0,u.eA)({s:r,page:t,per_page:o});return this._provider.get("/course-bundles?".concat(i))},this.getCourseCategories=e=>{let{search:r,page:t,perPage:o}=e;const i=(0,u.eA)({search:r,page:t,per_page:o});return this._provider.get("/courses/categories/list?".concat(i))}}}var m=t(141),_=t.n(m),v=t(79160),b=t.n(v);const f=e=>b()(e)?e:null;var x=t(7673);const y=["type","lock_from_start","lock_start_days","start_date","start_time","video_type","audio_type","audio_required_progress","file","video_poster","video","video_width","video_required_progress","youtube_url","vimeo_url","external_url","embed_ctx","shortcode","presto_player_idx","vdocipher_id","files"],w=e=>{var r,t,o,i,s,n,a;const{type:p,lock_from_start:u,lock_start_days:g,start_date:h,start_time:m,video_type:v,audio_type:b,audio_required_progress:w,file:C,video_poster:k,video:A,video_width:S,video_required_progress:P,youtube_url:E,vimeo_url:T,external_url:q,embed_ctx:O,shortcode:B,presto_player_idx:R,vdocipher_id:D,files:F}=e,I=(0,c.A)(e,y),H=(0,d.A)((0,d.A)({},I),{},{type:p,lock_from_start:u});if(p===x.gn.VIDEO)switch(H.video_type=v,v){case"html":H.video_poster=null!==(r=null===k||void 0===k?void 0:k.id)&&void 0!==r?r:null,H.video=null!==(t=null===A||void 0===A?void 0:A.id)&&void 0!==t?t:null,H.video_width=f(S),H.video_required_progress=f(P);break;case"youtube":H.video_poster=null!==(o=null===k||void 0===k?void 0:k.id)&&void 0!==o?o:null,H.youtube_url=E,H.video_required_progress=f(P);break;case"vimeo":H.video_poster=null!==(i=null===k||void 0===k?void 0:k.id)&&void 0!==i?i:null,H.vimeo_url=T,H.video_required_progress=f(P);break;case"ext_link":H.external_url=q,H.video_poster=null!==(s=null===k||void 0===k?void 0:k.id)&&void 0!==s?s:null,H.video_required_progress=f(P);break;case"embed":H.embed_ctx=O;break;case"shortcode":H.shortcode=B;break;case"presto_player":H.presto_player_idx=R,H.video_poster=null!==(n=null===k||void 0===k?void 0:k.id)&&void 0!==n?n:null,H.video_required_progress=f(P);break;case"vdocipher":H.vdocipher_id=D,H.video_required_progress=f(P)}if(p===x.gn.AUDIO)switch(H.audio_type=b,b){case"file":H.file=null!==(a=null===C||void 0===C?void 0:C.id)&&void 0!==a?a:null,H.audio_required_progress=f(w);break;case"ext_link":H.external_url=q,H.audio_required_progress=f(w);break;case"embed":H.embed_ctx=O;break;case"shortcode":H.shortcode=B}H.files=null===F||void 0===F?void 0:F.map((e=>({id:e.id,label:e.label}))),u?H.lock_start_days=g:(H.start_date=h,H.start_time=m||null);const{custom_fields:M}=H;for(const e in M)_()(M[e])&&(M[e]="");return l()(H,(e=>!_()(e)))},C=["attempts","passing_grade"],k=["attempts","passing_grade"];class A extends i.h{constructor(){var e;super(...arguments),e=this,this.getBy=e=>this._provider.get("/courses/".concat(e,"/curriculum")),this.sections={create:(e,r)=>this._provider.post("/courses/".concat(e,"/curriculum/section"),r),update:(e,r)=>this._provider.put("/courses/".concat(e,"/curriculum/section"),r),delete:(e,r)=>this._provider.remove("/courses/".concat(e,"/curriculum/section/").concat(r))},this.lessons={getBy:function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.get("/lessons/".concat(r),void 0,t)},create:e=>{const r=w(e);return this._provider.post("/lessons",r)},update:function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=w(r);return e._provider.put("/lessons/".concat(r.id),o,t)}},this.assignment={getBy:function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.get("/assignments/".concat(r),void 0,t)},create:e=>{const{attempts:r,passing_grade:t}=e,o=(0,c.A)(e,C),i=(0,d.A)((0,d.A)({},o),{},{attempts:f(r),passing_grade:f(t)});return this._provider.post("/assignments",i)},update:function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{attempts:o,passing_grade:i}=r,s=(0,c.A)(r,k),n=(0,d.A)((0,d.A)({},s),{},{attempts:f(o),passing_grade:f(i)});return e._provider.put("/assignments/".concat(r.id),n,t)}},this.googleMeet={getBy:e=>this._provider.get("/google-meets/".concat(e)),create:e=>this._provider.post("/google-meets",e),update:e=>this._provider.put("/google-meets/".concat(e.id),e)},this.materials={create:e=>{let{courseId:r,data:t}=e;return this._provider.post("/courses/".concat(r,"/curriculum/material"),t)},delete:e=>{let{courseId:r,id:t}=e;return this._provider.remove("/courses/".concat(r,"/curriculum/material/").concat(t))},update:(e,r)=>this._provider.put("/courses/".concat(e,"/curriculum/material"),r)},this.scorm={post:e=>{let{courseId:r,file:t}=e;return this._provider.postFile("/courses/".concat(r,"/scorm"),{file:t})},delete:e=>this._provider.remove("/courses/".concat(e,"/scorm"))}}}class S extends i.h{constructor(){super(...arguments),this.get=e=>this._provider.get("/courses/".concat(e,"/settings/drip-content")).then((e=>{return(r=e.drip_content).length?r.map((e=>{const{parent:r,childs:t}=e;return{materials:[r,...t]}})):[{materials:[]}];var r})),this.put=e=>{let{id:r,drip:t}=e;const o=(e=>e.map((e=>{const[r,...t]=e.materials;return{parent:r,childs:t}})))(t);return this._provider.put("/courses/".concat(r,"/settings/drip-content"),o)}}}class P extends i.h{constructor(){super(...arguments),this.get=e=>this._provider.get("/courses/".concat(e,"/settings/faq")),this.put=e=>this._provider.put("/courses/".concat(e.id,"/settings/faq"),e.faq)}}class E extends i.h{constructor(){super(...arguments),this.post=e=>this._provider.postFile("/media",e),this.uploadFromUrl=e=>this._provider.post("/media/from-url",{url:e})}}class T extends i.h{constructor(){super(...arguments),this.update=e=>{let{postId:r,fields:t}=e;const o=(e=>{for(const r in e)_()(e[r])&&(e[r]="");return e})(t);return this._provider.put("/course-builder/custom-fields/".concat(r),o)}}}class q extends i.h{constructor(){super(...arguments),this.getCourseBuilderSettings=()=>this._provider.get("/course-builder/settings"),this.markers={get:e=>this._provider.get("/lesson/markers/get/".concat(e)),create:e=>this._provider.post("/lesson/markers/create/".concat(e.lesson_id),e),delete:e=>this._provider.remove("/lesson/markers/delete/".concat(e.lesson_id,"/").concat(e.marker_id),e),put:e=>this._provider.put("/lesson/markers/update/".concat(e.marker_id,"/"),e),updateQuestionsLock:e=>this._provider.put("/lesson/markers/lock/".concat(e.lesson_id,"/"),e)}}}var O=t(19959);class B extends i.h{constructor(){super(...arguments),this.getBy=e=>{const{searchTerm:r,type:t,courseId:o}=e,i=O.A.stringify({search:r,type:t});return this._provider.get("/courses/".concat(o,"/curriculum/import?").concat(i))},this.get=e=>this._provider.get("/courses/".concat(e,"/curriculum/import")),this.post=e=>{let{material_ids:r,section_id:t,courseId:o}=e;return this._provider.post("/courses/".concat(o,"/curriculum/import"),{material_ids:r,section_id:t})}}}const R=["filter"];class D extends i.h{constructor(){super(...arguments),this.getBy=e=>{const{filter:r}=e,t=(0,c.A)(e,R),o=(e=>{let r="";for(const[t,o]of Object.entries(e))r+="filter[".concat(t,"]=").concat(o,"&");return r})(r),i=o+O.A.stringify(t);return this._provider.get("/media-file-manager?".concat(i))},this.upload=e=>{let{file:r,config:t}=e;return this._provider.postFile("/media-file-manager",{file:r},t)},this.remove=e=>this._provider.remove("/media-file-manager/".concat(e)),this.integration={getBy:e=>{const{integrationType:r,fileType:t,query:o,perPage:i,page:s,orientation:n}=e,a="image"===t?"photos":"videos";return this._provider.get("/media-file-manager/integration/".concat(r,"/").concat(a)+"?query=".concat(o,"&per_page=").concat(i,"&page=").concat(s,"&orientation=").concat(n))}}}}class F extends i.h{constructor(){super(...arguments),this.get=()=>this._provider.get("/questions")}}var I=t(33964);const H=e=>{var r;return(0,d.A)((0,d.A)({},e),{},{answers:e.answers.map((e=>{var r;return(0,d.A)((0,d.A)({},e),{},{text:null===(r=e.text)||void 0===r?void 0:r.trim()})})),image:e.image||{},explain:"",hint:"",view_type:e.view_type||"list"},e.type===I.u.QUESTION_BANK&&{question:(null===(r=e.answers[0])||void 0===r?void 0:r.text)||"bank"})},M=e=>{const{custom_fields:r}=e;for(const e in r)_()(r[e])&&(r[e]="");return(0,d.A)((0,d.A)({},e),{},{quiz_attempts:e.quiz_attempts?"limited":"unlimited",custom_fields:r,questions:e.questions.reduce(((e,r)=>{const t=r.id;return t?[...e,t]:e}),[])})},z=e=>{const r=Array.isArray(e.questions)?e.questions:Object.values(e.questions||{});return(0,d.A)((0,d.A)({},e),{},{questions:r.map(((e,r)=>(0,d.A)((0,d.A)({},e),{},{_id:r,categories:e.categories.map((e=>e.id))})))})};class j extends i.h{constructor(){var e;super(...arguments),e=this,this.create=e=>{const r=M(e);return this._provider.post("/quizzes",r)},this.get=async function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=await e._provider.get("/quizzes/".concat(r),void 0,t);return{quiz:z(o.quiz),custom_fields:o.custom_fields}},this.update=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=M(r);return e._provider.put("/quizzes/".concat(r.id),o,t)},this.updateQuestions=(e,r)=>this._provider.put("/quizzes/".concat(e,"/questions"),{questions:r}),this.questions={create:e=>{const r=H(e);return this._provider.post("/questions",r)},aiCreateBulk:async function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=r.map(H);return e._provider.post("/questions/bulk",{questions:o},t)},createBulk:function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=r.map(H);return e._provider.post("/questions/bulk",{questions:o},t)},get:e=>this._provider.get("/questions/".concat(e)),list:(e,r)=>{const t=O.A.stringify({category:e,search:r});return this._provider.get("/questions/?".concat(t))},remove:e=>this._provider.remove("/questions/".concat(e)),update:(e,r)=>{const t=H(r);return""!==t.video_type&&(t.video_poster=t.video_poster&&t.video_poster.id>0?t.video_poster.id:void 0,t.video=t.video?t.video.id:void 0),this._provider.put("/questions/".concat(e),t)},categories:()=>this._provider.get("/questions/categories"),createCategory:e=>this._provider.post("/questions/category",e)}}}class L extends i.h{constructor(){super(...arguments),this.get=e=>this._provider.get("/courses/".concat(e,"/settings/pricing")),this.put=e=>{let{pricing:r,id:t}=e;const o=(e=>{const{single_sale:r,price:t,sale_price:o,sale_price_dates_start:i,sale_price_dates_end:s,enterprise_price:n,not_membership:a,affiliate_course:d,affiliate_course_text:c,affiliate_course_link:p,points_price:l,price_info:u,subscriptions:g}=e,h={single_sale:r,affiliate_course:d,subscriptions:g,enterprise_price:f(n),not_membership:a,points_price:f(l),price_info:u};return r&&(h.price=f(t),h.sale_price=f(o),h.sale_price_dates_start=i,h.sale_price_dates_end=s),d&&(h.affiliate_course_text=c,h.affiliate_course_link=p),h})(r);return this._provider.put("/courses/".concat(t,"/settings/pricing"),o)}}}const U=["video","video_poster","image","co_instructor"];class N extends i.h{constructor(){super(...arguments),this.get=e=>this._provider.get("/courses/".concat(e,"/settings")),this.updateMain=e=>{var r;let{main:t,id:o}=e;const{video:i,video_poster:s,image:n,co_instructor:a}=t,p=(0,c.A)(t,U),l=(0,d.A)({video_poster:null!==(r=null===s||void 0===s?void 0:s.id)&&void 0!==r?r:null,video:null===i||void 0===i?void 0:i.id,image_id:null===n||void 0===n?void 0:n.id,co_instructor_id:null===a||void 0===a?void 0:a.id},p);return this._provider.put("/courses/".concat(o,"/settings"),l)},this.updateAccess=e=>{let{access:r,id:t}=e;return this._provider.put("/courses/".concat(t,"/settings/access"),r)},this.updatePrerequisites=e=>{let{prerequisites:r,id:t}=e;return this._provider.put("/courses/".concat(t,"/settings/prerequisites"),r)},this.updateCertificate=e=>{var r,t;let{certificate:o,id:i}=e;return o.certificate_id=null!==(r=null===(t=o.certificate_id)||void 0===t?void 0:t.toString())&&void 0!==r?r:null,this._provider.put("/courses/".concat(i,"/settings/certificate"),o)},this.updateCourseMaterials=e=>{let{files:r,id:t}=e;const o=r.map((e=>({id:e.id,label:e.label})));return this._provider.put("/courses/".concat(t,"/settings/files"),o)},this.updateCoursePageStyle=e=>{let{slug:r,id:t}=e;const o={id:t,slug:r};return this._provider.put("/courses/".concat(t,"/settings/course-page-style"),o)}}}var W=t(9441),G=t.n(W);class Q extends i.h{constructor(){super(...arguments),this.searchCourseByName=e=>{const r=O.A.stringify({search:e,type:"stm-courses"});return this._provider.get("/search?".concat(r))},this.getRecentCourses=()=>{const e=O.A.stringify({type:"stm-courses",per_page:5});return this._provider.get("/search?".concat(e))},this.searchCoInstructorByTerm=e=>{const r=O.A.stringify({search:e,roles:"stm_lms_instructor"});return this._provider.get("/users?".concat(r))},this.updateMediaTitle=e=>{let{id:r,data:t}=e;return this._provider.post("/media/".concat(r),t)},this.searchQuestions=(e,r,t,o,i)=>{const s=O.A.stringify(G()({type:e,search:t,category:r,page:o.toString(),per_page:i},(e=>!e)));return this._provider.getPaginated("/search?".concat(s))}}}var V=t(37543);const Y=["headers","method"];class K{constructor(e,r){var t=this;this._rootUrl=void 0,this._token=void 0,this.getBaseUrl=e=>"".concat(this._rootUrl).concat(e),this.getOverrideRequestOptions=e=>{const{headers:r,method:t}=e,o=(0,c.A)(e,Y);return(0,d.A)({headers:(0,d.A)((0,d.A)({},r),{},{"X-HTTP-Method-Override":t}),method:["DELETE","PATCH","PUT"].includes(t)?"POST":t},o)},this.request=async(e,r)=>{var t;let o=this.getBaseUrl(e);r.queryString&&(o="".concat(o,"/").concat(r.queryString)),"undefined"!==typeof(null===(t=window.lmsApiSettings)||void 0===t?void 0:t.lang)&&(o+=(o.includes("?")?"&":"?")+"lang=".concat(window.lmsApiSettings.lang));const i=this.getOverrideRequestOptions(r.options);return await V.A.request((0,d.A)((0,d.A)({url:o},i),{},{withCredentials:!0})).then((e=>r._isPaginated?{data:e.data,total:e.headers["x-wp-total"],totalPages:e.headers["x-wp-totalpages"]}:e.data)).catch((e=>{let r;if(e.response){const t=e.response.data;t.message&&(r=t.message),t.errors&&(r=t.errors)}else r=e.code;if(!r)throw new Error("An error occurred");throw r}))},this.getHeaders=function(){return{"Content-Type":arguments.length>0&&void 0!==arguments[0]&&arguments[0]?"multipart/forms-data":"application/json","X-WP-Nonce":t._token}},this.getData=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return JSON.stringify(e)},this.get=function(e,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i={options:(0,d.A)({method:"GET",headers:t.getHeaders()},o),queryString:r};return t.request(e,i)},this.getPaginated=function(e,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i={options:(0,d.A)({method:"GET",headers:t.getHeaders()},o),queryString:r,_isPaginated:!0};return t.request(e,i)},this.post=function(e,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i={options:(0,d.A)({method:"POST",headers:t.getHeaders(),data:t.getData(r)},o)};return t.request(e,i)},this.remove=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o={options:{method:"DELETE",headers:t.getHeaders(),data:t.getData(r)}};return t.request(e,o)},this.patch=(e,r)=>{const t={options:{method:"PATCH",headers:this.getHeaders(),data:this.getData(r)}};return this.request(e,t)},this.put=function(e,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i={options:(0,d.A)({method:"PUT",headers:t.getHeaders(),data:t.getData(r)},o)};return t.request(e,i)},this.postFile=(e,r,t)=>{const o=new FormData;for(const[e,t]of Object.entries(r))o.append(e,t);const i={options:(0,d.A)({method:"POST",headers:this.getHeaders(!0),data:o},t)};return this.request(e,i)},this._rootUrl=e,this._token=r}}class X extends i.h{constructor(){super(...arguments),this.create=e=>this._provider.post("/course-templates/create-template",e),this.delete=e=>this._provider.remove("/course-templates/delete-template/".concat(e)),this.update=e=>this._provider.post("/course-templates/modify-template",e),this.duplicate=e=>this._provider.post("/course-templates/duplicate-template",e)}}var Z=t(17622);class $ extends i.h{constructor(){var e;super(...arguments),e=this,this.generateText=e=>this._provider.post("/ai/generate/text",e),this.generateImage=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/image",r,t)},this.uploadSelectedImage=e=>this._provider.post("/ai/upload-image",e),this.generateFaq=e=>this._provider.post("/ai/generate/faq",e),this.generateLesson=async function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/lesson",r,t)},this.generateAssignment=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/assignment",r,t)},this.generateImages=async function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=r.image_prompts.map((o=>e.generateImage({prompt:o,style:r.style},t)));return(await Promise.all(o)).map(((e,t)=>({prompt:r.image_prompts[t],image:e})))},this.generateQuestions=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/questions",r,t)},this.generateCourseDescription=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/course/description",r,t)},this.generateCourseContent=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/course/content",r,t)},this.generateCourseInfo=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/course/info",r,t)},this.generateCourseCurriculum=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/course/curriculum",(0,d.A)((0,d.A)({},r),{},{quizzes_count:-1===r.quizzes_count?null:r.quizzes_count}),t)},this.generateCourseTitle=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/course/title",r,t)},this.generateCourseCategories=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/course/categories",r,t)},this.generateCourseFaq=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/faq",(0,d.A)((0,d.A)({},r),{},{words_limit:Z.HI,tone:Z.g2,count:Z.gH}),t)},this.createGeneratedCourse=e=>this._provider.post("/ai/course",e),this.generateDuration=e=>this._provider.post("/ai/generate/lesson-duration/".concat(e),{})}}var J=t(63711);class ee extends i.h{constructor(){super(...arguments),this.getOrders=(e,r,t,o,i,s,n)=>{const a=(0,J.o)(s),d=(0,u.eA)({page:e,per_page:r,search:t,status:o,date_range:i,sort:a,coupon_id:n});return this._provider.get("/all-orders?".concat(d))},this.getOrder=e=>this._provider.get("/orders/".concat(e)),this.bulkAction=e=>this._provider.post("/orders-bulk-update",e),this.updateOrder=(e,r)=>this._provider.put("/orders/".concat(e),r)}}class re extends i.h{constructor(){super(...arguments),this.getMembershipPlans=(e,r,t,o)=>{const i=(0,J.o)(t),s=(0,u.eA)({page:e,per_page:r,sort:i,search:o});return this._provider.get("/subscription-plan/list?".concat(s))},this.getCourseMembershipPlans=(e,r,t)=>{const o=(0,u.eA)({course_id:t,page:e,per_page:r});return this._provider.get("/subscription-plan/list?".concat(o))},this.getMembershipPlan=e=>this._provider.get("/subscription-plan/".concat(e)),this.createMembershipPlan=e=>this._provider.post("/subscription-plan/create",e),this.updateMembershipPlan=(e,r)=>this._provider.put("/subscription-plan/".concat(e),r),this.updateMembershipPlanStatus=(e,r)=>this._provider.put("/subscription-plan/".concat(e,"/toggle-enabled"),r),this.deleteMembershipPlan=e=>this._provider.remove("/subscription-plan/".concat(e)),this.reorderMembershipPlans=(e,r)=>this._provider.post("/subscription-plan/reorder",{plans:e},{signal:r})}}var te,oe,ie=t(22412);class se extends i.h{getCoupons(e,r,t,o,i,s){const n=(0,u.eA)((0,d.A)((0,d.A)({},(0,u.e2)({dateRange:i,sort:s,search:t,page:e,perPage:r})),{},{status:o}));return this._provider.get("/coupon/list?".concat(n))}getCoupon(e){return this._provider.get("/coupon/".concat(e))}createCoupon(e){return this._provider.post("/coupon/create",e)}updateCoupon(e,r){return this._provider.put("/coupon/".concat(e),r)}updateCouponStatus(e,r){return this._provider.put("/coupon/".concat(e,"/status"),{coupon_status:r})}deleteCoupon(e){return this._provider.remove("/coupon/".concat(e))}bulkAction(e){return this._provider.post("/coupon/bulk-update",e)}}const ne={NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_API_URL||window.lmsApiSettings.lmsUrl,ae={NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_WP_API_URL||window.lmsApiSettings.wpUrl,de=new K(ne,null===(te=window.lmsApiSettings)||void 0===te?void 0:te.nonce),ce=new K(ae,null===(oe=window.lmsApiSettings)||void 0===oe?void 0:oe.nonce),pe=new class{constructor(e,r){this._lmsProvider=void 0,this._wpProvider=void 0,this._resources=void 0,this.getResources=()=>this._resources,this._lmsProvider=e,this._wpProvider=r,this._resources={announcement:new s(this._lmsProvider),categories:new n(this._lmsProvider),comments:new a(this._lmsProvider),course:new h(this._lmsProvider),curriculum:new A(this._lmsProvider),drip:new S(this._lmsProvider),faq:new P(this._lmsProvider),files:new E(this._lmsProvider),grassblade:new T(this._lmsProvider),lessons:new q(this._lmsProvider),materials:new B(this._lmsProvider),mediaGallery:new D(this._lmsProvider),pricing:new L(this._lmsProvider),questions:new F(this._lmsProvider),quiz:new j(this._lmsProvider),settings:new N(this._lmsProvider),wordpress:new Q(this._wpProvider),template:new X(this._lmsProvider),ai:new $(this._lmsProvider),orders:new ee(this._lmsProvider),membershipPlans:new re(this._lmsProvider),memberships:new ie.qB(this._lmsProvider),coupons:new se(this._lmsProvider)}}}(de,ce),le=(0,o.createContext)({}),ue=()=>(0,o.useContext)(le).getResources()},61667:(e,r,t)=>{"use strict";t.d(r,{CY:()=>p,TO:()=>c,WD:()=>d,Y_:()=>n,defaultI18n:()=>s.y3});var o=t(65043),i=t(70579),s=t(97989);const n="masterstudy-lms-learning-management-system",a=(0,o.createContext)(window.wp.i18n),d=()=>{const{__:__,_n:e,_nx:r,_x:t,sprintf:i}=(0,o.useContext)(a);return{__:function(e){return __(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:n)},_n:function(r,t,o){return e(r,t,o,arguments.length>3&&void 0!==arguments[3]?arguments[3]:n)},_nx:function(e,t,o,i){return r(e,t,o,i,arguments.length>4&&void 0!==arguments[4]?arguments[4]:n)},_x:function(e,r){return t(e,r,arguments.length>2&&void 0!==arguments[2]?arguments[2]:n)},sprintf:i}},c=()=>{const{__:__,_n:e,_nx:r,_x:t,sprintf:o}=window.wp.i18n;return{__:function(e){return __(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:n)},_n:function(r,t,o){return e(r,t,o,arguments.length>3&&void 0!==arguments[3]?arguments[3]:n)},_nx:function(e,t,o,i){return r(e,t,o,i,arguments.length>4&&void 0!==arguments[4]?arguments[4]:n)},_x:function(e,r){return t(e,r,arguments.length>2&&void 0!==arguments[2]?arguments[2]:n)},sprintf:o}},p=e=>{let{children:r}=e;return(0,i.jsx)(a.Provider,{value:window.wp.i18n,children:r})}},60097:(e,r,t)=>{"use strict";t.d(r,{h:()=>o});class o{constructor(e){this._provider=void 0,this._provider=e}}},22412:(e,r,t)=>{"use strict";t.d(r,{c1:()=>c.c1,qB:()=>d});var o=t(89379),i=t(60097),s=t(63711),n=t(44145),a=t(28064);class d extends i.h{constructor(){var e;super(...arguments),e=this,this.getMemberships=function(r,t,i,s,d,c,p){let l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:void 0;const u={date_from:"",date_to:""};if(c){const e=c.split(",");u.date_from=e[0],u.date_to=e[1]}const g=(0,a.L)(p),h=(0,n.eA)((0,o.A)((0,o.A)({subscription_type:d,start:(r-1)*t,length:t,search:{value:i,regex:!1},is_admin:l},u),g));return e._provider.get("/subscription/list?".concat(h))},this.getMembership=async e=>this._provider.get("/subscription/".concat(e)),this.bulkAction=e=>this._provider.post("/subscription/bulk-update",e),this.updateMembership=(e,r)=>this._provider.post("/subscription/".concat(e),r),this.cancelMembership=e=>this._provider.put("/subscription/".concat(e,"/cancel"),{}),this.getPaymentHistory=async(e,r,t,o)=>{const i=(0,s.o)(o),a=(0,n.eA)({start:(r-1)*t,length:t,sort:i});return this._provider.post("/subscription/".concat(e,"/payment-history?").concat(a),{})}}}var c=t(81919)},81919:(e,r,t)=>{"use strict";t.d(r,{VM:()=>o,c1:()=>i});let o=function(e){return e.COURSE="course",e.BUNDLE="bundle",e.SITE="full_site",e.CATEGORY="category",e}({}),i=function(e){return e.SUBSCRIPTION="subscription",e.MEMBERSHIP="membership",e}({})},42634:()=>{}},r={};function t(o){var i=r[o];if(void 0!==i)return i.exports;var s=r[o]={id:o,loaded:!1,exports:{}};return e[o].call(s.exports,s,s.exports,t),s.loaded=!0,s.exports}t.m=e,(()=>{var e=[];t.O=(r,o,i,s)=>{if(!o){var n=1/0;for(p=0;p<e.length;p++){o=e[p][0],i=e[p][1],s=e[p][2];for(var a=!0,d=0;d<o.length;d++)(!1&s||n>=s)&&Object.keys(t.O).every((e=>t.O[e](o[d])))?o.splice(d--,1):(a=!1,s<n&&(n=s));if(a){e.splice(p--,1);var c=i();void 0!==c&&(r=c)}}return r}s=s||0;for(var p=e.length;p>0&&e[p-1][2]>s;p--)e[p]=e[p-1];e[p]=[o,i,s]}})(),t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},(()=>{var e,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;t.t=function(o,i){if(1&i&&(o=this(o)),8&i)return o;if("object"===typeof o&&o){if(4&i&&o.__esModule)return o;if(16&i&&"function"===typeof o.then)return o}var s=Object.create(null);t.r(s);var n={};e=e||[null,r({}),r([]),r(r)];for(var a=2&i&&o;"object"==typeof a&&!~e.indexOf(a);a=r(a))Object.getOwnPropertyNames(a).forEach((e=>n[e]=()=>o[e]));return n.default=()=>o,t.d(s,n),s}})(),t.d=(e,r)=>{for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce(((r,o)=>(t.f[o](e,r),r)),[])),t.u=e=>"./course-builder/js/"+e+"."+{225:"cc991dbf",321:"af3883b7",499:"0b0e3a52",586:"13fb79ec",786:"47f16a92",791:"46d5e526",856:"b941dd7f",903:"5a9c42ff",926:"760e4d87",949:"eb1b2fb6"}[e]+".chunk.js",t.miniCssF=e=>"./course-builder/css/"+e+"."+{225:"c7a7bbfc",499:"cbb86c7e",786:"0903b3c9",791:"0903b3c9",856:"0903b3c9",949:"0903b3c9"}[e]+".chunk.css",t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),(()=>{var e={},r="client:";t.l=(o,i,s,n)=>{if(e[o])e[o].push(i);else{var a,d;if(void 0!==s)for(var c=document.getElementsByTagName("script"),p=0;p<c.length;p++){var l=c[p];if(l.getAttribute("src")==o||l.getAttribute("data-webpack")==r+s){a=l;break}}a||(d=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,t.nc&&a.setAttribute("nonce",t.nc),a.setAttribute("data-webpack",r+s),a.src=o),e[o]=[i];var u=(r,t)=>{a.onerror=a.onload=null,clearTimeout(g);var i=e[o];if(delete e[o],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach((e=>e(t))),r)return r(t)},g=setTimeout(u.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=u.bind(null,a.onerror),a.onload=u.bind(null,a.onload),d&&document.head.appendChild(a)}}})(),t.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),t.j=792,(()=>{var e;t.g.importScripts&&(e=t.g.location+"");var r=t.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var o=r.getElementsByTagName("script");if(o.length)for(var i=o.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=o[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),t.p=e+"../../"})(),(()=>{if("undefined"!==typeof document){var e=e=>new Promise(((r,o)=>{var i=t.miniCssF(e),s=t.p+i;if(((e,r)=>{for(var t=document.getElementsByTagName("link"),o=0;o<t.length;o++){var i=(n=t[o]).getAttribute("data-href")||n.getAttribute("href");if("stylesheet"===n.rel&&(i===e||i===r))return n}var s=document.getElementsByTagName("style");for(o=0;o<s.length;o++){var n;if((i=(n=s[o]).getAttribute("data-href"))===e||i===r)return n}})(i,s))return r();((e,r,o,i,s)=>{var n=document.createElement("link");n.rel="stylesheet",n.type="text/css",t.nc&&(n.nonce=t.nc),n.onerror=n.onload=t=>{if(n.onerror=n.onload=null,"load"===t.type)i();else{var o=t&&t.type,a=t&&t.target&&t.target.href||r,d=new Error("Loading CSS chunk "+e+" failed.\n("+o+": "+a+")");d.name="ChunkLoadError",d.code="CSS_CHUNK_LOAD_FAILED",d.type=o,d.request=a,n.parentNode&&n.parentNode.removeChild(n),s(d)}},n.href=r,o?o.parentNode.insertBefore(n,o.nextSibling):document.head.appendChild(n)})(e,s,null,r,o)})),r={792:0};t.f.miniCss=(t,o)=>{r[t]?o.push(r[t]):0!==r[t]&&{225:1,499:1,786:1,791:1,856:1,949:1}[t]&&o.push(r[t]=e(t).then((()=>{r[t]=0}),(e=>{throw delete r[t],e})))}}})(),(()=>{t.b=document.baseURI||self.location.href;var e={792:0};t.f.j=(r,o)=>{var i=t.o(e,r)?e[r]:void 0;if(0!==i)if(i)o.push(i[2]);else if(/^(225|949)$/.test(r))e[r]=0;else{var s=new Promise(((t,o)=>i=e[r]=[t,o]));o.push(i[2]=s);var n=t.p+t.u(r),a=new Error;t.l(n,(o=>{if(t.o(e,r)&&(0!==(i=e[r])&&(e[r]=void 0),i)){var s=o&&("load"===o.type?"missing":o.type),n=o&&o.target&&o.target.src;a.message="Loading chunk "+r+" failed.\n("+s+": "+n+")",a.name="ChunkLoadError",a.type=s,a.request=n,i[1](a)}}),"chunk-"+r,r)}},t.O.j=r=>0===e[r];var r=(r,o)=>{var i,s,n=o[0],a=o[1],d=o[2],c=0;if(n.some((r=>0!==e[r]))){for(i in a)t.o(a,i)&&(t.m[i]=a[i]);if(d)var p=d(t)}for(r&&r(o);c<n.length;c++)s=n[c],t.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return t.O(p)},o=self.webpackChunkclient=self.webpackChunkclient||[];o.forEach(r.bind(null,0)),o.push=r.bind(null,o.push.bind(o))})(),t.nc=void 0,t.O(void 0,[96],(()=>t(22974)));var o=t.O(void 0,[96],(()=>t(95391)));o=t.O(o)})();
     1(()=>{var e={95391:(e,r,t)=>{"use strict";var i=t(65043),o=t(84391),s=t(94089),n=t(82907),a=(t(61667),t(79555)),d=t(6669),c=t(95338),p=t(83290),l=t(70579);const u=(e,r)=>{const t=document.getElementById(r);if(!t)return;t.shadowRoot&&(t.shadowRoot.innerHTML="");const u=t.shadowRoot||t.attachShadow({mode:"open"}),g=(0,c.T)(),h=(0,d.A)({key:"chakra",container:u,stylisPlugins:g}),_=o.createRoot(u),m=new n.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1,staleTime:500}}}),v="\n    #".concat(r,' {\n      font-family: Albert Sans,sans-serif;\n      color: var(--chakra-colors-gray-800);\n    }\n    [dir="ltr"] { --rtl-mult: 1; }\n    [dir="rtl"] { --rtl-mult: -1; }\n  ');_.render((0,l.jsxs)(n.QueryClientProvider,{client:m,children:[(0,l.jsx)(p.mL,{styles:v}),(0,l.jsx)(a.G,{cache:h,children:i.createElement(e())}),(0,l.jsx)(s.ReactQueryDevtools,{initialIsOpen:!1,position:"bottom-right"})]}))};u((()=>(0,i.lazy)((()=>Promise.all([t.e(96),t.e(225),t.e(321),t.e(926),t.e(786)]).then(t.bind(t,64926))))),"ms_wp_react_orders"),u((()=>(0,i.lazy)((()=>Promise.all([t.e(96),t.e(225),t.e(321),t.e(586),t.e(926),t.e(856)]).then(t.bind(t,56880))))),"ms_wp_react_memberships"),u((()=>(0,i.lazy)((()=>Promise.all([t.e(96),t.e(225),t.e(321),t.e(586),t.e(949)]).then(t.bind(t,76586))))),"ms_wp_react_membership_plans"),u((()=>(0,i.lazy)((()=>Promise.all([t.e(96),t.e(225),t.e(321),t.e(791)]).then(t.bind(t,91623))))),"ms_wp_react_coupons")},63711:(e,r,t)=>{"use strict";t.d(r,{o:()=>i});const i=e=>e?"".concat("asc"===e.direction?"":"-").concat(e.key):""},17622:(e,r,t)=>{"use strict";t.d(r,{HI:()=>a,PT:()=>n,Pr:()=>c,cy:()=>s,en:()=>l,f5:()=>o,g2:()=>u,gH:()=>d,qF:()=>i,v0:()=>p});const i=15,o=140,s=240,n=2500,a=60,d=4,c=5,p=4,l="Realistic",u="Professional"},78639:(e,r,t)=>{"use strict";t.d(r,{D:()=>n,e:()=>a});var i=t(65043),o=t(70579);const s=(0,i.createContext)(""),n=e=>{let{children:r}=e;const[t,n]=(0,i.useState)("");return(0,i.useLayoutEffect)((()=>{const e=window.location.pathname.split("/"),r=["edit-course","edit-lesson","edit-question","edit-quiz","edit-assignment","edit-google-meet"],t=e.findIndex((e=>r.includes(e)));if(-1!==t){const r=e.slice(0,t).join("/").substring(1);n(r)}}),[]),(0,o.jsx)(s.Provider,{value:t,children:r})},a=()=>(0,i.useContext)(s)},28064:(e,r,t)=>{"use strict";t.d(r,{L:()=>i});const i=e=>e?{columns:[{data:e.key}],order:[{columns:0,dir:e.direction}]}:{}},57522:(e,r,t)=>{"use strict";t.d(r,{K:()=>n,Z:()=>a});var i=t(65043),o=t(70579);const s=(0,i.createContext)({dir:"ltr",isRtl:!1});function n(e){let{children:r}=e;const t=document.dir||"ltr",i="rtl"===t;return(0,o.jsx)(s.Provider,{value:{dir:t,isRtl:i},children:r})}const a=()=>(0,i.useContext)(s)},79555:(e,r,t)=>{"use strict";t.d(r,{G:()=>$});var i=t(31590),o=t(60819),s=t(89568),n=t(51585),a=t(78639),d=t(89379),c=t(22273),p=t(36254);const l=(0,p.Dt)({variants:{msVariant:{root:{maxWidth:"365px"},container:{marginBottom:"10px",background:"white",borderRadius:"4px"},button:{padding:"0px",width:"25px",height:"25px",_hover:{background:"none"}},panel:{padding:"10px"}}}}),u=(0,p.Dt)({baseStyle:{fontWeight:"medium",textTransform:"none",borderRadius:"5px",border:0,margin:"10px",height:0,lineHeight:"18px",_disabled:{pointerEvents:"none",opacity:.3}},sizes:{tiny:{px:"10px",py:"6px"},smallx:{px:"10px",py:"7px",height:"30px",fontSize:"12px",borderRadius:"15px"},small:{px:"20px",py:"11px",height:"40px"},large:{px:"24px",py:"16px",height:"50px"}},variants:{default:{color:"primary",bg:"default",_hover:{color:"secondaryBg",bg:"primary"}},defaultLight:{color:"secondary",bg:"secondaryBg",_hover:{color:"primary",bg:"default"},_active:{color:"primary",bg:"default"}},primary:{color:"white",bg:"primary",_hover:{bg:"primaryHover"}},green:{color:"white",bg:"#19C895",_hover:{bg:"#14a178"}},secondary:{color:"secondary",bg:"secondaryBg",_hover:{color:"secondaryHover"}},"secondary-dark":{color:"white",bg:"secondary",_hover:{bg:"dark50",color:"white"}},outline:{color:"primary",bg:"outlineBg",border:"1px solid",borderColor:"primary",_hover:{color:"secondaryBg",bg:"primary"}},"outline-secondary":{color:"dark70",bg:"outlineBg",border:"1px solid",borderColor:"border",_hover:{color:"secondaryHover",bg:"rgba(0, 0, 0, 0.1)"}},"outline-primary":{color:"dark70",bg:"white",border:"1px solid",borderColor:"border",stroke:"dark70",_hover:{bg:"primary",color:"white",borderColor:"primary",stroke:"white"}},"outline-error":{color:"dark70",bg:"white",border:"1px solid",borderColor:"border",stroke:"dark70",_hover:{bg:"error",color:"white",borderColor:"error",stroke:"white"}},success:{color:"white",bg:"success",_hover:{bg:"successHover"}},error:{color:"white",bg:"error",_hover:{bg:"errorHover"}},"error-tonal":{color:"error",bg:"error10",_hover:{bg:"error",color:"white"}},warning:{color:"white",bg:"warning",_hover:{bg:"warningHover"}},materials:{color:"dark70",bg:"rgba(77, 94, 111, 0.1)",_hover:{color:"white",bg:"dark50"}},round:{borderRadius:21},aiSmall:{width:"28px",height:"28px",p:"0",m:"0",borderRadius:"5px",bg:"linear-gradient(0deg, #000 0%, #333 100%)",_hover:{bg:"linear-gradient(0deg, var(--chakra-colors-primary) 0%, var(--chakra-colors-primary) 100%)"},color:"white"},aiMedium:{size:"md",mx:"0",fontSize:"sm"}},defaultProps:{size:"small",variant:"default"}}),g=(0,p.Dt)({baseStyle:{control:{width:"20px",height:"20px",borderRadius:"4px",_disabled:{pointerEvents:"none"},_checked:{bg:"primary",color:"white",borderColor:"primary",_hover:{bg:"primaryHover",borderColor:"primary"}},_hover:{borderColor:"primary"},_invalid:{borderColor:"error"}},icon:{animation:"none"}}}),h=(0,p.H2)({borderWidth:"1px",borderStyle:"solid",opacity:1}),_=(0,p.Dt)({variants:{msVariant:h}}),m=(0,p.Dt)({variants:{default:{dialog:{maxWidth:"416px",bg:"secondaryBg"},header:{size:"xl",fontWeight:"light"},closeButton:{width:"24px",height:"24px",borderRadius:"50%",bg:"border",top:"24px",right:"30px",color:"dark50","&:hover":{color:"border",bg:"dark50"},"& svg":{width:"10px",height:"10px"}}}},defaultProps:{variant:"default"}});var v=t(73012);const{definePartsStyle:f,defineMultiStyleConfig:b}=(0,p.YU)(v.Gq.keys),x=f({field:{fontSize:"sm",border:"1px solid",borderColor:"border",borderRadius:"4px",padding:"10px 20px",minHeight:"40px",_focus:{borderColor:"primary"},_invalid:{borderColor:"error"},_placeholder:{color:"dark50"}},addon:{border:"1px solid",borderRadius:"4px",borderColor:"border",background:"white",color:"dark50",padding:"10px 10px 10px 20px",fontSize:"sm"}}),y=b({baseStyle:{field:{_disabled:{opacity:.8,background:"white"}}},variants:{msVariant:x,msQuiz:f((0,d.A)((0,d.A)({},x),{},{field:{height:"26px",border:"1px solid #DBE0E9",boxShadow:"none","&:focus-visible":{boxShadow:"none"}}})),msUrlField:f({field:{fontSize:"sm",border:"1px solid",borderColor:"border",borderRadius:"4px",minHeight:"40px",_focus:{borderColor:"primary"},_invalid:{borderColor:"error"},_placeholder:{color:"dark"},_disabled:{background:"mainBackground",opacity:1}}})}}),w=(0,p.Dt)({variants:{install:{fontWeight:"medium",textDecoration:"none",color:"white !important",bg:"primary",borderRadius:"5px",padding:"6px 20px",border:0,_hover:{bg:"primaryHover"}}}}),{definePartsStyle:k,defineMultiStyleConfig:C}=(0,p.YU)(v.Pe.keys),A=C({variants:{courseStatus:k({list:{display:"flex",flexDirection:"column",padding:"0",borderRadius:"4px",boxShadow:"0px 4px 10px rgba(0, 0, 0, 0.25)",background:"#DDDDDD",gap:"1px"},item:{padding:"11px 15px",_disabled:{color:"dark50",background:"white",opacity:1}},command:{}})}}),S=(0,p.Dt)({variants:{materials:{header:{padding:"20px",background:"mainBackground",borderRadius:"10px 10px 0 0"},dialog:{background:"mainBackground",padding:"0px",maxHeight:"600px",maxWidth:"600px"},body:{padding:"0px",minHeight:"259px",maxHeight:"500px",overflowY:"auto"},footer:{background:"mainBackground",padding:"20px",justifyContent:"space-between",borderRadius:"0 0 10px 10px"}},lessons:{header:{position:"relative",padding:"0px",marginBottom:"30px"},dialog:{padding:"30px",width:"590px"},body:{padding:"0px"}},grades:{header:{position:"relative",padding:"0px",marginBottom:"20px"},dialog:{padding:"20px",width:"590px",borderRadius:"20px"},body:{padding:"0px"}},category:{dialog:{padding:"40px"},header:{position:"relative",padding:"0 0 20px"},body:{padding:"0px"}},course:{header:{padding:"20px",background:"mainBackground",borderRadius:"10px 10px 0 0"},dialog:{padding:"0px",maxHeight:"600px"},body:{padding:"0px",minHeight:"250px",maxHeight:"500px",overflowY:"auto",borderTop:"1px solid",borderColor:"border"},footer:{background:"mainBackground",padding:"20px",justifyContent:"space-between",borderRadius:"0 0 10px 10px"}},prompt:{header:{padding:"0px",fontSize:"lg",fontWeight:"medium"},dialog:{padding:"20px",borderRadius:"10px",gap:"10px"},footer:{padding:"0px",gap:"10px"}},mediaGallery:{header:{display:"flex",justifyContent:"space-between",padding:0},dialog:{padding:"20px",borderRadius:"10px",gap:"20px",boxShadow:"0px 0px 30px 0px rgba(0, 0, 0, 0.20)",margin:"0px"},body:{display:"flex",flexDirection:"column",gap:"30px",padding:"0px"}},oldBuilder:{dialog:{padding:"30px",margin:"0px",borderRadius:"10px",boxShadow:"0px 0px 30px 0px rgba(0, 0, 0, 0.20)"},header:{display:"flex",flexDirection:"column",padding:"0px",alignItems:"center"},body:{margin:"40px 0px",padding:"0px",display:"flex",justifyContent:"center"},footer:{padding:"0px",justifyContent:"center",flexDirection:"column",gap:"40px"}},aiModal:{dialog:{width:"700px",minHeight:"521px",height:"auto"}},default:{header:{position:"relative",padding:"0px",marginBottom:"10px"},dialog:{padding:"30px",width:"590px"},body:{padding:"0px"}}}}),P=(0,p.Dt)({variants:{msVariant:{field:{fontSize:"sm",border:"1px solid",borderColor:"border",borderRadius:"4px",padding:"10px 20px 10px 20px",minHeight:"40px",_focus:{borderColor:"primary"},_invalid:{borderColor:"error"},_placeholder:{color:"dark50"}}},withStepper:{field:{fontSize:"sm",border:"1px solid",borderColor:"border",borderRadius:"4px",padding:"10px 40px 10px 20px",minHeight:"40px",_focus:{borderColor:"primary"},_invalid:{borderColor:"error"},_placeholder:{color:"dark50"}},stepperGroup:{padding:"3px",margin:"0px",width:"40px"},stepper:{color:"dark50",background:"secondaryBg",padding:"5px 3px 3px",border:"none","& > svg":{width:"100%",height:"0.8em"}}}}}),{definePartsStyle:E,defineMultiStyleConfig:T}=(0,p.YU)(v.vI.keys),q=T({baseStyle:E({body:{margin:"10px",color:"primary"},closeButton:{color:"primary"}})}),O=(0,p.Dt)({variants:{msVariant:{track:{borderRadius:"5px !important",margin:"6px 0 0 !important"},filledTrack:{bg:"primary"}}}}),{definePartsStyle:B,defineMultiStyleConfig:R}=(0,p.YU)(v.Vg.keys),D=R({variants:{msVariant:B({control:{width:"20px",height:"20px",_disabled:{pointerEvents:"none"},_checked:{bg:"white",color:"primary",borderColor:"primary",_hover:{color:"white",bg:"primary",borderColor:"primary"}},_hover:{borderColor:"primary"},_invalid:{borderColor:"error"}}})}}),{definePartsStyle:F,defineMultiStyleConfig:I}=(0,p.YU)(v.af.keys),H=I({baseStyle:F({container:{marginRight:"5px",paddingTop:"1px","--switch-thumb-x":"calc(var(--switch-track-diff) * var(--rtl-mult, 1))"},track:{_checked:{bg:"primary"}}})}),M=(0,p.Dt)({variants:{quiz:{root:{width:"100%"},tablist:{height:"40px",bg:"border",padding:"4px",borderRadius:"4px",width:"fit-content"},tab:{height:"32px",padding:0,margin:0,color:"dark70",borderRadius:"2px",_selected:{bg:"white",color:"dark"}},tabpanel:{padding:"20px 0 0"}}}}),z=(0,p.Dt)({baseStyle:{_disabled:{opacity:.8,background:"white"}},variants:{msVariant:{fontSize:"sm",border:"1px solid",borderColor:"border",borderRadius:"4px",padding:"10px 20px",_focus:{borderColor:"primary"},_invalid:{borderColor:"error"},_placeholder:{color:"dark50"}},unstyled:{color:"dark70",fontSize:"sm"}}}),j=(0,p.Vg)("popper-arrow-bg"),L=(0,p.H2)((()=>({[j.variable]:"#FF3945",borderRadius:"4px",background:"error",borderColor:"error",padding:"11px 20px",fontSize:"sm",fontWeight:"medium",color:"white",zIndex:20}))),U=(0,p.Dt)({variants:{error:L}}),N=(0,c.oY)((0,d.A)({config:{initialColorMode:"light",useSystemColorMode:!1},colors:{default:"rgba(34, 122, 255, 0.1)",white:"#FFFFFF",primary:"rgba(34, 122, 255, 1)",primary10:"rgba(34, 122, 255, 0.1)",primary20:"rgba(34, 122, 255, 0.2)",primary30:"rgba(34, 122, 255, 0.3)",primary40:"rgba(34, 122, 255, 0.4)",primary50:"rgba(34, 122, 255, 0.5)",primary60:"rgba(34, 122, 255, 0.6)",primary70:"rgba(34, 122, 255, 0.7)",primary80:"rgba(34, 122, 255, 0.8)",primary90:"rgba(34, 122, 255, 0.9)",primaryHover:"linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), #227AFF",secondary:"#4D5E6F",secondaryBg:"#EEF1F7",secondaryHover:"#001931",outlineBg:"transparent",unlockBannerBg:"linear-gradient(to bottom, #13283B, #161B21)",description:"rgba(255, 255, 255, 0.70)",success:"#61CC2F",successHover:"#57B82A",error:"rgba(255, 57, 69, 1)",error10:"rgba(255, 57, 69, 0.1)",error20:"rgba(255, 57, 69, 0.2)",error30:"rgba(255, 57, 69, 0.3)",error40:"rgba(255, 57, 69, 0.4)",error50:"rgba(255, 57, 69, 0.5)",error60:"rgba(255, 57, 69, 0.6)",error70:"rgba(255, 57, 69, 0.7)",error80:"rgba(255, 57, 69, 0.8)",error90:"rgba(255, 57, 69, 0.9)",errorHover:"#E6333E",warning:"#FFA800",warningHover:"#E69800",border:"#DBE0E9",dark:"#001931",dark20:"#C4C4C4",dark30:"#B3BAC2",dark50:"#808C98",dark70:"#4D5E6F",mainBackground:"#EEF1F7",headerBg:"#1C252E",selectedTab:"rgba(255, 255, 255, 0.1)",faqImageBg:"#BDD8FF",warningCardBg:"#FFFBF4",warningCardBorder:"#FFDB95",green:"#19C895",draftBg:"rgba(255, 168, 0, 0.1)",blue:{500:"#227AFF"},aiBlockBackground:"conic-gradient(from 180deg at 50% 52.85%, #CBFF93 4.894779995083809deg, #F0EBA0 44.99958157539368deg, #FF9004 130.5864679813385deg, #FF2E54 180.84588289260864deg, #C959DD 218.81051301956177deg, #5D68FF 284.53248739242554deg, #0894FF 324.67241048812866deg, #CBFF93 360deg)"},components:{Accordion:l,Button:u,Checkbox:g,Divider:_,Drawer:m,Input:y,Link:w,Menu:A,Modal:S,NumberInput:P,Popover:q,Progress:O,Radio:D,Switch:H,Tabs:M,Textarea:z,Tooltip:U},fonts:{heading:"Eudoxus Sans Medium, sans-serif",body:"Eudoxus Sans Medium, sans-serif"},fontSizes:{xxs:"10px",xs:"12px",sm:"14px",md:"16px",lg:"18px",xl:"24px"},breakpoints:{sm:"320px",md:"768px",lg:"1200px",xl:"1400px"},fontWeights:{hairline:100,thin:200,light:300,normal:400,medium:500,semiBold:600,bold:700,extraBold:800,black:900},lineHeights:{xs:"12px",sm:"14px",md:"16px",lg:"18px",xl:"24px",xxl:"30px"},styles:{global:{body:{fontSize:"sm",fontWeight:"normal",bg:"mainBackground"},svg:{fill:"currentColor"}}}},{radii:{none:"0",sm:"4px"}}));var W=t(57522),G=t(61667),Q=t(74472),V=t(6669),Y=t(95338),K=t(70579);const X=e=>{let{children:r,cache:t}=e;const i=(0,Y.T)(),o=null!==t&&void 0!==t?t:(0,V.A)({key:"chakra",stylisPlugins:i});return(0,K.jsx)(Q.C,{value:o,children:r})};var Z=t(65043);const $=e=>{let{children:r,cache:t}=e;const d=(0,Z.useRef)(null);return(0,K.jsx)(X,{cache:t,children:(0,K.jsx)(i.az,{ref:d,children:(0,K.jsx)(o.s,{theme:N,toastOptions:{portalProps:{containerRef:d}},children:(0,K.jsx)(s.t,{portalProps:{containerRef:d},children:(0,K.jsx)(n._P.Provider,{value:n.sW,children:(0,K.jsx)(G.CY,{children:(0,K.jsx)(W.K,{children:(0,K.jsx)(a.D,{children:r})})})})})})})})}},95338:(e,r,t)=>{"use strict";t.d(r,{T:()=>o});var i=t(62403);const o=()=>{const e=[];return"rtl"===(document.dir||"ltr")&&e.push(i.A),e}},44145:(e,r,t)=>{"use strict";t.d(r,{MB:()=>n,e2:()=>d,eA:()=>a});var i=t(89379),o=t(22908),s=t(28064);const n=e=>"string"===typeof e&&e.includes("ERR_CANCELED"),a=e=>(0,o.stringify)(e),d=e=>{let{dateRange:r,sort:t,search:o,page:n,perPage:a}=e;const d={date_from:"",date_to:""};if(r){const e=r.split(",");d.date_from=e[0],d.date_to=e[1]}const c=(0,s.L)(t);return(0,i.A)((0,i.A)({start:(n-1)*a,length:a,search:{value:o,regex:!1}},d),c)}},22974:(e,r,t)=>{"use strict";var i=t(65043),o=t(84391),s=t(94089),n=t(82907),a=(t(61667),t(51585),t(70579));const d=document.getElementById("ms_plugin_root");if(d){const e=i.lazy((()=>Promise.all([t.e(96),t.e(225),t.e(321),t.e(586),t.e(203)]).then(t.bind(t,36851)))),r=o.createRoot(d),c=new n.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1,staleTime:500}}});r.render((0,a.jsxs)(n.QueryClientProvider,{client:c,children:[(0,a.jsx)(e,{}),(0,a.jsx)(s.ReactQueryDevtools,{initialIsOpen:!1,position:"bottom-right"})]}))}},7673:(e,r,t)=>{"use strict";t.d(r,{Eo:()=>a,W8:()=>n,gn:()=>o,ru:()=>d,vg:()=>s,xj:()=>i});let i=function(e){return e.STM_LESSONS="stm-lessons",e.STM_QUIZZES="stm-quizzes",e.STM_ASSIGNMENTS="stm-assignments",e.STM_GOOGLE_MEETS="stm-google-meets",e.STM_QUESTIONS="stm-questions",e}({}),o=function(e){return e.STREAM="stream",e.TEXT="text",e.AUDIO="audio",e.VIDEO="video",e.ZOOM="zoom_conference",e.PDF="pdf",e}({}),s=function(e){return e.ASSIGNMENT="assignment",e.GOOGLE_MEET="google-meet",e.QUIZ="quiz",e.QUESTION="question",e}({}),n=function(e){return e.VIDEO="question-media-video",e.AUDIO="question-media-audio",e}({}),a=function(e){return e.EMBED="embed",e.EXTERNAL_LINK="ext_link",e.HTML="html",e.PRESTO_PLAYER="presto_player",e.VDOCIPHER="vdocipher",e.SHORTCODE="shortcode",e.VIMEO="vimeo",e.YOUTUBE="youtube",e}({}),d=function(e){return e.EMBED="embed",e.EXTERNAL_LINK="ext_link",e.FILE="file",e.SHORTCODE="shortcode",e}({})},33964:(e,r,t)=>{"use strict";t.d(r,{u:()=>i});let i=function(e){return e.SINGLE_CHOICE="single_choice",e.MULTI_CHOICE="multi_choice",e.TRUE_FALSE="true_false",e.ITEM_MATCH="item_match",e.IMAGE_MATCH="image_match",e.KEYWORDS="keywords",e.FILL_THE_GAP="fill_the_gap",e.QUESTION_BANK="question_bank",e.SORTABLE="sortable",e}({})},51585:(e,r,t)=>{"use strict";t.d(r,{_P:()=>ue,sW:()=>le,gf:()=>ge});var i=t(65043),o=t(60097);class s extends o.h{constructor(){super(...arguments),this.get=e=>this._provider.get("/courses/".concat(e,"/announcement")),this.put=e=>{let{data:r,id:t}=e;return this._provider.put("/courses/".concat(t,"/announcement"),r)}}}class n extends o.h{constructor(){super(...arguments),this.create=e=>this._provider.post("/courses/category",e)}}class a extends o.h{constructor(){super(...arguments),this.getBy=e=>this._provider.get("/comments/".concat(e)),this.create=(e,r)=>this._provider.post("/comments/".concat(e),{content:r}),this.reply=e=>{let{commentId:r,content:t}=e;return this._provider.post("/comments/".concat(r,"/reply"),{content:t})},this.update=e=>{let{commentId:r,content:t}=e;return this._provider.post("/comments/".concat(r,"/update"),{content:t})},this.remove=e=>this._provider.post("/comments/".concat(e,"/trash"),{})}}var d=t(89379),c=t(80045),p=t(57273),l=t.n(p),u=t(44145);const g=["image"];class h extends o.h{constructor(){super(...arguments),this.new=()=>this._provider.get("/courses/new"),this.create=e=>{const{image:r}=e,t=(0,c.A)(e,g),i=l()((0,d.A)((0,d.A)({},t),{},{image_id:null===r||void 0===r?void 0:r.id}),Boolean);return this._provider.post("/courses/create",i)},this.getBy=e=>this._provider.get("/courses/".concat(e,"/edit")),this.updateStatus=e=>{let{id:r,status:t}=e;return this._provider.put("/courses/".concat(r,"/status"),{status:t})},this.getCourses=e=>{let{search:r,page:t,paid:i,perPage:o}=e;const s=(0,u.eA)({s:r,page:t,per_page:o,paid_only:i});return this._provider.get("/courses?".concat(s))},this.getCourseBundles=e=>{let{search:r,page:t,perPage:i}=e;const o=(0,u.eA)({s:r,page:t,per_page:i});return this._provider.get("/course-bundles?".concat(o))},this.getCourseCategories=e=>{let{search:r,page:t,perPage:i}=e;const o=(0,u.eA)({search:r,page:t,per_page:i});return this._provider.get("/courses/categories/list?".concat(o))}}}var _=t(141),m=t.n(_),v=t(79160),f=t.n(v);const b=e=>f()(e)?e:null,x=e=>{const{pricing_mode:r}=e;let t={pricing_mode:r};switch(e.pricing_mode){case"free":t=(0,d.A)((0,d.A)({},t),(e=>{const{free_paid_certificate:r,free_certificate_price:t,free_do_not_provide_certificate:i,free_price_info:o}=e;return{free_paid_certificate:r,free_certificate_price:b(t),free_do_not_provide_certificate:i,free_price_info:o}})(e));break;case"paid":t=(0,d.A)((0,d.A)({},t),(e=>{const{single_sale:r,single_sale_paid_certificate:t,single_sale_certificate_price:i,single_sale_do_not_provide_certificate:o,single_sale_price_info:s,price:n,sale_price:a,sale_price_dates_start:d,sale_price_dates_end:c,enterprise:p,enterprise_price:l,enterprise_paid_certificate:u,enterprise_certificate_price:g,enterprise_do_not_provide_certificate:h,enterprise_price_info:_,points:m,points_price:v,points_paid_certificate:f,points_certificate_price:x,points_do_not_provide_certificate:y,points_price_info:w,subscriptions:k,subscriptions_price_info:C,not_membership:A,membership_price_info:S,membership_do_not_provide_certificate:P,membership_paid_certificate:E,membership_certificate_price:T}=e;return{single_sale:r,single_sale_paid_certificate:t,single_sale_certificate_price:b(i),single_sale_do_not_provide_certificate:o,single_sale_price_info:s,price:b(n),sale_price:b(a),sale_price_dates_start:d,sale_price_dates_end:c,enterprise:p,enterprise_price:b(l),enterprise_paid_certificate:u,enterprise_certificate_price:b(g),enterprise_do_not_provide_certificate:h,enterprise_price_info:_,points:m,points_price:b(v),points_paid_certificate:f,points_certificate_price:b(x),points_do_not_provide_certificate:y,points_price_info:w,subscriptions:k,subscriptions_price_info:C,not_membership:A,membership_price_info:S,membership_do_not_provide_certificate:P,membership_paid_certificate:E,membership_certificate_price:b(T)}})(e));break;case"affiliate":t=(0,d.A)((0,d.A)({},t),(e=>{const{affiliate_course_text:r,affiliate_course_link:t,affiliate_course_price:i}=e;return{affiliate_course:!0,affiliate_course_text:r,affiliate_course_link:t,affiliate_course_price:b(i)}})(e))}return t};var y=t(7673);const w=["type","lock_from_start","lock_start_days","start_date","start_time","video_type","audio_type","audio_required_progress","file","video_poster","video","video_width","video_required_progress","youtube_url","vimeo_url","external_url","embed_ctx","shortcode","presto_player_idx","vdocipher_id","files"],k=e=>{var r,t,i,o,s,n,a;const{type:p,lock_from_start:u,lock_start_days:g,start_date:h,start_time:_,video_type:v,audio_type:f,audio_required_progress:x,file:k,video_poster:C,video:A,video_width:S,video_required_progress:P,youtube_url:E,vimeo_url:T,external_url:q,embed_ctx:O,shortcode:B,presto_player_idx:R,vdocipher_id:D,files:F}=e,I=(0,c.A)(e,w),H=(0,d.A)((0,d.A)({},I),{},{type:p,lock_from_start:u});if(p===y.gn.VIDEO)switch(H.video_type=v,v){case"html":H.video_poster=null!==(r=null===C||void 0===C?void 0:C.id)&&void 0!==r?r:null,H.video=null!==(t=null===A||void 0===A?void 0:A.id)&&void 0!==t?t:null,H.video_width=b(S),H.video_required_progress=b(P);break;case"youtube":H.video_poster=null!==(i=null===C||void 0===C?void 0:C.id)&&void 0!==i?i:null,H.youtube_url=E,H.video_required_progress=b(P);break;case"vimeo":H.video_poster=null!==(o=null===C||void 0===C?void 0:C.id)&&void 0!==o?o:null,H.vimeo_url=T,H.video_required_progress=b(P);break;case"ext_link":H.external_url=q,H.video_poster=null!==(s=null===C||void 0===C?void 0:C.id)&&void 0!==s?s:null,H.video_required_progress=b(P);break;case"embed":H.embed_ctx=O;break;case"shortcode":H.shortcode=B;break;case"presto_player":H.presto_player_idx=R,H.video_poster=null!==(n=null===C||void 0===C?void 0:C.id)&&void 0!==n?n:null,H.video_required_progress=b(P);break;case"vdocipher":H.vdocipher_id=D,H.video_required_progress=b(P)}if(p===y.gn.AUDIO)switch(H.audio_type=f,f){case"file":H.file=null!==(a=null===k||void 0===k?void 0:k.id)&&void 0!==a?a:null,H.audio_required_progress=b(x);break;case"ext_link":H.external_url=q,H.audio_required_progress=b(x);break;case"embed":H.embed_ctx=O;break;case"shortcode":H.shortcode=B}H.files=null===F||void 0===F?void 0:F.map((e=>({id:e.id,label:e.label}))),u?H.lock_start_days=g:(H.start_date=h,H.start_time=_||null);const{custom_fields:M}=H;for(const e in M)m()(M[e])&&(M[e]="");return l()(H,(e=>!m()(e)))},C=["attempts","passing_grade"],A=["attempts","passing_grade"];class S extends o.h{constructor(){var e;super(...arguments),e=this,this.getBy=e=>this._provider.get("/courses/".concat(e,"/curriculum")),this.sections={create:(e,r)=>this._provider.post("/courses/".concat(e,"/curriculum/section"),r),update:(e,r)=>this._provider.put("/courses/".concat(e,"/curriculum/section"),r),delete:(e,r)=>this._provider.remove("/courses/".concat(e,"/curriculum/section/").concat(r))},this.lessons={getBy:function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.get("/lessons/".concat(r),void 0,t)},create:e=>{const r=k(e);return this._provider.post("/lessons",r)},update:function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=k(r);return e._provider.put("/lessons/".concat(r.id),i,t)}},this.assignment={getBy:function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.get("/assignments/".concat(r),void 0,t)},create:e=>{const{attempts:r,passing_grade:t}=e,i=(0,c.A)(e,C),o=(0,d.A)((0,d.A)({},i),{},{attempts:b(r),passing_grade:b(t)});return this._provider.post("/assignments",o)},update:function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{attempts:i,passing_grade:o}=r,s=(0,c.A)(r,A),n=(0,d.A)((0,d.A)({},s),{},{attempts:b(i),passing_grade:b(o)});return e._provider.put("/assignments/".concat(r.id),n,t)}},this.googleMeet={getBy:e=>this._provider.get("/google-meets/".concat(e)),create:e=>this._provider.post("/google-meets",e),update:e=>this._provider.put("/google-meets/".concat(e.id),e)},this.materials={create:e=>{let{courseId:r,data:t}=e;return this._provider.post("/courses/".concat(r,"/curriculum/material"),t)},delete:e=>{let{courseId:r,id:t}=e;return this._provider.remove("/courses/".concat(r,"/curriculum/material/").concat(t))},update:(e,r)=>this._provider.put("/courses/".concat(e,"/curriculum/material"),r)},this.scorm={post:e=>{let{courseId:r,file:t}=e;return this._provider.postFile("/courses/".concat(r,"/scorm"),{file:t})},delete:e=>this._provider.remove("/courses/".concat(e,"/scorm"))}}}class P extends o.h{constructor(){super(...arguments),this.get=e=>this._provider.get("/courses/".concat(e,"/settings/drip-content")).then((e=>{return(r=e.drip_content).length?r.map((e=>{const{parent:r,childs:t}=e;return{materials:[r,...t]}})):[{materials:[]}];var r})),this.put=e=>{let{id:r,drip:t}=e;const i=(e=>e.map((e=>{const[r,...t]=e.materials;return{parent:r,childs:t}})))(t);return this._provider.put("/courses/".concat(r,"/settings/drip-content"),i)}}}class E extends o.h{constructor(){super(...arguments),this.get=e=>this._provider.get("/courses/".concat(e,"/settings/faq")),this.put=e=>this._provider.put("/courses/".concat(e.id,"/settings/faq"),e.faq)}}class T extends o.h{constructor(){super(...arguments),this.post=e=>this._provider.postFile("/media",e),this.uploadFromUrl=e=>this._provider.post("/media/from-url",{url:e})}}class q extends o.h{constructor(){super(...arguments),this.update=e=>{let{postId:r,fields:t}=e;const i=(e=>{for(const r in e)m()(e[r])&&(e[r]="");return e})(t);return this._provider.put("/course-builder/custom-fields/".concat(r),i)}}}class O extends o.h{constructor(){super(...arguments),this.getCourseBuilderSettings=()=>this._provider.get("/course-builder/settings"),this.markers={get:e=>this._provider.get("/lesson/markers/get/".concat(e)),create:e=>this._provider.post("/lesson/markers/create/".concat(e.lesson_id),e),delete:e=>this._provider.remove("/lesson/markers/delete/".concat(e.lesson_id,"/").concat(e.marker_id),e),put:e=>this._provider.put("/lesson/markers/update/".concat(e.marker_id,"/"),e),updateQuestionsLock:e=>this._provider.put("/lesson/markers/lock/".concat(e.lesson_id,"/"),e)}}}var B=t(19959);class R extends o.h{constructor(){super(...arguments),this.getBy=e=>{const{searchTerm:r,type:t,courseId:i}=e,o=B.A.stringify({search:r,type:t});return this._provider.get("/courses/".concat(i,"/curriculum/import?").concat(o))},this.get=e=>this._provider.get("/courses/".concat(e,"/curriculum/import")),this.post=e=>{let{material_ids:r,section_id:t,courseId:i}=e;return this._provider.post("/courses/".concat(i,"/curriculum/import"),{material_ids:r,section_id:t})}}}const D=["filter"];class F extends o.h{constructor(){super(...arguments),this.getBy=e=>{const{filter:r}=e,t=(0,c.A)(e,D),i=(e=>{let r="";for(const[t,i]of Object.entries(e))r+="filter[".concat(t,"]=").concat(i,"&");return r})(r),o=i+B.A.stringify(t);return this._provider.get("/media-file-manager?".concat(o))},this.upload=e=>{let{file:r,config:t}=e;return this._provider.postFile("/media-file-manager",{file:r},t)},this.remove=e=>this._provider.remove("/media-file-manager/".concat(e)),this.integration={getBy:e=>{const{integrationType:r,fileType:t,query:i,perPage:o,page:s,orientation:n}=e,a="image"===t?"photos":"videos";return this._provider.get("/media-file-manager/integration/".concat(r,"/").concat(a)+"?query=".concat(i,"&per_page=").concat(o,"&page=").concat(s,"&orientation=").concat(n))}}}}class I extends o.h{constructor(){super(...arguments),this.get=()=>this._provider.get("/questions")}}var H=t(33964);const M=e=>{var r;return(0,d.A)((0,d.A)({},e),{},{answers:e.answers.map((e=>{var r;return(0,d.A)((0,d.A)({},e),{},{text:null===(r=e.text)||void 0===r?void 0:r.trim()})})),image:e.image||{},explain:"",hint:"",view_type:e.view_type||"list"},e.type===H.u.QUESTION_BANK&&{question:(null===(r=e.answers[0])||void 0===r?void 0:r.text)||"bank"})},z=e=>{const{custom_fields:r}=e;for(const e in r)m()(r[e])&&(r[e]="");return(0,d.A)((0,d.A)({},e),{},{quiz_attempts:e.quiz_attempts?"limited":"unlimited",custom_fields:r,questions:e.questions.reduce(((e,r)=>{const t=r.id;return t?[...e,t]:e}),[])})},j=e=>{const r=Array.isArray(e.questions)?e.questions:Object.values(e.questions||{});return(0,d.A)((0,d.A)({},e),{},{questions:r.map(((e,r)=>(0,d.A)((0,d.A)({},e),{},{_id:r,categories:e.categories.map((e=>e.id))})))})};class L extends o.h{constructor(){var e;super(...arguments),e=this,this.create=e=>{const r=z(e);return this._provider.post("/quizzes",r)},this.get=async function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=await e._provider.get("/quizzes/".concat(r),void 0,t);return{quiz:j(i.quiz),custom_fields:i.custom_fields}},this.update=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=z(r);return e._provider.put("/quizzes/".concat(r.id),i,t)},this.updateQuestions=(e,r)=>this._provider.put("/quizzes/".concat(e,"/questions"),{questions:r}),this.questions={create:e=>{const r=M(e);return this._provider.post("/questions",r)},aiCreateBulk:async function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=r.map(M);return e._provider.post("/questions/bulk",{questions:i},t)},createBulk:function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=r.map(M);return e._provider.post("/questions/bulk",{questions:i},t)},get:e=>this._provider.get("/questions/".concat(e)),list:(e,r)=>{const t=B.A.stringify({category:e,search:r});return this._provider.get("/questions/?".concat(t))},remove:e=>this._provider.remove("/questions/".concat(e)),update:(e,r)=>{const t=M(r);return""!==t.video_type&&(t.video_poster=t.video_poster&&t.video_poster.id>0?t.video_poster.id:void 0,t.video=t.video?t.video.id:void 0),this._provider.put("/questions/".concat(e),t)},categories:()=>this._provider.get("/questions/categories"),createCategory:e=>this._provider.post("/questions/category",e)}}}class U extends o.h{constructor(){super(...arguments),this.get=async e=>await this._provider.get("/courses/".concat(e,"/settings/pricing")),this.put=e=>{let{pricing:r,id:t}=e;const i=x(r);return this._provider.put("/courses/".concat(t,"/settings/pricing"),i)}}}const N=["video","video_poster","image","co_instructor"];class W extends o.h{constructor(){super(...arguments),this.get=e=>this._provider.get("/courses/".concat(e,"/settings")),this.updateMain=e=>{var r;let{main:t,id:i}=e;const{video:o,video_poster:s,image:n,co_instructor:a}=t,p=(0,c.A)(t,N),l=(0,d.A)({video_poster:null!==(r=null===s||void 0===s?void 0:s.id)&&void 0!==r?r:null,video:null===o||void 0===o?void 0:o.id,image_id:null===n||void 0===n?void 0:n.id,co_instructor_id:null===a||void 0===a?void 0:a.id},p);return this._provider.put("/courses/".concat(i,"/settings"),l)},this.updateAccess=e=>{let{access:r,id:t}=e;return this._provider.put("/courses/".concat(t,"/settings/access"),r)},this.updatePrerequisites=e=>{let{prerequisites:r,id:t}=e;return this._provider.put("/courses/".concat(t,"/settings/prerequisites"),r)},this.updateCertificate=e=>{var r,t;let{certificate:i,id:o}=e;return i.certificate_id=null!==(r=null===(t=i.certificate_id)||void 0===t?void 0:t.toString())&&void 0!==r?r:null,this._provider.put("/courses/".concat(o,"/settings/certificate"),i)},this.updateCourseMaterials=e=>{let{files:r,id:t}=e;const i=r.map((e=>({id:e.id,label:e.label})));return this._provider.put("/courses/".concat(t,"/settings/files"),i)},this.updateCoursePageStyle=e=>{let{slug:r,id:t}=e;const i={id:t,slug:r};return this._provider.put("/courses/".concat(t,"/settings/course-page-style"),i)}}}var G=t(9441),Q=t.n(G);class V extends o.h{constructor(){super(...arguments),this.searchCourseByName=e=>{const r=B.A.stringify({search:e,type:"stm-courses"});return this._provider.get("/search?".concat(r))},this.getRecentCourses=()=>{const e=B.A.stringify({type:"stm-courses",per_page:5});return this._provider.get("/search?".concat(e))},this.searchCoInstructorByTerm=e=>{const r=B.A.stringify({search:e,roles:"stm_lms_instructor"});return this._provider.get("/users?".concat(r))},this.updateMediaTitle=e=>{let{id:r,data:t}=e;return this._provider.post("/media/".concat(r),t)},this.searchQuestions=(e,r,t,i,o)=>{const s=B.A.stringify(Q()({type:e,search:t,category:r,page:i.toString(),per_page:o},(e=>!e)));return this._provider.getPaginated("/search?".concat(s))}}}var Y=t(37543);const K=["headers","method"];class X{constructor(e,r){var t=this;this._rootUrl=void 0,this._token=void 0,this.getBaseUrl=e=>"".concat(this._rootUrl).concat(e),this.getOverrideRequestOptions=e=>{const{headers:r,method:t}=e,i=(0,c.A)(e,K);return(0,d.A)({headers:(0,d.A)((0,d.A)({},r),{},{"X-HTTP-Method-Override":t}),method:["DELETE","PATCH","PUT"].includes(t)?"POST":t},i)},this.request=async(e,r)=>{var t;let i=this.getBaseUrl(e);r.queryString&&(i="".concat(i,"/").concat(r.queryString)),"undefined"!==typeof(null===(t=window.lmsApiSettings)||void 0===t?void 0:t.lang)&&(i+=(i.includes("?")?"&":"?")+"lang=".concat(window.lmsApiSettings.lang));const o=this.getOverrideRequestOptions(r.options);return await Y.A.request((0,d.A)((0,d.A)({url:i},o),{},{withCredentials:!0})).then((e=>r._isPaginated?{data:e.data,total:e.headers["x-wp-total"],totalPages:e.headers["x-wp-totalpages"]}:e.data)).catch((e=>{let r;if(e.response){const t=e.response.data;t.message&&(r=t.message),t.errors&&(r=t.errors)}else r=e.code;if(!r)throw new Error("An error occurred");throw r}))},this.getHeaders=function(){return{"Content-Type":arguments.length>0&&void 0!==arguments[0]&&arguments[0]?"multipart/forms-data":"application/json","X-WP-Nonce":t._token}},this.getData=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return JSON.stringify(e)},this.get=function(e,r){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o={options:(0,d.A)({method:"GET",headers:t.getHeaders()},i),queryString:r};return t.request(e,o)},this.getPaginated=function(e,r){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o={options:(0,d.A)({method:"GET",headers:t.getHeaders()},i),queryString:r,_isPaginated:!0};return t.request(e,o)},this.post=function(e,r){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o={options:(0,d.A)({method:"POST",headers:t.getHeaders(),data:t.getData(r)},i)};return t.request(e,o)},this.remove=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i={options:{method:"DELETE",headers:t.getHeaders(),data:t.getData(r)}};return t.request(e,i)},this.patch=(e,r)=>{const t={options:{method:"PATCH",headers:this.getHeaders(),data:this.getData(r)}};return this.request(e,t)},this.put=function(e,r){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o={options:(0,d.A)({method:"PUT",headers:t.getHeaders(),data:t.getData(r)},i)};return t.request(e,o)},this.postFile=(e,r,t)=>{const i=new FormData;for(const[e,t]of Object.entries(r))i.append(e,t);const o={options:(0,d.A)({method:"POST",headers:this.getHeaders(!0),data:i},t)};return this.request(e,o)},this._rootUrl=e,this._token=r}}class Z extends o.h{constructor(){super(...arguments),this.create=e=>this._provider.post("/course-templates/create-template",e),this.delete=e=>this._provider.remove("/course-templates/delete-template/".concat(e)),this.update=e=>this._provider.post("/course-templates/modify-template",e),this.duplicate=e=>this._provider.post("/course-templates/duplicate-template",e)}}var $=t(17622);class J extends o.h{constructor(){var e;super(...arguments),e=this,this.generateText=e=>this._provider.post("/ai/generate/text",e),this.generateImage=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/image",r,t)},this.uploadSelectedImage=e=>this._provider.post("/ai/upload-image",e),this.generateFaq=e=>this._provider.post("/ai/generate/faq",e),this.generateLesson=async function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/lesson",r,t)},this.generateAssignment=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/assignment",r,t)},this.generateImages=async function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=r.image_prompts.map((i=>e.generateImage({prompt:i,style:r.style},t)));return(await Promise.all(i)).map(((e,t)=>({prompt:r.image_prompts[t],image:e})))},this.generateQuestions=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/questions",r,t)},this.generateCourseDescription=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/course/description",r,t)},this.generateCourseContent=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/course/content",r,t)},this.generateCourseInfo=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/course/info",r,t)},this.generateCourseCurriculum=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/course/curriculum",(0,d.A)((0,d.A)({},r),{},{quizzes_count:-1===r.quizzes_count?null:r.quizzes_count}),t)},this.generateCourseTitle=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/course/title",r,t)},this.generateCourseCategories=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/course/categories",r,t)},this.generateCourseFaq=function(r){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e._provider.post("/ai/generate/faq",(0,d.A)((0,d.A)({},r),{},{words_limit:$.HI,tone:$.g2,count:$.gH}),t)},this.createGeneratedCourse=e=>this._provider.post("/ai/course",e),this.generateDuration=e=>this._provider.post("/ai/generate/lesson-duration/".concat(e),{})}}var ee=t(63711);class re extends o.h{constructor(){super(...arguments),this.getOrders=(e,r,t,i,o,s,n)=>{const a=(0,ee.o)(s),d=(0,u.eA)({page:e,per_page:r,search:t,status:i,date_range:o,sort:a,coupon_id:n});return this._provider.get("/all-orders?".concat(d))},this.getOrder=e=>this._provider.get("/orders/".concat(e)),this.bulkAction=e=>this._provider.post("/orders-bulk-update",e),this.updateOrder=(e,r)=>this._provider.put("/orders/".concat(e),r)}}class te extends o.h{constructor(){super(...arguments),this.getMembershipPlans=(e,r,t,i)=>{const o=(0,ee.o)(t),s=(0,u.eA)({page:e,per_page:r,sort:o,search:i});return this._provider.get("/subscription-plan/list?".concat(s))},this.getCourseMembershipPlans=(e,r,t)=>{const i=(0,u.eA)({course_id:t,page:e,per_page:r});return this._provider.get("/subscription-plan/list?".concat(i))},this.getMembershipPlan=e=>this._provider.get("/subscription-plan/".concat(e)),this.createMembershipPlan=e=>this._provider.post("/subscription-plan/create",e),this.updateMembershipPlan=(e,r)=>this._provider.put("/subscription-plan/".concat(e),r),this.updateMembershipPlanStatus=(e,r)=>this._provider.put("/subscription-plan/".concat(e,"/toggle-enabled"),r),this.deleteMembershipPlan=e=>this._provider.remove("/subscription-plan/".concat(e)),this.reorderMembershipPlans=(e,r)=>this._provider.post("/subscription-plan/reorder",{plans:e},{signal:r})}}var ie,oe,se=t(22412);class ne extends o.h{getCoupons(e,r,t,i,o,s){const n=(0,u.eA)((0,d.A)((0,d.A)({},(0,u.e2)({dateRange:o,sort:s,search:t,page:e,perPage:r})),{},{status:i}));return this._provider.get("/coupon/list?".concat(n))}getCoupon(e){return this._provider.get("/coupon/".concat(e))}createCoupon(e){return this._provider.post("/coupon/create",e)}updateCoupon(e,r){return this._provider.put("/coupon/".concat(e),r)}updateCouponStatus(e,r){return this._provider.put("/coupon/".concat(e,"/status"),{coupon_status:r})}deleteCoupon(e){return this._provider.remove("/coupon/".concat(e))}bulkAction(e){return this._provider.post("/coupon/bulk-update",e)}}const ae={NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_API_URL||window.lmsApiSettings.lmsUrl,de={NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_WP_API_URL||window.lmsApiSettings.wpUrl,ce=new X(ae,null===(ie=window.lmsApiSettings)||void 0===ie?void 0:ie.nonce),pe=new X(de,null===(oe=window.lmsApiSettings)||void 0===oe?void 0:oe.nonce),le=new class{constructor(e,r){this._lmsProvider=void 0,this._wpProvider=void 0,this._resources=void 0,this.getResources=()=>this._resources,this._lmsProvider=e,this._wpProvider=r,this._resources={announcement:new s(this._lmsProvider),categories:new n(this._lmsProvider),comments:new a(this._lmsProvider),course:new h(this._lmsProvider),curriculum:new S(this._lmsProvider),drip:new P(this._lmsProvider),faq:new E(this._lmsProvider),files:new T(this._lmsProvider),grassblade:new q(this._lmsProvider),lessons:new O(this._lmsProvider),materials:new R(this._lmsProvider),mediaGallery:new F(this._lmsProvider),pricing:new U(this._lmsProvider),questions:new I(this._lmsProvider),quiz:new L(this._lmsProvider),settings:new W(this._lmsProvider),wordpress:new V(this._wpProvider),template:new Z(this._lmsProvider),ai:new J(this._lmsProvider),orders:new re(this._lmsProvider),membershipPlans:new te(this._lmsProvider),memberships:new se.qB(this._lmsProvider),coupons:new ne(this._lmsProvider)}}}(ce,pe),ue=(0,i.createContext)({}),ge=()=>(0,i.useContext)(ue).getResources()},61667:(e,r,t)=>{"use strict";t.d(r,{CY:()=>p,TO:()=>c,WD:()=>d,Y_:()=>n,defaultI18n:()=>s.y3});var i=t(65043),o=t(70579),s=t(97989);const n="masterstudy-lms-learning-management-system",a=(0,i.createContext)(window.wp.i18n),d=()=>{const{__:__,_n:e,_nx:r,_x:t,sprintf:o}=(0,i.useContext)(a);return{__:function(e){return __(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:n)},_n:function(r,t,i){return e(r,t,i,arguments.length>3&&void 0!==arguments[3]?arguments[3]:n)},_nx:function(e,t,i,o){return r(e,t,i,o,arguments.length>4&&void 0!==arguments[4]?arguments[4]:n)},_x:function(e,r){return t(e,r,arguments.length>2&&void 0!==arguments[2]?arguments[2]:n)},sprintf:o}},c=()=>{const{__:__,_n:e,_nx:r,_x:t,sprintf:i}=window.wp.i18n;return{__:function(e){return __(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:n)},_n:function(r,t,i){return e(r,t,i,arguments.length>3&&void 0!==arguments[3]?arguments[3]:n)},_nx:function(e,t,i,o){return r(e,t,i,o,arguments.length>4&&void 0!==arguments[4]?arguments[4]:n)},_x:function(e,r){return t(e,r,arguments.length>2&&void 0!==arguments[2]?arguments[2]:n)},sprintf:i}},p=e=>{let{children:r}=e;return(0,o.jsx)(a.Provider,{value:window.wp.i18n,children:r})}},60097:(e,r,t)=>{"use strict";t.d(r,{h:()=>i});class i{constructor(e){this._provider=void 0,this._provider=e}}},22412:(e,r,t)=>{"use strict";t.d(r,{c1:()=>c.c1,qB:()=>d});var i=t(89379),o=t(60097),s=t(63711),n=t(44145),a=t(28064);class d extends o.h{constructor(){var e;super(...arguments),e=this,this.getMemberships=function(r,t,o,s,d,c,p){let l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:void 0;const u={date_from:"",date_to:""};if(c){const e=c.split(",");u.date_from=e[0],u.date_to=e[1]}const g=(0,a.L)(p),h=(0,n.eA)((0,i.A)((0,i.A)({subscription_type:d,start:(r-1)*t,length:t,search:{value:o,regex:!1},is_admin:l},u),g));return e._provider.get("/subscription/list?".concat(h))},this.getMembership=async e=>this._provider.get("/subscription/".concat(e)),this.bulkAction=e=>this._provider.post("/subscription/bulk-update",e),this.updateMembership=(e,r)=>this._provider.post("/subscription/".concat(e),r),this.cancelMembership=e=>this._provider.put("/subscription/".concat(e,"/cancel"),{}),this.getPaymentHistory=async(e,r,t,i)=>{const o=(0,s.o)(i),a=(0,n.eA)({start:(r-1)*t,length:t,sort:o});return this._provider.post("/subscription/".concat(e,"/payment-history?").concat(a),{})}}}var c=t(81919)},81919:(e,r,t)=>{"use strict";t.d(r,{VM:()=>i,c1:()=>o});let i=function(e){return e.COURSE="course",e.BUNDLE="bundle",e.SITE="full_site",e.CATEGORY="category",e}({}),o=function(e){return e.SUBSCRIPTION="subscription",e.MEMBERSHIP="membership",e}({})},42634:()=>{}},r={};function t(i){var o=r[i];if(void 0!==o)return o.exports;var s=r[i]={id:i,loaded:!1,exports:{}};return e[i].call(s.exports,s,s.exports,t),s.loaded=!0,s.exports}t.m=e,(()=>{var e=[];t.O=(r,i,o,s)=>{if(!i){var n=1/0;for(p=0;p<e.length;p++){i=e[p][0],o=e[p][1],s=e[p][2];for(var a=!0,d=0;d<i.length;d++)(!1&s||n>=s)&&Object.keys(t.O).every((e=>t.O[e](i[d])))?i.splice(d--,1):(a=!1,s<n&&(n=s));if(a){e.splice(p--,1);var c=o();void 0!==c&&(r=c)}}return r}s=s||0;for(var p=e.length;p>0&&e[p-1][2]>s;p--)e[p]=e[p-1];e[p]=[i,o,s]}})(),t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},(()=>{var e,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;t.t=function(i,o){if(1&o&&(i=this(i)),8&o)return i;if("object"===typeof i&&i){if(4&o&&i.__esModule)return i;if(16&o&&"function"===typeof i.then)return i}var s=Object.create(null);t.r(s);var n={};e=e||[null,r({}),r([]),r(r)];for(var a=2&o&&i;"object"==typeof a&&!~e.indexOf(a);a=r(a))Object.getOwnPropertyNames(a).forEach((e=>n[e]=()=>i[e]));return n.default=()=>i,t.d(s,n),s}})(),t.d=(e,r)=>{for(var i in r)t.o(r,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:r[i]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce(((r,i)=>(t.f[i](e,r),r)),[])),t.u=e=>"./course-builder/js/"+e+"."+{203:"138d5e1f",225:"cc991dbf",321:"e79fbf4d",586:"ce07b339",786:"47f16a92",791:"e2e7013f",856:"8964540d",903:"5a9c42ff",926:"02d5412f",949:"eb1b2fb6"}[e]+".chunk.js",t.miniCssF=e=>"./course-builder/css/"+e+"."+{203:"cbb86c7e",225:"c7a7bbfc",786:"0903b3c9",791:"0903b3c9",856:"0903b3c9",949:"0903b3c9"}[e]+".chunk.css",t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),(()=>{var e={},r="client:";t.l=(i,o,s,n)=>{if(e[i])e[i].push(o);else{var a,d;if(void 0!==s)for(var c=document.getElementsByTagName("script"),p=0;p<c.length;p++){var l=c[p];if(l.getAttribute("src")==i||l.getAttribute("data-webpack")==r+s){a=l;break}}a||(d=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,t.nc&&a.setAttribute("nonce",t.nc),a.setAttribute("data-webpack",r+s),a.src=i),e[i]=[o];var u=(r,t)=>{a.onerror=a.onload=null,clearTimeout(g);var o=e[i];if(delete e[i],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((e=>e(t))),r)return r(t)},g=setTimeout(u.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=u.bind(null,a.onerror),a.onload=u.bind(null,a.onload),d&&document.head.appendChild(a)}}})(),t.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),t.j=792,(()=>{var e;t.g.importScripts&&(e=t.g.location+"");var r=t.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var i=r.getElementsByTagName("script");if(i.length)for(var o=i.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=i[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),t.p=e+"../../"})(),(()=>{if("undefined"!==typeof document){var e=e=>new Promise(((r,i)=>{var o=t.miniCssF(e),s=t.p+o;if(((e,r)=>{for(var t=document.getElementsByTagName("link"),i=0;i<t.length;i++){var o=(n=t[i]).getAttribute("data-href")||n.getAttribute("href");if("stylesheet"===n.rel&&(o===e||o===r))return n}var s=document.getElementsByTagName("style");for(i=0;i<s.length;i++){var n;if((o=(n=s[i]).getAttribute("data-href"))===e||o===r)return n}})(o,s))return r();((e,r,i,o,s)=>{var n=document.createElement("link");n.rel="stylesheet",n.type="text/css",t.nc&&(n.nonce=t.nc),n.onerror=n.onload=t=>{if(n.onerror=n.onload=null,"load"===t.type)o();else{var i=t&&t.type,a=t&&t.target&&t.target.href||r,d=new Error("Loading CSS chunk "+e+" failed.\n("+i+": "+a+")");d.name="ChunkLoadError",d.code="CSS_CHUNK_LOAD_FAILED",d.type=i,d.request=a,n.parentNode&&n.parentNode.removeChild(n),s(d)}},n.href=r,i?i.parentNode.insertBefore(n,i.nextSibling):document.head.appendChild(n)})(e,s,null,r,i)})),r={792:0};t.f.miniCss=(t,i)=>{r[t]?i.push(r[t]):0!==r[t]&&{203:1,225:1,786:1,791:1,856:1,949:1}[t]&&i.push(r[t]=e(t).then((()=>{r[t]=0}),(e=>{throw delete r[t],e})))}}})(),(()=>{t.b=document.baseURI||self.location.href;var e={792:0};t.f.j=(r,i)=>{var o=t.o(e,r)?e[r]:void 0;if(0!==o)if(o)i.push(o[2]);else if(/^(225|949)$/.test(r))e[r]=0;else{var s=new Promise(((t,i)=>o=e[r]=[t,i]));i.push(o[2]=s);var n=t.p+t.u(r),a=new Error;t.l(n,(i=>{if(t.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var s=i&&("load"===i.type?"missing":i.type),n=i&&i.target&&i.target.src;a.message="Loading chunk "+r+" failed.\n("+s+": "+n+")",a.name="ChunkLoadError",a.type=s,a.request=n,o[1](a)}}),"chunk-"+r,r)}},t.O.j=r=>0===e[r];var r=(r,i)=>{var o,s,n=i[0],a=i[1],d=i[2],c=0;if(n.some((r=>0!==e[r]))){for(o in a)t.o(a,o)&&(t.m[o]=a[o]);if(d)var p=d(t)}for(r&&r(i);c<n.length;c++)s=n[c],t.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return t.O(p)},i=self.webpackChunkclient=self.webpackChunkclient||[];i.forEach(r.bind(null,0)),i.push=r.bind(null,i.push.bind(i))})(),t.nc=void 0,t.O(void 0,[96],(()=>t(22974)));var i=t.O(void 0,[96],(()=>t(95391)));i=t.O(i)})();
  • masterstudy-lms-learning-management-system/trunk/includes/Http/Controllers/Course/UpdatePricingSettingsController.php

    r3392871 r3458914  
    33namespace MasterStudy\Lms\Http\Controllers\Course;
    44
     5use MasterStudy\Lms\Enums\PricingMode;
    56use MasterStudy\Lms\Http\WpResponseFactory;
    67use MasterStudy\Lms\Repositories\CourseRepository;
     
    2728            $request->get_json_params(),
    2829            array(
    29                 'single_sale'            => 'required|boolean',
    30                 'price'                  => 'required_if_accepted,single_sale|nullable|float',
    31                 'sale_price'             => 'nullable|float',
    32                 'sale_price_dates_start' => 'required_with,sale_price_dates_end|nullable|integer',
    33                 'sale_price_dates_end'   => 'required_with,sale_price_dates_start|nullable|integer',
    34                 'points_price'           => 'nullable|float',
    35                 'enterprise_price'       => 'nullable|float',
    36                 'not_membership'         => 'required|boolean',
    37                 'affiliate_course'       => 'required|boolean',
    38                 'subscriptions'          => 'nullable|boolean',
    39                 'affiliate_course_text'  => 'required_if_accepted,affiliate_course|string',
    40                 'affiliate_course_link'  => 'required_if_accepted,affiliate_course|string',
    41                 'price_info'             => 'nullable|string',
     30                // Free
     31                'free_do_not_provide_certificate'        => 'nullable|boolean',
     32                'free_paid_certificate'                  => 'nullable|boolean',
     33                'free_certificate_price'                 => 'required_if_accepted,free_paid_certificate|nullable|float',
     34                'free_price_info'                        => 'nullable|string',
     35
     36                // Paid
     37                'single_sale'                            => 'nullable|boolean',
     38                'single_sale_price_info'                 => 'nullable|string',
     39                'single_sale_do_not_provide_certificate' => 'nullable|boolean',
     40                'single_sale_paid_certificate'           => 'required_if_accepted,single_sale|boolean',
     41                'single_sale_certificate_price'          => 'required_if_accepted,single_sale_paid_certificate|nullable|float',
     42                'price'                                  => 'required_if_accepted,single_sale|nullable|float',
     43                'sale_price'                             => 'nullable|float',
     44                'sale_price_dates_start'                 => 'required_with,sale_price_dates_end|nullable|integer',
     45                'sale_price_dates_end'                   => 'required_with,sale_price_dates_start|nullable|integer',
     46
     47                'enterprise'                             => 'nullable|boolean',
     48                'enterprise_price'                       => 'required_if_accepted,enterprise|nullable|float',
     49                'enterprise_price_info'                  => 'nullable|string',
     50                'enterprise_do_not_provide_certificate'  => 'nullable|boolean',
     51                'enterprise_paid_certificate'            => 'required_if_accepted,enterprise|boolean',
     52                'enterprise_certificate_price'           => 'required_if_accepted,enterprise_paid_certificate|nullable|float',
     53
     54                'not_membership'                         => 'nullable|boolean',
     55                'membership_price_info'                  => 'nullable|string',
     56                'membership_do_not_provide_certificate'  => 'nullable|boolean',
     57                'membership_paid_certificate'            => 'nullable|boolean',
     58                'membership_certificate_price'           => 'nullable|float',
     59
     60                'points'                                 => 'nullable|boolean',
     61                'points_price'                           => 'nullable|float',
     62                'points_price_info'                      => 'nullable|string',
     63                'points_do_not_provide_certificate'      => 'nullable|boolean',
     64                'points_paid_certificate'                => 'nullable|boolean',
     65                'points_certificate_price'               => 'required_if_accepted,points_paid_certificate|nullable|float',
     66
     67                'subscriptions'                          => 'nullable|boolean',
     68                'subscriptions_price_info'               => 'nullable|string',
     69
     70                // Affiliate
     71                'affiliate_course'                       => 'nullable|boolean',
     72                'affiliate_course_text'                  => 'required_if_accepted,affiliate_course|string',
     73                'affiliate_course_link'                  => 'required_if_accepted,affiliate_course|string',
     74                'affiliate_course_price'                 => 'required_if_accepted,affiliate_course|float',
     75
     76                'pricing_mode'                           => 'required|string|contains_list,' . implode( ';', PricingMode::cases() ),
    4277            )
    4378        );
  • masterstudy-lms-learning-management-system/trunk/includes/Models/Course.php

    r3329051 r3458914  
    8686    public ?string $udemy_articles;
    8787    public ?string $udemy_certificate;
     88    public ?string $single_sale_price_info;
     89    public ?string $free_price_info;
    8890    public ?string $price_info;
     91    public ?string $enterprise_price_info;
     92    public ?string $points_price_info;
     93    public ?string $subscription_price_info;
     94    public ?string $pricing_mode;
    8995    public ?float $price;
    9096    public ?float $sale_price;
  • masterstudy-lms-learning-management-system/trunk/includes/Repositories/CoursePlayerRepository.php

    r3392871 r3458914  
    1818        'stm-assignments'  => 'assignments',
    1919        'stm-google-meets' => 'google_meet',
     20    );
     21
     22    private const NOT_RANDOMIZING_ANSWERS_TYPES = array(
     23        QuestionType::FILL_THE_GAP,
     24        QuestionType::KEYWORDS,
     25        QuestionType::SORTABLE,
    2026    );
    2127
     
    406412
    407413                    if ( ! empty( $quiz_data['random_answers'] ) && 'completed' !== $this->data['lesson_completed'] &&
    408                         ! in_array( $question['type'], array( QuestionType::FILL_THE_GAP, QuestionType::KEYWORDS ), true )
     414                        $this->can_answers_be_randomized( $question['type'] )
    409415                    ) {
    410416                        shuffle( $question['answers'] );
     
    504510        );
    505511    }
     512
     513    private function can_answers_be_randomized( string $type ): bool {
     514        return ! in_array( $type, self::NOT_RANDOMIZING_ANSWERS_TYPES, true );
     515    }
    506516}
  • masterstudy-lms-learning-management-system/trunk/includes/Repositories/CourseRepository.php

    r3410526 r3458914  
    664664        $meta = get_post_meta( $post->ID );
    665665
    666         $course                       = new Course();
    667         $course->access_status        = $post->post_status;
    668         $course->owner                = $this->find_user( $post->post_author );
    669         $course->category             = wp_get_post_terms( $post->ID, Taxonomy::COURSE_CATEGORY, array( 'fields' => 'ids' ) );
    670         $course->certificate_id       = ( $meta['course_certificate'][0] ?? null ) === 'none' ? $meta['course_certificate'][0] : intval( $meta['course_certificate'][0] ?? null );
    671         $course->course_page_style    = $meta['page_style'][0] ?? null;
    672         $course->co_instructor        = isset( $meta['co_instructor'][0] )
     666        $course                          = new Course();
     667        $course->access_status           = $post->post_status;
     668        $course->owner                   = $this->find_user( $post->post_author );
     669        $course->category                = wp_get_post_terms( $post->ID, Taxonomy::COURSE_CATEGORY, array( 'fields' => 'ids' ) );
     670        $course->certificate_id          = ( $meta['course_certificate'][0] ?? null ) === 'none' ? $meta['course_certificate'][0] : intval( $meta['course_certificate'][0] ?? null );
     671        $course->course_page_style       = $meta['page_style'][0] ?? null;
     672        $course->co_instructor           = isset( $meta['co_instructor'][0] )
    673673            ? $this->find_user( $meta['co_instructor'][0] )
    674674            : null;
    675         $course->current_students     = intval( $meta['current_students'][0] ?? 0 );
    676         $course->content              = $post->post_content;
    677         $course->duration_info        = $meta['duration_info'][0] ?? '';
    678         $course->end_time             = intval( $meta['end_time'][0] ?? 0 );
    679         $course->excerpt              = $post->post_excerpt;
    680         $course->expiration           = (bool) ( $meta['expiration_course'][0] ?? false );
    681         $course->coming_soon_date     = $meta['coming_soon_date'][0] ?? '';
    682         $course->files                = ( new FileMaterialRepository() )->get_files( $meta['course_files'][0] ?? null, true );
    683         $course->id                   = $post->ID;
    684         $course->image                = $this->get_course_image( $post );
    685         $course->is_featured          = ( $meta['featured'][0] ?? null ) === 'on';
    686         $course->is_lock_lesson       = ( $meta['lock_lesson'][0] ?? null ) === 'on';
    687         $course->level                = $meta['level'][0] ?? null;
    688         $course->owner                = $this->find_user( $post->post_author );
    689         $course->slug                 = $post->post_name;
    690         $course->status               = $meta['status'][0] ?? null;
    691         $course->status_date_end      = isset( $meta['status_dates_end'][0] ) ? (int) $meta['status_dates_end'][0] : null;
    692         $course->status_date_start    = isset( $meta['status_dates_start'][0] ) ? (int) $meta['status_dates_start'][0] : null;
    693         $course->title                = $post->post_title;
    694         $course->video_duration       = $meta['video_duration'][0] ?? '';
    695         $course->requirements         = $meta['requirements'][0] ?? '';
    696         $course->basic_info           = $meta['basic_info'][0] ?? '';
    697         $course->intended_audience    = $meta['intended_audience'][0] ?? '';
    698         $course->views                = $meta['views'][0] ?? 0;
    699         $course->access_duration      = $meta['access_duration'][0] ?? '';
    700         $course->access_devices       = $meta['access_devices'][0] ?? '';
    701         $course->certificate_info     = $meta['certificate_info'][0] ?? '';
    702         $course->coming_soon_details  = (bool) ( $meta['coming_soon_show_course_details'][0] ?? false );
    703         $course->coming_soon_price    = (bool) ( $meta['coming_soon_show_course_price'][0] ?? false );
    704         $course->coming_soon_preorder = (bool) ( $meta['coming_soon_preordering'][0] ?? false );
    705         $course->announcement         = $meta['announcement'][0] ?? '';
    706         $course->reviews              = $meta['reviews'][0] ?? array();
    707         $course->marks                = $this->get_course_marks( $post->ID );
    708         $course->rate                 = $this->get_course_rate( $course->marks );
    709         $course->thumbnail            = $this->get_course_image( $post, 'img-870-440' );
    710         $course->full_image           = $this->get_course_image( $post, 'full' );
    711         $course->attachments          = ( new FileMaterialRepository() )->get_files( $meta['course_files'][0] ?? null );
    712         $course->is_udemy_course      = $meta['udemy_course_id'][0] ?? false;
    713         $course->price_info           = $meta['price_info'][0] ?? '';
    714         $course->url                  = get_post_permalink( $post->ID );
     675        $course->current_students        = intval( $meta['current_students'][0] ?? 0 );
     676        $course->content                 = $post->post_content;
     677        $course->duration_info           = $meta['duration_info'][0] ?? '';
     678        $course->end_time                = intval( $meta['end_time'][0] ?? 0 );
     679        $course->excerpt                 = $post->post_excerpt;
     680        $course->expiration              = (bool) ( $meta['expiration_course'][0] ?? false );
     681        $course->coming_soon_date        = $meta['coming_soon_date'][0] ?? '';
     682        $course->files                   = ( new FileMaterialRepository() )->get_files( $meta['course_files'][0] ?? null, true );
     683        $course->id                      = $post->ID;
     684        $course->image                   = $this->get_course_image( $post );
     685        $course->is_featured             = ( $meta['featured'][0] ?? null ) === 'on';
     686        $course->is_lock_lesson          = ( $meta['lock_lesson'][0] ?? null ) === 'on';
     687        $course->level                   = $meta['level'][0] ?? null;
     688        $course->owner                   = $this->find_user( $post->post_author );
     689        $course->slug                    = $post->post_name;
     690        $course->status                  = $meta['status'][0] ?? null;
     691        $course->status_date_end         = isset( $meta['status_dates_end'][0] ) ? (int) $meta['status_dates_end'][0] : null;
     692        $course->status_date_start       = isset( $meta['status_dates_start'][0] ) ? (int) $meta['status_dates_start'][0] : null;
     693        $course->title                   = $post->post_title;
     694        $course->video_duration          = $meta['video_duration'][0] ?? '';
     695        $course->requirements            = $meta['requirements'][0] ?? '';
     696        $course->basic_info              = $meta['basic_info'][0] ?? '';
     697        $course->intended_audience       = $meta['intended_audience'][0] ?? '';
     698        $course->views                   = $meta['views'][0] ?? 0;
     699        $course->access_duration         = $meta['access_duration'][0] ?? '';
     700        $course->access_devices          = $meta['access_devices'][0] ?? '';
     701        $course->certificate_info        = $meta['certificate_info'][0] ?? '';
     702        $course->coming_soon_details     = (bool) ( $meta['coming_soon_show_course_details'][0] ?? false );
     703        $course->coming_soon_price       = (bool) ( $meta['coming_soon_show_course_price'][0] ?? false );
     704        $course->coming_soon_preorder    = (bool) ( $meta['coming_soon_preordering'][0] ?? false );
     705        $course->announcement            = $meta['announcement'][0] ?? '';
     706        $course->reviews                 = $meta['reviews'][0] ?? array();
     707        $course->marks                   = $this->get_course_marks( $post->ID );
     708        $course->rate                    = $this->get_course_rate( $course->marks );
     709        $course->thumbnail               = $this->get_course_image( $post, 'img-870-440' );
     710        $course->full_image              = $this->get_course_image( $post, 'full' );
     711        $course->attachments             = ( new FileMaterialRepository() )->get_files( $meta['course_files'][0] ?? null );
     712        $course->is_udemy_course         = $meta['udemy_course_id'][0] ?? false;
     713        $course->price_info              = $meta['price_info'][0] ?? '';
     714        $course->single_sale_price_info  = $meta['single_sale_price_info'][0] ?? '';
     715        $course->free_price_info         = $meta['free_price_info'][0] ?? '';
     716        $course->enterprise_price_info   = $meta['enterprise_price_info'][0] ?? '';
     717        $course->points_price_info       = $meta['points_price_info'][0] ?? '';
     718        $course->subscription_price_info = $meta['subscription_price_info'][0] ?? '';
     719        $course->pricing_mode            = $meta['pricing_mode'][0] ?? '';
     720        $course->url                     = get_post_permalink( $post->ID );
    715721
    716722        if ( $course->is_udemy_course ) {
  • masterstudy-lms-learning-management-system/trunk/includes/Repositories/PricingRepository.php

    r3392871 r3458914  
    33namespace MasterStudy\Lms\Repositories;
    44
     5use MasterStudy\Lms\Enums\PricingMode;
     6
    57final class PricingRepository {
    68    private const CASTS = array(
    7         'single_sale'            => 'bool',
    8         'price'                  => 'numeric',
    9         'sale_price'             => 'numeric',
    10         'points_price'           => 'numeric',
    11         'enterprise_price'       => 'numeric',
    12         'not_membership'         => 'bool',
    13         'affiliate_course'       => 'bool',
    14         'subscriptions'          => 'bool',
    15         'sale_price_dates_start' => 'numeric',
    16         'sale_price_dates_end'   => 'numeric',
    17         'price_info'             => 'string',
     9        'free_do_not_provide_certificate'        => 'bool',
     10        'free_paid_certificate'                  => 'bool',
     11        'free_price_info'                        => 'string',
     12        'free_certificate_price'                 => 'numeric',
     13
     14        'single_sale'                            => 'bool',
     15        'price'                                  => 'numeric',
     16        'sale_price'                             => 'numeric',
     17        'sale_price_dates_start'                 => 'numeric',
     18        'sale_price_dates_end'                   => 'numeric',
     19        'single_sale_price_info'                 => 'string',
     20        'single_sale_do_not_provide_certificate' => 'bool',
     21        'single_sale_paid_certificate'           => 'bool',
     22        'single_sale_certificate_price'          => 'numeric',
     23
     24        'enterprise'                             => 'bool',
     25        'enterprise_price'                       => 'numeric',
     26        'enterprise_price_info'                  => 'string',
     27        'enterprise_do_not_provide_certificate'  => 'bool',
     28        'enterprise_paid_certificate'            => 'bool',
     29        'enterprise_certificate_price'           => 'numeric',
     30
     31        'not_membership'                         => 'bool',
     32        'membership_price_info'                  => 'string',
     33        'membership_do_not_provide_certificate'  => 'bool',
     34        'membership_paid_certificate'            => 'bool',
     35        'membership_certificate_price'           => 'numeric',
     36
     37        'points'                                 => 'bool',
     38        'points_price'                           => 'numeric',
     39        'points_price_info'                      => 'string',
     40        'points_do_not_provide_certificate'      => 'bool',
     41        'points_paid_certificate'                => 'bool',
     42        'points_certificate_price'               => 'numeric',
     43
     44        'subscriptions'                          => 'bool',
     45        'subscriptions_price_info'               => 'string',
     46
     47        'affiliate_course'                       => 'bool',
     48        'affiliate_course_link'                  => 'string',
     49        'affiliate_course_text'                  => 'string',
     50        'affiliate_course_rice'                  => 'numeric',
     51
     52        'pricing_mode'                           => 'string',
    1853    );
    1954
    2055    private const DEFAULTS = array(
    21         'single_sale'            => false,
    22         'price'                  => null,
    23         'sale_price'             => null,
    24         'sale_price_dates_start' => null,
    25         'sale_price_dates_end'   => null,
    26         'points_price'           => null,
    27         'enterprise_price'       => null,
    28         'not_membership'         => true,
    29         'affiliate_course'       => false,
    30         'subscriptions'          => false,
    31         'affiliate_course_text'  => null,
    32         'affiliate_course_link'  => null,
    33         'price_info'             => '',
     56        'free_do_not_provide_certificate'        => false,
     57        'free_paid_certificate'                  => false,
     58        'free_certificate_price'                 => null,
     59        'free_price_info'                        => '',
     60
     61        'single_sale'                            => true,
     62        'price'                                  => null,
     63        'sale_price'                             => null,
     64        'sale_price_dates_start'                 => null,
     65        'sale_price_dates_end'                   => null,
     66        'single_sale_price_info'                 => '',
     67        'single_sale_do_not_provide_certificate' => false,
     68        'single_sale_paid_certificate'           => false,
     69        'single_sale_certificate_price'          => null,
     70
     71        'enterprise'                             => false,
     72        'enterprise_price'                       => null,
     73        'enterprise_price_info'                  => '',
     74        'enterprise_do_not_provide_certificate'  => false,
     75        'enterprise_paid_certificate'            => false,
     76        'enterprise_certificate_price'           => null,
     77
     78        'not_membership'                         => true,
     79        'membership_price_info'                  => '',
     80        'membership_do_not_provide_certificate'  => false,
     81        'membership_paid_certificate'            => false,
     82        'membership_certificate_price'           => null,
     83
     84        'points'                                 => false,
     85        'points_price'                           => null,
     86        'points_price_info'                      => '',
     87        'points_do_not_provide_certificate'      => false,
     88        'points_paid_certificate'                => false,
     89        'points_certificate_price'               => null,
     90
     91        'subscriptions'                          => false,
     92        'subscriptions_price_info'               => '',
     93
     94        'affiliate_course'                       => false,
     95        'affiliate_course_link'                  => '',
     96        'affiliate_course_text'                  => '',
     97        'affiliate_course_price'                 => null,
     98
     99        'pricing_mode'                           => PricingMode::FREE,
    34100    );
    35101
     
    46112    }
    47113
     114    private function update_pricing_mode( int $course_id, array $pricing ): array {
     115        $old_pricing_mode     = get_post_meta( $course_id, 'pricing_mode', true );
     116        $current_pricing_mode = $pricing['pricing_mode'];
     117
     118        if ( $old_pricing_mode === $current_pricing_mode ) {
     119            return $pricing;
     120        }
     121
     122        $default_pricing = self::DEFAULTS;
     123
     124        foreach ( $default_pricing as $key => $default ) {
     125            if ( ! isset( $pricing[ $key ] ) ) {
     126                $pricing[ $key ] = $default;
     127            }
     128        }
     129
     130        return $pricing;
     131    }
     132
    48133    public function save( int $course_id, array $pricing ): void {
     134        $pricing = $this->update_pricing_mode( $course_id, $pricing );
     135
    49136        foreach ( $pricing as $key => $value ) {
    50137            if ( isset( self::CASTS[ $key ] ) && 'bool' === self::CASTS[ $key ] ) {
     
    58145
    59146        do_action( 'masterstudy_lms_course_price_updated', $course_id );
     147    }
     148
     149    public static function get_price_info( int $post_id ): array {
     150        return array(
     151            'free_price_info'          => get_post_meta( $post_id, 'free_price_info', true ) ?? '',
     152            'single_sale_price_info'   => get_post_meta( $post_id, 'single_sale_price_info', true ) ?? '',
     153            'enterprise_price_info'    => get_post_meta( $post_id, 'enterprise_price_info', true ) ?? '',
     154            'points_price_info'        => get_post_meta( $post_id, 'points_price_info', true ) ?? '',
     155            'subscriptions_price_info' => get_post_meta( $post_id, 'subscriptions_price_info', true ) ?? '',
     156            'membership_price_info'    => get_post_meta( $post_id, 'not_membership_price_info', true ) ?? '',
     157        );
     158    }
     159
     160    public static function is_certificate_enabled( int $post_id ): bool {
     161        $certificate_id = get_post_meta( $post_id, 'course_certificate', true );
     162        return is_ms_lms_addon_enabled( 'certificate_builder' ) && 'none' !== $certificate_id;
     163    }
     164
     165    public static function get_certificates_info( int $post_id ): array {
     166        $is_certificate_enabled = self::is_certificate_enabled( $post_id );
     167        return array(
     168            'free'        => empty( get_post_meta( $post_id, 'free_do_not_provide_certificate', true ) ) && $is_certificate_enabled,
     169            'single_sale' => empty( get_post_meta( $post_id, 'single_sale_do_not_provide_certificate', true ) ) && $is_certificate_enabled,
     170            'enterprise'  => empty( get_post_meta( $post_id, 'enterprise_do_not_provide_certificate', true ) ) && $is_certificate_enabled,
     171            'pmpro'       => empty( get_post_meta( $post_id, 'membership_do_not_provide_certificate', true ) ) && $is_certificate_enabled,
     172            'points'      => empty( get_post_meta( $post_id, 'points_do_not_provide_certificate', true ) ) && $is_certificate_enabled,
     173        );
    60174    }
    61175
  • masterstudy-lms-learning-management-system/trunk/includes/Routing/Swagger/Routes/Course/UpdatePricingSettings.php

    r2953285 r3458914  
    33namespace MasterStudy\Lms\Routing\Swagger\Routes\Course;
    44
     5use MasterStudy\Lms\Enums\PricingMode;
    56use MasterStudy\Lms\Routing\Swagger\RequestInterface;
    67use MasterStudy\Lms\Routing\Swagger\ResponseInterface;
     
    1112    public function request(): array {
    1213        return array(
    13             'single_sale'            => array(
     14            'free_do_not_provide_certificate'        => array(
     15                'type'        => 'boolean',
     16                'description' => 'Flag to indicate if free course does not provide certificate',
     17                'required'    => false,
     18            ),
     19            'free_paid_certificate'                  => array(
     20                'type'        => 'boolean',
     21                'description' => 'Flag to indicate if free course provides paid certificate',
     22                'required'    => false,
     23            ),
     24            'free_certificate_price'                 => array(
     25                'type'        => 'number',
     26                'format'      => 'float',
     27                'description' => 'Price for free certificate',
     28                'required'    => false,
     29            ),
     30            'free_price_info'                        => array(
     31                'type'        => 'string',
     32                'description' => 'Price info for free course',
     33                'required'    => false,
     34            ),
     35            'single_sale'                            => array(
    1436                'type'        => 'boolean',
    1537                'description' => 'One-time purchase flag',
    1638                'required'    => true,
    1739            ),
    18             'price'                  => array(
     40            'single_sale_price_info'                 => array(
     41                'type'        => 'string',
     42                'description' => 'Price info for one-time purchase',
     43                'required'    => false,
     44            ),
     45            'single_sale_do_not_provide_certificate' => array(
     46                'type'        => 'boolean',
     47                'description' => 'Flag to indicate if one-time purchase does not provide certificate',
     48                'required'    => false,
     49            ),
     50            'single_sale_paid_certificate'           => array(
     51                'type'        => 'boolean',
     52                'description' => 'Flag to indicate if one-time purchase provides paid certificate',
     53                'required'    => false,
     54            ),
     55            'single_sale_certificate_price'          => array(
     56                'type'        => 'number',
     57                'format'      => 'float',
     58                'description' => 'Price for one-time purchase certificate',
     59                'required'    => false,
     60            ),
     61            'price'                                  => array(
    1962                'type'        => 'number',
    2063                'format'      => 'float',
    2164                'description' => 'Required for one-time purchase',
    2265            ),
    23             'sale_price'             => array(
     66            'sale_price'                             => array(
    2467                'type'     => 'number',
    2568                'format'   => 'float',
     
    2770                'nullable' => true,
    2871            ),
    29             'sale_price_dates_start' => array(
     72            'sale_price_dates_start'                 => array(
    3073                'type'        => 'integer',
    3174                'description' => 'Timestamp for sale start date. Required with sale_price_dates_end',
    3275                'nullable'    => true,
    3376            ),
    34             'sale_price_dates_end'   => array(
     77            'sale_price_dates_end'                   => array(
    3578                'type'        => 'integer',
    3679                'description' => 'Timestamp for sale end date. Required with sale_price_dates_start',
    3780                'nullable'    => true,
    3881            ),
    39             'points_price'           => array(
    40                 'type'     => 'integer',
    41                 'required' => false,
    42             ),
    43             'enterprise_price'       => array(
    44                 'type'        => 'number',
    45                 'format'      => 'float',
    46                 'nullable'    => true,
    47                 'description' => 'Required if enterprise price enabled',
    48             ),
    49             'not_membership'         => array(
     82            'points'                                 => array(
     83                'type'        => 'boolean',
     84                'description' => 'Flag to indicate if points is enabled',
     85                'required'    => false,
     86            ),
     87            'points_price'                           => array(
     88                'type'        => 'number',
     89                'format'      => 'float',
     90                'description' => 'Price for points',
     91                'required'    => false,
     92            ),
     93            'points_price_info'                      => array(
     94                'type'        => 'string',
     95                'description' => 'Price info for points',
     96                'required'    => false,
     97            ),
     98            'points_do_not_provide_certificate'      => array(
     99                'type'        => 'boolean',
     100                'description' => 'Flag to indicate if points does not provide certificate',
     101                'required'    => false,
     102            ),
     103            'points_paid_certificate'                => array(
     104                'type'        => 'boolean',
     105                'description' => 'Flag to indicate if points provides paid certificate',
     106                'required'    => false,
     107            ),
     108            'points_certificate_price'               => array(
     109                'type'        => 'number',
     110                'format'      => 'float',
     111                'description' => 'Price for points certificate',
     112                'required'    => false,
     113            ),
     114            'subscriptions'                          => array(
     115                'type'        => 'boolean',
     116                'description' => 'Flag to indicate if subscriptions is enabled',
     117                'required'    => false,
     118            ),
     119            'subscriptions_price_info'               => array(
     120                'type'        => 'string',
     121                'description' => 'Price info for subscriptions',
     122                'required'    => false,
     123            ),
     124            'enterprise'                             => array(
     125                'type'        => 'boolean',
     126                'description' => 'Flag to indicate if enterprise is enabled',
     127                'required'    => false,
     128            ),
     129            'enterprise_price'                       => array(
     130                'type'        => 'number',
     131                'format'      => 'float',
     132                'description' => 'Price for enterprise',
     133                'required'    => false,
     134            ),
     135            'enterprise_price_info'                  => array(
     136                'type'        => 'string',
     137                'description' => 'Price info for enterprise',
     138                'required'    => false,
     139            ),
     140            'enterprise_do_not_provide_certificate'  => array(
     141                'type'        => 'boolean',
     142                'description' => 'Flag to indicate if enterprise does not provide certificate',
     143                'required'    => false,
     144            ),
     145            'enterprise_paid_certificate'            => array(
     146                'type'        => 'boolean',
     147                'description' => 'Flag to indicate if enterprise provides paid certificate',
     148                'required'    => false,
     149            ),
     150            'enterprise_certificate_price'           => array(
     151                'type'        => 'number',
     152                'format'      => 'float',
     153                'description' => 'Price for enterprise certificate',
     154                'required'    => false,
     155            ),
     156            'not_membership'                         => array(
    50157                'type'     => 'boolean',
    51158                'required' => true,
    52159            ),
    53             'affiliate_course'       => array(
    54                 'type'     => 'boolean',
    55                 'required' => true,
    56             ),
    57             'affiliate_course_text'  => array(
    58                 'type'        => 'string',
    59                 'nullable'    => true,
    60                 'description' => 'Required for affiliate course',
    61             ),
    62             'affiliate_course_link'  => array(
    63                 'type'        => 'string',
    64                 'nullable'    => true,
    65                 'description' => 'Required for affiliate course',
    66             ),
    67             'price_info'             => array(
    68                 'type'     => 'string',
    69                 'required' => false,
     160            'membership_price_info'                  => array(
     161                'type'        => 'string',
     162                'description' => 'Price info for not membership',
     163                'required'    => false,
     164            ),
     165            'membership_do_not_provide_certificate'  => array(
     166                'type'        => 'boolean',
     167                'description' => 'Flag to indicate if not membership does not provide certificate',
     168                'required'    => false,
     169            ),
     170            'membership_paid_certificate'            => array(
     171                'type'        => 'boolean',
     172                'description' => 'Flag to indicate if not membership provides paid certificate',
     173                'required'    => false,
     174            ),
     175            'membership_certificate_price'           => array(
     176                'type'        => 'number',
     177                'format'      => 'float',
     178                'description' => 'Price for not membership certificate',
     179                'required'    => false,
     180            ),
     181            'affiliate_course'                       => array(
     182                'type'        => 'boolean',
     183                'description' => 'Flag to indicate if affiliate course is enabled',
     184                'required'    => false,
     185            ),
     186            'affiliate_course_text'                  => array(
     187                'type'        => 'string',
     188                'description' => 'Text for affiliate course',
     189                'required'    => false,
     190            ),
     191            'affiliate_course_link'                  => array(
     192                'type'        => 'string',
     193                'description' => 'Link for affiliate course',
     194                'required'    => false,
     195            ),
     196            'pricing_mode'                           => array(
     197                'type'        => 'string',
     198                'description' => 'Pricing mode',
     199                'required'    => true,
     200                'enum'        => array( PricingMode::FREE, PricingMode::PAID, PricingMode::AFFILIATE ),
    70201            ),
    71202        );
  • masterstudy-lms-learning-management-system/trunk/masterstudy-lms-learning-management-system.php

    r3449418 r3458914  
    88 * Author URI: https://stylemixthemes.com/
    99 * Text Domain: masterstudy-lms-learning-management-system
    10  * Version: 3.7.14
     10 * Version: 3.7.15
    1111 * Masterstudy LMS Pro tested up to: 4.8
    1212 */
     
    1616}
    1717
    18 define( 'MS_LMS_VERSION', '3.7.14' );
     18define( 'MS_LMS_VERSION', '3.7.15' );
    1919define( 'MS_LMS_FILE', __FILE__ );
    2020define( 'MS_LMS_PATH', dirname( MS_LMS_FILE ) );
  • masterstudy-lms-learning-management-system/trunk/readme.txt

    r3449418 r3458914  
    66Tested up to: 6.9
    77Requires PHP: 7.4
    8 Stable tag: 3.7.14
     8Stable tag: 3.7.15
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    309309
    310310== Changelog ==
     311= 3.7.15 - 2026-02-10 =
     312- **Update:** The UI of the "Pricing" tab in Course Builder has been improved. Course access types are now organized into separate tabs.
     313- **Update:** The "Pricing Info" field has been added to all course purchase methods.
     314- **New:** Added ability to issue certificates based on the course purchase method, such as issuing certificates only for One-Time purchases [PRO].
     315- **Fixed:** When adding a student via "Manage Students" with the Subscriptions add-on enabled, the "Start Course" button was not displayed on the Single Course page for the student [PRO].
     316
    311317= 3.7.14 - 2026-01-29 =
    312318- **Fixed:** Minor bugfix
     
    328334- **Fixed:** Minor bugfix
    329335
    330 = 3.7.11 - 2026-01-06 =
    331 - **Fixed:** Answer options disappeared after retaking a quiz.
    332 
    333 = 3.7.10 - 2025-12-26 =
    334 - **Fixed:** Minor bug fixes.
    335 
    336 = 3.7.9 - 2025-12-25 =
    337 - **New:** Built-in discount coupon system for courses, subscriptions, and bundles (Pro)
    338 - **Fixed:** Warning messages were displayed on the Course Category creation page
    339 - **Fixed:** Admin Commission and Instructor Earnings values were not saved in plugin settings (Pro)
    340 - **Fixed:** The "Subscription Only" filter did not display courses with an active subscription setting (Pro)
    341 - **Fixed:** An error occurred when students uploaded files in Assignments (Pro)
    342 
    343336You can see all updates history in our [changelog documentation](https://docs.stylemixthemes.com/masterstudy-lms/changelog-free-version).
  • masterstudy-lms-learning-management-system/trunk/vendor/composer/autoload_classmap.php

    r3448656 r3458914  
    2323    'MasterStudy\\Lms\\Enums\\LessonVideoType' => $baseDir . '/includes/Enums/LessonVideoType.php',
    2424    'MasterStudy\\Lms\\Enums\\OrderStatus' => $baseDir . '/includes/Enums/OrderStatus.php',
     25    'MasterStudy\\Lms\\Enums\\PricingMode' => $baseDir . '/includes/Enums/PricingMode.php',
    2526    'MasterStudy\\Lms\\Enums\\QuestionType' => $baseDir . '/includes/Enums/QuestionType.php',
    2627    'MasterStudy\\Lms\\Enums\\QuestionView' => $baseDir . '/includes/Enums/QuestionView.php',
  • masterstudy-lms-learning-management-system/trunk/vendor/composer/autoload_static.php

    r3448656 r3458914  
    3838        'MasterStudy\\Lms\\Enums\\LessonVideoType' => __DIR__ . '/../..' . '/includes/Enums/LessonVideoType.php',
    3939        'MasterStudy\\Lms\\Enums\\OrderStatus' => __DIR__ . '/../..' . '/includes/Enums/OrderStatus.php',
     40        'MasterStudy\\Lms\\Enums\\PricingMode' => __DIR__ . '/../..' . '/includes/Enums/PricingMode.php',
    4041        'MasterStudy\\Lms\\Enums\\QuestionType' => __DIR__ . '/../..' . '/includes/Enums/QuestionType.php',
    4142        'MasterStudy\\Lms\\Enums\\QuestionView' => __DIR__ . '/../..' . '/includes/Enums/QuestionView.php',
Note: See TracChangeset for help on using the changeset viewer.