Plugin Directory

Changeset 3378463


Ignore:
Timestamp:
10/14/2025 10:09:33 PM (6 months ago)
Author:
braintum
Message:

Preparing for 1.7.6 release

Location:
ultimate-faq-solution/trunk
Files:
10 added
2 deleted
21 edited

Legend:

Unmodified
Added
Removed
  • ultimate-faq-solution/trunk/assets/css/admin-style.css

    r3315529 r3378463  
    123123  margin-top: 8px;
    124124}
     125/* Admin Settings Page CSS Ends */
     126
     127/* Get Help Page CSS Starts */
     128.ufs-help-wrap {
     129    max-width: 900px;
     130    margin: 30px auto;
     131    background: #fff;
     132    border-radius: 10px;
     133    box-shadow: 0 2px 16px rgba(0,0,0,0.07);
     134    padding: 32px 36px 36px 36px;
     135    font-family: 'Segoe UI', 'Arial', sans-serif;
     136}
     137.ufs-help-header {
     138    display: -webkit-box;
     139    display: -ms-flexbox;
     140    display: flex;
     141    -webkit-box-align: center;
     142        -ms-flex-align: center;
     143            align-items: center;
     144    gap: 18px;
     145    margin-bottom: 18px;
     146    -ms-flex-wrap: wrap;
     147        flex-wrap: wrap;
     148}
     149.ufs-help-header .ufs-help-logo {
     150    width: 100px;
     151    height: 100px;
     152    display: -webkit-box;
     153    display: -ms-flexbox;
     154    display: flex;
     155    -webkit-box-align: center;
     156        -ms-flex-align: center;
     157            align-items: center;
     158    -webkit-box-pack: center;
     159        -ms-flex-pack: center;
     160            justify-content: center;
     161    -ms-flex-negative: 0;
     162        flex-shrink: 0;
     163    overflow: hidden;
     164}
     165.ufs-help-header .ufs-help-logo img {
     166    width: 100%;
     167    height: auto;
     168    display: block;
     169    margin: auto;
     170}
     171.ufs-help-header .ufs-header-text {
     172    display: -webkit-box;
     173    display: -ms-flexbox;
     174    display: flex;
     175    -webkit-box-orient: vertical;
     176    -webkit-box-direction: normal;
     177        -ms-flex-direction: column;
     178            flex-direction: column;
     179    -webkit-box-pack: center;
     180        -ms-flex-pack: center;
     181            justify-content: center;
     182}
     183.ufs-help-title {
     184    font-size: 2.1rem;
     185    margin: 0;
     186    font-weight: 700;
     187    color: #222;
     188    margin-bottom: 14px;
     189}
     190.ufs-help-subtitle {
     191    margin: 2px 0 0 0;
     192    color: #666;
     193    font-size: 1.1rem;
     194    line-height: 1.3;
     195}
     196.ufs-help-cards {
     197    display: -webkit-box;
     198    display: -ms-flexbox;
     199    display: flex;
     200    gap: 18px;
     201    margin-bottom: 32px;
     202    -ms-flex-wrap: wrap;
     203        flex-wrap: wrap;
     204}
     205.ufs-help-card {
     206    -webkit-box-flex: 1;
     207        -ms-flex: 1 1 220px;
     208            flex: 1 1 220px;
     209    background: #f7fafd;
     210    border-radius: 8px;
     211    padding: 22px 18px 18px 18px;
     212    box-shadow: 0 1px 4px rgba(0,0,0,0.03);
     213    text-align: center;
     214    -webkit-transition: box-shadow 0.2s;
     215            transition: box-shadow 0.2s;
     216}
     217.ufs-help-card:hover {
     218    box-shadow: 0 4px 16px rgba(0,123,170,0.10);
     219}
     220.ufs-help-card .ufs-card-icon {
     221    font-size: 2rem;
     222    margin-bottom: 8px;
     223    height: 25px;
     224}
     225.ufs-help-card h3 {
     226    margin: 0 0 8px 0;
     227    font-size: 1.2rem;
     228    color: #0073aa;
     229}
     230.ufs-help-card p {
     231    color: #444;
     232    font-size: 1rem;
     233    margin-bottom: 12px;
     234}
     235.ufs-help-card a.ufs-btn {
     236    padding: 7px 18px;
     237    border-radius: 5px;
     238    font-size: 1rem;
     239    text-decoration: none;
     240    background: #0073aa;
     241    color: #fff;
     242    -webkit-transition: background 0.2s;
     243            transition: background 0.2s;
     244    display: inline-block;
     245}
     246.ufs-help-card a.ufs-btn:hover {
     247    background: #005177;
     248}
     249.ufs-section {
     250    margin-bottom: 36px;
     251}
     252.ufs-section h2 {
     253    font-size: 1.3rem;
     254    margin-bottom: 10px;
     255    color: #222;
     256    margin-bottom: 20px;
     257}
     258.ufs-section ul {
     259    margin: 0 0 0 18px;
     260}
     261.ufs-section li {
     262    margin-bottom: 7px;
     263}
     264.ufs-support {
     265    background: #f9f9f9;
     266    border-left: 4px solid #0073aa;
     267    padding: 18px 22px;
     268    border-radius: 6px;
     269    margin-bottom: 18px;
     270}
     271.ufs-support strong {
     272    color: #0073aa;
     273}
     274.ufs-help-footer {
     275    margin-top: 36px;
     276    text-align: center;
     277    color: #888;
     278    font-size: 0.98rem;
     279}
     280@media (max-width: 700px) {
     281    .ufs-help-wrap { padding: 16px 4vw; }
     282    .ufs-help-cards { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 12px; }
     283    .ufs-help-header { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; gap: 10px; }
     284    .ufs-help-header .ufs-header-text { height: auto; }
     285}
     286/* Get Help Page CSS Ends */
  • ultimate-faq-solution/trunk/assets/css/admin-style.min.css

    r3315529 r3378463  
    1 .ufaqsw-fa-field-modal{position:fixed;top:20%;right:20%;left:20%;bottom:20%;background:#fff;border-radius:2px;z-index:99999;padding:24px;box-shadow:0 0 15px rgba(0,0,0,.4);border:1px solid #f2f2f2;background:#fdfdfd}.ufaqsw-fa-field-modal *{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-close{position:absolute;top:24px;right:24px;font-size:30px;font-weight:700;cursor:pointer;background:red;color:#fff;height:24px;width:24px;text-align:center;border-radius:50%}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-close:hover{color:#2ea2cc}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-title{position:absolute;top:24px;margin:0;left:24px}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-icons{overflow-x:hidden;position:absolute;top:72px;bottom:24px;left:24px;right:24px}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-icons .ufaqsw-fa-field-modal-icon-holder{text-align:center;width:80px;height:90px;float:left;cursor:pointer;border:1px solid gray;padding:5px;margin:5px}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-icons .ufaqsw-fa-field-modal-icon-holder .ufaqsw-icon{font-size:40px;color:gray}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-icons .ufaqsw-fa-field-modal-icon-holder .ufaqsw-label{font-size:12px;line-height:18px}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-icons .ufaqsw-fa-field-modal-icon-holder:hover{border-color:#2ea2cc}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-icons .ufaqsw-fa-field-modal-icon-holder:hover .ufaqsw-icon{color:#2ea2cc}.ufaqsw-fa-field-metabox .ufaqsw-fa-field-current-icon{position:relative}.ufaqsw-fa-field-metabox .ufaqsw-fa-field-current-icon .ufaqsw-delete{position:absolute;font-size:20px;right:15px;top:15px;display:none;opacity:0;pointer-events:none}.ufaqsw-fa-field-metabox .ufaqsw-fa-field-current-icon .ufaqsw-delete.ufaqsw-active{display:block}.ufaqsw-fa-field-metabox .ufaqsw-fa-field-current-icon .ufaqsw-icon{font-size:100px;text-align:center;padding:20px 0;cursor:pointer}.ufaqsw-fa-field-metabox .ufaqsw-fa-field-current-icon .ufaqsw-icon:hover+.ufaqsw-delete{opacity:1}#woocommerce-product-data ul.wc-tabs li.ufaqsw-faq-tab_options a::before{font-family:Dashicons;content:"\f109"}#ufaqsw_faq_product_data{display:none}#ufaqsw-fa-field-modal{display:none}.ufaqsw_clear_icon_field{display:inline-block!important;float:right}.ufaqsw-fa-field-modal-icons form{display:inline-block!important}.ufaqsw_clear_fix{clear:both}.field_is_hidden{display:none!important}.ufaqsw_settings_table{background:#fff;padding:20px 20px;display:block;margin-bottom:20px}.ufaqsw_settings_table tr td i{display:block;font-size:13px;margin-top:8px}
     1.ufaqsw-fa-field-modal{position:fixed;top:20%;right:20%;left:20%;bottom:20%;background:#fff;border-radius:2px;z-index:99999;padding:24px;box-shadow:0 0 15px rgba(0,0,0,.4);border:1px solid #f2f2f2;background:#fdfdfd}.ufaqsw-fa-field-modal *{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-close{position:absolute;top:24px;right:24px;font-size:30px;font-weight:700;cursor:pointer;background:red;color:#fff;height:24px;width:24px;text-align:center;border-radius:50%}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-close:hover{color:#2ea2cc}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-title{position:absolute;top:24px;margin:0;left:24px}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-icons{overflow-x:hidden;position:absolute;top:72px;bottom:24px;left:24px;right:24px}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-icons .ufaqsw-fa-field-modal-icon-holder{text-align:center;width:80px;height:90px;float:left;cursor:pointer;border:1px solid gray;padding:5px;margin:5px}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-icons .ufaqsw-fa-field-modal-icon-holder .ufaqsw-icon{font-size:40px;color:gray}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-icons .ufaqsw-fa-field-modal-icon-holder .ufaqsw-label{font-size:12px;line-height:18px}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-icons .ufaqsw-fa-field-modal-icon-holder:hover{border-color:#2ea2cc}.ufaqsw-fa-field-modal .ufaqsw-fa-field-modal-icons .ufaqsw-fa-field-modal-icon-holder:hover .ufaqsw-icon{color:#2ea2cc}.ufaqsw-fa-field-metabox .ufaqsw-fa-field-current-icon{position:relative}.ufaqsw-fa-field-metabox .ufaqsw-fa-field-current-icon .ufaqsw-delete{position:absolute;font-size:20px;right:15px;top:15px;display:none;opacity:0;pointer-events:none}.ufaqsw-fa-field-metabox .ufaqsw-fa-field-current-icon .ufaqsw-delete.ufaqsw-active{display:block}.ufaqsw-fa-field-metabox .ufaqsw-fa-field-current-icon .ufaqsw-icon{font-size:100px;text-align:center;padding:20px 0;cursor:pointer}.ufaqsw-fa-field-metabox .ufaqsw-fa-field-current-icon .ufaqsw-icon:hover+.ufaqsw-delete{opacity:1}#woocommerce-product-data ul.wc-tabs li.ufaqsw-faq-tab_options a::before{font-family:Dashicons;content:"\f109"}#ufaqsw_faq_product_data{display:none}#ufaqsw-fa-field-modal{display:none}.ufaqsw_clear_icon_field{display:inline-block!important;float:right}.ufaqsw-fa-field-modal-icons form{display:inline-block!important}.ufaqsw_clear_fix{clear:both}.field_is_hidden{display:none!important}.ufaqsw_settings_table{background:#fff;padding:20px 20px;display:block;margin-bottom:20px}.ufaqsw_settings_table tr td i{display:block;font-size:13px;margin-top:8px}.ufs-help-wrap{max-width:900px;margin:30px auto;background:#fff;border-radius:10px;box-shadow:0 2px 16px rgba(0,0,0,.07);padding:32px 36px 36px 36px;font-family:'Segoe UI',Arial,sans-serif}.ufs-help-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:18px;margin-bottom:18px;-ms-flex-wrap:wrap;flex-wrap:wrap}.ufs-help-header .ufs-help-logo{width:100px;height:100px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.ufs-help-header .ufs-help-logo img{width:100%;height:auto;display:block;margin:auto}.ufs-help-header .ufs-header-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ufs-help-title{font-size:2.1rem;margin:0;font-weight:700;color:#222;margin-bottom:14px}.ufs-help-subtitle{margin:2px 0 0 0;color:#666;font-size:1.1rem;line-height:1.3}.ufs-help-cards{display:-webkit-box;display:-ms-flexbox;display:flex;gap:18px;margin-bottom:32px;-ms-flex-wrap:wrap;flex-wrap:wrap}.ufs-help-card{-webkit-box-flex:1;-ms-flex:1 1 220px;flex:1 1 220px;background:#f7fafd;border-radius:8px;padding:22px 18px 18px 18px;box-shadow:0 1px 4px rgba(0,0,0,.03);text-align:center;-webkit-transition:box-shadow .2s;transition:box-shadow .2s}.ufs-help-card:hover{box-shadow:0 4px 16px rgba(0,123,170,.1)}.ufs-help-card .ufs-card-icon{font-size:2rem;margin-bottom:8px;height:25px}.ufs-help-card h3{margin:0 0 8px 0;font-size:1.2rem;color:#0073aa}.ufs-help-card p{color:#444;font-size:1rem;margin-bottom:12px}.ufs-help-card a.ufs-btn{padding:7px 18px;border-radius:5px;font-size:1rem;text-decoration:none;background:#0073aa;color:#fff;-webkit-transition:background .2s;transition:background .2s;display:inline-block}.ufs-help-card a.ufs-btn:hover{background:#005177}.ufs-section{margin-bottom:36px}.ufs-section h2{font-size:1.3rem;margin-bottom:10px;color:#222;margin-bottom:20px}.ufs-section ul{margin:0 0 0 18px}.ufs-section li{margin-bottom:7px}.ufs-support{background:#f9f9f9;border-left:4px solid #0073aa;padding:18px 22px;border-radius:6px;margin-bottom:18px}.ufs-support strong{color:#0073aa}.ufs-help-footer{margin-top:36px;text-align:center;color:#888;font-size:.98rem}@media (max-width:700px){.ufs-help-wrap{padding:16px 4vw}.ufs-help-cards{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.ufs-help-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px}.ufs-help-header .ufs-header-text{height:auto}}
  • ultimate-faq-solution/trunk/assets/js/admin.js

    r3315529 r3378463  
    5656          document.execCommand("copy");
    5757    })
    58    
    59     //Settings tab scripts
    60 
    61     $('.ufaqsw_click_handle').on('click', function(e){
    62        
    63         var obj = $(this);
    64         var container_id = obj.attr('href');
    65         $('.ufaqsw_click_handle').each(function(){
    66             $(this).removeClass('nav-tab-active');
    67             $($(this).attr('href')).hide();
    68         })
    69         obj.addClass('nav-tab-active');
    70         $(container_id).show();
    71 
    72         if ( '#getting_started' === container_id ) {
    73             $('.submit').hide();
    74         } else if ( '#export_import' === container_id ) {
    75             $('.submit').hide();
    76         } else {
    77             $('.submit').show();
    78         }
    79 
    80         setTimeout(function() {
    81             window.scrollTo(0, 0);
    82         }, 1);
    83     })
    84    
    85 
    86    
    87     var hash = window.location.hash;
    88    
    89     if(hash!=''){
    90         $('.ufaqsw_click_handle').each(function(){
    91            
    92             $($(this).attr('href')).hide();
    93             if($(this).attr('href')==hash){
    94                 $(this).removeClass('nav-tab-active').addClass('nav-tab-active');
    95 
    96                 if ( '#getting_started' === hash ) {
    97                     $('.submit').hide();
    98                 } else if ( '#export_import' === hash ) {
    99                     $('.submit').hide();
    100                 } else {
    101                     $('.submit').show();
    102                 }
    103 
    104             }else{
    105                 $(this).removeClass('nav-tab-active');
    106             }
    107         })
    108         $(hash).show();
    109     }
    11058
    11159});
  • ultimate-faq-solution/trunk/assets/js/script.js

    r3311707 r3378463  
    6464
    6565    const toggleItem = (element) => {
    66         if (ufaqsw_object_default.behaviour == 'accordion') {           
     66        if (ufaqsw_object_default.behaviour == 'accordion') {
    6767            closeall(element);
    6868        }
     
    110110            if (jQuery(this).hasClass('ufaqsw_active') && this !== exceptElement[0]) {
    111111                hideItem(jQuery(this));
     112                jQuery(this).find('i').toggle();
    112113            }
    113114        });
  • ultimate-faq-solution/trunk/assets/js/script.min.js

    r3311707 r3378463  
    1 jQuery(window).on("load",function(){let t={faq_item:".ufaqsw_element_src",faq_item_group:".ufaqsw_element_group_src",faq_filter_item:".filter-list__item"};jQuery(t.faq_filter_item).on("click",function(e){var t=jQuery(this).data("index"),t=jQuery("#"+t);t.length&&jQuery("html, body").animate({scrollTop:t.offset().top-140},500)}),jQuery(".ufaqsw_default_all_faq_content").length&&jQuery("input.ufaqsw_default_all_search_box").quicksearch(".ufaqsw_element_src",{delay:300,selector:[".ufaqsw_faq_question_src",".ufaqsw_faq_answer_src"],loader:"span.ufaqsw_search_loading",noResults:".ufaqsw_search_no_result",bind:"keyup keydown",onBefore:function(){},onAfter:function(){jQuery(t.faq_item_group).each(function(){var e=jQuery(this);e.find(t.faq_item).filter(function(){return"none"!==jQuery(this).css("display")}).length?e.show():e.hide()})},show:function(){jQuery(this).closest(t.faq_item).show()},hide:function(){jQuery(this).closest(t.faq_item).hide()},prepareQuery:function(e){return new RegExp(e,"i")},testQuery:function(e,t,a){return e.test(t)}})}),jQuery(function(t){let a=e=>{"accordion"==ufaqsw_object_default.behaviour&&i(e),e.hasClass("ufaqsw_active")?n(e):e.addClass("ufaqsw_active").closest(".ufaqsw_toggle_default").find(".ufaqsw-toggle-inner-default").slideDown(200),e.find("i").toggle();var t="true"===e.attr("aria-expanded"),t=(e.attr("aria-expanded",String(!t)),"true"===e.closest(".ufaqsw_toggle_default").find(".ufaqsw-toggle-inner-default").attr("aria-hidden"));e.closest(".ufaqsw_toggle_default").find(".ufaqsw-toggle-inner-default").attr("aria-hidden",String(!t))},n=e=>{e.hasClass("ufaqsw_active")&&e.removeClass("ufaqsw_active"),e.closest(".ufaqsw_toggle_default").find(".ufaqsw-toggle-inner-default").slideUp(200)},i=(t(".ufaqsw_toggle_default .ufaqsw-toggle-title-area-default").on("click",function(){a(t(this))}),t(".ufaqsw_toggle_default .ufaqsw-toggle-title-area-default").on("keydown",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),a(t(this)))}),function(e){jQuery(".ufaqsw_toggle_default .ufaqsw-toggle-title-area-default").each(function(){jQuery(this).hasClass("ufaqsw_active")&&this!==e[0]&&n(jQuery(this))})});"undefined"!=typeof ufaqsw_object_default&&"1"==ufaqsw_object_default.showall&&"accordion"!=ufaqsw_object_default.behaviour&&jQuery(".ufaqsw_toggle_default .ufaqsw-toggle-title-area-default").each(function(){jQuery(this).trigger("click")})}),jQuery(function(a){a(".ufaqsw_toggle_default > .ufaqsw_title_area_style1").on("click",function(e){t(a(this))}),a(".ufaqsw_toggle_default > .ufaqsw_title_area_style1").on("keydown",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t(a(this)))});let t=e=>{var t=e.parent().find("[type=checkbox]"),t=("accordion"==ufaqsw_object_style_1.behaviour&&s(e.parent()),(t.attr("checked")?(t.attr("checked",!1),i):(t.attr("checked",!0),n))(t),"true"===e.attr("aria-expanded")),t=(e.attr("aria-expanded",String(!t)),"true"===e.next().attr("aria-hidden"));e.next().attr("aria-hidden",String(!t))},n=e=>{e.next().next().css({height:"auto",opacity:"1"}),e.next().find(".ufaqsw-style1-active-icon").css({display:"inline-block"}),e.next().find(".ufaqsw-style1-normal-icon").css({display:"none"})},i=e=>{e.next().next().css({height:"",opacity:"",padding:""}),e.next().find(".ufaqsw-style1-active-icon").css({display:"none"}),e.next().find(".ufaqsw-style1-normal-icon").css({display:"inline-block"})};var s=function(t){a(".ufaqsw_questions_style1").each(function(){var e=a(this);e.closest(".ufaqsw_toggle_default")[0]!==t[0]&&(e.attr("checked",!1),i(e))})}}),jQuery(function(a){a(".ufaqsw_box_style2").on("click",function(e){t(a(this))}),a(".ufaqsw_box_style2").on("keydown",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t(a(this)))});let t=e=>{"accordion"==ufaqsw_object_style_2.behaviour&&n(e);var t="true"===e.attr("aria-expanded"),t=(e.attr("aria-expanded",String(!t)),"true"===e.next().attr("aria-hidden"));e.next().attr("aria-hidden",String(!t)),e.next().slideToggle("fast"),e.find("i").toggle()},n=function(t){a(".ufaqsw_draw_style2").each(function(){var e=a(this);e.is(":visible")&&e.prev()[0]!==t[0]&&(e.slideToggle("fast"),e.prev().find("i").toggle())})}});
     1jQuery(window).on("load",function(){let t={faq_item:".ufaqsw_element_src",faq_item_group:".ufaqsw_element_group_src",faq_filter_item:".filter-list__item"};jQuery(t.faq_filter_item).on("click",function(e){var t=jQuery(this).data("index"),t=jQuery("#"+t);t.length&&jQuery("html, body").animate({scrollTop:t.offset().top-140},500)}),jQuery(".ufaqsw_default_all_faq_content").length&&jQuery("input.ufaqsw_default_all_search_box").quicksearch(".ufaqsw_element_src",{delay:300,selector:[".ufaqsw_faq_question_src",".ufaqsw_faq_answer_src"],loader:"span.ufaqsw_search_loading",noResults:".ufaqsw_search_no_result",bind:"keyup keydown",onBefore:function(){},onAfter:function(){jQuery(t.faq_item_group).each(function(){var e=jQuery(this);e.find(t.faq_item).filter(function(){return"none"!==jQuery(this).css("display")}).length?e.show():e.hide()})},show:function(){jQuery(this).closest(t.faq_item).show()},hide:function(){jQuery(this).closest(t.faq_item).hide()},prepareQuery:function(e){return new RegExp(e,"i")},testQuery:function(e,t,a){return e.test(t)}})}),jQuery(function(t){let a=e=>{"accordion"==ufaqsw_object_default.behaviour&&i(e),e.hasClass("ufaqsw_active")?n(e):e.addClass("ufaqsw_active").closest(".ufaqsw_toggle_default").find(".ufaqsw-toggle-inner-default").slideDown(200),e.find("i").toggle();var t="true"===e.attr("aria-expanded"),t=(e.attr("aria-expanded",String(!t)),"true"===e.closest(".ufaqsw_toggle_default").find(".ufaqsw-toggle-inner-default").attr("aria-hidden"));e.closest(".ufaqsw_toggle_default").find(".ufaqsw-toggle-inner-default").attr("aria-hidden",String(!t))},n=e=>{e.hasClass("ufaqsw_active")&&e.removeClass("ufaqsw_active"),e.closest(".ufaqsw_toggle_default").find(".ufaqsw-toggle-inner-default").slideUp(200)},i=(t(".ufaqsw_toggle_default .ufaqsw-toggle-title-area-default").on("click",function(){a(t(this))}),t(".ufaqsw_toggle_default .ufaqsw-toggle-title-area-default").on("keydown",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),a(t(this)))}),function(e){jQuery(".ufaqsw_toggle_default .ufaqsw-toggle-title-area-default").each(function(){jQuery(this).hasClass("ufaqsw_active")&&this!==e[0]&&(n(jQuery(this)),jQuery(this).find("i").toggle())})});"undefined"!=typeof ufaqsw_object_default&&"1"==ufaqsw_object_default.showall&&"accordion"!=ufaqsw_object_default.behaviour&&jQuery(".ufaqsw_toggle_default .ufaqsw-toggle-title-area-default").each(function(){jQuery(this).trigger("click")})}),jQuery(function(a){a(".ufaqsw_toggle_default > .ufaqsw_title_area_style1").on("click",function(e){t(a(this))}),a(".ufaqsw_toggle_default > .ufaqsw_title_area_style1").on("keydown",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t(a(this)))});let t=e=>{var t=e.parent().find("[type=checkbox]"),t=("accordion"==ufaqsw_object_style_1.behaviour&&s(e.parent()),(t.attr("checked")?(t.attr("checked",!1),i):(t.attr("checked",!0),n))(t),"true"===e.attr("aria-expanded")),t=(e.attr("aria-expanded",String(!t)),"true"===e.next().attr("aria-hidden"));e.next().attr("aria-hidden",String(!t))},n=e=>{e.next().next().css({height:"auto",opacity:"1"}),e.next().find(".ufaqsw-style1-active-icon").css({display:"inline-block"}),e.next().find(".ufaqsw-style1-normal-icon").css({display:"none"})},i=e=>{e.next().next().css({height:"",opacity:"",padding:""}),e.next().find(".ufaqsw-style1-active-icon").css({display:"none"}),e.next().find(".ufaqsw-style1-normal-icon").css({display:"inline-block"})};var s=function(t){a(".ufaqsw_questions_style1").each(function(){var e=a(this);e.closest(".ufaqsw_toggle_default")[0]!==t[0]&&(e.attr("checked",!1),i(e))})}}),jQuery(function(a){a(".ufaqsw_box_style2").on("click",function(e){t(a(this))}),a(".ufaqsw_box_style2").on("keydown",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t(a(this)))});let t=e=>{"accordion"==ufaqsw_object_style_2.behaviour&&n(e);var t="true"===e.attr("aria-expanded"),t=(e.attr("aria-expanded",String(!t)),"true"===e.next().attr("aria-hidden"));e.next().attr("aria-hidden",String(!t)),e.next().slideToggle("fast"),e.find("i").toggle()},n=function(t){a(".ufaqsw_draw_style2").each(function(){var e=a(this);e.is(":visible")&&e.prev()[0]!==t[0]&&(e.slideToggle("fast"),e.prev().find("i").toggle())})}});
  • ultimate-faq-solution/trunk/inc/AppearanceActions.php

    r3322418 r3378463  
    4848        if (
    4949            ! isset( $_POST['ufaqsw_apply_appearance_to_all_nonce'], $_POST['ufaqsw_appearance_id'], $_POST['ufaqsw_apply_appearance_to_all'] )
    50             || ! wp_verify_nonce( $_POST['ufaqsw_apply_appearance_to_all_nonce'], 'ufaqsw_apply_appearance_to_all_' . $post_id )
     50            || ! wp_verify_nonce( $_POST['ufaqsw_apply_appearance_to_all_nonce'], 'ufaqsw_apply_appearance_to_all_' . $post_id ) // phpcs:ignore
    5151        ) {
    5252            return;
     
    213213        }
    214214    }
    215 
    216215}
  • ultimate-faq-solution/trunk/inc/admin/assets/js/ufaqsw-sorting.js

    r3304087 r3378463  
    11jQuery(function($) {
    2     console.log( 'Testing...' );
     2    'use strict';
    33    var $tbody = $('#the-list');
    44    $tbody.sortable({
  • ultimate-faq-solution/trunk/inc/admin/class-directory-post-type.php

    r3373207 r3378463  
    300300        array(
    301301            'name' => '',
    302             'desc' => esc_html__( 'Note: This section is visible only in the FAQ Assistant window.', 'ufaqsw' ),
     302            'desc' => esc_html__( 'Note: This section is visible only in the FAQ Assistant window and FAQ Group detail page if enabled.', 'ufaqsw' ),
    303303            'type' => 'title',
    304304            'id'   => 'description_meta_title',
     
    370370            'type'    => 'wysiwyg',
    371371            'options' => array(
    372                 'textarea_rows' => 20,
     372                'textarea_rows' => 5,
    373373            ),
    374374        )
     
    412412
    413413    if ( 'ufaqsw_item_appearance' === $column_name ) {
    414         $appearance = get_post_meta( $post_ID, 'linked_faq_appearance_id', true );
     414
     415        $appearance = ufaqsw_get_appearance_id( $post_ID );
     416
    415417        if ( ! empty( $appearance ) ) {
    416418            $edit_link = get_edit_post_link( $appearance );
  • ultimate-faq-solution/trunk/inc/admin/class-faq-group-sorting.php

    r3311707 r3378463  
    4343            wp_enqueue_script(
    4444                'ufaqsw-sorting',
    45                 plugins_url( 'admin/assets/js/ufaqsw-sorting.js', dirname( __FILE__ ) ),
     45                plugins_url( 'admin/assets/js/ufaqsw-sorting.js', __DIR__ ),
    4646                array( 'jquery', 'jquery-ui-sortable' ),
    4747                defined( 'UFAQSW_VERSION' ) ? UFAQSW_VERSION : '1.0.0',
     
    5858            wp_enqueue_style(
    5959                'ufaqsw-sorting-css',
    60                 plugins_url( 'admin/assets/css/ufaqsw-sorting.css', dirname( __FILE__ ) ),
     60                plugins_url( 'admin/assets/css/ufaqsw-sorting.css', __DIR__ ),
    6161                array(),
    6262                defined( 'UFAQSW_VERSION' ) ? UFAQSW_VERSION : '1.0.0'
     
    138138
    139139new FAQ_Group_Sorting();
    140 
  • ultimate-faq-solution/trunk/inc/admin/installation.php

    r3338582 r3378463  
    2121 */
    2222class UFAQSW_Installation {
    23 
    24     /**
    25      * Constructor for the UFAQSW_Installation class.
    26      *
    27      * Adds the activation redirect action.
    28      */
    29     public function __construct() {
    30         add_action( 'activated_plugin', array( &$this, 'activation_redirect' ) );
    31     }
    32 
    33     /**
    34      * Redirects to the settings page upon plugin activation.
    35      *
    36      * @param string $plugin The plugin being activated.
    37      */
    38     public function activation_redirect( $plugin ) {
    39         if ( UFAQSW_BASE === $plugin ) {
    40             if ( 'cli' !== php_sapi_name() ) {
    41                 wp_safe_redirect( admin_url( 'edit.php?post_type=ufaqsw&page=ufaqsw-settings#getting_started' ) );
    42                 exit;
    43             }
    44         }
    45     }
    4623
    4724    /**
     
    7148     */
    7249    public static function plugin_deactivation() {
    73 
     50        // No actions needed on deactivation currently.
    7451    }
    7552}
    76 
    77 new UFAQSW_installation();
  • ultimate-faq-solution/trunk/inc/admin/settings/ai-integration.php

    r3376729 r3378463  
    1717 */
    1818function ufaqsw_register_ai_settings_page() {
     19
     20    if ( ! function_exists( 'wp_get_available_translations' ) ) {
     21        require_once ABSPATH . 'wp-admin/includes/translation-install.php';
     22    }
     23
     24    $translations = wp_get_available_translations();
     25    $traslation_options = array( 'en_US' => 'English (US)' );
     26    foreach ( $translations as $lang_code => $translation ) {
     27        $traslation_options[ $lang_code ] = $translation['english_name'] . ' (' . $lang_code . ')';
     28    }
     29
    1930    $cmb = new_cmb2_box(
    2031        array(
     
    5667            'id'          => 'chatgpt_model',
    5768            'type'        => 'select',
    58             'default'     => 'gpt-3.5-turbo',
     69            'default'     => 'GPT-4o',
    5970            'options'     => array(
    6071                'gpt-3.5-turbo' => __( 'GPT-3.5 Turbo', 'ufaqsw' ),
     
    6374            ),
    6475            'description' => __( '<i>Select the ChatGPT model to use for AI-powered FAQ generation.</i>', 'ufaqsw' ),
     76        )
     77    );
     78
     79    $cmb->add_field(
     80        array(
     81            'name'        => __( 'Language', 'ufaqsw' ),
     82            'id'          => 'ai_language',
     83            'type'        => 'select',
     84            'default'     => get_option( 'WPLANG', 'en_US' ),
     85            'options'     => $traslation_options,
     86            'description' => __( '<i>Select the language to use for AI-powered FAQ generation.</i>', 'ufaqsw' ),
    6587        )
    6688    );
  • ultimate-faq-solution/trunk/inc/ai-writing-assistant/includes/API/ChatGPT.php

    r3315529 r3378463  
    2222     * @var string
    2323     */
    24     private string $model = 'gpt-4';
     24    private string $model = 'gpt-4o';
    2525
    2626    /**
     
    7575    public function refine( string $text, string $instruction = 'Refine the text' ): string {
    7676        if ( ! $this->api_key ) {
    77             throw new \RuntimeException( __( 'Missing OpenAI API key.', 'ufaqsw' ) );
     77            throw new \RuntimeException( esc_html__( 'Missing OpenAI API key.', 'ufaqsw' ) );
    7878        }
    7979
     
    111111        if ( is_wp_error( $response ) ) {
    112112
    113             throw new \RuntimeException( 'Request to OpenAI API failed: ' . $response->get_error_message() );
     113            throw new \RuntimeException( esc_html__( 'Request to OpenAI API failed: ', 'ufaqsw' ) . esc_html( $response->get_error_message() ) );
    114114        }
    115115
    116116        $body = json_decode( wp_remote_retrieve_body( $response ), true );
     117
     118        if ( isset( $body['error'] ) ) {
     119            throw new \RuntimeException( esc_html__( 'OpenAI API error: ', 'ufaqsw' ) . esc_html( $body['error']['message'] ) );
     120        }
    117121
    118122        return $body['choices'][0]['message']['content'] ?? __( 'No response.', 'ufaqsw' );
     
    126130     */
    127131    private function get_language_name( string $code ): string {
    128         $languages = array(
    129             'en' => 'English',
    130             'es' => 'Spanish',
    131             'fr' => 'French',
    132             'de' => 'German',
    133             'it' => 'Italian',
    134             'pt' => 'Portuguese',
    135             'nl' => 'Dutch',
    136             'pl' => 'Polish',
    137         );
    138132
    139         return $languages[ $code ] ?? $code;
     133        if ( ! function_exists( 'wp_get_available_translations' ) ) {
     134            require_once ABSPATH . 'wp-admin/includes/translation-install.php';
     135        }
     136
     137        $translations = wp_get_available_translations();
     138        $traslation_options = array( 'en_US' => 'English (US)' );
     139        foreach ( $translations as $lang_code => $translation ) {
     140            $traslation_options[ $lang_code ] = $translation['english_name'] . ' (' . $lang_code . ')';
     141        }
     142
     143        return $traslation_options[ $code ] ?? $code;
    140144    }
    141145}
  • ultimate-faq-solution/trunk/inc/ai-writing-assistant/includes/Admin/Ajax.php

    r3315529 r3378463  
    4242            $chatgpt->set_api_key( (string) cmb2_get_option( 'ufaqsw_ai_integration_settings', 'chatgpt_api_key' ) );
    4343            $chatgpt->set_model( (string) cmb2_get_option( 'ufaqsw_ai_integration_settings', 'chatgpt_model' ) );
     44            $chatgpt->set_language( (string) cmb2_get_option( 'ufaqsw_ai_integration_settings', 'ai_language' ) );
    4445            $result = $chatgpt->refine( $text, $instruction );
    4546
  • ultimate-faq-solution/trunk/inc/ai-writing-assistant/includes/Core/Plugin.php

    r3315529 r3378463  
    44
    55use BTRefiner\Admin\Ajax;
     6use BTRefiner\Admin\AiGenerator;
    67use BTRefiner\Admin\TinyMCEIntegration;
    78
     
    2627            new Ajax();
    2728        }
     29
     30        new AiGenerator();
    2831    }
    2932
  • ultimate-faq-solution/trunk/inc/functions/actions_and_filters.php

    r3373207 r3378463  
    276276        'edit.php?post_type=ufaqsw_appearance',
    277277        'ufaqsw_chatbot_settings',
     278        'ufaqsw_ai_integration_settings',
    278279        'ufaqsw-settings',
     280        'ufs-export-import',
     281        'ufaqsw-get-help',
    279282    );
    280283
  • ultimate-faq-solution/trunk/inc/languages/ultimate-faq-solution.pot

    r3376729 r3378463  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Ultimate FAQ Solution 1.7.5\n"
     5"Project-Id-Version: Ultimate FAQ Solution 1.7.6\n"
    66"Report-Msgid-Bugs-To: "
    77"https://wordpress.org/support/plugin/ultimate-faq-solution\n"
    8 "POT-Creation-Date: 2025-10-11 15:59:57+00:00\n"
     8"POT-Creation-Date: 2025-10-14 22:04:37+00:00\n"
    99"MIME-Version: 1.0\n"
    1010"Content-Type: text/plain; charset=utf-8\n"
     
    6363
    6464#: inc/AppearanceActions.php:189 inc/admin/class-directory-post-type.php:389
    65 #: inc/admin/settings/ai-integration.php:85
     65#: inc/admin/settings/ai-integration.php:107
    6666msgid "Title"
    6767msgstr ""
     
    173173
    174174#: inc/ExportImport/Admin/views/export-page.php:74
    175 #: inc/admin/settings/ai-integration.php:28
    176 #: inc/admin/settings/ai-integration.php:34
     175#: inc/admin/settings/ai-integration.php:39
     176#: inc/admin/settings/ai-integration.php:45
    177177msgid "AI Integration"
    178178msgstr ""
     
    232232
    233233#: inc/FAQGroupActions.php:109 inc/admin/class-directory-post-type.php:75
    234 #: inc/admin/class-directory-post-type.php:417
     234#: inc/admin/class-directory-post-type.php:419
    235235msgid "Edit Appearance"
    236236msgstr ""
     
    270270#. translators: %s is the name of the template that was not found.
    271271msgid "%s Template Not Found"
     272msgstr ""
     273
     274#: inc/admin/RegisterAdminPages.php:139
     275msgid "Settings saved successfully."
     276msgstr ""
     277
     278#: inc/admin/RegisterAdminPages.php:144
     279msgid "Settings saved successfully. Permalinks have been refreshed."
    272280msgstr ""
    273281
     
    724732
    725733#: inc/admin/class-directory-post-type.php:302
    726 msgid "Note: This section is visible only in the FAQ Assistant window."
     734msgid ""
     735"Note: This section is visible only in the FAQ Assistant window and FAQ "
     736"Group detail page if enabled."
    727737msgstr ""
    728738
     
    781791msgstr ""
    782792
    783 #: inc/admin/class-directory-post-type.php:536
     793#: inc/admin/class-directory-post-type.php:538
    784794msgid "Duplicate this item"
    785795msgstr ""
    786796
    787 #: inc/admin/class-directory-post-type.php:536
     797#: inc/admin/class-directory-post-type.php:538
    788798msgid "Duplicate"
    789799msgstr ""
     
    809819msgstr ""
    810820
    811 #: inc/admin/settings/ai-integration.php:22
     821#: inc/admin/settings/ai-integration.php:33
    812822msgid "AI Integration Settings"
    813823msgstr ""
    814824
    815 #: inc/admin/settings/ai-integration.php:37
     825#: inc/admin/settings/ai-integration.php:48
    816826msgid ""
    817827"<i>Enable this option to activate the AI-powered FAQ generation on your "
     
    819829msgstr ""
    820830
    821 #: inc/admin/settings/ai-integration.php:42
     831#: inc/admin/settings/ai-integration.php:53
    822832msgid "ChatGPT API Key"
    823833msgstr ""
    824834
    825 #: inc/admin/settings/ai-integration.php:45
     835#: inc/admin/settings/ai-integration.php:56
    826836msgid ""
    827837"<i>Enter your OpenAI ChatGPT API key to enable AI-powered FAQ "
     
    830840msgstr ""
    831841
    832 #: inc/admin/settings/ai-integration.php:55
     842#: inc/admin/settings/ai-integration.php:66
    833843msgid "ChatGPT Model"
    834844msgstr ""
    835845
    836 #: inc/admin/settings/ai-integration.php:60
     846#: inc/admin/settings/ai-integration.php:71
    837847msgid "GPT-3.5 Turbo"
    838848msgstr ""
    839849
    840 #: inc/admin/settings/ai-integration.php:61
     850#: inc/admin/settings/ai-integration.php:72
    841851msgid "GPT-4"
    842852msgstr ""
    843853
    844 #: inc/admin/settings/ai-integration.php:62
     854#: inc/admin/settings/ai-integration.php:73
    845855msgid "GPT-4o"
    846856msgstr ""
    847857
    848 #: inc/admin/settings/ai-integration.php:64
     858#: inc/admin/settings/ai-integration.php:75
    849859msgid "<i>Select the ChatGPT model to use for AI-powered FAQ generation.</i>"
    850860msgstr ""
    851861
    852 #: inc/admin/settings/ai-integration.php:72
     862#: inc/admin/settings/ai-integration.php:81
     863msgid "Language"
     864msgstr ""
     865
     866#: inc/admin/settings/ai-integration.php:86
     867msgid "<i>Select the language to use for AI-powered FAQ generation.</i>"
     868msgstr ""
     869
     870#: inc/admin/settings/ai-integration.php:94
    853871msgid "AI Commands"
    854872msgstr ""
    855873
    856 #: inc/admin/settings/ai-integration.php:73
     874#: inc/admin/settings/ai-integration.php:95
    857875msgid ""
    858876"Add custom AI commands for the FAQ Generation. These commands will be "
     
    860878msgstr ""
    861879
    862 #: inc/admin/settings/ai-integration.php:75
     880#: inc/admin/settings/ai-integration.php:97
    863881msgid "Command {#}"
    864882msgstr ""
    865883
    866 #: inc/admin/settings/ai-integration.php:76
     884#: inc/admin/settings/ai-integration.php:98
    867885msgid "Add Command"
    868886msgstr ""
    869887
    870 #: inc/admin/settings/ai-integration.php:77
     888#: inc/admin/settings/ai-integration.php:99
    871889msgid "Remove Command"
    872890msgstr ""
    873891
    874 #: inc/admin/settings/ai-integration.php:94
     892#: inc/admin/settings/ai-integration.php:116
    875893msgid "Commands"
    876894msgstr ""
    877895
    878 #: inc/admin/settings/ai-integration.php:122
     896#: inc/admin/settings/ai-integration.php:144
    879897msgid ""
    880898"Configure AI integration to automatically generate and enhance FAQ answers "
     
    885903msgstr ""
    886904
    887 #: inc/admin/settings/ai-integration.php:126
     905#: inc/admin/settings/ai-integration.php:148
    888906msgid "Read the AI Integration Documentation"
    889907msgstr ""
    890908
    891 #: inc/admin/settings/ai-integration.php:151
     909#: inc/admin/settings/ai-integration.php:173
    892910msgid "Refine the text"
    893911msgstr ""
    894912
    895 #: inc/admin/settings/ai-integration.php:152
     913#: inc/admin/settings/ai-integration.php:174
    896914msgid "Refine and improve the following text."
    897915msgstr ""
    898916
    899 #: inc/admin/settings/ai-integration.php:155
     917#: inc/admin/settings/ai-integration.php:177
    900918msgid "Make it longer"
    901919msgstr ""
    902920
    903 #: inc/admin/settings/ai-integration.php:156
     921#: inc/admin/settings/ai-integration.php:178
    904922msgid "Make the following text longer and more detailed."
    905923msgstr ""
    906924
    907 #: inc/admin/settings/ai-integration.php:159
     925#: inc/admin/settings/ai-integration.php:181
    908926msgid "Make it shorter"
    909927msgstr ""
    910928
    911 #: inc/admin/settings/ai-integration.php:160
     929#: inc/admin/settings/ai-integration.php:182
    912930msgid "Make the following text more concise."
    913931msgstr ""
    914932
    915 #: inc/admin/settings/ai-integration.php:163
     933#: inc/admin/settings/ai-integration.php:185
    916934msgid "Execute as command"
    917935msgstr ""
    918936
    919 #: inc/admin/settings/ai-integration.php:164
     937#: inc/admin/settings/ai-integration.php:186
    920938msgid "Execute this text as prompt."
    921939msgstr ""
    922940
    923 #: inc/admin/settings/settings.php:117
    924 msgid "Settings saved successfully."
    925 msgstr ""
    926 
    927 #: inc/admin/settings/settings.php:122
    928 msgid "Settings saved successfully. Permalinks have been refreshed."
    929 msgstr ""
    930 
    931 #: inc/admin/settings/ui.php:206
     941#: inc/admin/templates/get-help.php:18
     942msgid "Get Help"
     943msgstr ""
     944
     945#: inc/admin/templates/get-help.php:19
     946msgid "Support, documentation, and troubleshooting for Ultimate FAQ Solution."
     947msgstr ""
     948
     949#: inc/admin/templates/get-help.php:25
     950msgid "Documentation"
     951msgstr ""
     952
     953#: inc/admin/templates/get-help.php:26
     954msgid "Read the full plugin documentation and feature guides."
     955msgstr ""
     956
     957#: inc/admin/templates/get-help.php:31
     958msgid "Get Support"
     959msgstr ""
     960
     961#: inc/admin/templates/get-help.php:32
     962msgid "Contact our team for help or to report a bug."
     963msgstr ""
     964
     965#: inc/admin/templates/get-help.php:42
     966msgid "GitHub"
     967msgstr ""
     968
     969#: inc/admin/templates/get-help.php:43
     970msgid "View the source code, report issues, or contribute on GitHub."
     971msgstr ""
     972
     973#: inc/admin/templates/get-help.php:49
     974msgid "Need More Help?"
     975msgstr ""
     976
     977#: inc/admin/templates/get-help.php:51
     978msgid "We’re here to help!"
     979msgstr ""
     980
     981#: inc/admin/templates/get-help.php:51
     982msgid "Contact us for fast, friendly support:"
     983msgstr ""
     984
     985#: inc/admin/templates/get-help.php:56
     986msgid "We typically respond within 1 business day."
     987msgstr ""
     988
     989#: inc/admin/templates/get-help.php:60
     990msgid "Ultimate FAQ Solution by "
     991msgstr ""
     992
     993#: inc/admin/templates/settings.php:199
    932994msgid ""
    933995"You need the WooCommerce plugin installed and activated to use these "
     
    9391001msgstr ""
    9401002
    941 #: inc/ai-writing-assistant/includes/API/ChatGPT.php:118
     1003#: inc/ai-writing-assistant/includes/API/ChatGPT.php:113
     1004msgid "Request to OpenAI API failed: "
     1005msgstr ""
     1006
     1007#: inc/ai-writing-assistant/includes/API/ChatGPT.php:119
     1008msgid "OpenAI API error: "
     1009msgstr ""
     1010
     1011#: inc/ai-writing-assistant/includes/API/ChatGPT.php:122
    9421012msgid "No response."
     1013msgstr ""
     1014
     1015#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:44
     1016msgid "Created with AI"
     1017msgstr ""
     1018
     1019#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:72
     1020msgid "AI FAQ Group Generator - Ultimate FAQ Solution"
     1021msgstr ""
     1022
     1023#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:72
     1024msgid "Create with AI"
     1025msgstr ""
     1026
     1027#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:126
     1028msgid "Create FAQ Group with AI"
     1029msgstr ""
     1030
     1031#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:129
     1032msgid "FAQ Group Title:"
     1033msgstr ""
     1034
     1035#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:130
     1036msgid "e.g. Shipping & Delivery"
     1037msgstr ""
     1038
     1039#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:131
     1040msgid ""
     1041"Give your FAQ group a short, descriptive title. For example, \"Shipping & "
     1042"Delivery\", \"Product Returns\", or \"Account Setup\"."
     1043msgstr ""
     1044
     1045#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:135
     1046msgid "Context (page link or text):"
     1047msgstr ""
     1048
     1049#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:136
     1050msgid "Paste a page link or short description..."
     1051msgstr ""
     1052
     1053#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:138
     1054msgid ""
     1055"Provide the content or context that the AI will use to generate relevant "
     1056"FAQs."
     1057msgstr ""
     1058
     1059#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:139
     1060msgid "You can paste a page URL, a paragraph of text, or product/service details."
     1061msgstr ""
     1062
     1063#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:144
     1064msgid "Number of FAQ items:"
     1065msgstr ""
     1066
     1067#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:146
     1068msgid "Select how many FAQs you want the AI to generate for this group (1-20)."
     1069msgstr ""
     1070
     1071#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:150
     1072msgid "Tone / Style:"
     1073msgstr ""
     1074
     1075#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:152
     1076msgid "Neutral / Informative"
     1077msgstr ""
     1078
     1079#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:153
     1080msgid "Friendly & Conversational"
     1081msgstr ""
     1082
     1083#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:154
     1084msgid "Professional & Formal"
     1085msgstr ""
     1086
     1087#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:155
     1088msgid "Technical & Detailed"
     1089msgstr ""
     1090
     1091#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:156
     1092msgid "Persuasive / Marketing Style"
     1093msgstr ""
     1094
     1095#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:158
     1096msgid "Choose the style in which answers should be written."
     1097msgstr ""
     1098
     1099#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:162
     1100msgid "Generate FAQ Group"
     1101msgstr ""
     1102
     1103#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:186
     1104msgid "AI Integration Not Enabled"
     1105msgstr ""
     1106
     1107#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:188
     1108msgid ""
     1109"To use the AI FAQ Generator, please enable AI Integration in your plugin "
     1110"settings."
     1111msgstr ""
     1112
     1113#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:194
     1114msgid "Enable AI Integration"
     1115msgstr ""
     1116
     1117#: inc/ai-writing-assistant/includes/Admin/AiGenerator.php:196
     1118msgid "Close"
    9431119msgstr ""
    9441120
     
    9851161msgstr ""
    9861162
    987 #: inc/functions/actions_and_filters.php:353
     1163#: inc/functions/actions_and_filters.php:356
     1164#: inc/functions/actions_and_filters.php:365
     1165msgid "FAQ Group published."
     1166msgstr ""
     1167
     1168#: inc/functions/actions_and_filters.php:357
     1169msgid "Custom field updated."
     1170msgstr ""
     1171
     1172#: inc/functions/actions_and_filters.php:358
     1173msgid "Custom field deleted."
     1174msgstr ""
     1175
     1176#: inc/functions/actions_and_filters.php:359
     1177msgid "FAQ Group updated."
     1178msgstr ""
     1179
    9881180#: inc/functions/actions_and_filters.php:362
    989 msgid "FAQ Group published."
    990 msgstr ""
    991 
    992 #: inc/functions/actions_and_filters.php:354
    993 msgid "Custom field updated."
    994 msgstr ""
    995 
    996 #: inc/functions/actions_and_filters.php:355
    997 msgid "Custom field deleted."
    998 msgstr ""
    999 
    1000 #: inc/functions/actions_and_filters.php:356
    1001 msgid "FAQ Group updated."
    1002 msgstr ""
    1003 
    1004 #: inc/functions/actions_and_filters.php:359
    10051181#. translators: %s: Date and time of the revision
    10061182msgid "FAQ Group restored to revision from %s."
    10071183msgstr ""
    10081184
    1009 #: inc/functions/actions_and_filters.php:363
     1185#: inc/functions/actions_and_filters.php:366
    10101186msgid "FAQ Group saved."
    10111187msgstr ""
    10121188
    1013 #: inc/functions/actions_and_filters.php:364
     1189#: inc/functions/actions_and_filters.php:367
    10141190msgid "FAQ Group submitted."
    10151191msgstr ""
    10161192
    1017 #: inc/functions/actions_and_filters.php:367
     1193#: inc/functions/actions_and_filters.php:370
    10181194#. translators: %s: Date and time the FAQ Group is scheduled for
    10191195msgid "FAQ Group scheduled for: <strong>%s</strong>."
    10201196msgstr ""
    10211197
    1022 #: inc/functions/actions_and_filters.php:370
     1198#: inc/functions/actions_and_filters.php:373
    10231199msgid "FAQ Group draft updated."
    10241200msgstr ""
     
    17561932
    17571933#. Plugin URI of the plugin/theme
    1758 msgid "https://www.braintum.com/ultimate-faq-solution/"
     1934msgid "https://www.ultimatefaqsolution.com/"
    17591935msgstr ""
    17601936
  • ultimate-faq-solution/trunk/init.php

    r3376729 r3378463  
    1010 *
    1111 * Plugin Name: Ultimate FAQ Solution
    12  * Version: 1.7.5
    13  * Plugin URI: https://www.braintum.com/ultimate-faq-solution/
     12 * Version: 1.7.6
     13 * Plugin URI: https://www.ultimatefaqsolution.com/
    1414 * Description: A WordPress plugin to create, organize, and display FAQs with responsive layouts and styles.
    1515 * Author: braintum
     
    3434* Use `plugin_dir_path` and `plugin_dir_url` only when necessary to reduce overhead.
    3535*/
    36 define( 'UFAQSW_VERSION', '1.7.5' );
     36define( 'UFAQSW_VERSION', '1.7.6' );
    3737define( 'UFAQSW_PRFX', 'ufaqsw' );
    3838define( 'UFAQSW_BASE', plugin_basename( __FILE__ ) );
     
    5555if ( is_admin() ) {
    5656    include_once UFAQSW__PLUGIN_DIR . 'inc/admin/class-faq-group-sorting.php';
    57     include_once UFAQSW__PLUGIN_DIR . 'inc/admin/settings/settings.php';
     57    include_once UFAQSW__PLUGIN_DIR . 'inc/admin/RegisterAdminPages.php';
    5858    include_once UFAQSW__PLUGIN_DIR . 'inc/admin/chatbot.php';
    5959    include_once UFAQSW__PLUGIN_DIR . 'inc/admin/icons/class.icons.php';
     
    6262    include_once UFAQSW__PLUGIN_DIR . 'inc/ExportImport/bootstrap.php';
    6363
     64    Mahedi\UltimateFaqSolution\Admin\RegisterAdminPages::get_instance();
    6465    Mahedi\UltimateFaqSolution\ExportImport\bootstrap();
    6566}
     
    9192
    9293        load_plugin_textdomain( 'ufaqsw', false, dirname( plugin_basename( __FILE__ ) ) . '/inc/languages' );
     94
     95        // Deactivation feedback.
     96        new Mahedi\UltimateFaqSolution\DeactivationFeedback();
    9397    }
    9498);
  • ultimate-faq-solution/trunk/readme.txt

    r3376729 r3378463  
    11=== Ultimate FAQ Solution ===
    22Contributors: braintum
    3 Donate link: https://www.solrengine.com/ 
    4 Tags: faq-directory, accordion, knowledgebase, product-faq, ai 
     3Donate link: https://www.braintum.com/ 
     4Tags: faq, knowledgebase, accordion, ai, woocommerce
    55Requires at least: 5.1 
    66Tested up to: 6.8.3 
    7 Stable tag: 1.7.5
     7Stable tag: 1.7.6
    88Requires PHP: 7.4.0 
    99License: GPLv2 or later 
    1010License URI: https://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses 
    1111
    12 A WordPress plugin to create, organize, and display FAQs with responsive layouts, styles, and AI-powered answer suggestions.
     12A WordPress plugin to create, organize, and display FAQs with AI-powered answer suggestions, one-click FAQ group generation, WooCommerce integration, and a floating chat assistant.
    1313
    1414== Description ==
    1515
    16 = 🚀 What is Ultimate FAQ Solution? =
    17 
    18 Ultimate FAQ Solution is a powerful and flexible WordPress plugin for creating, organizing, and displaying FAQs with ease. Designed for both standard WordPress sites and WooCommerce stores, it offers responsive layouts, accordion and toggle display modes, and a searchable FAQ directory.
     16Ultimate FAQ Solution is a powerful, flexible WordPress plugin for creating, organizing, and displaying FAQs—now with advanced AI features. Instantly generate entire FAQ groups with one click using the "Create with AI" tool, or draft individual answers with AI-powered suggestions. Designed for both standard WordPress sites and WooCommerce stores, it offers responsive layouts, accordion and toggle display modes, and a searchable FAQ directory. The interactive FAQ Assistant adds a floating chat icon to your site, giving users instant, conversational access to your knowledge base.
    1917
    2018With Ultimate FAQ Solution, you can:
     
    3028Whether you need a simple FAQ section or a full-featured knowledge base, Ultimate FAQ Solution streamlines the process and helps you deliver fast, accurate answers to your visitors.
    3129
     30= 🧠 "Create with AI" Feature =
     31
     32The new "Create with AI" feature allows you to automatically generate entire FAQ groups using advanced AI assistance. Instead of manually writing each question and answer, you can now leverage AI to quickly draft a set of relevant FAQs for your topic, product, or service—all in just a few clicks.
     33
     34**How it works:**
     35- When creating a new FAQ group, simply click the "Create with AI" button.
     36- Enter a FAQ Group Title and context of what you want FAQs about.
     37- The AI will instantly generate a list of suggested questions and answers tailored to your input.
     38- You can edit, and customize the generated FAQs and saving them to your site.
     39
     40**Benefits:**
     41- Save time and effort when building new FAQ sections.
     42- Get high-quality, relevant questions and answers based on your topic.
     43- Easily expand your knowledge base or help center with minimal manual work.
     44- Maintain full control—edit or remove any AI-generated content before publishing.
     45
     46This feature is perfect for quickly launching new FAQ groups, onboarding new products, or providing instant support content for your users. The "Create with AI" tool is designed to streamline your workflow and help you deliver accurate, helpful information to your audience faster than ever.
     47
    3248= 🤖 AI-Powered FAQ Answer Suggestions =
    3349
     
    4157
    4258= ✅ Key Features Overview =
     59* 🧠 **Create with AI:** Instantly generate entire FAQ groups with one click using advanced AI assistance.
    4360* 💬 **FAQ Assistant:** Add an interactive, floating help icon with chat-style FAQ access for instant answers.
    4461* 🤖 **AI-Powered Answer Suggestions:** Instantly generate FAQ answers using AI to save time and improve accuracy.
     
    165182== Changelog ==
    166183
     184=1.7.6=
     185* New: 🧠 "Create with AI" Feature: Introduced the "Create with AI" option in FAQ Group creation, allowing automatic generation of FAQs using AI assistance.
     186* Enhanced: 🎨 Get Help Page Revamp: Redesigned the Get Help page for a cleaner and more user-friendly admin experience.
     187* Enhanced: ⚙️ Settings Page Update: Improved layout and usability of the plugin settings page.
     188* Enhanced: 💬 Thickbox Popup Update: Enhanced "Create with AI" thickbox modal for smoother user interaction.
     189* Fixed: 🧩 Default Template Accordion Fix: Resolved an issue with the default FAQ accordion behavior.
     190* Improved: 🔄 Refactored Codebase: Streamlined several core functions for better performance and maintainability.
     191* Updated: 🌐 Translations Updated: Improved and added missing translations across the plugin.
     192
    167193= 1.7.5 =
    168194* New: Enhanced native export/import functionality for seamless FAQ data migration and backup.
  • ultimate-faq-solution/trunk/vendor/composer/autoload_classmap.php

    r3376729 r3378463  
    1212    'Mahedi\\UltimateFaqSolution\\Chatbot' => $baseDir . '/inc/Chatbot.php',
    1313    'Mahedi\\UltimateFaqSolution\\Custom_Resources' => $baseDir . '/inc/Custom_Resources.php',
     14    'Mahedi\\UltimateFaqSolution\\DeactivationFeedback' => $baseDir . '/inc/DeactivationFeedback.php',
    1415    'Mahedi\\UltimateFaqSolution\\ExportImport\\Admin\\AdminPage' => $baseDir . '/inc/ExportImport/Admin/AdminPage.php',
    1516    'Mahedi\\UltimateFaqSolution\\ExportImport\\Base\\BaseExporter' => $baseDir . '/inc/ExportImport/Base/BaseExporter.php',
  • ultimate-faq-solution/trunk/vendor/composer/autoload_static.php

    r3376729 r3378463  
    3232        'Mahedi\\UltimateFaqSolution\\Chatbot' => __DIR__ . '/../..' . '/inc/Chatbot.php',
    3333        'Mahedi\\UltimateFaqSolution\\Custom_Resources' => __DIR__ . '/../..' . '/inc/Custom_Resources.php',
     34        'Mahedi\\UltimateFaqSolution\\DeactivationFeedback' => __DIR__ . '/../..' . '/inc/DeactivationFeedback.php',
    3435        'Mahedi\\UltimateFaqSolution\\ExportImport\\Admin\\AdminPage' => __DIR__ . '/../..' . '/inc/ExportImport/Admin/AdminPage.php',
    3536        'Mahedi\\UltimateFaqSolution\\ExportImport\\Base\\BaseExporter' => __DIR__ . '/../..' . '/inc/ExportImport/Base/BaseExporter.php',
  • ultimate-faq-solution/trunk/vendor/composer/installed.php

    r3376729 r3378463  
    44        'pretty_version' => 'dev-main',
    55        'version' => 'dev-main',
    6         'reference' => 'eb0ff6f08ec5044fe042817890f3a6925eb23215',
     6        'reference' => '13f58ea401dd1f74bec223564f9b31fbcac3b4a3',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    2323            'pretty_version' => 'dev-main',
    2424            'version' => 'dev-main',
    25             'reference' => 'eb0ff6f08ec5044fe042817890f3a6925eb23215',
     25            'reference' => '13f58ea401dd1f74bec223564f9b31fbcac3b4a3',
    2626            'type' => 'wordpress-plugin',
    2727            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.