Version Description
- 06-08-2020 =
- Introduce - Demo Importer Status page
- Tweak - Added compatibility with WordPress v5.5
- Remove -
Reset wizard
feature to reset the site to fresh WordPress install.
Download this release
Release Info
Developer | themegrilldev |
Plugin | ThemeGrill Demo Importer |
Version | 1.6.6 |
Comparing to | |
See all releases |
Code changes from version 1.6.5 to 1.6.6
- assets/js/admin/demo-importer.js +0 -5
- assets/js/admin/demo-importer.min.js +1 -1
- assets/js/admin/demo-updates.js +9 -0
- assets/js/admin/demo-updates.min.js +1 -1
- includes/admin/assets/css/notice.css +23 -0
- includes/admin/assets/js/notice.js +55 -0
- includes/admin/class-demo-importer-status.php +93 -0
- includes/admin/views/html-admin-page-demo-import-faqs.php +63 -0
- includes/admin/views/html-admin-page-status.php +46 -0
- includes/admin/views/html-admin-page-system-status-report.php +362 -0
- includes/admin/views/html-notice-reset-wizard-success.php +0 -15
- includes/admin/views/html-notice-reset-wizard.php +0 -19
- includes/class-demo-importer.php +125 -167
- includes/class-themegrill-demo-importer.php +1 -1
- includes/functions-demo-update.php +1 -2
- languages/themegrill-demo-importer.pot +585 -102
- readme.txt +7 -2
- themegrill-demo-importer.php +1 -1
assets/js/admin/demo-importer.js
CHANGED
@@ -1468,11 +1468,6 @@ $( document ).ready( function() {
|
|
1468 |
$( '.tips' ).tipTip({ 'attribute': 'data-tip', 'defaultPosition': 'top', 'fadeIn': 50, 'fadeOut': 50, 'delay': 50 });
|
1469 |
} ).trigger( 'init_tooltips' );
|
1470 |
|
1471 |
-
// Confirm WordPress reset wizard.
|
1472 |
-
$( '.themegrill-reset-wordpress' ).on( 'click', function() {
|
1473 |
-
return window.confirm( _demoImporterSettings.settings.confirmReset );
|
1474 |
-
});
|
1475 |
-
|
1476 |
// Change the footer text when rating link is clicked.
|
1477 |
$( '.themegrill-demo-importer-rating-link' ).on( 'click', function() {
|
1478 |
var $this_el = $( this );
|
1468 |
$( '.tips' ).tipTip({ 'attribute': 'data-tip', 'defaultPosition': 'top', 'fadeIn': 50, 'fadeOut': 50, 'delay': 50 });
|
1469 |
} ).trigger( 'init_tooltips' );
|
1470 |
|
|
|
|
|
|
|
|
|
|
|
1471 |
// Change the footer text when rating link is clicked.
|
1472 |
$( '.themegrill-demo-importer-rating-link' ).on( 'click', function() {
|
1473 |
var $this_el = $( this );
|
assets/js/admin/demo-importer.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
window.wp=window.wp||{},function(d){var a,i;(a=wp.demos=wp.demos||{}).data=_demoImporterSettings,i=a.data.l10n,a.isNew=!!a.data.settings.isNew,_.extend(a,{model:{},view:{},routes:{},router:{},template:wp.template}),a.Model=Backbone.Model.extend({initialize:function(){var e;this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(e=this.get("sections").description,this.set({description:e}))}}),a.view.Appearance=wp.Backbone.View.extend({el:"#wpbody-content .wrap .theme-browser",window:d(window),page:0,initialize:function(e){_.bindAll(this,"scroller"),this.SearchView=e.SearchView?e.SearchView:a.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new a.view.Demos({collection:this.collection,parent:this}),this.search(),this.$el.removeClass("search-loading"),this.view.render(),this.$el.empty().append(this.view.el).addClass("rendered")},searchContainer:d(".search-form"),search:function(){var e;1!==a.data.demos.length&&(e=new this.SearchView({collection:this.collection,parent:this}),(this.SearchView=e).render(),this.searchContainer.append(d.parseHTML('<label class="screen-reader-text" for="wp-filter-search-input">'+i.search+"</label>")).append(e.el).on("submit",function(e){e.preventDefault()}))},scroller:function(){var e,t=this;this.window.scrollTop(),t.window.height(),e=t.$el.offset().top+t.$el.outerHeight(!1)-t.window.height(),e=Math.round(.9*e)}}),a.Collection=Backbone.Collection.extend({model:a.Model,terms:"",doSearch:function(e){this.terms!==e&&(this.terms=e,0<this.terms.length&&this.search(this.terms),""===this.terms&&(this.reset(a.data.demos),d("body").removeClass("no-results")),this.trigger("demos:update"))},search:function(t){var i,e,o,s,r,n;this.reset(a.data.demos,{silent:!0}),t=(t=t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")).replace(/ /g,")(?=.*"),i=new RegExp("^(?=.*"+t+").+","i"),0===(e=this.filter(function(e){return s=e.get("name").replace(/(<([^>]+)>)/gi,""),r=e.get("description").replace(/(<([^>]+)>)/gi,""),n=e.get("author").replace(/(<([^>]+)>)/gi,""),o=_.union([s,e.get("id"),r,n,e.get("tags")]),i.test(e.get("author"))&&2<t.length&&e.set("displayAuthor",!0),i.test(o)})).length?this.trigger("query:empty"):d("body").removeClass("no-results"),this.reset(e)},paginate:function(e){return e=e||0,this},count:!1,query:function(t){var e,i,o,s=this.queries,r=this;if(this.currentQuery.request=t,e=_.find(s,function(e){return _.isEqual(e.request,t)}),(i=_.has(t,"page"))||(this.currentQuery.page=1),e||i){if(i)return this.apiCall(t,i).done(function(e){r.add(e.demos),r.trigger("query:success"),r.loadingDemos=!1}).fail(function(){r.trigger("query:fail")});0===e.demos.length?r.trigger("query:empty"):d("body").removeClass("no-results"),_.isNumber(e.total)&&(this.count=e.total),this.reset(e.demos),e.total||(this.count=this.length),this.trigger("demos:update"),this.trigger("query:success",this.count)}else e=this.apiCall(t).done(function(e){e.demos&&(r.reset(e.demos),o=e.info.results,s.push({demos:e.demos,request:t,total:o})),r.trigger("demos:update"),r.trigger("query:success",o),e.demos&&0===e.demos.length&&r.trigger("query:empty")}).fail(function(){r.trigger("query:fail")})},queries:[],currentQuery:{page:1,request:{}},apiCall:function(e,t){return wp.ajax.send("query-demos",{data:{request:_.extend({per_page:100},e)},beforeSend:function(){t||d("body").addClass("loading-content").removeClass("no-results")}})},loadingDemos:!1}),a.view.Demo=wp.Backbone.View.extend({className:"theme",state:"grid",html:a.template("demo"),events:{click:"preview",keydown:"preview",touchend:"preview",keyup:"addFocus",touchmove:"preventExpand","click .demo-import":"importDemo"},touchDrag:!1,initialize:function(){this.model.on("change",this.render,this)},render:function(){var e=this.model.toJSON();this.$el.html(this.html(e)).attr({tabindex:0,"aria-describedby":e.id+"-action "+e.id+"-name","data-slug":e.id}),this.activeDemo(),this.model.get("displayAuthor")&&this.$el.addClass("display-author")},activeDemo:function(){this.model.get("active")&&this.$el.addClass("active")},addFocus:function(){var e=d(":focus").hasClass("theme")?d(":focus"):d(":focus").parents(".theme");d(".theme.focus").removeClass("focus"),e.addClass("focus")},preventExpand:function(){this.touchDrag=!0},preview:function(e){var t,i,o=this;if(e=e||window.event,!0===this.touchDrag)return this.touchDrag=!1;d(e.target).not(".install-demo-preview").parents(".theme-actions").length||"keydown"===e.type&&13!==e.which&&32!==e.which||"keydown"===e.type&&13!==e.which&&d(":focus").hasClass("button")||(e.preventDefault(),e=e||window.event,a.focusedDemo=this.$el,a.preview=i=new a.view.Preview({model:this.model}),i.render(),this.setNavButtonsState(),1===this.model.collection.length?i.$el.addClass("no-navigation"):i.$el.removeClass("no-navigation"),d("div.wrap").append(i.el),this.listenTo(i,"demo:next",function(){if(t=o.model,_.isUndefined(o.current)||(t=o.current),o.current=o.model.collection.at(o.model.collection.indexOf(t)+1),_.isUndefined(o.current))return o.options.parent.parent.trigger("demo:end"),o.current=t;i.model=o.current,i.render(),this.setNavButtonsState(),d(".next-theme").focus()}).listenTo(i,"demo:previous",function(){t=o.model,0!==o.model.collection.indexOf(o.current)&&(_.isUndefined(o.current)||(t=o.current),o.current=o.model.collection.at(o.model.collection.indexOf(t)-1),_.isUndefined(o.current)||(i.model=o.current,i.render(),this.setNavButtonsState(),d(".previous-theme").focus()))}),this.listenTo(i,"preview:close",function(){o.current=o.model}))},setNavButtonsState:function(){var e=d(".theme-install-overlay"),t=_.isUndefined(this.current)?this.model:this.current,i=e.find(".previous-theme"),o=e.find(".next-theme");0===this.model.collection.indexOf(t)&&(i.addClass("disabled").prop("disabled",!0),o.focus()),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(t)+1))&&(o.addClass("disabled").prop("disabled",!0),i.focus())},importDemo:function(e){var t=this,i=d(e.target),o=d(e.target).data("plugins");e.preventDefault(),i.hasClass("disabled")||i.hasClass("updating-message")||d.confirm({title:"",content:'<div class="demo-import-confirm-message">'+wp.demos.data.settings.confirmImport+"</div>",boxWidth:"50%",useBootstrap:!1,buttons:{confirm:{text:wp.demos.data.l10n.confirmMsg,keys:["enter"],btnClass:"demo-import-confirm-button",action:function(){t.processImport(i,o,t)}},cancel:{btnClass:"demo-import-cancel-button",action:function(){}}}})},processImport:function(i,e,o){wp.updates.maybeRequestFilesystemCredentials(event),d(document).trigger("wp-plugin-bulk-install",e),d.each(e,function(e,t){t.is_active||wp.updates.queue.push({action:"install-plugin",data:{plugin:t.slug,name:t.name,slug:e,demo:i.data("slug")}})}),d(document).on("wp-demo-import-success",function(e,t){o.model.get("id")===t.slug&&(o.render(),o.model.set({imported:!0}))}),wp.updates.queue.push({action:"import-demo",data:{slug:i.data("slug")}}),wp.updates.queueChecker()}}),a.view.Preview=wp.Backbone.View.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .devices button":"previewDevice","click .previous-theme":"previousDemo","click .next-theme":"nextDemo",keyup:"keyEvent","click .demo-import":"importDemo"},html:a.template("demo-preview"),render:function(){var e,t=this,i=this.model.toJSON(),o=d(document.body);o.attr("aria-busy","true"),this.$el.removeClass("iframe-ready").html(this.html(i)),(e=this.$el.data("current-preview-device"))&&t.tooglePreviewDeviceButtons(e),a.router.navigate(a.router.baseUrl(a.router.demoPath+this.model.get("id")),{replace:!1}),this.$el.fadeIn(200,function(){o.addClass("demo-importer-active full-overlay-active")}),this.$el.find("iframe").one("load",function(){t.iframeLoaded()})},iframeLoaded:function(){this.$el.addClass("iframe-ready"),d(document.body).attr("aria-busy","false")},close:function(){return this.$el.fadeOut(200,function(){d("body").removeClass("demo-importer-active full-overlay-active"),a.focusedDemo&&a.focusedDemo.focus()}).removeClass("iframe-ready"),a.router.selectedTab?a.router.navigate(a.router.baseUrl("&browse="+a.router.selectedTab)):a.router.navigate(a.router.baseUrl("")),this.trigger("preview:close"),this.undelegateEvents(),this.unbind(),!1},collapse:function(e){var t=d(e.currentTarget);return"true"===t.attr("aria-expanded")?t.attr({"aria-expanded":"false","aria-label":i.expandSidebar}):t.attr({"aria-expanded":"true","aria-label":i.collapseSidebar}),this.$el.toggleClass("collapsed").toggleClass("expanded"),!1},previewDevice:function(e){var t=d(e.currentTarget).data("device");this.$el.removeClass("preview-desktop preview-tablet preview-mobile").addClass("preview-"+t).data("current-preview-device",t),this.tooglePreviewDeviceButtons(t)},tooglePreviewDeviceButtons:function(e){var t=d(".wp-full-overlay-footer .devices");t.find("button").removeClass("active").attr("aria-pressed",!1),t.find("button.preview-"+e).addClass("active").attr("aria-pressed",!0)},keyEvent:function(e){27===e.keyCode&&(this.undelegateEvents(),this.close()),39===e.keyCode&&_.once(this.nextDemo()),37===e.keyCode&&this.previousDemo()},nextDemo:function(){return this.trigger("demo:next",this.model.cid),!1},previousDemo:function(){return this.trigger("demo:previous",this.model.cid),!1},importDemo:function(e){var t=this,i=d(e.target),o=d(".plugins-list-table").find("#the-list tr"),s=[];e.preventDefault(),i.hasClass("disabled")||i.hasClass("updating-message")||d.confirm({title:"",content:'<div class="demo-import-confirm-message">'+wp.demos.data.settings.confirmImport+"</div>",boxWidth:"50%",useBootstrap:!1,buttons:{confirm:{text:wp.demos.data.l10n.confirmMsg,keys:["enter"],btnClass:"demo-import-confirm-button",action:function(){t.processImport(i,o,0,0,s,t)}},cancel:{btnClass:"demo-import-cancel-button",action:function(){}}},onContentReady:function(){d("body").addClass("demo-import-message-popup")},onDestroy:function(){d("body").removeClass("demo-import-message-popup")}})},processImport:function(r,e,n,a,l,c){wp.updates.maybeRequestFilesystemCredentials(event),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled"),d(document).trigger("wp-plugin-bulk-install",e),e.each(function(e,t){var i=d(t);i.hasClass("inactive")&&!i.find("notice-error").length&&wp.updates.queue.push({action:"install-plugin",data:{plugin:i.data("plugin"),slug:i.data("slug"),demo:r.data("slug")}})}),d(document).on("wp-plugin-bulk-installing",function(){d(".wp-full-overlay-sidebar-content").animate({scrollTop:d(document).height()})}),d(document).on("wp-plugin-bulk-install-success wp-plugin-bulk-install-error",function(e,t){var i,o,s=d('[data-slug="'+t.slug+'"]');"wp-"+t.install+"-bulk-install-success"===e.type?n++:(o=t.pluginName?t.pluginName:s.find(".plugin-name").text(),a++,l.push(o+": "+t.errorMessage)),wp.updates.adminNotice=wp.template("wp-bulk-installs-admin-notice"),d(".plugins-details .bulk-action-notice").remove(),d(".plugins-details .plugins-info").after(wp.updates.adminNotice({id:"bulk-action-notice",className:"bulk-action-notice notice-alt",successes:n,errors:a,errorMessages:l,type:t.install})),i=d("#bulk-action-notice").on("click","button",function(){d(this).toggleClass("bulk-action-errors-collapsed").attr("aria-expanded",!d(this).hasClass("bulk-action-errors-collapsed")),i.find(".bulk-action-errors").toggleClass("hidden")}),wp.updates.queue.length||(0<a?r.removeClass("updating-message").text(r.data("originaltext")):(c.model.set({requiredPlugins:!1}),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled")))}),d(document).on("wp-updates-notice-added",function(){wp.updates.adminNotice=wp.template("wp-updates-admin-notice")}),d(document).on("wp-demo-import-success",function(e,t){c.model.get("id")===t.slug&&c.model.set({imported:!0})}),wp.updates.queue.push({action:"import-demo",data:{slug:r.data("slug")}}),wp.updates.queueChecker()}}),a.view.Demos=wp.Backbone.View.extend({className:"themes wp-clearfix",$overlay:d("div.theme-overlay"),index:0,count:d(".wrap .demo-count"),liveDemoCount:0,initialize:function(e){var t=this;this.parent=e.parent,this.setView("grid"),t.importedDemo(),this.listenTo(t.collection,"demos:update",function(){t.parent.page=0,t.importedDemo(),t.render(this)}),this.listenTo(t.collection,"query:success",function(e){_.isNumber(e)?(t.count.text(e),t.announceSearchResults(e)):(t.count.text(t.collection.length),t.announceSearchResults(t.collection.length))}),this.listenTo(t.collection,"query:empty",function(){d("body").addClass("no-results")}),this.listenTo(this.parent,"demo:scroll",function(){t.renderDemos(t.parent.page)})},render:function(){this.$el.empty(),0<this.options.collection.size()&&this.renderDemos(this.parent.page),this.liveDemoCount=this.collection.count?this.collection.count:this.collection.length,this.count.text(this.liveDemoCount)},renderDemos:function(e){var t=this;t.instance=t.collection.paginate(e),0!==t.instance.size()?(a.isNew&&1<=e&&d(".add-new-theme").remove(),t.instance.each(function(e){t.demo=new a.view.Demo({model:e,parent:t}),t.demo.render(),t.$el.append(t.demo.el)}),a.isNew&&a.data.settings.suggestURI&&this.$el.append('<div class="theme add-new-theme"><a href="'+a.data.settings.suggestURI+'" target="blank"><div class="theme-screenshot"><span></span></div><h2 class="theme-name">'+i.suggestNew+"</h2></a></div>"),this.parent.page++):this.parent.trigger("demo:end")},importedDemo:function(){var e;(e=this.collection.findWhere({active:!0}))&&(this.collection.remove(e),this.collection.add(e,{at:0}))},setView:function(e){return e},announceSearchResults:function(e){0===e?wp.a11y.speak(i.noDemosFound):wp.a11y.speak(i.demosFound.replace("%d",e))}}),a.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-filter-search-input",searching:!1,attributes:{placeholder:i.searchPlaceholder,type:"search","aria-describedby":"live-search-desc"},events:{input:"search",keyup:"search",blur:"pushState"},initialize:function(e){this.parent=e.parent,this.listenTo(this.parent,"demo:close",function(){this.searching=!1})},search:function(e){"keyup"===e.type&&27===e.which&&(e.target.value=""),this.doSearch(e)},doSearch:function(e){var t={};this.collection.doSearch(e.target.value.replace(/\+/g," ")),this.searching&&13!==e.which?t.replace=!0:this.searching=!0,e.target.value?a.router.navigate(a.router.baseUrl(a.router.searchPath+e.target.value),t):a.router.navigate(a.router.baseUrl(""))},pushState:function(e){var t=a.router.baseUrl("");e.target.value&&(t=a.router.baseUrl(a.router.searchPath+encodeURIComponent(e.target.value))),this.searching=!1,a.router.navigate(t)}}),a.Router=Backbone.Router.extend({routes:{"themes.php?page=demo-importer&demo=:slug":"preview","themes.php?page=demo-importer&browse=:sort":"sort","themes.php?page=demo-importer&search=:query":"search","themes.php?page=demo-importer":"sort"},baseUrl:function(e){return"themes.php?page=demo-importer"+e},demoPath:"&demo=",browsePath:"&browse=",searchPath:"&search=",search:function(e){d(".wp-filter-search").val(e.replace(/\+/g," "))},navigate:function o(e,t){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.call(this,e,t)}}),a.view.InstallerSearch=a.view.Search.extend({events:{input:"search",keyup:"search"},terms:"",search:function(e){("keyup"!==e.type||9!==e.which&&16!==e.which)&&(this.collection=this.options.parent.view.collection,"keyup"===e.type&&27===e.which&&(e.target.value=""),this.doSearch(e.target.value))},doSearch:function(e){this.terms!==e&&(this.terms=e,d(".filter-links li > a.current").removeClass("current").removeAttr("aria-current"),this.collection.doSearch(e.replace(/\+/g," ")),a.router.navigate(a.router.baseUrl(a.router.searchPath+encodeURIComponent(e)),{replace:!0}))}}),a.view.Installer=a.view.Appearance.extend({el:"#wpbody-content .wrap",events:{"click .filter-links li > a":"onSort"},render:function(){var e=this;this.search(),this.collection=new a.Collection,this.listenTo(this,"demo:end",function(){e.collection.loadingDemos||(e.collection.loadingDemos=!0,e.collection.currentQuery.page++,_.extend(e.collection.currentQuery.request,{page:e.collection.currentQuery.page}),e.collection.query(e.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){d("body").removeClass("loading-content"),d(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){d("body").removeClass("loading-content"),d(".theme-browser").find("div.error").remove(),d(".theme-browser").find("div.themes").before('<div class="error"><p>'+i.error+'</p><p><button class="button try-again">'+i.tryAgain+"</button></p></div>"),d(".theme-browser .error .try-again").on("click",function(e){e.preventDefault(),d("input.wp-filter-search").trigger("input")})}),this.view&&this.view.remove(),this.view=new a.view.Demos({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(e,t){this.collection.query({browse:e,builder:t})},onSort:function(e){var t=d(e.target),i=t.data("sort"),o=t.data("type");e.preventDefault(),i=i||a.router.selectedTab,o=o||a.router.selectedType,t.hasClass(this.activeClass)||(this.sort(i,o),a.router.navigate(a.router.baseUrl(a.router.browsePath+i)))},sort:function(e,t){this.clearSearch(),a.router.selectedTab=e,a.router.selectedType=t,d(".filter-links li > a").removeClass(this.activeClass).removeAttr("aria-current"),d('[data-sort="'+e+'"]').addClass(this.activeClass).attr("aria-current","page"),d('[data-type="'+t+'"]').addClass(this.activeClass).attr("aria-current","page"),this.browse(e,t)},activeClass:"current",clearSearch:function(){d("#wp-filter-search-input").val("")}}),a.RunInstaller={init:function(){this.view=new a.view.Installer({section:"all",SearchView:a.view.InstallerSearch}),this.render(),this.view.SearchView.doSearch=_.debounce(this.view.SearchView.doSearch,500)},render:function(){this.view.render(),this.routes(),Backbone.History.started&&Backbone.history.stop(),Backbone.history.start({root:a.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var i=this,t={};a.router=new a.Router,a.router.on("route:preview",function(e){a.preview&&(a.preview.undelegateEvents(),a.preview.unbind()),i.view.view.demo&&i.view.view.demo.preview?(i.view.view.demo.model=i.view.collection.findWhere({slug:e}),i.view.view.demo.preview()):(t.demo=e,i.view.collection.query(t),i.view.collection.trigger("update"),i.view.collection.once("query:success",function(){d('div[data-slug="'+e+'"]').trigger("click")}))}),a.router.on("route:sort",function(e){var t=a.router.selectedType?a.router.selectedType:d(".filter-links.pagebuilders li").first().find("a").data("type");e&&d('[data-sort="'+e+'"]').length||(e="all",a.router.navigate(a.router.baseUrl("&browse=all"),{replace:!0})),i.view.sort(e,t),a.preview&&a.preview.close()}),a.router.on("route:search",function(){d(".wp-filter-search").focus().trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},d(document).ready(function(){a.RunInstaller.init(),d(document.body).on("init_tooltips",function(){d("#tiptip_holder").removeAttr("style"),d("#tiptip_arrow").removeAttr("style"),d(".tips").tipTip({attribute:"data-tip",defaultPosition:"top",fadeIn:50,fadeOut:50,delay:50})}).trigger("init_tooltips"),d(".themegrill-reset-wordpress").on("click",function(){return window.confirm(_demoImporterSettings.settings.confirmReset)}),d(".themegrill-demo-importer-rating-link").on("click",function(){var e=d(this);d.post(a.data.settings.ajaxUrl,{action:"footer-text-rated"}),e.parent().text(e.data("rated"))})})}(jQuery);
|
1 |
+
window.wp=window.wp||{},function(d){var a,i;(a=wp.demos=wp.demos||{}).data=_demoImporterSettings,i=a.data.l10n,a.isNew=!!a.data.settings.isNew,_.extend(a,{model:{},view:{},routes:{},router:{},template:wp.template}),a.Model=Backbone.Model.extend({initialize:function(){var e;this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(e=this.get("sections").description,this.set({description:e}))}}),a.view.Appearance=wp.Backbone.View.extend({el:"#wpbody-content .wrap .theme-browser",window:d(window),page:0,initialize:function(e){_.bindAll(this,"scroller"),this.SearchView=e.SearchView?e.SearchView:a.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new a.view.Demos({collection:this.collection,parent:this}),this.search(),this.$el.removeClass("search-loading"),this.view.render(),this.$el.empty().append(this.view.el).addClass("rendered")},searchContainer:d(".search-form"),search:function(){var e;1!==a.data.demos.length&&(e=new this.SearchView({collection:this.collection,parent:this}),(this.SearchView=e).render(),this.searchContainer.append(d.parseHTML('<label class="screen-reader-text" for="wp-filter-search-input">'+i.search+"</label>")).append(e.el).on("submit",function(e){e.preventDefault()}))},scroller:function(){var e,t=this;this.window.scrollTop(),t.window.height(),e=t.$el.offset().top+t.$el.outerHeight(!1)-t.window.height(),e=Math.round(.9*e)}}),a.Collection=Backbone.Collection.extend({model:a.Model,terms:"",doSearch:function(e){this.terms!==e&&(this.terms=e,0<this.terms.length&&this.search(this.terms),""===this.terms&&(this.reset(a.data.demos),d("body").removeClass("no-results")),this.trigger("demos:update"))},search:function(t){var i,e,s,o,r,n;this.reset(a.data.demos,{silent:!0}),t=(t=t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")).replace(/ /g,")(?=.*"),i=new RegExp("^(?=.*"+t+").+","i"),0===(e=this.filter(function(e){return o=e.get("name").replace(/(<([^>]+)>)/gi,""),r=e.get("description").replace(/(<([^>]+)>)/gi,""),n=e.get("author").replace(/(<([^>]+)>)/gi,""),s=_.union([o,e.get("id"),r,n,e.get("tags")]),i.test(e.get("author"))&&2<t.length&&e.set("displayAuthor",!0),i.test(s)})).length?this.trigger("query:empty"):d("body").removeClass("no-results"),this.reset(e)},paginate:function(e){return e=e||0,this},count:!1,query:function(t){var e,i,s,o=this.queries,r=this;if(this.currentQuery.request=t,e=_.find(o,function(e){return _.isEqual(e.request,t)}),(i=_.has(t,"page"))||(this.currentQuery.page=1),e||i){if(i)return this.apiCall(t,i).done(function(e){r.add(e.demos),r.trigger("query:success"),r.loadingDemos=!1}).fail(function(){r.trigger("query:fail")});0===e.demos.length?r.trigger("query:empty"):d("body").removeClass("no-results"),_.isNumber(e.total)&&(this.count=e.total),this.reset(e.demos),e.total||(this.count=this.length),this.trigger("demos:update"),this.trigger("query:success",this.count)}else e=this.apiCall(t).done(function(e){e.demos&&(r.reset(e.demos),s=e.info.results,o.push({demos:e.demos,request:t,total:s})),r.trigger("demos:update"),r.trigger("query:success",s),e.demos&&0===e.demos.length&&r.trigger("query:empty")}).fail(function(){r.trigger("query:fail")})},queries:[],currentQuery:{page:1,request:{}},apiCall:function(e,t){return wp.ajax.send("query-demos",{data:{request:_.extend({per_page:100},e)},beforeSend:function(){t||d("body").addClass("loading-content").removeClass("no-results")}})},loadingDemos:!1}),a.view.Demo=wp.Backbone.View.extend({className:"theme",state:"grid",html:a.template("demo"),events:{click:"preview",keydown:"preview",touchend:"preview",keyup:"addFocus",touchmove:"preventExpand","click .demo-import":"importDemo"},touchDrag:!1,initialize:function(){this.model.on("change",this.render,this)},render:function(){var e=this.model.toJSON();this.$el.html(this.html(e)).attr({tabindex:0,"aria-describedby":e.id+"-action "+e.id+"-name","data-slug":e.id}),this.activeDemo(),this.model.get("displayAuthor")&&this.$el.addClass("display-author")},activeDemo:function(){this.model.get("active")&&this.$el.addClass("active")},addFocus:function(){var e=d(":focus").hasClass("theme")?d(":focus"):d(":focus").parents(".theme");d(".theme.focus").removeClass("focus"),e.addClass("focus")},preventExpand:function(){this.touchDrag=!0},preview:function(e){var t,i,s=this;if(e=e||window.event,!0===this.touchDrag)return this.touchDrag=!1;d(e.target).not(".install-demo-preview").parents(".theme-actions").length||"keydown"===e.type&&13!==e.which&&32!==e.which||"keydown"===e.type&&13!==e.which&&d(":focus").hasClass("button")||(e.preventDefault(),e=e||window.event,a.focusedDemo=this.$el,a.preview=i=new a.view.Preview({model:this.model}),i.render(),this.setNavButtonsState(),1===this.model.collection.length?i.$el.addClass("no-navigation"):i.$el.removeClass("no-navigation"),d("div.wrap").append(i.el),this.listenTo(i,"demo:next",function(){if(t=s.model,_.isUndefined(s.current)||(t=s.current),s.current=s.model.collection.at(s.model.collection.indexOf(t)+1),_.isUndefined(s.current))return s.options.parent.parent.trigger("demo:end"),s.current=t;i.model=s.current,i.render(),this.setNavButtonsState(),d(".next-theme").focus()}).listenTo(i,"demo:previous",function(){t=s.model,0!==s.model.collection.indexOf(s.current)&&(_.isUndefined(s.current)||(t=s.current),s.current=s.model.collection.at(s.model.collection.indexOf(t)-1),_.isUndefined(s.current)||(i.model=s.current,i.render(),this.setNavButtonsState(),d(".previous-theme").focus()))}),this.listenTo(i,"preview:close",function(){s.current=s.model}))},setNavButtonsState:function(){var e=d(".theme-install-overlay"),t=_.isUndefined(this.current)?this.model:this.current,i=e.find(".previous-theme"),s=e.find(".next-theme");0===this.model.collection.indexOf(t)&&(i.addClass("disabled").prop("disabled",!0),s.focus()),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(t)+1))&&(s.addClass("disabled").prop("disabled",!0),i.focus())},importDemo:function(e){var t=this,i=d(e.target),s=d(e.target).data("plugins");e.preventDefault(),i.hasClass("disabled")||i.hasClass("updating-message")||d.confirm({title:"",content:'<div class="demo-import-confirm-message">'+wp.demos.data.settings.confirmImport+"</div>",boxWidth:"50%",useBootstrap:!1,buttons:{confirm:{text:wp.demos.data.l10n.confirmMsg,keys:["enter"],btnClass:"demo-import-confirm-button",action:function(){t.processImport(i,s,t)}},cancel:{btnClass:"demo-import-cancel-button",action:function(){}}}})},processImport:function(i,e,s){wp.updates.maybeRequestFilesystemCredentials(event),d(document).trigger("wp-plugin-bulk-install",e),d.each(e,function(e,t){t.is_active||wp.updates.queue.push({action:"install-plugin",data:{plugin:t.slug,name:t.name,slug:e,demo:i.data("slug")}})}),d(document).on("wp-demo-import-success",function(e,t){s.model.get("id")===t.slug&&(s.render(),s.model.set({imported:!0}))}),wp.updates.queue.push({action:"import-demo",data:{slug:i.data("slug")}}),wp.updates.queueChecker()}}),a.view.Preview=wp.Backbone.View.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .devices button":"previewDevice","click .previous-theme":"previousDemo","click .next-theme":"nextDemo",keyup:"keyEvent","click .demo-import":"importDemo"},html:a.template("demo-preview"),render:function(){var e,t=this,i=this.model.toJSON(),s=d(document.body);s.attr("aria-busy","true"),this.$el.removeClass("iframe-ready").html(this.html(i)),(e=this.$el.data("current-preview-device"))&&t.tooglePreviewDeviceButtons(e),a.router.navigate(a.router.baseUrl(a.router.demoPath+this.model.get("id")),{replace:!1}),this.$el.fadeIn(200,function(){s.addClass("demo-importer-active full-overlay-active")}),this.$el.find("iframe").one("load",function(){t.iframeLoaded()})},iframeLoaded:function(){this.$el.addClass("iframe-ready"),d(document.body).attr("aria-busy","false")},close:function(){return this.$el.fadeOut(200,function(){d("body").removeClass("demo-importer-active full-overlay-active"),a.focusedDemo&&a.focusedDemo.focus()}).removeClass("iframe-ready"),a.router.selectedTab?a.router.navigate(a.router.baseUrl("&browse="+a.router.selectedTab)):a.router.navigate(a.router.baseUrl("")),this.trigger("preview:close"),this.undelegateEvents(),this.unbind(),!1},collapse:function(e){var t=d(e.currentTarget);return"true"===t.attr("aria-expanded")?t.attr({"aria-expanded":"false","aria-label":i.expandSidebar}):t.attr({"aria-expanded":"true","aria-label":i.collapseSidebar}),this.$el.toggleClass("collapsed").toggleClass("expanded"),!1},previewDevice:function(e){var t=d(e.currentTarget).data("device");this.$el.removeClass("preview-desktop preview-tablet preview-mobile").addClass("preview-"+t).data("current-preview-device",t),this.tooglePreviewDeviceButtons(t)},tooglePreviewDeviceButtons:function(e){var t=d(".wp-full-overlay-footer .devices");t.find("button").removeClass("active").attr("aria-pressed",!1),t.find("button.preview-"+e).addClass("active").attr("aria-pressed",!0)},keyEvent:function(e){27===e.keyCode&&(this.undelegateEvents(),this.close()),39===e.keyCode&&_.once(this.nextDemo()),37===e.keyCode&&this.previousDemo()},nextDemo:function(){return this.trigger("demo:next",this.model.cid),!1},previousDemo:function(){return this.trigger("demo:previous",this.model.cid),!1},importDemo:function(e){var t=this,i=d(e.target),s=d(".plugins-list-table").find("#the-list tr"),o=[];e.preventDefault(),i.hasClass("disabled")||i.hasClass("updating-message")||d.confirm({title:"",content:'<div class="demo-import-confirm-message">'+wp.demos.data.settings.confirmImport+"</div>",boxWidth:"50%",useBootstrap:!1,buttons:{confirm:{text:wp.demos.data.l10n.confirmMsg,keys:["enter"],btnClass:"demo-import-confirm-button",action:function(){t.processImport(i,s,0,0,o,t)}},cancel:{btnClass:"demo-import-cancel-button",action:function(){}}},onContentReady:function(){d("body").addClass("demo-import-message-popup")},onDestroy:function(){d("body").removeClass("demo-import-message-popup")}})},processImport:function(r,e,n,a,l,c){wp.updates.maybeRequestFilesystemCredentials(event),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled"),d(document).trigger("wp-plugin-bulk-install",e),e.each(function(e,t){var i=d(t);i.hasClass("inactive")&&!i.find("notice-error").length&&wp.updates.queue.push({action:"install-plugin",data:{plugin:i.data("plugin"),slug:i.data("slug"),demo:r.data("slug")}})}),d(document).on("wp-plugin-bulk-installing",function(){d(".wp-full-overlay-sidebar-content").animate({scrollTop:d(document).height()})}),d(document).on("wp-plugin-bulk-install-success wp-plugin-bulk-install-error",function(e,t){var i,s,o=d('[data-slug="'+t.slug+'"]');"wp-"+t.install+"-bulk-install-success"===e.type?n++:(s=t.pluginName?t.pluginName:o.find(".plugin-name").text(),a++,l.push(s+": "+t.errorMessage)),wp.updates.adminNotice=wp.template("wp-bulk-installs-admin-notice"),d(".plugins-details .bulk-action-notice").remove(),d(".plugins-details .plugins-info").after(wp.updates.adminNotice({id:"bulk-action-notice",className:"bulk-action-notice notice-alt",successes:n,errors:a,errorMessages:l,type:t.install})),i=d("#bulk-action-notice").on("click","button",function(){d(this).toggleClass("bulk-action-errors-collapsed").attr("aria-expanded",!d(this).hasClass("bulk-action-errors-collapsed")),i.find(".bulk-action-errors").toggleClass("hidden")}),wp.updates.queue.length||(0<a?r.removeClass("updating-message").text(r.data("originaltext")):(c.model.set({requiredPlugins:!1}),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled")))}),d(document).on("wp-updates-notice-added",function(){wp.updates.adminNotice=wp.template("wp-updates-admin-notice")}),d(document).on("wp-demo-import-success",function(e,t){c.model.get("id")===t.slug&&c.model.set({imported:!0})}),wp.updates.queue.push({action:"import-demo",data:{slug:r.data("slug")}}),wp.updates.queueChecker()}}),a.view.Demos=wp.Backbone.View.extend({className:"themes wp-clearfix",$overlay:d("div.theme-overlay"),index:0,count:d(".wrap .demo-count"),liveDemoCount:0,initialize:function(e){var t=this;this.parent=e.parent,this.setView("grid"),t.importedDemo(),this.listenTo(t.collection,"demos:update",function(){t.parent.page=0,t.importedDemo(),t.render(this)}),this.listenTo(t.collection,"query:success",function(e){_.isNumber(e)?(t.count.text(e),t.announceSearchResults(e)):(t.count.text(t.collection.length),t.announceSearchResults(t.collection.length))}),this.listenTo(t.collection,"query:empty",function(){d("body").addClass("no-results")}),this.listenTo(this.parent,"demo:scroll",function(){t.renderDemos(t.parent.page)})},render:function(){this.$el.empty(),0<this.options.collection.size()&&this.renderDemos(this.parent.page),this.liveDemoCount=this.collection.count?this.collection.count:this.collection.length,this.count.text(this.liveDemoCount)},renderDemos:function(e){var t=this;t.instance=t.collection.paginate(e),0!==t.instance.size()?(a.isNew&&1<=e&&d(".add-new-theme").remove(),t.instance.each(function(e){t.demo=new a.view.Demo({model:e,parent:t}),t.demo.render(),t.$el.append(t.demo.el)}),a.isNew&&a.data.settings.suggestURI&&this.$el.append('<div class="theme add-new-theme"><a href="'+a.data.settings.suggestURI+'" target="blank"><div class="theme-screenshot"><span></span></div><h2 class="theme-name">'+i.suggestNew+"</h2></a></div>"),this.parent.page++):this.parent.trigger("demo:end")},importedDemo:function(){var e;(e=this.collection.findWhere({active:!0}))&&(this.collection.remove(e),this.collection.add(e,{at:0}))},setView:function(e){return e},announceSearchResults:function(e){0===e?wp.a11y.speak(i.noDemosFound):wp.a11y.speak(i.demosFound.replace("%d",e))}}),a.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-filter-search-input",searching:!1,attributes:{placeholder:i.searchPlaceholder,type:"search","aria-describedby":"live-search-desc"},events:{input:"search",keyup:"search",blur:"pushState"},initialize:function(e){this.parent=e.parent,this.listenTo(this.parent,"demo:close",function(){this.searching=!1})},search:function(e){"keyup"===e.type&&27===e.which&&(e.target.value=""),this.doSearch(e)},doSearch:function(e){var t={};this.collection.doSearch(e.target.value.replace(/\+/g," ")),this.searching&&13!==e.which?t.replace=!0:this.searching=!0,e.target.value?a.router.navigate(a.router.baseUrl(a.router.searchPath+e.target.value),t):a.router.navigate(a.router.baseUrl(""))},pushState:function(e){var t=a.router.baseUrl("");e.target.value&&(t=a.router.baseUrl(a.router.searchPath+encodeURIComponent(e.target.value))),this.searching=!1,a.router.navigate(t)}}),a.Router=Backbone.Router.extend({routes:{"themes.php?page=demo-importer&demo=:slug":"preview","themes.php?page=demo-importer&browse=:sort":"sort","themes.php?page=demo-importer&search=:query":"search","themes.php?page=demo-importer":"sort"},baseUrl:function(e){return"themes.php?page=demo-importer"+e},demoPath:"&demo=",browsePath:"&browse=",searchPath:"&search=",search:function(e){d(".wp-filter-search").val(e.replace(/\+/g," "))},navigate:function s(e,t){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.call(this,e,t)}}),a.view.InstallerSearch=a.view.Search.extend({events:{input:"search",keyup:"search"},terms:"",search:function(e){("keyup"!==e.type||9!==e.which&&16!==e.which)&&(this.collection=this.options.parent.view.collection,"keyup"===e.type&&27===e.which&&(e.target.value=""),this.doSearch(e.target.value))},doSearch:function(e){this.terms!==e&&(this.terms=e,d(".filter-links li > a.current").removeClass("current").removeAttr("aria-current"),this.collection.doSearch(e.replace(/\+/g," ")),a.router.navigate(a.router.baseUrl(a.router.searchPath+encodeURIComponent(e)),{replace:!0}))}}),a.view.Installer=a.view.Appearance.extend({el:"#wpbody-content .wrap",events:{"click .filter-links li > a":"onSort"},render:function(){var e=this;this.search(),this.collection=new a.Collection,this.listenTo(this,"demo:end",function(){e.collection.loadingDemos||(e.collection.loadingDemos=!0,e.collection.currentQuery.page++,_.extend(e.collection.currentQuery.request,{page:e.collection.currentQuery.page}),e.collection.query(e.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){d("body").removeClass("loading-content"),d(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){d("body").removeClass("loading-content"),d(".theme-browser").find("div.error").remove(),d(".theme-browser").find("div.themes").before('<div class="error"><p>'+i.error+'</p><p><button class="button try-again">'+i.tryAgain+"</button></p></div>"),d(".theme-browser .error .try-again").on("click",function(e){e.preventDefault(),d("input.wp-filter-search").trigger("input")})}),this.view&&this.view.remove(),this.view=new a.view.Demos({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(e,t){this.collection.query({browse:e,builder:t})},onSort:function(e){var t=d(e.target),i=t.data("sort"),s=t.data("type");e.preventDefault(),i=i||a.router.selectedTab,s=s||a.router.selectedType,t.hasClass(this.activeClass)||(this.sort(i,s),a.router.navigate(a.router.baseUrl(a.router.browsePath+i)))},sort:function(e,t){this.clearSearch(),a.router.selectedTab=e,a.router.selectedType=t,d(".filter-links li > a").removeClass(this.activeClass).removeAttr("aria-current"),d('[data-sort="'+e+'"]').addClass(this.activeClass).attr("aria-current","page"),d('[data-type="'+t+'"]').addClass(this.activeClass).attr("aria-current","page"),this.browse(e,t)},activeClass:"current",clearSearch:function(){d("#wp-filter-search-input").val("")}}),a.RunInstaller={init:function(){this.view=new a.view.Installer({section:"all",SearchView:a.view.InstallerSearch}),this.render(),this.view.SearchView.doSearch=_.debounce(this.view.SearchView.doSearch,500)},render:function(){this.view.render(),this.routes(),Backbone.History.started&&Backbone.history.stop(),Backbone.history.start({root:a.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var i=this,t={};a.router=new a.Router,a.router.on("route:preview",function(e){a.preview&&(a.preview.undelegateEvents(),a.preview.unbind()),i.view.view.demo&&i.view.view.demo.preview?(i.view.view.demo.model=i.view.collection.findWhere({slug:e}),i.view.view.demo.preview()):(t.demo=e,i.view.collection.query(t),i.view.collection.trigger("update"),i.view.collection.once("query:success",function(){d('div[data-slug="'+e+'"]').trigger("click")}))}),a.router.on("route:sort",function(e){var t=a.router.selectedType?a.router.selectedType:d(".filter-links.pagebuilders li").first().find("a").data("type");e&&d('[data-sort="'+e+'"]').length||(e="all",a.router.navigate(a.router.baseUrl("&browse=all"),{replace:!0})),i.view.sort(e,t),a.preview&&a.preview.close()}),a.router.on("route:search",function(){d(".wp-filter-search").focus().trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},d(document).ready(function(){a.RunInstaller.init(),d(document.body).on("init_tooltips",function(){d("#tiptip_holder").removeAttr("style"),d("#tiptip_arrow").removeAttr("style"),d(".tips").tipTip({attribute:"data-tip",defaultPosition:"top",fadeIn:50,fadeOut:50,delay:50})}).trigger("init_tooltips"),d(".themegrill-demo-importer-rating-link").on("click",function(){var e=d(this);d.post(a.data.settings.ajaxUrl,{action:"footer-text-rated"}),e.parent().text(e.data("rated"))})})}(jQuery);
|
assets/js/admin/demo-updates.js
CHANGED
@@ -17,6 +17,11 @@
|
|
17 |
*/
|
18 |
wp.updates.l10n = _.extend( wp.updates.l10n, settings.l10n || {} );
|
19 |
|
|
|
|
|
|
|
|
|
|
|
20 |
/**
|
21 |
* Sends an Ajax request to the server to import a demo.
|
22 |
*
|
@@ -285,6 +290,10 @@
|
|
285 |
case 'import':
|
286 |
errorMessage = wp.updates.l10n.importFailed;
|
287 |
break;
|
|
|
|
|
|
|
|
|
288 |
}
|
289 |
|
290 |
errorMessage = errorMessage.replace( '%s', error );
|
17 |
*/
|
18 |
wp.updates.l10n = _.extend( wp.updates.l10n, settings.l10n || {} );
|
19 |
|
20 |
+
// Check for WordPress 5.5 version.
|
21 |
+
if ( 'undefined' === typeof wp.updates.l10n ) {
|
22 |
+
wp.updates.l10n = settings.l10n || {};
|
23 |
+
}
|
24 |
+
|
25 |
/**
|
26 |
* Sends an Ajax request to the server to import a demo.
|
27 |
*
|
290 |
case 'import':
|
291 |
errorMessage = wp.updates.l10n.importFailed;
|
292 |
break;
|
293 |
+
|
294 |
+
case 'install':
|
295 |
+
errorMessage = wp.updates.l10n.installFailed;
|
296 |
+
break;
|
297 |
}
|
298 |
|
299 |
errorMessage = errorMessage.replace( '%s', error );
|
assets/js/admin/demo-updates.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(l,i,e){var
|
1 |
+
!function(l,i,e){var d=l(document);(i=i||{}).updates=i.updates||{},i.updates.l10n=_.extend(i.updates.l10n,e.l10n||{}),"undefined"==typeof i.updates.l10n&&(i.updates.l10n=e.l10n||{}),i.updates.importDemo=function(e){var a=l('.demo-import[data-slug="'+e.slug+'"]');return d.find("body").hasClass("full-overlay-active")&&(a=l(".wp-full-overlay-header, .wp-full-overlay-footer").find(".demo-import")),e=_.extend({success:i.updates.importDemoSuccess,error:i.updates.importDemoError},e),a.addClass("updating-message"),a.parents(".theme").addClass("focus"),a.html()!==i.updates.l10n.importing&&a.data("originaltext",a.html()),a.text(i.updates.l10n.importing).attr("aria-label",i.updates.l10n.demoImportingLabel.replace("%s",a.data("name"))),i.a11y.speak(i.updates.l10n.importingMsg,"polite"),l('.install-theme-info, [data-slug="'+e.slug+'"]').removeClass("demo-import-failed").find(".notice.notice-error").remove(),d.trigger("wp-demo-importing",e),i.updates.ajax("import-demo",e)},i.updates.importDemoSuccess=function(e){var a,t=l(".wp-full-overlay-header, .wp-full-overlay-footer, [data-slug="+e.slug+"]");d.trigger("wp-demo-import-success",e),a=t.find(".button-primary").removeClass("updating-message").addClass("updated-message disabled").attr("aria-label",i.updates.l10n.demoImportedLabel.replace("%s",e.demoName)).text(i.updates.l10n.imported),i.a11y.speak(i.updates.l10n.importedMsg,"polite"),setTimeout(function(){e.previewUrl&&(a.siblings(".demo-preview").remove(),a.attr("target","_blank").attr("href",e.previewUrl).removeClass("demo-import updated-message disabled").addClass("live-preview").attr("aria-label",i.updates.l10n.livePreviewLabel.replace("%s",e.demoName)).text(i.updates.l10n.livePreview))},1e3)},i.updates.importDemoError=function(e){var a,t=i.updates.l10n.importFailed.replace("%s",e.errorMessage),s=i.updates.adminNotice({className:"update-message notice-error notice-alt",message:t});i.updates.isValidResponse(e,"import")&&(i.updates.maybeHandleCredentialError(e,"import-demo")||(d.find("body").hasClass("full-overlay-active")?(a=l('.demo-import[data-slug="'+e.slug+'"]'),l(".install-theme-info").prepend(s)):a=l('[data-slug="'+e.slug+'"]').removeClass("focus").addClass("demo-import-failed").append(s).find(".demo-import"),a.removeClass("updating-message").attr("aria-label",i.updates.l10n.demoImportFailedLabel.replace("%s",a.data("name"))).text(i.updates.l10n.importFailedShort),i.a11y.speak(t,"assertive"),d.trigger("wp-demo-import-error",e)))},i.updates.bulkInstallPlugin=function(e){var a,t,s;return e=_.extend({success:i.updates.bulkInstallPluginSuccess,error:i.updates.bulkInstallPluginError},e),d.find("body").hasClass("full-overlay-active")?(a=l('tr[data-slug="'+e.slug+'"]'),t=l('.theme-install-overlay .demo-import[data-slug="'+e.demo+'"]'),s=i.updates.l10n.pluginInstallingLabel.replace("%s",a.data("name")),a.find(".plugin-status span").addClass("updating-message").attr("aria-label",i.updates.l10n.pluginInstallingLabel.replace("%s",a.data("name"))).text(i.updates.l10n.installing)):(t=l('.demo-import[data-slug="'+e.demo+'"]'),s=i.updates.l10n.pluginInstallingLabel.replace("%s",e.name),t.parents(".theme").addClass("focus")),t.html()!==i.updates.l10n.installing&&t.data("originaltext",t.html()),t.attr("aria-label",s).addClass("updating-message").text(i.updates.l10n.installing),i.a11y.speak(i.updates.l10n.installingMsg,"polite"),d.trigger("wp-plugin-bulk-installing",e),i.updates.ajax("install-required-plugin",e)},i.updates.bulkInstallPluginSuccess=function(e){l('tr[data-slug="'+e.slug+'"]').removeClass("install").addClass("installed").find(".plugin-status span").removeClass("updating-message install-now").addClass("updated-message active").attr("aria-label",i.updates.l10n.pluginInstalledLabel.replace("%s",e.pluginName)).text(i.updates.l10n.pluginInstalled),i.a11y.speak(i.updates.l10n.installedMsg,"polite"),d.trigger("wp-plugin-bulk-install-success",e)},i.updates.bulkInstallPluginError=function(e){var a,t=l('tr[data-slug="'+e.slug+'"]'),s=t.find(".plugin-status span");i.updates.isValidResponse(e,"install")&&(i.updates.maybeHandleCredentialError(e,"install-plugin")||(a=i.updates.l10n.installFailed.replace("%s",e.errorMessage),s.removeClass("updating-message").addClass("updated-message").attr("aria-label",i.updates.l10n.pluginInstallFailedLabel.replace("%s",t.data("name"))).text(i.updates.l10n.installFailedShort),i.a11y.speak(a,"assertive"),d.trigger("wp-plugin-bulk-install-error",e)))},i.updates.isValidResponse=function(e,a){var t,s=i.updates.l10n.unknownError;if(_.isObject(e)&&!_.isFunction(e.always))return!0;switch(_.isString(e)&&"-1"===e?s=i.updates.l10n.nonceError:_.isString(e)?s=e:"undefined"!=typeof e.readyState&&0===e.readyState?s=i.updates.l10n.connectionError:_.isString(e.statusText)&&(s=e.statusText+" "+i.updates.l10n.statusTextLink),a){case"import":t=i.updates.l10n.importFailed;break;case"install":t=i.updates.l10n.installFailed}return t=t.replace("%s",s),i.updates.addAdminNotice({id:"unknown_error",className:"notice-error is-dismissible",message:_.unescape(t)}),i.updates.ajaxLocked=!1,i.updates.queue=[],l(".button.updating-message").removeClass("updating-message").removeAttr("aria-label").text(i.updates.l10n.importFailedShort),i.a11y.speak(t,"assertive"),!1},i.updates.queueChecker=function(){var e;if(!i.updates.ajaxLocked&&i.updates.queue.length){switch((e=i.updates.queue.shift()).action){case"import-demo":i.updates.importDemo(e.data);break;case"install-plugin":i.updates.bulkInstallPlugin(e.data)}d.trigger("wp-updates-queue-job",e)}}}(jQuery,window.wp,window._demoUpdatesSettings);
|
includes/admin/assets/css/notice.css
CHANGED
@@ -18,3 +18,26 @@
|
|
18 |
.tg-demo-importer-notice .notice-dismiss {
|
19 |
text-decoration: none;
|
20 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
.tg-demo-importer-notice .notice-dismiss {
|
19 |
text-decoration: none;
|
20 |
}
|
21 |
+
|
22 |
+
.demo-importer-system-status .demo-importer-status-table {
|
23 |
+
margin-bottom: 1em;
|
24 |
+
}
|
25 |
+
|
26 |
+
.demo-importer-system-status .demo-importer-status-table tbody td:first-child {
|
27 |
+
width: 25%;
|
28 |
+
}
|
29 |
+
|
30 |
+
#system-status-report textarea {
|
31 |
+
width: 100%;
|
32 |
+
height: 350px;
|
33 |
+
padding: 1em;
|
34 |
+
}
|
35 |
+
|
36 |
+
.demo-importer-status-report .submit {
|
37 |
+
margin: 1em 0 0;
|
38 |
+
padding: 0;
|
39 |
+
}
|
40 |
+
|
41 |
+
.demo-importer-faq-wrapper .faq p {
|
42 |
+
margin-bottom: 0;
|
43 |
+
}
|
includes/admin/assets/js/notice.js
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Get system status datas.
|
3 |
+
*/
|
4 |
+
jQuery(
|
5 |
+
function ( $ ) {
|
6 |
+
let demoImporterSystemStatus = {
|
7 |
+
// Init class.
|
8 |
+
init: function () {
|
9 |
+
// Generate system report.
|
10 |
+
$( '#system-status-report', this.generateReport );
|
11 |
+
|
12 |
+
// Select every codes added inside textarea.
|
13 |
+
$( '#system-status-report' ).on( 'click', this.selectDetails );
|
14 |
+
|
15 |
+
// Select every codes added inside the textarea and copy the content inside.
|
16 |
+
$( '#copy-system-status-report' ).on( 'click', this.selectCopyDetails );
|
17 |
+
},
|
18 |
+
|
19 |
+
generateReport: function () {
|
20 |
+
let report = '';
|
21 |
+
|
22 |
+
$( '.demo-importer-status-table thead, .demo-importer-status-table tbody' ).each(
|
23 |
+
function () {
|
24 |
+
if ( $( this ).is( 'thead' ) ) {
|
25 |
+
let theadLabel = $( this ).text();
|
26 |
+
report = report + '\n== ' + $.trim( theadLabel ) + ' ==\n';
|
27 |
+
} else {
|
28 |
+
$( 'tr', $( this ) ).each(
|
29 |
+
function () {
|
30 |
+
let tbodyLabel = $( this ).find( 'td:eq(0)' ).text();
|
31 |
+
let tbodyValue = $( this ).find( 'td:eq(1)' ).text();
|
32 |
+
|
33 |
+
report = report + '\t' + $.trim( tbodyLabel ) + ' ' + $.trim( tbodyValue ) + '\n';
|
34 |
+
}
|
35 |
+
);
|
36 |
+
}
|
37 |
+
}
|
38 |
+
);
|
39 |
+
|
40 |
+
$( '#system-status-report' ).find( 'textarea' ).val( report );
|
41 |
+
},
|
42 |
+
|
43 |
+
selectDetails: function () {
|
44 |
+
$( '#system-status-report' ).find( 'textarea' ).focus().select();
|
45 |
+
},
|
46 |
+
|
47 |
+
selectCopyDetails: function () {
|
48 |
+
$( '#system-status-report' ).find( 'textarea' ).focus().select();
|
49 |
+
document.execCommand( 'copy' );
|
50 |
+
},
|
51 |
+
};
|
52 |
+
|
53 |
+
demoImporterSystemStatus.init();
|
54 |
+
}
|
55 |
+
);
|
includes/admin/class-demo-importer-status.php
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Debug/Status Page.
|
4 |
+
*
|
5 |
+
* @package ThemeGrill_Demo_Importer
|
6 |
+
*/
|
7 |
+
|
8 |
+
defined( 'ABSPATH' ) || exit;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Class TG_Demo_Importer_Status
|
12 |
+
*/
|
13 |
+
class TG_Demo_Importer_Status {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Handles the display of System Status.
|
17 |
+
*/
|
18 |
+
public static function system_status() {
|
19 |
+
include_once dirname( __FILE__ ) . '/views/html-admin-page-system-status-report.php';
|
20 |
+
}
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Handles the display of FAQ's.
|
24 |
+
*/
|
25 |
+
public static function demo_import_faqs() {
|
26 |
+
include_once dirname( __FILE__ ) . '/views/html-admin-page-demo-import-faqs.php';
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Check if we can add files under the `wp-content/uploads/tg-demo-pack` folder.
|
31 |
+
*
|
32 |
+
* @return string
|
33 |
+
*/
|
34 |
+
public static function get_write_permission() {
|
35 |
+
$output = '';
|
36 |
+
$wp_upload_dir = wp_upload_dir( null, false );
|
37 |
+
$error = $wp_upload_dir['error'];
|
38 |
+
$tg_demo_pack_uploads_path = $wp_upload_dir['basedir'] . '/tg-demo-pack/';
|
39 |
+
|
40 |
+
if ( ! $error && is_writable( $tg_demo_pack_uploads_path ) ) {
|
41 |
+
$output = __( 'All Fine', 'themegrill-demo-importer' );
|
42 |
+
} else {
|
43 |
+
$output = __( 'There are some write permission errors on your site.', 'themegrill-demo-importer' );
|
44 |
+
}
|
45 |
+
|
46 |
+
return esc_html( $output );
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Check if we can connect to GitHub server for demo import feature.
|
51 |
+
*
|
52 |
+
* @return string
|
53 |
+
*/
|
54 |
+
public static function get_demo_server_connection_status() {
|
55 |
+
$output = '';
|
56 |
+
$package_file_server = wp_remote_get( 'https://github.com/' );
|
57 |
+
$http_response_code = wp_remote_retrieve_response_code( $package_file_server );
|
58 |
+
|
59 |
+
if ( is_wp_error( $package_file_server ) || 200 !== (int) $http_response_code ) {
|
60 |
+
$output = __( 'There is a connection issue of your site to our demo pack services.', 'themegrill-demo-importer' );
|
61 |
+
} else {
|
62 |
+
$output = __( 'Connected', 'themegrill-demo-importer' );
|
63 |
+
}
|
64 |
+
|
65 |
+
return esc_html( $output );
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Get lists of active plugins.
|
70 |
+
*
|
71 |
+
* @return array
|
72 |
+
*/
|
73 |
+
public static function get_active_plugins() {
|
74 |
+
// Ensure get_plugins function is loaded.
|
75 |
+
if ( ! function_exists( 'get_plugins' ) ) {
|
76 |
+
include ABSPATH . '/wp-admin/includes/plugin.php';
|
77 |
+
}
|
78 |
+
|
79 |
+
$active_plugins = get_option( 'active_plugins' );
|
80 |
+
$active_plugins = array_intersect_key( get_plugins(), array_flip( $active_plugins ) );
|
81 |
+
|
82 |
+
return $active_plugins;
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Get lists of inactive plugins.
|
87 |
+
*
|
88 |
+
* @return array
|
89 |
+
*/
|
90 |
+
public static function get_inactive_plugins() {
|
91 |
+
return array_diff_key( get_plugins(), self::get_active_plugins() );
|
92 |
+
}
|
93 |
+
}
|
includes/admin/views/html-admin-page-demo-import-faqs.php
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Admin View: Page - Demo Import FAQ's
|
4 |
+
*
|
5 |
+
* @package ThemeGrill_Demo_Importer
|
6 |
+
*/
|
7 |
+
|
8 |
+
defined( 'ABSPATH' ) || exit;
|
9 |
+
?>
|
10 |
+
<div class="demo-importer-faq">
|
11 |
+
<h2><?php esc_html_e( 'FAQ\'s', 'themegrill-demo-importer' ); ?></h2>
|
12 |
+
|
13 |
+
<?php
|
14 |
+
$faq_rss = 'https://docs.themegrill.com/themegrill-demo-importer/docs-category/faqs/feed/';
|
15 |
+
|
16 |
+
// Fetch the RSS feeds.
|
17 |
+
if ( is_string( $faq_rss ) ) {
|
18 |
+
$faq_rss = fetch_feed( $faq_rss );
|
19 |
+
} elseif ( is_array( $faq_rss ) && isset( $faq_rss['url'] ) ) {
|
20 |
+
$faq_rss = fetch_feed( $faq_rss['url'] );
|
21 |
+
} elseif ( ! is_object( $faq_rss ) ) {
|
22 |
+
return;
|
23 |
+
}
|
24 |
+
|
25 |
+
// If error, show them.
|
26 |
+
if ( is_wp_error( $faq_rss ) ) {
|
27 |
+
if ( is_admin() || current_user_can( 'switch_theme' ) ) {
|
28 |
+
echo '<p><strong>' . __( 'Error fetching the FAQ\'s', 'themegrill-demo-importer' ) . '</strong> ' . $faq_rss->get_error_message() . '</p>';
|
29 |
+
}
|
30 |
+
|
31 |
+
return;
|
32 |
+
}
|
33 |
+
|
34 |
+
// Return if empty quantity from RSS feed.
|
35 |
+
if ( ! $faq_rss->get_item_quantity() ) {
|
36 |
+
echo '<p>' . __( 'An error has occurred, which probably means our server is down. Try again later.', 'themegrill-demo-importer' ) . '</p>>';
|
37 |
+
$faq_rss->__destruct();
|
38 |
+
unset( $faq_rss );
|
39 |
+
|
40 |
+
return;
|
41 |
+
}
|
42 |
+
|
43 |
+
// Loop through RSS feeds.
|
44 |
+
echo '<div class="demo-importer-faq-wrapper">';
|
45 |
+
foreach ( $faq_rss->get_items( 0, 5 ) as $faq ) {
|
46 |
+
$link = $faq->get_permalink();
|
47 |
+
$title = $faq->get_title();
|
48 |
+
$description = $faq->get_content();
|
49 |
+
$description = substr( wpautop( $description ), 0, strpos( wpautop( $description ), '</p>' ) + 4 );
|
50 |
+
|
51 |
+
echo '<div class="postbox"><div class="inside"><div class="faq main">';
|
52 |
+
echo '<h3><a href="' . esc_url( strip_tags( $link ) ) . '" target="_blank">' . esc_html( strip_tags( $title ) ) . '</a></h3>';
|
53 |
+
echo '<p>' . strip_tags( $description ) . '</p>';
|
54 |
+
echo '</div></div></div>';
|
55 |
+
}
|
56 |
+
echo '</div>';
|
57 |
+
|
58 |
+
$faq_rss->__destruct();
|
59 |
+
unset( $faq_rss );
|
60 |
+
?>
|
61 |
+
|
62 |
+
<a class="button button-primary button-hero" href="https://docs.themegrill.com/themegrill-demo-importer/docs-category/faqs/" target="_blank"><?php esc_html_e( 'View More FAQ\'s', 'themegrill-demo-importer' ); ?></a>
|
63 |
+
</div>
|
includes/admin/views/html-admin-page-status.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Admin View: Page - Status
|
4 |
+
*
|
5 |
+
* @package ThemeGrill_Demo_Importer
|
6 |
+
*/
|
7 |
+
|
8 |
+
defined( 'ABSPATH' ) || exit;
|
9 |
+
|
10 |
+
// Tabs on status page.
|
11 |
+
$current_tab = ! empty( $_REQUEST['tab'] ) ? sanitize_title( $_REQUEST['tab'] ) : 'status';
|
12 |
+
$tabs = array(
|
13 |
+
'status' => esc_html__( 'System Status', 'themegrill-demo-importer' ),
|
14 |
+
'faq' => esc_html__( 'FAQ\'s', 'themegrill-demo-importer' ),
|
15 |
+
);
|
16 |
+
$tabs = apply_filters( 'themegrill_demo_importer_status_tabs', $tabs );
|
17 |
+
?>
|
18 |
+
<div class="wrap demo-importer-status">
|
19 |
+
<nav class="nav-tab-wrapper">
|
20 |
+
<?php
|
21 |
+
foreach ( $tabs as $name => $label ) {
|
22 |
+
echo '<a href="' . admin_url( 'themes.php?page=demo-importer-status&tab=' . $name ) . '" class="nav-tab ';
|
23 |
+
if ( $current_tab == $name ) {
|
24 |
+
echo 'nav-tab-active';
|
25 |
+
}
|
26 |
+
echo '">' . $label . '</a>';
|
27 |
+
}
|
28 |
+
?>
|
29 |
+
</nav>
|
30 |
+
<h1 class="screen-reader-text"><?php echo esc_html( $tabs[ $current_tab ] ); ?></h1>
|
31 |
+
<?php
|
32 |
+
switch ( $current_tab ) {
|
33 |
+
case 'status':
|
34 |
+
TG_Demo_Importer_Status::system_status();
|
35 |
+
break;
|
36 |
+
|
37 |
+
case 'faq':
|
38 |
+
TG_Demo_Importer_Status::demo_import_faqs();
|
39 |
+
break;
|
40 |
+
|
41 |
+
default:
|
42 |
+
do_action( 'themegrill_demo_importer_status_content_' . $current_tab );
|
43 |
+
break;
|
44 |
+
}
|
45 |
+
?>
|
46 |
+
</div>
|
includes/admin/views/html-admin-page-system-status-report.php
ADDED
@@ -0,0 +1,362 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Admin View: Page - System Status
|
4 |
+
*
|
5 |
+
* @package ThemeGrill_Demo_Importer
|
6 |
+
*/
|
7 |
+
|
8 |
+
defined( 'ABSPATH' ) || exit;
|
9 |
+
|
10 |
+
global $wpdb, $wp_rewrite;;
|
11 |
+
$curl_data = function_exists( 'curl_version' ) ? curl_version() : false;
|
12 |
+
$gd_data = function_exists( 'gd_info' ) ? gd_info() : false;
|
13 |
+
$theme = wp_get_theme();
|
14 |
+
?>
|
15 |
+
<div class="demo-importer-system-status">
|
16 |
+
<h2><?php esc_html_e( 'System Status', 'themegrill-demo-importer' ); ?></h2>
|
17 |
+
|
18 |
+
<table class="demo-importer-status-table widefat">
|
19 |
+
<thead>
|
20 |
+
<tr>
|
21 |
+
<th><?php esc_html_e( 'System Info', 'themegrill-demo-importer' ); ?></th>
|
22 |
+
<th></th>
|
23 |
+
<th></th>
|
24 |
+
</tr>
|
25 |
+
</thead>
|
26 |
+
<tbody>
|
27 |
+
<tr>
|
28 |
+
<td><?php esc_html_e( 'Operating System:', 'themegrill-demo-importer' ); ?></td>
|
29 |
+
<td><?php echo esc_html( PHP_OS ); ?></td>
|
30 |
+
<td></td>
|
31 |
+
</tr>
|
32 |
+
<tr>
|
33 |
+
<td><?php esc_html_e( 'Server:', 'themegrill-demo-importer' ); ?></td>
|
34 |
+
<td><?php echo esc_html( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) ); ?></td>
|
35 |
+
<td></td>
|
36 |
+
</tr>
|
37 |
+
<tr>
|
38 |
+
<td><?php esc_html_e( 'MySQL Version:', 'themegrill-demo-importer' ); ?></td>
|
39 |
+
<td><?php echo esc_html( $wpdb->get_var( 'SELECT VERSION()' ) ); ?></td>
|
40 |
+
<td></td>
|
41 |
+
</tr>
|
42 |
+
<tr>
|
43 |
+
<td><?php esc_html_e( 'PHP Version:', 'themegrill-demo-importer' ); ?></td>
|
44 |
+
<td><?php echo esc_html( PHP_VERSION ); ?></td>
|
45 |
+
<td></td>
|
46 |
+
</tr>
|
47 |
+
<tr>
|
48 |
+
<td><?php esc_html_e( 'PHP Max Execution Time:', 'themegrill-demo-importer' ); ?></td>
|
49 |
+
<td><?php echo esc_html( ini_get( 'max_execution_time' ) ); ?></td>
|
50 |
+
<td></td>
|
51 |
+
</tr>
|
52 |
+
<tr>
|
53 |
+
<td><?php esc_html_e( 'PHP Max Upload Size:', 'themegrill-demo-importer' ); ?></td>
|
54 |
+
<td><?php echo esc_html( ini_get( 'upload_max_filesize' ) ); ?></td>
|
55 |
+
<td></td>
|
56 |
+
</tr>
|
57 |
+
<tr>
|
58 |
+
<td><?php esc_html_e( 'PHP Post Max Size:', 'themegrill-demo-importer' ); ?></td>
|
59 |
+
<td><?php echo esc_html( ini_get( 'post_max_size' ) ); ?></td>
|
60 |
+
<td></td>
|
61 |
+
</tr>
|
62 |
+
<tr>
|
63 |
+
<td><?php esc_html_e( 'PHP Max Input Vars:', 'themegrill-demo-importer' ); ?></td>
|
64 |
+
<td><?php echo esc_html( ini_get( 'max_input_vars' ) ); ?></td>
|
65 |
+
<td></td>
|
66 |
+
</tr>
|
67 |
+
<tr>
|
68 |
+
<td><?php esc_html_e( 'PHP Memory Limit:', 'themegrill-demo-importer' ); ?></td>
|
69 |
+
<td><?php echo esc_html( ini_get( 'memory_limit' ) ); ?></td>
|
70 |
+
<td></td>
|
71 |
+
</tr>
|
72 |
+
<tr>
|
73 |
+
<td><?php esc_html_e( 'cURL Installed:', 'themegrill-demo-importer' ); ?></td>
|
74 |
+
<td><?php extension_loaded( 'curl' ) ? esc_html_e( 'Yes', 'themegrill-demo-importer' ) : esc_html_e( 'No', 'themegrill-demo-importer' ); ?></td>
|
75 |
+
<td></td>
|
76 |
+
</tr>
|
77 |
+
<?php if ( $curl_data ) : ?>
|
78 |
+
<tr>
|
79 |
+
<td><?php esc_html_e( 'cURL version:', 'themegrill-demo-importer' ); ?></td>
|
80 |
+
<td><?php echo esc_html( $curl_data['version'] ); ?></td>
|
81 |
+
<td></td>
|
82 |
+
</tr>
|
83 |
+
<?php endif; ?>
|
84 |
+
<tr>
|
85 |
+
<td><?php esc_html_e( 'GD Installed:', 'themegrill-demo-importer' ); ?></td>
|
86 |
+
<td><?php extension_loaded( 'gd' ) ? esc_html_e( 'Yes', 'themegrill-demo-importer' ) : esc_html_e( 'No', 'themegrill-demo-importer' ); ?></td>
|
87 |
+
<td></td>
|
88 |
+
</tr>
|
89 |
+
<?php if ( $gd_data ) : ?>
|
90 |
+
<tr>
|
91 |
+
<td><?php esc_html_e( 'GD version:', 'themegrill-demo-importer' ); ?></td>
|
92 |
+
<td><?php echo esc_html( $gd_data['GD Version'] ); ?></td>
|
93 |
+
<td></td>
|
94 |
+
</tr>
|
95 |
+
<?php endif; ?>
|
96 |
+
<tr>
|
97 |
+
<td><?php esc_html_e( 'Write Permission:', 'themegrill-demo-importer' ); ?></td>
|
98 |
+
<td><?php echo TG_Demo_Importer_Status::get_write_permission(); ?></td>
|
99 |
+
<td></td>
|
100 |
+
</tr>
|
101 |
+
<tr>
|
102 |
+
<td><?php esc_html_e( 'Demo Pack Server Connection:', 'themegrill-demo-importer' ); ?></td>
|
103 |
+
<td><?php echo TG_Demo_Importer_Status::get_demo_server_connection_status(); ?></td>
|
104 |
+
<td></td>
|
105 |
+
</tr>
|
106 |
+
</tbody>
|
107 |
+
</table>
|
108 |
+
|
109 |
+
|
110 |
+
<table class="demo-importer-status-table widefat">
|
111 |
+
<thead>
|
112 |
+
<tr>
|
113 |
+
<th><?php esc_html_e( 'WordPress Info', 'themegrill-demo-importer' ); ?></th>
|
114 |
+
<th></th>
|
115 |
+
<th></th>
|
116 |
+
</tr>
|
117 |
+
</thead>
|
118 |
+
<tbody>
|
119 |
+
<tr>
|
120 |
+
<td><?php esc_html_e( 'Version:', 'themegrill-demo-importer' ); ?></td>
|
121 |
+
<td><?php echo esc_html( get_bloginfo( 'version' ) ); ?></td>
|
122 |
+
<td></td>
|
123 |
+
</tr>
|
124 |
+
<tr>
|
125 |
+
<td><?php esc_html_e( 'Site URL:', 'themegrill-demo-importer' ); ?></td>
|
126 |
+
<td><?php echo esc_html( get_site_url() ); ?></td>
|
127 |
+
<td></td>
|
128 |
+
</tr>
|
129 |
+
<tr>
|
130 |
+
<td><?php esc_html_e( 'Home URL:', 'themegrill-demo-importer' ); ?></td>
|
131 |
+
<td><?php echo esc_html( get_home_url() ); ?></td>
|
132 |
+
<td></td>
|
133 |
+
</tr>
|
134 |
+
<tr>
|
135 |
+
<td><?php esc_html_e( 'Multisite:', 'themegrill-demo-importer' ); ?></td>
|
136 |
+
<td><?php is_multisite() ? esc_html_e( 'Yes', 'themegrill-demo-importer' ) : esc_html_e( 'No', 'themegrill-demo-importer' ); ?></td>
|
137 |
+
<td></td>
|
138 |
+
</tr>
|
139 |
+
<tr>
|
140 |
+
<td><?php esc_html_e( 'Max Upload Size:', 'themegrill-demo-importer' ); ?></td>
|
141 |
+
<td><?php echo esc_html( size_format( wp_max_upload_size() ) ); ?></td>
|
142 |
+
<td></td>
|
143 |
+
</tr>
|
144 |
+
<tr>
|
145 |
+
<td><?php esc_html_e( 'Memory Limit:', 'themegrill-demo-importer' ); ?></td>
|
146 |
+
<td><?php echo esc_html( WP_MEMORY_LIMIT ); ?></td>
|
147 |
+
<td></td>
|
148 |
+
</tr>
|
149 |
+
<tr>
|
150 |
+
<td><?php esc_html_e( 'Max Memory Limit:', 'themegrill-demo-importer' ); ?></td>
|
151 |
+
<td><?php echo esc_html( WP_MAX_MEMORY_LIMIT ); ?></td>
|
152 |
+
<td></td>
|
153 |
+
</tr>
|
154 |
+
<tr>
|
155 |
+
<td><?php esc_html_e( 'Permalink Structure:', 'themegrill-demo-importer' ); ?></td>
|
156 |
+
<td><?php echo '' !== $wp_rewrite->permalink_structure ? esc_html( $wp_rewrite->permalink_structure ) : esc_html__( 'Plain', 'themegrill-demo-importer' ); ?></td>
|
157 |
+
<td></td>
|
158 |
+
</tr>
|
159 |
+
<tr>
|
160 |
+
<td><?php esc_html_e( 'Language:', 'themegrill-demo-importer' ); ?></td>
|
161 |
+
<td><?php echo esc_html( get_bloginfo( 'language' ) ); ?></td>
|
162 |
+
<td></td>
|
163 |
+
</tr>
|
164 |
+
<tr>
|
165 |
+
<td><?php esc_html_e( 'Debug Mode Enabled:', 'themegrill-demo-importer' ); ?></td>
|
166 |
+
<td><?php WP_DEBUG ? esc_html_e( 'Yes', 'themegrill-demo-importer' ) : esc_html_e( 'No', 'themegrill-demo-importer' ); ?></td>
|
167 |
+
<td></td>
|
168 |
+
</tr>
|
169 |
+
<tr>
|
170 |
+
<td><?php esc_html_e( 'Script Debug Mode Enabled:', 'themegrill-demo-importer' ); ?></td>
|
171 |
+
<td><?php SCRIPT_DEBUG ? esc_html_e( 'Yes', 'themegrill-demo-importer' ) : esc_html_e( 'No', 'themegrill-demo-importer' ); ?></td>
|
172 |
+
<td></td>
|
173 |
+
</tr>
|
174 |
+
<tr>
|
175 |
+
<td><?php esc_html_e( 'ThemeGrill Demo Importer Version:', 'themegrill-demo-importer' ); ?></td>
|
176 |
+
<td><?php echo esc_html( TGDM_VERSION ); ?></td>
|
177 |
+
<td></td>
|
178 |
+
</tr>
|
179 |
+
</tbody>
|
180 |
+
</table>
|
181 |
+
|
182 |
+
|
183 |
+
<table class="demo-importer-status-table widefat">
|
184 |
+
<thead>
|
185 |
+
<tr>
|
186 |
+
<th><?php esc_html_e( 'Theme Info', 'themegrill-demo-importer' ); ?></th>
|
187 |
+
<th></th>
|
188 |
+
<th></th>
|
189 |
+
</tr>
|
190 |
+
</thead>
|
191 |
+
<tbody>
|
192 |
+
<tr>
|
193 |
+
<td><?php esc_html_e( 'Name:', 'themegrill-demo-importer' ); ?></td>
|
194 |
+
<td><?php echo esc_html( $theme->get( 'Name' ) ); ?></td>
|
195 |
+
<td></td>
|
196 |
+
</tr>
|
197 |
+
<tr>
|
198 |
+
<td><?php esc_html_e( 'Version:', 'themegrill-demo-importer' ); ?></td>
|
199 |
+
<td><?php echo esc_html( $theme->get( 'Version' ) ); ?></td>
|
200 |
+
<td></td>
|
201 |
+
</tr>
|
202 |
+
<tr>
|
203 |
+
<td><?php esc_html_e( 'Author:', 'themegrill-demo-importer' ); ?></td>
|
204 |
+
<td><?php echo esc_html( $theme->get( 'Author' ) ); ?></td>
|
205 |
+
<td></td>
|
206 |
+
</tr>
|
207 |
+
<tr>
|
208 |
+
<td><?php esc_html_e( 'Author URL:', 'themegrill-demo-importer' ); ?></td>
|
209 |
+
<td><?php echo esc_html( $theme->get( 'AuthorURI' ) ); ?></td>
|
210 |
+
<td></td>
|
211 |
+
</tr>
|
212 |
+
<tr>
|
213 |
+
<td><?php esc_html_e( 'Child Theme:', 'themegrill-demo-importer' ); ?></td>
|
214 |
+
<td><?php is_child_theme() ? esc_html_e( 'Yes', 'themegrill-demo-importer' ) : esc_html_e( 'No', 'themegrill-demo-importer' ); ?></td>
|
215 |
+
<td>
|
216 |
+
<?php
|
217 |
+
if ( ! is_child_theme() ) :
|
218 |
+
printf(
|
219 |
+
/* translators: 1. Opening anchor tag for ThemeGrill Child Tutorial, 2. Closing the anchor tag */
|
220 |
+
esc_html__( 'If you want to modify the features of the theme then, we recommend you to use %1$s child theme. %2$s', 'themegrill-demo-importer' ),
|
221 |
+
'<a href="https://themegrill.com/blog/tutorial-creating-wordpress-child-theme/" target="_blank">',
|
222 |
+
'</a>'
|
223 |
+
);
|
224 |
+
endif;
|
225 |
+
?>
|
226 |
+
</td>
|
227 |
+
</tr>
|
228 |
+
<?php if ( is_child_theme() ) : ?>
|
229 |
+
<tr>
|
230 |
+
<td><?php esc_html_e( 'Parent Theme Name:', 'themegrill-demo-importer' ); ?></td>
|
231 |
+
<td><?php echo esc_html( $theme->parent()->get( 'Name' ) ); ?></td>
|
232 |
+
<td></td>
|
233 |
+
</tr>
|
234 |
+
<tr>
|
235 |
+
<td><?php esc_html_e( 'Parent Theme Version:', 'themegrill-demo-importer' ); ?></td>
|
236 |
+
<td><?php echo esc_html( $theme->parent()->get( 'Version' ) ); ?></td>
|
237 |
+
<td></td>
|
238 |
+
</tr>
|
239 |
+
<tr>
|
240 |
+
<td><?php esc_html_e( 'Parent Theme Author:', 'themegrill-demo-importer' ); ?></td>
|
241 |
+
<td><?php echo esc_html( $theme->parent()->get( 'Author' ) ); ?></td>
|
242 |
+
<td></td>
|
243 |
+
</tr>
|
244 |
+
<tr>
|
245 |
+
<td><?php esc_html_e( 'Parent Theme Author URL:', 'themegrill-demo-importer' ); ?></td>
|
246 |
+
<td><?php echo esc_html( $theme->parent()->get( 'AuthorURI' ) ); ?></td>
|
247 |
+
<td></td>
|
248 |
+
</tr>
|
249 |
+
<?php endif; ?>
|
250 |
+
</tbody>
|
251 |
+
</table>
|
252 |
+
|
253 |
+
|
254 |
+
<table class="demo-importer-status-table widefat">
|
255 |
+
<thead>
|
256 |
+
<tr>
|
257 |
+
<th><?php esc_html_e( 'Active Plugins', 'themegrill-demo-importer' ); ?></th>
|
258 |
+
<th></th>
|
259 |
+
<th></th>
|
260 |
+
</tr>
|
261 |
+
</thead>
|
262 |
+
<tbody>
|
263 |
+
<?php
|
264 |
+
$active_plugin_lists = TG_Demo_Importer_Status::get_active_plugins();
|
265 |
+
|
266 |
+
// Display the active plugin lists.
|
267 |
+
foreach ( $active_plugin_lists as $active_plugin_list ) :
|
268 |
+
echo '<tr>';
|
269 |
+
echo '<td>';
|
270 |
+
if ( $active_plugin_list['PluginURI'] ) :
|
271 |
+
$plugin_name = '<a href="' . $active_plugin_list['PluginURI'] . '" target="_blank">' . $active_plugin_list['Name'] . '</a>';
|
272 |
+
else :
|
273 |
+
$plugin_name = $active_plugin_list['Name'];
|
274 |
+
endif;
|
275 |
+
|
276 |
+
if ( $active_plugin_list['Version'] ) :
|
277 |
+
$plugin_name .= ' - ' . $active_plugin_list['Version'];
|
278 |
+
endif;
|
279 |
+
|
280 |
+
echo $plugin_name;
|
281 |
+
echo '</td>';
|
282 |
+
|
283 |
+
echo '<td>';
|
284 |
+
if ( $active_plugin_list['Author'] ) :
|
285 |
+
printf(
|
286 |
+
/* translators: 1. Plugin author name. */
|
287 |
+
esc_html__( 'By %s', 'themegrill-demo-importer' ),
|
288 |
+
esc_html( $active_plugin_list['Author'] )
|
289 |
+
);
|
290 |
+
endif;
|
291 |
+
echo '</td>';
|
292 |
+
|
293 |
+
echo '<td></td>';
|
294 |
+
echo '</tr>';
|
295 |
+
endforeach;
|
296 |
+
?>
|
297 |
+
</tbody>
|
298 |
+
</table>
|
299 |
+
|
300 |
+
|
301 |
+
<table class="demo-importer-status-table widefat">
|
302 |
+
<thead>
|
303 |
+
<tr>
|
304 |
+
<th><?php esc_html_e( 'Inactive Plugins', 'themegrill-demo-importer' ); ?></th>
|
305 |
+
<th></th>
|
306 |
+
<th></th>
|
307 |
+
</tr>
|
308 |
+
</thead>
|
309 |
+
<tbody>
|
310 |
+
<?php
|
311 |
+
$inactive_plugin_lists = TG_Demo_Importer_Status::get_inactive_plugins();
|
312 |
+
|
313 |
+
// Display the inactive plugin lists.
|
314 |
+
foreach ( $inactive_plugin_lists as $inactive_plugin_list ) :
|
315 |
+
echo '<tr>';
|
316 |
+
echo '<td>';
|
317 |
+
if ( $inactive_plugin_list['PluginURI'] ) :
|
318 |
+
$plugin_name = '<a href="' . $inactive_plugin_list['PluginURI'] . '" target="_blank">' . $inactive_plugin_list['Name'] . '</a>';
|
319 |
+
else :
|
320 |
+
$plugin_name = $inactive_plugin_list['Name'];
|
321 |
+
endif;
|
322 |
+
|
323 |
+
if ( $inactive_plugin_list['Version'] ) :
|
324 |
+
$plugin_name .= ' - ' . $inactive_plugin_list['Version'];
|
325 |
+
endif;
|
326 |
+
|
327 |
+
echo $plugin_name;
|
328 |
+
echo '</td>';
|
329 |
+
|
330 |
+
echo '<td>';
|
331 |
+
if ( $inactive_plugin_list['Author'] ) :
|
332 |
+
printf(
|
333 |
+
/* translators: 1. Plugin author name. */
|
334 |
+
esc_html__( 'By %s', 'themegrill-demo-importer' ),
|
335 |
+
esc_html( $inactive_plugin_list['Author'] )
|
336 |
+
);
|
337 |
+
endif;
|
338 |
+
echo '</td>';
|
339 |
+
|
340 |
+
echo '<td></td>';
|
341 |
+
echo '</tr>';
|
342 |
+
endforeach;
|
343 |
+
?>
|
344 |
+
</tbody>
|
345 |
+
</table>
|
346 |
+
|
347 |
+
|
348 |
+
<h2><?php esc_html_e( 'Copy & Paste', 'themegrill-demo-importer' ); ?></h2>
|
349 |
+
|
350 |
+
<div class="demo-importer-status-report">
|
351 |
+
<p><?php esc_html_e( 'While creating support request, please provide us the details generated below within the support request. It might help us to tackle on the issue more conviniently.', 'themegrill-demo-importer' ); ?></p>
|
352 |
+
<div id="system-status-report">
|
353 |
+
<textarea readonly="readonly"></textarea>
|
354 |
+
</div>
|
355 |
+
|
356 |
+
<p class="submit">
|
357 |
+
<button id="copy-system-status-report" class="button-primary">
|
358 |
+
<?php esc_html_e( 'Copy System Status', 'themegrill-demo-importer' ); ?>
|
359 |
+
</button>
|
360 |
+
</p>
|
361 |
+
</div>
|
362 |
+
</div>
|
includes/admin/views/html-notice-reset-wizard-success.php
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Admin View: Notice - Reset Wizard Success
|
4 |
-
*
|
5 |
-
* @package ThemeGrill_Demo_Importer
|
6 |
-
*/
|
7 |
-
|
8 |
-
defined( 'ABSPATH' ) || exit;
|
9 |
-
|
10 |
-
$user = get_user_by( 'id', 1 );
|
11 |
-
|
12 |
-
?>
|
13 |
-
<div id="message" class="notice notice-info is-dismissible">
|
14 |
-
<p><?php printf( __( 'WordPress has been reset back to defaults. The user <strong>"%1$s"</strong> was recreated with its previous password.', 'themegrill-demo-importer' ), $user->user_login ); ?></p>
|
15 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/admin/views/html-notice-reset-wizard.php
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Admin View: Notice - Reset Wizard
|
4 |
-
*
|
5 |
-
* @package ThemeGrill_Demo_Importer
|
6 |
-
*/
|
7 |
-
|
8 |
-
defined( 'ABSPATH' ) || exit;
|
9 |
-
|
10 |
-
$reset_url = wp_nonce_url(
|
11 |
-
add_query_arg( 'do_reset_wordpress', 'true', admin_url( 'themes.php?page=demo-importer' ) ),
|
12 |
-
'themegrill_demo_importer_reset',
|
13 |
-
'themegrill_demo_importer_reset_nonce'
|
14 |
-
);
|
15 |
-
?>
|
16 |
-
<div id="message" class="updated themegrill-demo-importer-message">
|
17 |
-
<p><?php _e( '<strong>Reset Wizard</strong> – If you need to reset the WordPress back to default again :)', 'themegrill-demo-importer' ); ?></p>
|
18 |
-
<p class="submit"><a href="<?php echo esc_url( $reset_url ); ?>" class="button button-primary themegrill-reset-wordpress"><?php _e( 'Run the Reset Wizard', 'themegrill-demo-importer' ); ?></a> <a class="button-secondary skip" href="<?php echo esc_url( wp_nonce_url( add_query_arg( 'themegrill-demo-importer-hide-notice', 'reset_notice', admin_url( 'themes.php?page=demo-importer' ) ), 'themegrill_demo_importer_hide_notice_nonce', '_themegrill_demo_importer_notice_nonce' ) ); ?>"><?php _e( 'Hide this notice', 'themegrill-demo-importer' ); ?></a></p>
|
19 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/class-demo-importer.php
CHANGED
@@ -39,11 +39,6 @@ class TG_Demo_Importer {
|
|
39 |
add_action( 'current_screen', array( $this, 'add_help_tabs' ), 50 );
|
40 |
}
|
41 |
|
42 |
-
// Reset Wizard.
|
43 |
-
add_action( 'wp_loaded', array( $this, 'hide_reset_notice' ) );
|
44 |
-
add_action( 'admin_init', array( $this, 'reset_wizard_actions' ) );
|
45 |
-
add_action( 'admin_notices', array( $this, 'reset_wizard_notice' ) );
|
46 |
-
|
47 |
// Footer rating text.
|
48 |
add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ), 1 );
|
49 |
|
@@ -81,6 +76,7 @@ class TG_Demo_Importer {
|
|
81 |
public function includes() {
|
82 |
include_once dirname( __FILE__ ) . '/importers/class-widget-importer.php';
|
83 |
include_once dirname( __FILE__ ) . '/importers/class-customizer-importer.php';
|
|
|
84 |
}
|
85 |
|
86 |
/**
|
@@ -122,6 +118,7 @@ class TG_Demo_Importer {
|
|
122 |
*/
|
123 |
public function admin_menu() {
|
124 |
add_theme_page( __( 'Demo Importer', 'themegrill-demo-importer' ), __( 'Demo Importer', 'themegrill-demo-importer' ), 'switch_themes', 'demo-importer', array( $this, 'demo_importer' ) );
|
|
|
125 |
}
|
126 |
|
127 |
/**
|
@@ -161,6 +158,8 @@ class TG_Demo_Importer {
|
|
161 |
// Register and enqueue admin notice files.
|
162 |
wp_register_style( 'tg-demo-importer-notice', tgdm()->plugin_url() . '/includes/admin/assets/css/notice.css', array(), TGDM_VERSION );
|
163 |
wp_enqueue_style( 'tg-demo-importer-notice' );
|
|
|
|
|
164 |
|
165 |
// Add RTL support for admin styles.
|
166 |
wp_style_add_data( 'tg-demo-importer', 'rtl', 'replace' );
|
@@ -173,27 +172,124 @@ class TG_Demo_Importer {
|
|
173 |
|
174 |
// Demo Importer appearance page.
|
175 |
if ( 'appearance_page_demo-importer' === $screen_id ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
wp_enqueue_style( 'tg-demo-importer' );
|
177 |
wp_enqueue_script( 'tg-demo-importer' );
|
178 |
wp_localize_script(
|
179 |
'tg-demo-updates',
|
180 |
'_demoUpdatesSettings',
|
181 |
-
|
182 |
-
'l10n' => array(
|
183 |
-
'importing' => __( 'Importing...', 'themegrill-demo-importer' ),
|
184 |
-
'demoImportingLabel' => _x( 'Importing %s...', 'demo', 'themegrill-demo-importer' ), // no ellipsis
|
185 |
-
'importingMsg' => __( 'Importing... please wait.', 'themegrill-demo-importer' ),
|
186 |
-
'importedMsg' => __( 'Import completed successfully.', 'themegrill-demo-importer' ),
|
187 |
-
'importFailedShort' => __( 'Import Failed!', 'themegrill-demo-importer' ),
|
188 |
-
'importFailed' => __( 'Import failed: %s', 'themegrill-demo-importer' ),
|
189 |
-
'demoImportedLabel' => _x( '%s imported!', 'demo', 'themegrill-demo-importer' ),
|
190 |
-
'demoImportFailedLabel' => _x( '%s import failed', 'demo', 'themegrill-demo-importer' ),
|
191 |
-
'livePreview' => __( 'Live Preview', 'themegrill-demo-importer' ),
|
192 |
-
'livePreviewLabel' => _x( 'Live Preview %s', 'demo', 'themegrill-demo-importer' ),
|
193 |
-
'imported' => __( 'Imported!', 'themegrill-demo-importer' ),
|
194 |
-
'statusTextLink' => '<a href="https://docs.themegrill.com/knowledgebase/demo-import-process-failed/" target="_blank">' . __( 'Try this solution!', 'themegrill-demo-importer' ) . '</a>',
|
195 |
-
),
|
196 |
-
)
|
197 |
);
|
198 |
wp_localize_script(
|
199 |
'tg-demo-importer',
|
@@ -205,7 +301,6 @@ class TG_Demo_Importer {
|
|
205 |
'ajaxUrl' => admin_url( 'admin-ajax.php' ),
|
206 |
'adminUrl' => parse_url( self_admin_url(), PHP_URL_PATH ),
|
207 |
'suggestURI' => apply_filters( 'themegrill_demo_importer_suggest_new', 'https://themegrill.com/contact/' ),
|
208 |
-
'confirmReset' => __( 'It is strongly recommended that you backup your database before proceeding. Are you sure you wish to run the reset wizard now?', 'themegrill-demo-importer' ),
|
209 |
'confirmImport' => sprintf(
|
210 |
|
211 |
__( 'Importing demo data will ensure that your site will look similar as theme demo. It makes you easy to modify the content instead of creating them from scratch. Also, consider before importing the demo: %1$s %2$s %3$s %4$s %5$s %6$s', 'themegrill-demo-importer' ),
|
@@ -279,12 +374,7 @@ class TG_Demo_Importer {
|
|
279 |
* Add Contextual help tabs.
|
280 |
*/
|
281 |
public function add_help_tabs() {
|
282 |
-
$screen
|
283 |
-
$reset_url = wp_nonce_url(
|
284 |
-
add_query_arg( 'do_reset_wordpress', 'true', admin_url( 'themes.php?page=demo-importer' ) ),
|
285 |
-
'themegrill_demo_importer_reset',
|
286 |
-
'themegrill_demo_importer_reset_nonce'
|
287 |
-
);
|
288 |
|
289 |
if ( ! $screen || ! in_array( $screen->id, array( 'appearance_page_demo-importer' ) ) ) {
|
290 |
return;
|
@@ -321,17 +411,6 @@ class TG_Demo_Importer {
|
|
321 |
)
|
322 |
);
|
323 |
|
324 |
-
$screen->add_help_tab(
|
325 |
-
array(
|
326 |
-
'id' => 'themegrill_demo_importer_reset_tab',
|
327 |
-
'title' => __( 'Reset wizard', 'themegrill-demo-importer' ),
|
328 |
-
'content' =>
|
329 |
-
'<h2>' . __( 'Reset wizard', 'themegrill-demo-importer' ) . '</h2>' .
|
330 |
-
'<p>' . __( 'If you need to reset the WordPress back to default again, please click on the button below.', 'themegrill-demo-importer' ) . '</p>' .
|
331 |
-
'<p><a href="' . esc_url( $reset_url ) . '" class="button button-primary themegrill-reset-wordpress">' . __( 'Reset wizard', 'themegrill-demo-importer' ) . '</a></p>',
|
332 |
-
)
|
333 |
-
);
|
334 |
-
|
335 |
$screen->set_help_sidebar(
|
336 |
'<p><strong>' . __( 'For more information:', 'themegrill-demo-importer' ) . '</strong></p>' .
|
337 |
'<p><a href="' . 'https://themegrill.com/demo-importer/' . '" target="_blank">' . __( 'About Demo Importer', 'themegrill-demo-importer' ) . '</a></p>' .
|
@@ -342,134 +421,6 @@ class TG_Demo_Importer {
|
|
342 |
);
|
343 |
}
|
344 |
|
345 |
-
/**
|
346 |
-
* Reset wizard notice.
|
347 |
-
*/
|
348 |
-
public function reset_wizard_notice() {
|
349 |
-
$screen = get_current_screen();
|
350 |
-
$demo_activated_id = get_option( 'themegrill_demo_importer_activated_id' );
|
351 |
-
$demo_notice_dismiss = get_option( 'themegrill_demo_importer_reset_notice' );
|
352 |
-
|
353 |
-
if ( ! $screen || ! in_array( $screen->id, array( 'appearance_page_demo-importer' ) ) ) {
|
354 |
-
return;
|
355 |
-
}
|
356 |
-
|
357 |
-
// Output reset wizard notice.
|
358 |
-
if ( ! $demo_notice_dismiss && $demo_activated_id ) {
|
359 |
-
include_once dirname( __FILE__ ) . '/admin/views/html-notice-reset-wizard.php';
|
360 |
-
} elseif ( isset( $_GET['reset'] ) && 'true' === $_GET['reset'] ) {
|
361 |
-
include_once dirname( __FILE__ ) . '/admin/views/html-notice-reset-wizard-success.php';
|
362 |
-
}
|
363 |
-
}
|
364 |
-
|
365 |
-
/**
|
366 |
-
* Hide a notice if the GET variable is set.
|
367 |
-
*/
|
368 |
-
public function hide_reset_notice() {
|
369 |
-
if ( isset( $_GET['themegrill-demo-importer-hide-notice'] ) && isset( $_GET['_themegrill_demo_importer_notice_nonce'] ) ) {
|
370 |
-
if ( ! wp_verify_nonce( $_GET['_themegrill_demo_importer_notice_nonce'], 'themegrill_demo_importer_hide_notice_nonce' ) ) {
|
371 |
-
wp_die( __( 'Action failed. Please refresh the page and retry.', 'themegrill-demo-importer' ) );
|
372 |
-
}
|
373 |
-
|
374 |
-
if ( ! current_user_can( 'manage_options' ) ) {
|
375 |
-
wp_die( __( 'Cheatin’ huh?', 'themegrill-demo-importer' ) );
|
376 |
-
}
|
377 |
-
|
378 |
-
$hide_notice = sanitize_text_field( $_GET['themegrill-demo-importer-hide-notice'] );
|
379 |
-
|
380 |
-
if ( ! empty( $hide_notice ) && 'reset_notice' == $hide_notice ) {
|
381 |
-
update_option( 'themegrill_demo_importer_reset_notice', 1 );
|
382 |
-
}
|
383 |
-
}
|
384 |
-
}
|
385 |
-
|
386 |
-
/**
|
387 |
-
* Reset actions when a reset button is clicked.
|
388 |
-
*/
|
389 |
-
public function reset_wizard_actions() {
|
390 |
-
global $wpdb, $current_user;
|
391 |
-
|
392 |
-
|
393 |
-
if ( isset( $_GET['themegrill_demo_importer_reset_nonce'], $_GET['do_reset_wordpress'] ) ) {
|
394 |
-
if ( ! wp_verify_nonce( wp_unslash( $_GET['themegrill_demo_importer_reset_nonce'] ), 'themegrill_demo_importer_reset' ) ) { // WPCS: input var ok, sanitization ok.
|
395 |
-
wp_die( esc_html__( 'Action failed. Please refresh the page and retry.', 'themegrill-demo-importer' ) );
|
396 |
-
}
|
397 |
-
|
398 |
-
if ( ! current_user_can( 'manage_options' ) ) {
|
399 |
-
wp_die( esc_html__( 'You don’t have permission to do this.', 'themegrill-demo-importer' ) );
|
400 |
-
}
|
401 |
-
|
402 |
-
require_once ABSPATH . '/wp-admin/includes/upgrade.php';
|
403 |
-
|
404 |
-
$template = get_option( 'template' );
|
405 |
-
$blogname = get_option( 'blogname' );
|
406 |
-
$admin_email = get_option( 'admin_email' );
|
407 |
-
$blog_public = get_option( 'blog_public' );
|
408 |
-
$footer_rated = get_option( 'themegrill_demo_importer_admin_footer_text_rated' );
|
409 |
-
|
410 |
-
if ( 'admin' !== $current_user->user_login ) {
|
411 |
-
$user = get_user_by( 'login', 'admin' );
|
412 |
-
}
|
413 |
-
|
414 |
-
if ( empty( $user->user_level ) || $user->user_level < 10 ) {
|
415 |
-
$user = $current_user;
|
416 |
-
}
|
417 |
-
|
418 |
-
// Drop tables.
|
419 |
-
$drop_tables = $wpdb->get_col( sprintf( "SHOW TABLES LIKE '%s%%'", str_replace( '_', '\_', $wpdb->prefix ) ) );
|
420 |
-
foreach ( $drop_tables as $table ) {
|
421 |
-
$wpdb->query( "DROP TABLE IF EXISTS $table" );
|
422 |
-
}
|
423 |
-
|
424 |
-
// Installs the site.
|
425 |
-
$result = wp_install( $blogname, $user->user_login, $user->user_email, $blog_public );
|
426 |
-
|
427 |
-
// Updates the user password with a old one.
|
428 |
-
$wpdb->update(
|
429 |
-
$wpdb->users,
|
430 |
-
array(
|
431 |
-
'user_pass' => $user->user_pass,
|
432 |
-
'user_activation_key' => '',
|
433 |
-
),
|
434 |
-
array( 'ID' => $result['user_id'] )
|
435 |
-
);
|
436 |
-
|
437 |
-
// Set up the Password change nag.
|
438 |
-
$default_password_nag = get_user_option( 'default_password_nag', $result['user_id'] );
|
439 |
-
if ( $default_password_nag ) {
|
440 |
-
update_user_option( $result['user_id'], 'default_password_nag', false, true );
|
441 |
-
}
|
442 |
-
|
443 |
-
// Update footer text.
|
444 |
-
if ( $footer_rated ) {
|
445 |
-
update_option( 'themegrill_demo_importer_admin_footer_text_rated', $footer_rated );
|
446 |
-
}
|
447 |
-
|
448 |
-
// Switch current theme.
|
449 |
-
$current_theme = wp_get_theme( $template );
|
450 |
-
if ( $current_theme->exists() ) {
|
451 |
-
switch_theme( $template );
|
452 |
-
}
|
453 |
-
|
454 |
-
// Activate required plugins.
|
455 |
-
$required_plugins = (array) apply_filters( 'themegrill_demo_importer_' . $template . '_required_plugins', array() );
|
456 |
-
if ( is_array( $required_plugins ) ) {
|
457 |
-
if ( ! in_array( TGDM_PLUGIN_BASENAME, $required_plugins ) ) {
|
458 |
-
$required_plugins = array_merge( $required_plugins, array( TGDM_PLUGIN_BASENAME ) );
|
459 |
-
}
|
460 |
-
activate_plugins( $required_plugins, '', is_network_admin(), true );
|
461 |
-
}
|
462 |
-
|
463 |
-
// Update the cookies.
|
464 |
-
wp_clear_auth_cookie();
|
465 |
-
wp_set_auth_cookie( $result['user_id'] );
|
466 |
-
|
467 |
-
// Redirect to demo importer page to display reset success notice.
|
468 |
-
wp_safe_redirect( admin_url( 'themes.php?page=demo-importer&browse=all&reset=true' ) );
|
469 |
-
exit();
|
470 |
-
}
|
471 |
-
}
|
472 |
-
|
473 |
/**
|
474 |
* Disable the WooCommerce Setup Wizard on `ThemeGrill Demo Importer` page only.
|
475 |
*/
|
@@ -490,6 +441,13 @@ class TG_Demo_Importer {
|
|
490 |
include_once dirname( __FILE__ ) . '/admin/views/html-admin-page-importer.php';
|
491 |
}
|
492 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
493 |
/**
|
494 |
* Check for Zakra Premium theme plan.
|
495 |
*
|
39 |
add_action( 'current_screen', array( $this, 'add_help_tabs' ), 50 );
|
40 |
}
|
41 |
|
|
|
|
|
|
|
|
|
|
|
42 |
// Footer rating text.
|
43 |
add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ), 1 );
|
44 |
|
76 |
public function includes() {
|
77 |
include_once dirname( __FILE__ ) . '/importers/class-widget-importer.php';
|
78 |
include_once dirname( __FILE__ ) . '/importers/class-customizer-importer.php';
|
79 |
+
include_once dirname( __FILE__ ) . '/admin/class-demo-importer-status.php';
|
80 |
}
|
81 |
|
82 |
/**
|
118 |
*/
|
119 |
public function admin_menu() {
|
120 |
add_theme_page( __( 'Demo Importer', 'themegrill-demo-importer' ), __( 'Demo Importer', 'themegrill-demo-importer' ), 'switch_themes', 'demo-importer', array( $this, 'demo_importer' ) );
|
121 |
+
add_theme_page( __( 'Demo Importer Status', 'themegrill-demo-importer' ), __( 'Demo Importer Status', 'themegrill-demo-importer' ), 'switch_themes', 'demo-importer-status', array( $this, 'status_menu' ) );
|
122 |
}
|
123 |
|
124 |
/**
|
158 |
// Register and enqueue admin notice files.
|
159 |
wp_register_style( 'tg-demo-importer-notice', tgdm()->plugin_url() . '/includes/admin/assets/css/notice.css', array(), TGDM_VERSION );
|
160 |
wp_enqueue_style( 'tg-demo-importer-notice' );
|
161 |
+
wp_register_script( 'tg-demo-importer-notice', tgdm()->plugin_url() . '/includes/admin/assets/js/notice.js', array( 'jquery' ), TGDM_VERSION, true );
|
162 |
+
wp_enqueue_script( 'tg-demo-importer-notice' );
|
163 |
|
164 |
// Add RTL support for admin styles.
|
165 |
wp_style_add_data( 'tg-demo-importer', 'rtl', 'replace' );
|
172 |
|
173 |
// Demo Importer appearance page.
|
174 |
if ( 'appearance_page_demo-importer' === $screen_id ) {
|
175 |
+
/**
|
176 |
+
* Default ThemeGrill Demo Importer update strings.
|
177 |
+
*/
|
178 |
+
$demo_update_settings['l10n'] = array(
|
179 |
+
'importing' => __( 'Importing...', 'themegrill-demo-importer' ),
|
180 |
+
'demoImportingLabel' => _x( 'Importing %s...', 'demo', 'themegrill-demo-importer' ), // no ellipsis
|
181 |
+
'importingMsg' => __( 'Importing... please wait.', 'themegrill-demo-importer' ),
|
182 |
+
'importedMsg' => __( 'Import completed successfully.', 'themegrill-demo-importer' ),
|
183 |
+
'importFailedShort' => __( 'Import Failed!', 'themegrill-demo-importer' ),
|
184 |
+
'importFailed' => __( 'Import failed: %s', 'themegrill-demo-importer' ),
|
185 |
+
'demoImportedLabel' => _x( '%s imported!', 'demo', 'themegrill-demo-importer' ),
|
186 |
+
'demoImportFailedLabel' => _x( '%s import failed', 'demo', 'themegrill-demo-importer' ),
|
187 |
+
'livePreview' => __( 'Live Preview', 'themegrill-demo-importer' ),
|
188 |
+
'livePreviewLabel' => _x( 'Live Preview %s', 'demo', 'themegrill-demo-importer' ),
|
189 |
+
'imported' => __( 'Imported!', 'themegrill-demo-importer' ),
|
190 |
+
'statusTextLink' => '<a href="https://docs.themegrill.com/knowledgebase/demo-import-process-failed/" target="_blank">' . __( 'Try this solution!', 'themegrill-demo-importer' ) . '</a>',
|
191 |
+
);
|
192 |
+
|
193 |
+
/**
|
194 |
+
* Update strings from WordPress.
|
195 |
+
*
|
196 |
+
* Added since WordPress 5.5 has removed them causing demo import issues.
|
197 |
+
*
|
198 |
+
* @since 1.6.6
|
199 |
+
*/
|
200 |
+
if ( version_compare( $GLOBALS['wp_version'], '5.5', '>=' ) ) {
|
201 |
+
$demo_update_settings_wordpress_translations = array(
|
202 |
+
/* translators: %s: Search query. */
|
203 |
+
'searchResults' => __( 'Search results for “%s”', 'themegrill-demo-importer' ),
|
204 |
+
'searchResultsLabel' => __( 'Search Results', 'themegrill-demo-importer' ),
|
205 |
+
'noPlugins' => __( 'You do not appear to have any plugins available at this time.', 'themegrill-demo-importer' ),
|
206 |
+
'noItemsSelected' => __( 'Please select at least one item to perform this action on.', 'themegrill-demo-importer' ),
|
207 |
+
'updating' => __( 'Updating...', 'themegrill-demo-importer' ), // No ellipsis.
|
208 |
+
'pluginUpdated' => _x( 'Updated!', 'plugin', 'themegrill-demo-importer' ),
|
209 |
+
'themeUpdated' => _x( 'Updated!', 'theme', 'themegrill-demo-importer' ),
|
210 |
+
'update' => __( 'Update', 'themegrill-demo-importer' ),
|
211 |
+
'updateNow' => __( 'Update Now', 'themegrill-demo-importer' ),
|
212 |
+
/* translators: %s: Plugin name and version. */
|
213 |
+
'pluginUpdateNowLabel' => _x( 'Update %s now', 'plugin', 'themegrill-demo-importer' ),
|
214 |
+
'updateFailedShort' => __( 'Update Failed!', 'themegrill-demo-importer' ),
|
215 |
+
/* translators: %s: Error string for a failed update. */
|
216 |
+
'updateFailed' => __( 'Update Failed: %s', 'themegrill-demo-importer' ),
|
217 |
+
/* translators: %s: Plugin name and version. */
|
218 |
+
'pluginUpdatingLabel' => _x( 'Updating %s...', 'plugin', 'themegrill-demo-importer' ), // No ellipsis.
|
219 |
+
/* translators: %s: Plugin name and version. */
|
220 |
+
'pluginUpdatedLabel' => _x( '%s updated!', 'plugin', 'themegrill-demo-importer' ),
|
221 |
+
/* translators: %s: Plugin name and version. */
|
222 |
+
'pluginUpdateFailedLabel' => _x( '%s update failed', 'plugin', 'themegrill-demo-importer' ),
|
223 |
+
/* translators: Accessibility text. */
|
224 |
+
'updatingMsg' => __( 'Updating... please wait.', 'themegrill-demo-importer' ), // No ellipsis.
|
225 |
+
/* translators: Accessibility text. */
|
226 |
+
'updatedMsg' => __( 'Update completed successfully.', 'themegrill-demo-importer' ),
|
227 |
+
/* translators: Accessibility text. */
|
228 |
+
'updateCancel' => __( 'Update canceled.', 'themegrill-demo-importer' ),
|
229 |
+
'beforeunload' => __( 'Updates may not complete if you navigate away from this page.', 'themegrill-demo-importer' ),
|
230 |
+
'installNow' => __( 'Install Now', 'themegrill-demo-importer' ),
|
231 |
+
/* translators: %s: Plugin name. */
|
232 |
+
'pluginInstallNowLabel' => _x( 'Install %s now', 'plugin', 'themegrill-demo-importer' ),
|
233 |
+
'installing' => __( 'Installing...', 'themegrill-demo-importer' ),
|
234 |
+
'pluginInstalled' => _x( 'Installed!', 'plugin', 'themegrill-demo-importer' ),
|
235 |
+
'themeInstalled' => _x( 'Installed!', 'theme', 'themegrill-demo-importer' ),
|
236 |
+
'installFailedShort' => __( 'Installation Failed!', 'themegrill-demo-importer' ),
|
237 |
+
/* translators: %s: Error string for a failed installation. */
|
238 |
+
'installFailed' => __( 'Installation failed: %s', 'themegrill-demo-importer' ),
|
239 |
+
/* translators: %s: Plugin name and version. */
|
240 |
+
'pluginInstallingLabel' => _x( 'Installing %s...', 'plugin', 'themegrill-demo-importer' ), // No ellipsis.
|
241 |
+
/* translators: %s: Theme name and version. */
|
242 |
+
'themeInstallingLabel' => _x( 'Installing %s...', 'theme', 'themegrill-demo-importer' ), // No ellipsis.
|
243 |
+
/* translators: %s: Plugin name and version. */
|
244 |
+
'pluginInstalledLabel' => _x( '%s installed!', 'plugin', 'themegrill-demo-importer' ),
|
245 |
+
/* translators: %s: Theme name and version. */
|
246 |
+
'themeInstalledLabel' => _x( '%s installed!', 'theme', 'themegrill-demo-importer' ),
|
247 |
+
/* translators: %s: Plugin name and version. */
|
248 |
+
'pluginInstallFailedLabel' => _x( '%s installation failed', 'plugin', 'themegrill-demo-importer' ),
|
249 |
+
/* translators: %s: Theme name and version. */
|
250 |
+
'themeInstallFailedLabel' => _x( '%s installation failed', 'theme', 'themegrill-demo-importer' ),
|
251 |
+
'installingMsg' => __( 'Installing... please wait.', 'themegrill-demo-importer' ),
|
252 |
+
'installedMsg' => __( 'Installation completed successfully.', 'themegrill-demo-importer' ),
|
253 |
+
/* translators: %s: Activation URL. */
|
254 |
+
'importerInstalledMsg' => __( 'Importer installed successfully. <a href="%s">Run importer</a>', 'themegrill-demo-importer' ),
|
255 |
+
/* translators: %s: Theme name. */
|
256 |
+
'aysDelete' => __( 'Are you sure you want to delete %s?', 'themegrill-demo-importer' ),
|
257 |
+
/* translators: %s: Plugin name. */
|
258 |
+
'aysDeleteUninstall' => __( 'Are you sure you want to delete %s and its data?', 'themegrill-demo-importer' ),
|
259 |
+
'aysBulkDelete' => __( 'Are you sure you want to delete the selected plugins and their data?', 'themegrill-demo-importer' ),
|
260 |
+
'aysBulkDeleteThemes' => __( 'Caution: These themes may be active on other sites in the network. Are you sure you want to proceed?', 'themegrill-demo-importer' ),
|
261 |
+
'deleting' => __( 'Deleting...', 'themegrill-demo-importer' ),
|
262 |
+
/* translators: %s: Error string for a failed deletion. */
|
263 |
+
'deleteFailed' => __( 'Deletion failed: %s', 'themegrill-demo-importer' ),
|
264 |
+
'pluginDeleted' => _x( 'Deleted!', 'plugin', 'themegrill-demo-importer' ),
|
265 |
+
'themeDeleted' => _x( 'Deleted!', 'theme', 'themegrill-demo-importer' ),
|
266 |
+
'livePreview' => __( 'Live Preview', 'themegrill-demo-importer' ),
|
267 |
+
'activatePlugin' => is_network_admin() ? __( 'Network Activate', 'themegrill-demo-importer' ) : __( 'Activate', 'themegrill-demo-importer' ),
|
268 |
+
'activateTheme' => is_network_admin() ? __( 'Network Enable', 'themegrill-demo-importer' ) : __( 'Activate', 'themegrill-demo-importer' ),
|
269 |
+
/* translators: %s: Plugin name. */
|
270 |
+
'activatePluginLabel' => is_network_admin() ? _x( 'Network Activate %s', 'plugin', 'themegrill-demo-importer' ) : _x( 'Activate %s', 'plugin', 'themegrill-demo-importer' ),
|
271 |
+
/* translators: %s: Theme name. */
|
272 |
+
'activateThemeLabel' => is_network_admin() ? _x( 'Network Activate %s', 'theme', 'themegrill-demo-importer' ) : _x( 'Activate %s', 'theme', 'themegrill-demo-importer' ),
|
273 |
+
'activateImporter' => __( 'Run Importer', 'themegrill-demo-importer' ),
|
274 |
+
/* translators: %s: Importer name. */
|
275 |
+
'activateImporterLabel' => __( 'Run %s', 'themegrill-demo-importer' ),
|
276 |
+
'unknownError' => __( 'Something went wrong.', 'themegrill-demo-importer' ),
|
277 |
+
'connectionError' => __( 'Connection lost or the server is busy. Please try again later.', 'themegrill-demo-importer' ),
|
278 |
+
'nonceError' => __( 'An error has occurred. Please reload the page and try again.', 'themegrill-demo-importer' ),
|
279 |
+
/* translators: %s: Number of plugins. */
|
280 |
+
'pluginsFound' => __( 'Number of plugins found: %d', 'themegrill-demo-importer' ),
|
281 |
+
'noPluginsFound' => __( 'No plugins found. Try a different search.', 'themegrill-demo-importer' ),
|
282 |
+
);
|
283 |
+
|
284 |
+
$demo_update_settings['l10n'] = array_merge( $demo_update_settings['l10n'], $demo_update_settings_wordpress_translations );
|
285 |
+
}
|
286 |
+
|
287 |
wp_enqueue_style( 'tg-demo-importer' );
|
288 |
wp_enqueue_script( 'tg-demo-importer' );
|
289 |
wp_localize_script(
|
290 |
'tg-demo-updates',
|
291 |
'_demoUpdatesSettings',
|
292 |
+
$demo_update_settings
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
293 |
);
|
294 |
wp_localize_script(
|
295 |
'tg-demo-importer',
|
301 |
'ajaxUrl' => admin_url( 'admin-ajax.php' ),
|
302 |
'adminUrl' => parse_url( self_admin_url(), PHP_URL_PATH ),
|
303 |
'suggestURI' => apply_filters( 'themegrill_demo_importer_suggest_new', 'https://themegrill.com/contact/' ),
|
|
|
304 |
'confirmImport' => sprintf(
|
305 |
|
306 |
__( 'Importing demo data will ensure that your site will look similar as theme demo. It makes you easy to modify the content instead of creating them from scratch. Also, consider before importing the demo: %1$s %2$s %3$s %4$s %5$s %6$s', 'themegrill-demo-importer' ),
|
374 |
* Add Contextual help tabs.
|
375 |
*/
|
376 |
public function add_help_tabs() {
|
377 |
+
$screen = get_current_screen();
|
|
|
|
|
|
|
|
|
|
|
378 |
|
379 |
if ( ! $screen || ! in_array( $screen->id, array( 'appearance_page_demo-importer' ) ) ) {
|
380 |
return;
|
411 |
)
|
412 |
);
|
413 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
414 |
$screen->set_help_sidebar(
|
415 |
'<p><strong>' . __( 'For more information:', 'themegrill-demo-importer' ) . '</strong></p>' .
|
416 |
'<p><a href="' . 'https://themegrill.com/demo-importer/' . '" target="_blank">' . __( 'About Demo Importer', 'themegrill-demo-importer' ) . '</a></p>' .
|
421 |
);
|
422 |
}
|
423 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
424 |
/**
|
425 |
* Disable the WooCommerce Setup Wizard on `ThemeGrill Demo Importer` page only.
|
426 |
*/
|
441 |
include_once dirname( __FILE__ ) . '/admin/views/html-admin-page-importer.php';
|
442 |
}
|
443 |
|
444 |
+
/**
|
445 |
+
* Demo Importer status page output.
|
446 |
+
*/
|
447 |
+
public function status_menu() {
|
448 |
+
include_once dirname( __FILE__ ) . '/admin/views/html-admin-page-status.php';
|
449 |
+
}
|
450 |
+
|
451 |
/**
|
452 |
* Check for Zakra Premium theme plan.
|
453 |
*
|
includes/class-themegrill-demo-importer.php
CHANGED
@@ -20,7 +20,7 @@ final class ThemeGrill_Demo_Importer {
|
|
20 |
*
|
21 |
* @var string
|
22 |
*/
|
23 |
-
public $version = '1.6.
|
24 |
|
25 |
/**
|
26 |
* Theme single instance of this class.
|
20 |
*
|
21 |
* @var string
|
22 |
*/
|
23 |
+
public $version = '1.6.6';
|
24 |
|
25 |
/**
|
26 |
* Theme single instance of this class.
|
includes/functions-demo-update.php
CHANGED
@@ -17,8 +17,7 @@ defined( 'ABSPATH' ) || exit;
|
|
17 |
*/
|
18 |
function tg_update_demo_importer_options() {
|
19 |
$migrate_options = array(
|
20 |
-
'themegrill_demo_imported_id'
|
21 |
-
'themegrill_demo_imported_notice_dismiss' => 'themegrill_demo_importer_reset_notice',
|
22 |
);
|
23 |
|
24 |
foreach ( $migrate_options as $old_option => $new_option ) {
|
17 |
*/
|
18 |
function tg_update_demo_importer_options() {
|
19 |
$migrate_options = array(
|
20 |
+
'themegrill_demo_imported_id' => 'themegrill_demo_importer_activated_id',
|
|
|
21 |
);
|
22 |
|
23 |
foreach ( $migrate_options as $old_option => $new_option ) {
|
languages/themegrill-demo-importer.pot
CHANGED
@@ -2,10 +2,10 @@
|
|
2 |
# This file is distributed under the GPLv3 or later.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: ThemeGrill Demo Importer 1.6.
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://github.com/themegrill/themegrill-demo-importer/issues\n"
|
8 |
-
"POT-Creation-Date: 2020-
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -14,6 +14,22 @@ msgstr ""
|
|
14 |
"Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
|
15 |
"X-Generator: grunt-wp-i18n 1.0.3\n"
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
#: includes/admin/class-demo-pack-upgrader.php:35
|
18 |
msgid "Install package not available."
|
19 |
msgstr ""
|
@@ -67,8 +83,7 @@ msgid "Deactivate"
|
|
67 |
msgstr ""
|
68 |
|
69 |
#: includes/admin/class-plugin-deactivate-notice.php:78
|
70 |
-
#: includes/class-demo-importer.php:
|
71 |
-
#: includes/class-demo-importer.php:1429
|
72 |
msgid "Action failed. Please refresh the page and retry."
|
73 |
msgstr ""
|
74 |
|
@@ -96,8 +111,27 @@ msgstr ""
|
|
96 |
msgid "Got plugin support question?"
|
97 |
msgstr ""
|
98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
#: includes/admin/views/html-admin-page-importer.php:12
|
100 |
-
#: includes/class-demo-importer.php:
|
101 |
#: includes/class-themegrill-demo-importer.php:236
|
102 |
msgid "Demo Importer"
|
103 |
msgstr ""
|
@@ -133,7 +167,7 @@ msgid "Themes list"
|
|
133 |
msgstr ""
|
134 |
|
135 |
#: includes/admin/views/html-admin-page-importer.php:67
|
136 |
-
#: includes/class-demo-importer.php:
|
137 |
msgid "No demos found. Try a different search."
|
138 |
msgstr ""
|
139 |
|
@@ -149,7 +183,10 @@ msgstr ""
|
|
149 |
|
150 |
#: includes/admin/views/html-admin-page-importer.php:91
|
151 |
#: includes/admin/views/html-admin-page-importer.php:172
|
|
|
|
|
152 |
#. translators: %s: Demo author name
|
|
|
153 |
msgid "By %s"
|
154 |
msgstr ""
|
155 |
|
@@ -161,7 +198,7 @@ msgstr ""
|
|
161 |
#: includes/admin/views/html-admin-page-importer.php:109
|
162 |
#: includes/admin/views/html-admin-page-importer.php:150
|
163 |
#: includes/admin/views/html-admin-page-importer.php:254
|
164 |
-
#: includes/class-demo-importer.php:
|
165 |
msgid "Live Preview"
|
166 |
msgstr ""
|
167 |
|
@@ -177,6 +214,7 @@ msgstr ""
|
|
177 |
#: includes/admin/views/html-admin-page-importer.php:116
|
178 |
#: includes/admin/views/html-admin-page-importer.php:147
|
179 |
#: includes/admin/views/html-admin-page-importer.php:251
|
|
|
180 |
msgid "Update"
|
181 |
msgstr ""
|
182 |
|
@@ -224,7 +262,7 @@ msgid "No plugins are required for this demo."
|
|
224 |
msgstr ""
|
225 |
|
226 |
#: includes/admin/views/html-admin-page-importer.php:260
|
227 |
-
#: includes/class-demo-importer.php:
|
228 |
msgid "Collapse Sidebar"
|
229 |
msgstr ""
|
230 |
|
@@ -244,61 +282,404 @@ msgstr ""
|
|
244 |
msgid "Enter mobile preview mode"
|
245 |
msgstr ""
|
246 |
|
247 |
-
#: includes/admin/views/html-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
msgid ""
|
249 |
-
"
|
250 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
msgstr ""
|
252 |
|
253 |
-
#: includes/admin/views/html-
|
254 |
msgid ""
|
255 |
-
"
|
256 |
-
"
|
|
|
257 |
msgstr ""
|
258 |
|
259 |
-
#: includes/admin/views/html-
|
260 |
-
msgid "
|
261 |
msgstr ""
|
262 |
|
263 |
-
#: includes/
|
264 |
-
msgid "
|
265 |
msgstr ""
|
266 |
|
267 |
-
#: includes/class-demo-importer.php:
|
268 |
msgid "Importing..."
|
269 |
msgstr ""
|
270 |
|
271 |
-
#: includes/class-demo-importer.php:
|
272 |
msgid "Importing... please wait."
|
273 |
msgstr ""
|
274 |
|
275 |
-
#: includes/class-demo-importer.php:
|
276 |
msgid "Import completed successfully."
|
277 |
msgstr ""
|
278 |
|
279 |
-
#: includes/class-demo-importer.php:
|
280 |
msgid "Import Failed!"
|
281 |
msgstr ""
|
282 |
|
283 |
-
#: includes/class-demo-importer.php:
|
284 |
msgid "Import failed: %s"
|
285 |
msgstr ""
|
286 |
|
287 |
-
#: includes/class-demo-importer.php:
|
288 |
msgid "Imported!"
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: includes/class-demo-importer.php:
|
292 |
msgid "Try this solution!"
|
293 |
msgstr ""
|
294 |
|
295 |
-
#: includes/class-demo-importer.php:
|
296 |
-
|
297 |
-
"
|
298 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
299 |
msgstr ""
|
300 |
|
301 |
#: includes/class-demo-importer.php:211
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
302 |
msgid ""
|
303 |
"Importing demo data will ensure that your site will look similar as theme "
|
304 |
"demo. It makes you easy to modify the content instead of creating them from "
|
@@ -306,47 +687,47 @@ msgid ""
|
|
306 |
"%6$s"
|
307 |
msgstr ""
|
308 |
|
309 |
-
#: includes/class-demo-importer.php:
|
310 |
msgid ""
|
311 |
"Importing the demo on the site if you have already added the content is "
|
312 |
"highly discouraged."
|
313 |
msgstr ""
|
314 |
|
315 |
-
#: includes/class-demo-importer.php:
|
316 |
msgid ""
|
317 |
"You need to import demo on fresh WordPress install to exactly replicate the "
|
318 |
"theme demo."
|
319 |
msgstr ""
|
320 |
|
321 |
-
#: includes/class-demo-importer.php:
|
322 |
msgid ""
|
323 |
"It will install the required plugins as well as activate them for "
|
324 |
"installing the required theme demo within your site."
|
325 |
msgstr ""
|
326 |
|
327 |
-
#: includes/class-demo-importer.php:
|
328 |
msgid "Copyright images will get replaced with other placeholder images."
|
329 |
msgstr ""
|
330 |
|
331 |
-
#: includes/class-demo-importer.php:
|
332 |
msgid ""
|
333 |
"None of the posts, pages, attachments or any other data already existing in "
|
334 |
"your site will be deleted or modified."
|
335 |
msgstr ""
|
336 |
|
337 |
-
#: includes/class-demo-importer.php:
|
338 |
msgid "It will take some time to import the theme demo."
|
339 |
msgstr ""
|
340 |
|
341 |
-
#: includes/class-demo-importer.php:
|
342 |
msgid "Search Demos"
|
343 |
msgstr ""
|
344 |
|
345 |
-
#: includes/class-demo-importer.php:
|
346 |
msgid "Search demos..."
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: includes/class-demo-importer.php:
|
350 |
#. translators: %s: support forums URL
|
351 |
msgid ""
|
352 |
"An unexpected error occurred. Something may be wrong with ThemeGrill demo "
|
@@ -354,32 +735,32 @@ msgid ""
|
|
354 |
"the <a href=\"%s\">support forums</a>."
|
355 |
msgstr ""
|
356 |
|
357 |
-
#: includes/class-demo-importer.php:
|
358 |
msgid "Try Again"
|
359 |
msgstr ""
|
360 |
|
361 |
-
#: includes/class-demo-importer.php:
|
362 |
msgid "Please suggest us!"
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: includes/class-demo-importer.php:
|
366 |
msgid "Number of Demos found: %d"
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: includes/class-demo-importer.php:
|
370 |
msgid "Expand Sidebar"
|
371 |
msgstr ""
|
372 |
|
373 |
-
#: includes/class-demo-importer.php:
|
374 |
#. translators: accessibility text
|
375 |
msgid "Select one or more Demo features to filter by"
|
376 |
msgstr ""
|
377 |
|
378 |
-
#: includes/class-demo-importer.php:
|
379 |
msgid "Confirm!"
|
380 |
msgstr ""
|
381 |
|
382 |
-
#: includes/class-demo-importer.php:
|
383 |
#. translators: 1: ThemeGrill Demo Importer 2: five stars
|
384 |
msgid "If you like %1$s please leave us a %2$s rating. A huge thanks in advance!"
|
385 |
msgstr ""
|
@@ -388,45 +769,45 @@ msgstr ""
|
|
388 |
msgid "ThemeGrill Demo Importer"
|
389 |
msgstr ""
|
390 |
|
391 |
-
#: includes/class-demo-importer.php:
|
392 |
msgid "Thanks :)"
|
393 |
msgstr ""
|
394 |
|
395 |
-
#: includes/class-demo-importer.php:
|
396 |
msgid "Thank you for importing with ThemeGrill Demo Importer."
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: includes/class-demo-importer.php:
|
400 |
msgid "Help & Support"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: includes/class-demo-importer.php:
|
404 |
msgid ""
|
405 |
"Should you need help understanding, using, or extending ThemeGrill Demo "
|
406 |
"Importer, <a href=\"%s\">please read our documentation</a>. You will find "
|
407 |
"all kinds of resources including snippets, tutorials and much more."
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: includes/class-demo-importer.php:
|
411 |
msgid ""
|
412 |
"For further assistance with ThemeGrill Demo Importer core you can use the "
|
413 |
"<a href=\"%1$s\">community forum</a>. If you need help with premium themes "
|
414 |
"sold by ThemeGrill, please <a href=\"%2$s\">use our free support forum</a>."
|
415 |
msgstr ""
|
416 |
|
417 |
-
#: includes/class-demo-importer.php:
|
418 |
msgid "Community forum"
|
419 |
msgstr ""
|
420 |
|
421 |
-
#: includes/class-demo-importer.php:
|
422 |
msgid "ThemeGrill Support"
|
423 |
msgstr ""
|
424 |
|
425 |
-
#: includes/class-demo-importer.php:
|
426 |
msgid "Found a bug?"
|
427 |
msgstr ""
|
428 |
|
429 |
-
#: includes/class-demo-importer.php:
|
430 |
msgid ""
|
431 |
"If you find a bug within ThemeGrill Demo Importer you can create a ticket "
|
432 |
"via <a href=\"%1$s\">Github issues</a>. Ensure you read the <a "
|
@@ -434,86 +815,65 @@ msgid ""
|
|
434 |
"help us solve your issue, please be as descriptive as possible."
|
435 |
msgstr ""
|
436 |
|
437 |
-
#: includes/class-demo-importer.php:
|
438 |
msgid "Report a bug"
|
439 |
msgstr ""
|
440 |
|
441 |
-
#: includes/class-demo-importer.php:
|
442 |
-
#: includes/class-demo-importer.php:331
|
443 |
-
msgid "Reset wizard"
|
444 |
-
msgstr ""
|
445 |
-
|
446 |
-
#: includes/class-demo-importer.php:330
|
447 |
-
msgid ""
|
448 |
-
"If you need to reset the WordPress back to default again, please click on "
|
449 |
-
"the button below."
|
450 |
-
msgstr ""
|
451 |
-
|
452 |
-
#: includes/class-demo-importer.php:336
|
453 |
msgid "For more information:"
|
454 |
msgstr ""
|
455 |
|
456 |
-
#: includes/class-demo-importer.php:
|
457 |
msgid "About Demo Importer"
|
458 |
msgstr ""
|
459 |
|
460 |
-
#: includes/class-demo-importer.php:
|
461 |
msgid "WordPress.org project"
|
462 |
msgstr ""
|
463 |
|
464 |
-
#: includes/class-demo-importer.php:
|
465 |
msgid "Github project"
|
466 |
msgstr ""
|
467 |
|
468 |
-
#: includes/class-demo-importer.php:
|
469 |
msgid "Official themes"
|
470 |
msgstr ""
|
471 |
|
472 |
-
#: includes/class-demo-importer.php:
|
473 |
msgid "Official plugins"
|
474 |
msgstr ""
|
475 |
|
476 |
-
#: includes/class-demo-importer.php:
|
477 |
-
#: includes/class-themegrill-demo-importer.php:50
|
478 |
-
#: includes/class-themegrill-demo-importer.php:59
|
479 |
-
msgid "Cheatin’ huh?"
|
480 |
-
msgstr ""
|
481 |
-
|
482 |
-
#: includes/class-demo-importer.php:399
|
483 |
-
msgid "You don’t have permission to do this."
|
484 |
-
msgstr ""
|
485 |
-
|
486 |
-
#: includes/class-demo-importer.php:624 includes/class-demo-importer.php:685
|
487 |
msgid "This demo requires %1$s version of %2$s theme to get imported"
|
488 |
msgstr ""
|
489 |
|
490 |
-
#: includes/class-demo-importer.php:
|
491 |
msgid ""
|
492 |
"This demo requires %1$s version of %2$s theme and %3$s version of %4$s as "
|
493 |
"well as %5$s version of %6$s plugins to get imported"
|
494 |
msgstr ""
|
495 |
|
496 |
-
#: includes/class-demo-importer.php:
|
497 |
-
#: includes/class-demo-importer.php:
|
498 |
msgid "Zakra Pro"
|
499 |
msgstr ""
|
500 |
|
501 |
-
#: includes/class-demo-importer.php:
|
502 |
-
#: includes/class-demo-importer.php:
|
503 |
msgid "Companion Elementor"
|
504 |
msgstr ""
|
505 |
|
506 |
-
#: includes/class-demo-importer.php:
|
507 |
msgid ""
|
508 |
"This demo requires %1$s version of %2$s theme and %3$s version of %4$s "
|
509 |
"plugin to get imported"
|
510 |
msgstr ""
|
511 |
|
512 |
-
#: includes/class-demo-importer.php:
|
513 |
msgid "This demo requires %1$s version of %2$s plugin to get imported"
|
514 |
msgstr ""
|
515 |
|
516 |
-
#: includes/class-demo-importer.php:
|
517 |
msgid "%s Pro"
|
518 |
msgstr ""
|
519 |
|
@@ -521,31 +881,36 @@ msgstr ""
|
|
521 |
msgid "ThemeGrill"
|
522 |
msgstr ""
|
523 |
|
524 |
-
#: includes/class-demo-importer.php:
|
525 |
msgid "No demo specified."
|
526 |
msgstr ""
|
527 |
|
528 |
-
#: includes/class-demo-importer.php:
|
529 |
msgid "Sorry, you are not allowed to import content."
|
530 |
msgstr ""
|
531 |
|
532 |
-
#: includes/class-demo-importer.php:
|
533 |
#: includes/functions-demo-importer.php:110
|
534 |
msgid "Unable to connect to the filesystem. Please confirm your credentials."
|
535 |
msgstr ""
|
536 |
|
537 |
-
#: includes/class-demo-importer.php:
|
538 |
msgid "The XML file dummy content is missing."
|
539 |
msgstr ""
|
540 |
|
541 |
-
#: includes/class-demo-importer.php:
|
542 |
msgid "The DAT file customizer data is missing."
|
543 |
msgstr ""
|
544 |
|
545 |
-
#: includes/class-demo-importer.php:
|
546 |
msgid "The WIE file widget content is missing."
|
547 |
msgstr ""
|
548 |
|
|
|
|
|
|
|
|
|
|
|
549 |
#: includes/class-themegrill-demo-importer.php:236
|
550 |
msgid "View Demo Importer"
|
551 |
msgstr ""
|
@@ -892,22 +1257,22 @@ msgctxt "demo"
|
|
892 |
msgid "Imported"
|
893 |
msgstr ""
|
894 |
|
895 |
-
#: includes/class-demo-importer.php:
|
896 |
msgctxt "demo"
|
897 |
msgid "Importing %s..."
|
898 |
msgstr ""
|
899 |
|
900 |
-
#: includes/class-demo-importer.php:
|
901 |
msgctxt "demo"
|
902 |
msgid "%s imported!"
|
903 |
msgstr ""
|
904 |
|
905 |
-
#: includes/class-demo-importer.php:
|
906 |
msgctxt "demo"
|
907 |
msgid "%s import failed"
|
908 |
msgstr ""
|
909 |
|
910 |
-
#: includes/class-demo-importer.php:
|
911 |
msgctxt "demo"
|
912 |
msgid "Live Preview %s"
|
913 |
msgstr ""
|
@@ -922,7 +1287,125 @@ msgctxt "Button label for a demo"
|
|
922 |
msgid "Next"
|
923 |
msgstr ""
|
924 |
|
925 |
-
#: includes/class-demo-importer.php:
|
926 |
msgctxt "Admin menu name"
|
927 |
msgid "Demo Importer"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
928 |
msgstr ""
|
2 |
# This file is distributed under the GPLv3 or later.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: ThemeGrill Demo Importer 1.6.6\n"
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://github.com/themegrill/themegrill-demo-importer/issues\n"
|
8 |
+
"POT-Creation-Date: 2020-08-06 07:44:05+00:00\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
14 |
"Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
|
15 |
"X-Generator: grunt-wp-i18n 1.0.3\n"
|
16 |
|
17 |
+
#: includes/admin/class-demo-importer-status.php:41
|
18 |
+
msgid "All Fine"
|
19 |
+
msgstr ""
|
20 |
+
|
21 |
+
#: includes/admin/class-demo-importer-status.php:43
|
22 |
+
msgid "There are some write permission errors on your site."
|
23 |
+
msgstr ""
|
24 |
+
|
25 |
+
#: includes/admin/class-demo-importer-status.php:60
|
26 |
+
msgid "There is a connection issue of your site to our demo pack services."
|
27 |
+
msgstr ""
|
28 |
+
|
29 |
+
#: includes/admin/class-demo-importer-status.php:62
|
30 |
+
msgid "Connected"
|
31 |
+
msgstr ""
|
32 |
+
|
33 |
#: includes/admin/class-demo-pack-upgrader.php:35
|
34 |
msgid "Install package not available."
|
35 |
msgstr ""
|
83 |
msgstr ""
|
84 |
|
85 |
#: includes/admin/class-plugin-deactivate-notice.php:78
|
86 |
+
#: includes/class-demo-importer.php:1387
|
|
|
87 |
msgid "Action failed. Please refresh the page and retry."
|
88 |
msgstr ""
|
89 |
|
111 |
msgid "Got plugin support question?"
|
112 |
msgstr ""
|
113 |
|
114 |
+
#: includes/admin/views/html-admin-page-demo-import-faqs.php:11
|
115 |
+
#: includes/admin/views/html-admin-page-status.php:14
|
116 |
+
msgid "FAQ's"
|
117 |
+
msgstr ""
|
118 |
+
|
119 |
+
#: includes/admin/views/html-admin-page-demo-import-faqs.php:28
|
120 |
+
msgid "Error fetching the FAQ's"
|
121 |
+
msgstr ""
|
122 |
+
|
123 |
+
#: includes/admin/views/html-admin-page-demo-import-faqs.php:36
|
124 |
+
msgid ""
|
125 |
+
"An error has occurred, which probably means our server is down. Try again "
|
126 |
+
"later."
|
127 |
+
msgstr ""
|
128 |
+
|
129 |
+
#: includes/admin/views/html-admin-page-demo-import-faqs.php:62
|
130 |
+
msgid "View More FAQ's"
|
131 |
+
msgstr ""
|
132 |
+
|
133 |
#: includes/admin/views/html-admin-page-importer.php:12
|
134 |
+
#: includes/class-demo-importer.php:120
|
135 |
#: includes/class-themegrill-demo-importer.php:236
|
136 |
msgid "Demo Importer"
|
137 |
msgstr ""
|
167 |
msgstr ""
|
168 |
|
169 |
#: includes/admin/views/html-admin-page-importer.php:67
|
170 |
+
#: includes/class-demo-importer.php:330
|
171 |
msgid "No demos found. Try a different search."
|
172 |
msgstr ""
|
173 |
|
183 |
|
184 |
#: includes/admin/views/html-admin-page-importer.php:91
|
185 |
#: includes/admin/views/html-admin-page-importer.php:172
|
186 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:287
|
187 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:334
|
188 |
#. translators: %s: Demo author name
|
189 |
+
#. translators: 1. Plugin author name.
|
190 |
msgid "By %s"
|
191 |
msgstr ""
|
192 |
|
198 |
#: includes/admin/views/html-admin-page-importer.php:109
|
199 |
#: includes/admin/views/html-admin-page-importer.php:150
|
200 |
#: includes/admin/views/html-admin-page-importer.php:254
|
201 |
+
#: includes/class-demo-importer.php:187 includes/class-demo-importer.php:266
|
202 |
msgid "Live Preview"
|
203 |
msgstr ""
|
204 |
|
214 |
#: includes/admin/views/html-admin-page-importer.php:116
|
215 |
#: includes/admin/views/html-admin-page-importer.php:147
|
216 |
#: includes/admin/views/html-admin-page-importer.php:251
|
217 |
+
#: includes/class-demo-importer.php:210
|
218 |
msgid "Update"
|
219 |
msgstr ""
|
220 |
|
262 |
msgstr ""
|
263 |
|
264 |
#: includes/admin/views/html-admin-page-importer.php:260
|
265 |
+
#: includes/class-demo-importer.php:331
|
266 |
msgid "Collapse Sidebar"
|
267 |
msgstr ""
|
268 |
|
282 |
msgid "Enter mobile preview mode"
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: includes/admin/views/html-admin-page-status.php:13
|
286 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:16
|
287 |
+
msgid "System Status"
|
288 |
+
msgstr ""
|
289 |
+
|
290 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:21
|
291 |
+
msgid "System Info"
|
292 |
+
msgstr ""
|
293 |
+
|
294 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:28
|
295 |
+
msgid "Operating System:"
|
296 |
+
msgstr ""
|
297 |
+
|
298 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:33
|
299 |
+
msgid "Server:"
|
300 |
+
msgstr ""
|
301 |
+
|
302 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:38
|
303 |
+
msgid "MySQL Version:"
|
304 |
+
msgstr ""
|
305 |
+
|
306 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:43
|
307 |
+
msgid "PHP Version:"
|
308 |
+
msgstr ""
|
309 |
+
|
310 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:48
|
311 |
+
msgid "PHP Max Execution Time:"
|
312 |
+
msgstr ""
|
313 |
+
|
314 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:53
|
315 |
+
msgid "PHP Max Upload Size:"
|
316 |
+
msgstr ""
|
317 |
+
|
318 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:58
|
319 |
+
msgid "PHP Post Max Size:"
|
320 |
+
msgstr ""
|
321 |
+
|
322 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:63
|
323 |
+
msgid "PHP Max Input Vars:"
|
324 |
+
msgstr ""
|
325 |
+
|
326 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:68
|
327 |
+
msgid "PHP Memory Limit:"
|
328 |
+
msgstr ""
|
329 |
+
|
330 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:73
|
331 |
+
msgid "cURL Installed:"
|
332 |
+
msgstr ""
|
333 |
+
|
334 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:74
|
335 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:86
|
336 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:136
|
337 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:166
|
338 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:171
|
339 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:214
|
340 |
+
msgid "Yes"
|
341 |
+
msgstr ""
|
342 |
+
|
343 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:74
|
344 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:86
|
345 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:136
|
346 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:166
|
347 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:171
|
348 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:214
|
349 |
+
msgid "No"
|
350 |
+
msgstr ""
|
351 |
+
|
352 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:79
|
353 |
+
msgid "cURL version:"
|
354 |
+
msgstr ""
|
355 |
+
|
356 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:85
|
357 |
+
msgid "GD Installed:"
|
358 |
+
msgstr ""
|
359 |
+
|
360 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:91
|
361 |
+
msgid "GD version:"
|
362 |
+
msgstr ""
|
363 |
+
|
364 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:97
|
365 |
+
msgid "Write Permission:"
|
366 |
+
msgstr ""
|
367 |
+
|
368 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:102
|
369 |
+
msgid "Demo Pack Server Connection:"
|
370 |
+
msgstr ""
|
371 |
+
|
372 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:113
|
373 |
+
msgid "WordPress Info"
|
374 |
+
msgstr ""
|
375 |
+
|
376 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:120
|
377 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:198
|
378 |
+
msgid "Version:"
|
379 |
+
msgstr ""
|
380 |
+
|
381 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:125
|
382 |
+
msgid "Site URL:"
|
383 |
+
msgstr ""
|
384 |
+
|
385 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:130
|
386 |
+
msgid "Home URL:"
|
387 |
+
msgstr ""
|
388 |
+
|
389 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:135
|
390 |
+
msgid "Multisite:"
|
391 |
+
msgstr ""
|
392 |
+
|
393 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:140
|
394 |
+
msgid "Max Upload Size:"
|
395 |
+
msgstr ""
|
396 |
+
|
397 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:145
|
398 |
+
msgid "Memory Limit:"
|
399 |
+
msgstr ""
|
400 |
+
|
401 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:150
|
402 |
+
msgid "Max Memory Limit:"
|
403 |
+
msgstr ""
|
404 |
+
|
405 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:155
|
406 |
+
msgid "Permalink Structure:"
|
407 |
+
msgstr ""
|
408 |
+
|
409 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:156
|
410 |
+
msgid "Plain"
|
411 |
+
msgstr ""
|
412 |
+
|
413 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:160
|
414 |
+
msgid "Language:"
|
415 |
+
msgstr ""
|
416 |
+
|
417 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:165
|
418 |
+
msgid "Debug Mode Enabled:"
|
419 |
+
msgstr ""
|
420 |
+
|
421 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:170
|
422 |
+
msgid "Script Debug Mode Enabled:"
|
423 |
+
msgstr ""
|
424 |
+
|
425 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:175
|
426 |
+
msgid "ThemeGrill Demo Importer Version:"
|
427 |
+
msgstr ""
|
428 |
+
|
429 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:186
|
430 |
+
msgid "Theme Info"
|
431 |
+
msgstr ""
|
432 |
+
|
433 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:193
|
434 |
+
msgid "Name:"
|
435 |
+
msgstr ""
|
436 |
+
|
437 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:203
|
438 |
+
msgid "Author:"
|
439 |
+
msgstr ""
|
440 |
+
|
441 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:208
|
442 |
+
msgid "Author URL:"
|
443 |
+
msgstr ""
|
444 |
+
|
445 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:213
|
446 |
+
msgid "Child Theme:"
|
447 |
+
msgstr ""
|
448 |
+
|
449 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:220
|
450 |
+
#. translators: 1. Opening anchor tag for ThemeGrill Child Tutorial, 2. Closing
|
451 |
+
#. the anchor tag
|
452 |
msgid ""
|
453 |
+
"If you want to modify the features of the theme then, we recommend you to "
|
454 |
+
"use %1$s child theme. %2$s"
|
455 |
+
msgstr ""
|
456 |
+
|
457 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:230
|
458 |
+
msgid "Parent Theme Name:"
|
459 |
+
msgstr ""
|
460 |
+
|
461 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:235
|
462 |
+
msgid "Parent Theme Version:"
|
463 |
+
msgstr ""
|
464 |
+
|
465 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:240
|
466 |
+
msgid "Parent Theme Author:"
|
467 |
+
msgstr ""
|
468 |
+
|
469 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:245
|
470 |
+
msgid "Parent Theme Author URL:"
|
471 |
+
msgstr ""
|
472 |
+
|
473 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:257
|
474 |
+
msgid "Active Plugins"
|
475 |
+
msgstr ""
|
476 |
+
|
477 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:304
|
478 |
+
msgid "Inactive Plugins"
|
479 |
+
msgstr ""
|
480 |
+
|
481 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:348
|
482 |
+
msgid "Copy & Paste"
|
483 |
msgstr ""
|
484 |
|
485 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:351
|
486 |
msgid ""
|
487 |
+
"While creating support request, please provide us the details generated "
|
488 |
+
"below within the support request. It might help us to tackle on the issue "
|
489 |
+
"more conviniently."
|
490 |
msgstr ""
|
491 |
|
492 |
+
#: includes/admin/views/html-admin-page-system-status-report.php:358
|
493 |
+
msgid "Copy System Status"
|
494 |
msgstr ""
|
495 |
|
496 |
+
#: includes/class-demo-importer.php:121
|
497 |
+
msgid "Demo Importer Status"
|
498 |
msgstr ""
|
499 |
|
500 |
+
#: includes/class-demo-importer.php:179
|
501 |
msgid "Importing..."
|
502 |
msgstr ""
|
503 |
|
504 |
+
#: includes/class-demo-importer.php:181
|
505 |
msgid "Importing... please wait."
|
506 |
msgstr ""
|
507 |
|
508 |
+
#: includes/class-demo-importer.php:182
|
509 |
msgid "Import completed successfully."
|
510 |
msgstr ""
|
511 |
|
512 |
+
#: includes/class-demo-importer.php:183
|
513 |
msgid "Import Failed!"
|
514 |
msgstr ""
|
515 |
|
516 |
+
#: includes/class-demo-importer.php:184
|
517 |
msgid "Import failed: %s"
|
518 |
msgstr ""
|
519 |
|
520 |
+
#: includes/class-demo-importer.php:189
|
521 |
msgid "Imported!"
|
522 |
msgstr ""
|
523 |
|
524 |
+
#: includes/class-demo-importer.php:190
|
525 |
msgid "Try this solution!"
|
526 |
msgstr ""
|
527 |
|
528 |
+
#: includes/class-demo-importer.php:203
|
529 |
+
#. translators: %s: Search query.
|
530 |
+
msgid "Search results for “%s”"
|
531 |
+
msgstr ""
|
532 |
+
|
533 |
+
#: includes/class-demo-importer.php:204
|
534 |
+
msgid "Search Results"
|
535 |
+
msgstr ""
|
536 |
+
|
537 |
+
#: includes/class-demo-importer.php:205
|
538 |
+
msgid "You do not appear to have any plugins available at this time."
|
539 |
+
msgstr ""
|
540 |
+
|
541 |
+
#: includes/class-demo-importer.php:206
|
542 |
+
msgid "Please select at least one item to perform this action on."
|
543 |
+
msgstr ""
|
544 |
+
|
545 |
+
#: includes/class-demo-importer.php:207
|
546 |
+
msgid "Updating..."
|
547 |
msgstr ""
|
548 |
|
549 |
#: includes/class-demo-importer.php:211
|
550 |
+
msgid "Update Now"
|
551 |
+
msgstr ""
|
552 |
+
|
553 |
+
#: includes/class-demo-importer.php:214
|
554 |
+
msgid "Update Failed!"
|
555 |
+
msgstr ""
|
556 |
+
|
557 |
+
#: includes/class-demo-importer.php:216
|
558 |
+
#. translators: %s: Error string for a failed update.
|
559 |
+
msgid "Update Failed: %s"
|
560 |
+
msgstr ""
|
561 |
+
|
562 |
+
#: includes/class-demo-importer.php:224
|
563 |
+
#. translators: Accessibility text.
|
564 |
+
msgid "Updating... please wait."
|
565 |
+
msgstr ""
|
566 |
+
|
567 |
+
#: includes/class-demo-importer.php:226
|
568 |
+
#. translators: Accessibility text.
|
569 |
+
msgid "Update completed successfully."
|
570 |
+
msgstr ""
|
571 |
+
|
572 |
+
#: includes/class-demo-importer.php:228
|
573 |
+
#. translators: Accessibility text.
|
574 |
+
msgid "Update canceled."
|
575 |
+
msgstr ""
|
576 |
+
|
577 |
+
#: includes/class-demo-importer.php:229
|
578 |
+
msgid "Updates may not complete if you navigate away from this page."
|
579 |
+
msgstr ""
|
580 |
+
|
581 |
+
#: includes/class-demo-importer.php:230
|
582 |
+
msgid "Install Now"
|
583 |
+
msgstr ""
|
584 |
+
|
585 |
+
#: includes/class-demo-importer.php:233
|
586 |
+
msgid "Installing..."
|
587 |
+
msgstr ""
|
588 |
+
|
589 |
+
#: includes/class-demo-importer.php:236
|
590 |
+
msgid "Installation Failed!"
|
591 |
+
msgstr ""
|
592 |
+
|
593 |
+
#: includes/class-demo-importer.php:238
|
594 |
+
#. translators: %s: Error string for a failed installation.
|
595 |
+
msgid "Installation failed: %s"
|
596 |
+
msgstr ""
|
597 |
+
|
598 |
+
#: includes/class-demo-importer.php:251
|
599 |
+
msgid "Installing... please wait."
|
600 |
+
msgstr ""
|
601 |
+
|
602 |
+
#: includes/class-demo-importer.php:252
|
603 |
+
msgid "Installation completed successfully."
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: includes/class-demo-importer.php:254
|
607 |
+
#. translators: %s: Activation URL.
|
608 |
+
msgid "Importer installed successfully. <a href=\"%s\">Run importer</a>"
|
609 |
+
msgstr ""
|
610 |
+
|
611 |
+
#: includes/class-demo-importer.php:256
|
612 |
+
#. translators: %s: Theme name.
|
613 |
+
msgid "Are you sure you want to delete %s?"
|
614 |
+
msgstr ""
|
615 |
+
|
616 |
+
#: includes/class-demo-importer.php:258
|
617 |
+
#. translators: %s: Plugin name.
|
618 |
+
msgid "Are you sure you want to delete %s and its data?"
|
619 |
+
msgstr ""
|
620 |
+
|
621 |
+
#: includes/class-demo-importer.php:259
|
622 |
+
msgid "Are you sure you want to delete the selected plugins and their data?"
|
623 |
+
msgstr ""
|
624 |
+
|
625 |
+
#: includes/class-demo-importer.php:260
|
626 |
+
msgid ""
|
627 |
+
"Caution: These themes may be active on other sites in the network. Are you "
|
628 |
+
"sure you want to proceed?"
|
629 |
+
msgstr ""
|
630 |
+
|
631 |
+
#: includes/class-demo-importer.php:261
|
632 |
+
msgid "Deleting..."
|
633 |
+
msgstr ""
|
634 |
+
|
635 |
+
#: includes/class-demo-importer.php:263
|
636 |
+
#. translators: %s: Error string for a failed deletion.
|
637 |
+
msgid "Deletion failed: %s"
|
638 |
+
msgstr ""
|
639 |
+
|
640 |
+
#: includes/class-demo-importer.php:267
|
641 |
+
msgid "Network Activate"
|
642 |
+
msgstr ""
|
643 |
+
|
644 |
+
#: includes/class-demo-importer.php:267 includes/class-demo-importer.php:268
|
645 |
+
msgid "Activate"
|
646 |
+
msgstr ""
|
647 |
+
|
648 |
+
#: includes/class-demo-importer.php:268
|
649 |
+
msgid "Network Enable"
|
650 |
+
msgstr ""
|
651 |
+
|
652 |
+
#: includes/class-demo-importer.php:273
|
653 |
+
msgid "Run Importer"
|
654 |
+
msgstr ""
|
655 |
+
|
656 |
+
#: includes/class-demo-importer.php:275
|
657 |
+
#. translators: %s: Importer name.
|
658 |
+
msgid "Run %s"
|
659 |
+
msgstr ""
|
660 |
+
|
661 |
+
#: includes/class-demo-importer.php:276
|
662 |
+
msgid "Something went wrong."
|
663 |
+
msgstr ""
|
664 |
+
|
665 |
+
#: includes/class-demo-importer.php:277
|
666 |
+
msgid "Connection lost or the server is busy. Please try again later."
|
667 |
+
msgstr ""
|
668 |
+
|
669 |
+
#: includes/class-demo-importer.php:278
|
670 |
+
msgid "An error has occurred. Please reload the page and try again."
|
671 |
+
msgstr ""
|
672 |
+
|
673 |
+
#: includes/class-demo-importer.php:280
|
674 |
+
#. translators: %s: Number of plugins.
|
675 |
+
msgid "Number of plugins found: %d"
|
676 |
+
msgstr ""
|
677 |
+
|
678 |
+
#: includes/class-demo-importer.php:281
|
679 |
+
msgid "No plugins found. Try a different search."
|
680 |
+
msgstr ""
|
681 |
+
|
682 |
+
#: includes/class-demo-importer.php:306
|
683 |
msgid ""
|
684 |
"Importing demo data will ensure that your site will look similar as theme "
|
685 |
"demo. It makes you easy to modify the content instead of creating them from "
|
687 |
"%6$s"
|
688 |
msgstr ""
|
689 |
|
690 |
+
#: includes/class-demo-importer.php:308
|
691 |
msgid ""
|
692 |
"Importing the demo on the site if you have already added the content is "
|
693 |
"highly discouraged."
|
694 |
msgstr ""
|
695 |
|
696 |
+
#: includes/class-demo-importer.php:310
|
697 |
msgid ""
|
698 |
"You need to import demo on fresh WordPress install to exactly replicate the "
|
699 |
"theme demo."
|
700 |
msgstr ""
|
701 |
|
702 |
+
#: includes/class-demo-importer.php:312
|
703 |
msgid ""
|
704 |
"It will install the required plugins as well as activate them for "
|
705 |
"installing the required theme demo within your site."
|
706 |
msgstr ""
|
707 |
|
708 |
+
#: includes/class-demo-importer.php:314
|
709 |
msgid "Copyright images will get replaced with other placeholder images."
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: includes/class-demo-importer.php:316
|
713 |
msgid ""
|
714 |
"None of the posts, pages, attachments or any other data already existing in "
|
715 |
"your site will be deleted or modified."
|
716 |
msgstr ""
|
717 |
|
718 |
+
#: includes/class-demo-importer.php:318
|
719 |
msgid "It will take some time to import the theme demo."
|
720 |
msgstr ""
|
721 |
|
722 |
+
#: includes/class-demo-importer.php:323
|
723 |
msgid "Search Demos"
|
724 |
msgstr ""
|
725 |
|
726 |
+
#: includes/class-demo-importer.php:324
|
727 |
msgid "Search demos..."
|
728 |
msgstr ""
|
729 |
|
730 |
+
#: includes/class-demo-importer.php:326
|
731 |
#. translators: %s: support forums URL
|
732 |
msgid ""
|
733 |
"An unexpected error occurred. Something may be wrong with ThemeGrill demo "
|
735 |
"the <a href=\"%s\">support forums</a>."
|
736 |
msgstr ""
|
737 |
|
738 |
+
#: includes/class-demo-importer.php:327
|
739 |
msgid "Try Again"
|
740 |
msgstr ""
|
741 |
|
742 |
+
#: includes/class-demo-importer.php:328
|
743 |
msgid "Please suggest us!"
|
744 |
msgstr ""
|
745 |
|
746 |
+
#: includes/class-demo-importer.php:329
|
747 |
msgid "Number of Demos found: %d"
|
748 |
msgstr ""
|
749 |
|
750 |
+
#: includes/class-demo-importer.php:332
|
751 |
msgid "Expand Sidebar"
|
752 |
msgstr ""
|
753 |
|
754 |
+
#: includes/class-demo-importer.php:334
|
755 |
#. translators: accessibility text
|
756 |
msgid "Select one or more Demo features to filter by"
|
757 |
msgstr ""
|
758 |
|
759 |
+
#: includes/class-demo-importer.php:335
|
760 |
msgid "Confirm!"
|
761 |
msgstr ""
|
762 |
|
763 |
+
#: includes/class-demo-importer.php:361
|
764 |
#. translators: 1: ThemeGrill Demo Importer 2: five stars
|
765 |
msgid "If you like %1$s please leave us a %2$s rating. A huge thanks in advance!"
|
766 |
msgstr ""
|
769 |
msgid "ThemeGrill Demo Importer"
|
770 |
msgstr ""
|
771 |
|
772 |
+
#: includes/class-demo-importer.php:363
|
773 |
msgid "Thanks :)"
|
774 |
msgstr ""
|
775 |
|
776 |
+
#: includes/class-demo-importer.php:366
|
777 |
msgid "Thank you for importing with ThemeGrill Demo Importer."
|
778 |
msgstr ""
|
779 |
|
780 |
+
#: includes/class-demo-importer.php:386 includes/class-demo-importer.php:388
|
781 |
msgid "Help & Support"
|
782 |
msgstr ""
|
783 |
|
784 |
+
#: includes/class-demo-importer.php:390
|
785 |
msgid ""
|
786 |
"Should you need help understanding, using, or extending ThemeGrill Demo "
|
787 |
"Importer, <a href=\"%s\">please read our documentation</a>. You will find "
|
788 |
"all kinds of resources including snippets, tutorials and much more."
|
789 |
msgstr ""
|
790 |
|
791 |
+
#: includes/class-demo-importer.php:394
|
792 |
msgid ""
|
793 |
"For further assistance with ThemeGrill Demo Importer core you can use the "
|
794 |
"<a href=\"%1$s\">community forum</a>. If you need help with premium themes "
|
795 |
"sold by ThemeGrill, please <a href=\"%2$s\">use our free support forum</a>."
|
796 |
msgstr ""
|
797 |
|
798 |
+
#: includes/class-demo-importer.php:398
|
799 |
msgid "Community forum"
|
800 |
msgstr ""
|
801 |
|
802 |
+
#: includes/class-demo-importer.php:398
|
803 |
msgid "ThemeGrill Support"
|
804 |
msgstr ""
|
805 |
|
806 |
+
#: includes/class-demo-importer.php:405 includes/class-demo-importer.php:407
|
807 |
msgid "Found a bug?"
|
808 |
msgstr ""
|
809 |
|
810 |
+
#: includes/class-demo-importer.php:408
|
811 |
msgid ""
|
812 |
"If you find a bug within ThemeGrill Demo Importer you can create a ticket "
|
813 |
"via <a href=\"%1$s\">Github issues</a>. Ensure you read the <a "
|
815 |
"help us solve your issue, please be as descriptive as possible."
|
816 |
msgstr ""
|
817 |
|
818 |
+
#: includes/class-demo-importer.php:409
|
819 |
msgid "Report a bug"
|
820 |
msgstr ""
|
821 |
|
822 |
+
#: includes/class-demo-importer.php:415
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
823 |
msgid "For more information:"
|
824 |
msgstr ""
|
825 |
|
826 |
+
#: includes/class-demo-importer.php:416
|
827 |
msgid "About Demo Importer"
|
828 |
msgstr ""
|
829 |
|
830 |
+
#: includes/class-demo-importer.php:417
|
831 |
msgid "WordPress.org project"
|
832 |
msgstr ""
|
833 |
|
834 |
+
#: includes/class-demo-importer.php:418
|
835 |
msgid "Github project"
|
836 |
msgstr ""
|
837 |
|
838 |
+
#: includes/class-demo-importer.php:419
|
839 |
msgid "Official themes"
|
840 |
msgstr ""
|
841 |
|
842 |
+
#: includes/class-demo-importer.php:420
|
843 |
msgid "Official plugins"
|
844 |
msgstr ""
|
845 |
|
846 |
+
#: includes/class-demo-importer.php:582 includes/class-demo-importer.php:643
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
847 |
msgid "This demo requires %1$s version of %2$s theme to get imported"
|
848 |
msgstr ""
|
849 |
|
850 |
+
#: includes/class-demo-importer.php:588 includes/class-demo-importer.php:616
|
851 |
msgid ""
|
852 |
"This demo requires %1$s version of %2$s theme and %3$s version of %4$s as "
|
853 |
"well as %5$s version of %6$s plugins to get imported"
|
854 |
msgstr ""
|
855 |
|
856 |
+
#: includes/class-demo-importer.php:592 includes/class-demo-importer.php:602
|
857 |
+
#: includes/class-demo-importer.php:608 includes/class-demo-importer.php:620
|
858 |
msgid "Zakra Pro"
|
859 |
msgstr ""
|
860 |
|
861 |
+
#: includes/class-demo-importer.php:594 includes/class-demo-importer.php:622
|
862 |
+
#: includes/class-demo-importer.php:630 includes/class-demo-importer.php:636
|
863 |
msgid "Companion Elementor"
|
864 |
msgstr ""
|
865 |
|
866 |
+
#: includes/class-demo-importer.php:598 includes/class-demo-importer.php:626
|
867 |
msgid ""
|
868 |
"This demo requires %1$s version of %2$s theme and %3$s version of %4$s "
|
869 |
"plugin to get imported"
|
870 |
msgstr ""
|
871 |
|
872 |
+
#: includes/class-demo-importer.php:606 includes/class-demo-importer.php:634
|
873 |
msgid "This demo requires %1$s version of %2$s plugin to get imported"
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: includes/class-demo-importer.php:654
|
877 |
msgid "%s Pro"
|
878 |
msgstr ""
|
879 |
|
881 |
msgid "ThemeGrill"
|
882 |
msgstr ""
|
883 |
|
884 |
+
#: includes/class-demo-importer.php:718
|
885 |
msgid "No demo specified."
|
886 |
msgstr ""
|
887 |
|
888 |
+
#: includes/class-demo-importer.php:734
|
889 |
msgid "Sorry, you are not allowed to import content."
|
890 |
msgstr ""
|
891 |
|
892 |
+
#: includes/class-demo-importer.php:766
|
893 |
#: includes/functions-demo-importer.php:110
|
894 |
msgid "Unable to connect to the filesystem. Please confirm your credentials."
|
895 |
msgstr ""
|
896 |
|
897 |
+
#: includes/class-demo-importer.php:849
|
898 |
msgid "The XML file dummy content is missing."
|
899 |
msgstr ""
|
900 |
|
901 |
+
#: includes/class-demo-importer.php:940
|
902 |
msgid "The DAT file customizer data is missing."
|
903 |
msgstr ""
|
904 |
|
905 |
+
#: includes/class-demo-importer.php:965
|
906 |
msgid "The WIE file widget content is missing."
|
907 |
msgstr ""
|
908 |
|
909 |
+
#: includes/class-themegrill-demo-importer.php:50
|
910 |
+
#: includes/class-themegrill-demo-importer.php:59
|
911 |
+
msgid "Cheatin’ huh?"
|
912 |
+
msgstr ""
|
913 |
+
|
914 |
#: includes/class-themegrill-demo-importer.php:236
|
915 |
msgid "View Demo Importer"
|
916 |
msgstr ""
|
1257 |
msgid "Imported"
|
1258 |
msgstr ""
|
1259 |
|
1260 |
+
#: includes/class-demo-importer.php:180
|
1261 |
msgctxt "demo"
|
1262 |
msgid "Importing %s..."
|
1263 |
msgstr ""
|
1264 |
|
1265 |
+
#: includes/class-demo-importer.php:185
|
1266 |
msgctxt "demo"
|
1267 |
msgid "%s imported!"
|
1268 |
msgstr ""
|
1269 |
|
1270 |
+
#: includes/class-demo-importer.php:186
|
1271 |
msgctxt "demo"
|
1272 |
msgid "%s import failed"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
+
#: includes/class-demo-importer.php:188
|
1276 |
msgctxt "demo"
|
1277 |
msgid "Live Preview %s"
|
1278 |
msgstr ""
|
1287 |
msgid "Next"
|
1288 |
msgstr ""
|
1289 |
|
1290 |
+
#: includes/class-demo-importer.php:136
|
1291 |
msgctxt "Admin menu name"
|
1292 |
msgid "Demo Importer"
|
1293 |
+
msgstr ""
|
1294 |
+
|
1295 |
+
#: includes/class-demo-importer.php:208
|
1296 |
+
msgctxt "plugin"
|
1297 |
+
msgid "Updated!"
|
1298 |
+
msgstr ""
|
1299 |
+
|
1300 |
+
#: includes/class-demo-importer.php:213
|
1301 |
+
#. translators: %s: Plugin name and version.
|
1302 |
+
msgctxt "plugin"
|
1303 |
+
msgid "Update %s now"
|
1304 |
+
msgstr ""
|
1305 |
+
|
1306 |
+
#: includes/class-demo-importer.php:218
|
1307 |
+
#. translators: %s: Plugin name and version.
|
1308 |
+
msgctxt "plugin"
|
1309 |
+
msgid "Updating %s..."
|
1310 |
+
msgstr ""
|
1311 |
+
|
1312 |
+
#: includes/class-demo-importer.php:220
|
1313 |
+
#. translators: %s: Plugin name and version.
|
1314 |
+
msgctxt "plugin"
|
1315 |
+
msgid "%s updated!"
|
1316 |
+
msgstr ""
|
1317 |
+
|
1318 |
+
#: includes/class-demo-importer.php:222
|
1319 |
+
#. translators: %s: Plugin name and version.
|
1320 |
+
msgctxt "plugin"
|
1321 |
+
msgid "%s update failed"
|
1322 |
+
msgstr ""
|
1323 |
+
|
1324 |
+
#: includes/class-demo-importer.php:232
|
1325 |
+
#. translators: %s: Plugin name.
|
1326 |
+
msgctxt "plugin"
|
1327 |
+
msgid "Install %s now"
|
1328 |
+
msgstr ""
|
1329 |
+
|
1330 |
+
#: includes/class-demo-importer.php:234
|
1331 |
+
msgctxt "plugin"
|
1332 |
+
msgid "Installed!"
|
1333 |
+
msgstr ""
|
1334 |
+
|
1335 |
+
#: includes/class-demo-importer.php:240
|
1336 |
+
#. translators: %s: Plugin name and version.
|
1337 |
+
msgctxt "plugin"
|
1338 |
+
msgid "Installing %s..."
|
1339 |
+
msgstr ""
|
1340 |
+
|
1341 |
+
#: includes/class-demo-importer.php:244
|
1342 |
+
#. translators: %s: Plugin name and version.
|
1343 |
+
msgctxt "plugin"
|
1344 |
+
msgid "%s installed!"
|
1345 |
+
msgstr ""
|
1346 |
+
|
1347 |
+
#: includes/class-demo-importer.php:248
|
1348 |
+
#. translators: %s: Plugin name and version.
|
1349 |
+
msgctxt "plugin"
|
1350 |
+
msgid "%s installation failed"
|
1351 |
+
msgstr ""
|
1352 |
+
|
1353 |
+
#: includes/class-demo-importer.php:264
|
1354 |
+
msgctxt "plugin"
|
1355 |
+
msgid "Deleted!"
|
1356 |
+
msgstr ""
|
1357 |
+
|
1358 |
+
#: includes/class-demo-importer.php:270
|
1359 |
+
#. translators: %s: Plugin name.
|
1360 |
+
msgctxt "plugin"
|
1361 |
+
msgid "Network Activate %s"
|
1362 |
+
msgstr ""
|
1363 |
+
|
1364 |
+
#: includes/class-demo-importer.php:270
|
1365 |
+
msgctxt "plugin"
|
1366 |
+
msgid "Activate %s"
|
1367 |
+
msgstr ""
|
1368 |
+
|
1369 |
+
#: includes/class-demo-importer.php:209
|
1370 |
+
msgctxt "theme"
|
1371 |
+
msgid "Updated!"
|
1372 |
+
msgstr ""
|
1373 |
+
|
1374 |
+
#: includes/class-demo-importer.php:235
|
1375 |
+
msgctxt "theme"
|
1376 |
+
msgid "Installed!"
|
1377 |
+
msgstr ""
|
1378 |
+
|
1379 |
+
#: includes/class-demo-importer.php:242
|
1380 |
+
#. translators: %s: Theme name and version.
|
1381 |
+
msgctxt "theme"
|
1382 |
+
msgid "Installing %s..."
|
1383 |
+
msgstr ""
|
1384 |
+
|
1385 |
+
#: includes/class-demo-importer.php:246
|
1386 |
+
#. translators: %s: Theme name and version.
|
1387 |
+
msgctxt "theme"
|
1388 |
+
msgid "%s installed!"
|
1389 |
+
msgstr ""
|
1390 |
+
|
1391 |
+
#: includes/class-demo-importer.php:250
|
1392 |
+
#. translators: %s: Theme name and version.
|
1393 |
+
msgctxt "theme"
|
1394 |
+
msgid "%s installation failed"
|
1395 |
+
msgstr ""
|
1396 |
+
|
1397 |
+
#: includes/class-demo-importer.php:265
|
1398 |
+
msgctxt "theme"
|
1399 |
+
msgid "Deleted!"
|
1400 |
+
msgstr ""
|
1401 |
+
|
1402 |
+
#: includes/class-demo-importer.php:272
|
1403 |
+
#. translators: %s: Theme name.
|
1404 |
+
msgctxt "theme"
|
1405 |
+
msgid "Network Activate %s"
|
1406 |
+
msgstr ""
|
1407 |
+
|
1408 |
+
#: includes/class-demo-importer.php:272
|
1409 |
+
msgctxt "theme"
|
1410 |
+
msgid "Activate %s"
|
1411 |
msgstr ""
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: ThemeGrill, shivapoudel
|
3 |
Tags: themegrill, theme demos, demo, importer, one click import
|
4 |
Requires at least: 4.7
|
5 |
-
Tested up to: 5.
|
6 |
-
Stable tag: 1.6.
|
7 |
License: GPLv3 or later
|
8 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
@@ -72,6 +72,11 @@ Yes you can! Join in on our [GitHub repository](https://github.com/themegrill/th
|
|
72 |
3. Finally, Import the Demo with just one click.
|
73 |
|
74 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
75 |
= 1.6.5 - 23-07-2020 =
|
76 |
* Fix - Demo not importing completely in certain conditions.
|
77 |
|
2 |
Contributors: ThemeGrill, shivapoudel
|
3 |
Tags: themegrill, theme demos, demo, importer, one click import
|
4 |
Requires at least: 4.7
|
5 |
+
Tested up to: 5.5
|
6 |
+
Stable tag: 1.6.6
|
7 |
License: GPLv3 or later
|
8 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
72 |
3. Finally, Import the Demo with just one click.
|
73 |
|
74 |
== Changelog ==
|
75 |
+
= 1.6.6 - 06-08-2020 =
|
76 |
+
* Introduce - Demo Importer Status page
|
77 |
+
* Tweak - Added compatibility with WordPress v5.5
|
78 |
+
* Remove - `Reset wizard` feature to reset the site to fresh WordPress install.
|
79 |
+
|
80 |
= 1.6.5 - 23-07-2020 =
|
81 |
* Fix - Demo not importing completely in certain conditions.
|
82 |
|
themegrill-demo-importer.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: ThemeGrill Demo Importer
|
4 |
* Plugin URI: https://themegrill.com/demo-importer/
|
5 |
* Description: Import ThemeGrill official themes demo content, widgets and theme settings with just one click.
|
6 |
-
* Version: 1.6.
|
7 |
* Author: ThemeGrill
|
8 |
* Author URI: https://themegrill.com
|
9 |
* License: GPLv3 or later
|
3 |
* Plugin Name: ThemeGrill Demo Importer
|
4 |
* Plugin URI: https://themegrill.com/demo-importer/
|
5 |
* Description: Import ThemeGrill official themes demo content, widgets and theme settings with just one click.
|
6 |
+
* Version: 1.6.6
|
7 |
* Author: ThemeGrill
|
8 |
* Author URI: https://themegrill.com
|
9 |
* License: GPLv3 or later
|