ThemeGrill Demo Importer - Version 1.5.7

Version Description

  • 06-03-2019 =
  • Fix - Demo preview overlay not importing specific demo.
Download this release

Release Info

Developer ThemeGrill
Plugin Icon 128x128 ThemeGrill Demo Importer
Version 1.5.7
Comparing to
See all releases

Code changes from version 1.5.6 to 1.5.7

.wordpress-org/banner-1544x500.png ADDED
Binary file
.wordpress-org/banner-772x250.png ADDED
Binary file
.wordpress-org/icon-128x128.png ADDED
Binary file
.wordpress-org/icon-256x256.png ADDED
Binary file
.wordpress-org/screenshot-1.png ADDED
Binary file
.wordpress-org/screenshot-2.png ADDED
Binary file
.wordpress-org/screenshot-3.png ADDED
Binary file
CHANGELOG.txt ADDED
@@ -0,0 +1,97 @@
1
+ == Changelog ==
2
+
3
+ = 1.5.7 - 06-03-2019 =
4
+ * Fix - Demo preview overlay not importing specific demo.
5
+
6
+ = 1.5.6 - 15-02-2019 =
7
+ * Fetaure - Install plugins and import demo on a single click.
8
+ * Tweak - Remove the more details on demo preview hover.
9
+ * Dev - Improve Coding standard with husky compatibility.
10
+
11
+ = 1.5.5 - 05-11-2018 =
12
+ * Feature - Add support for elementor schemes.
13
+
14
+ = 1.5.4 - 02-11-2018 =
15
+ * Change Modular to Zakra
16
+
17
+ = 1.5.3 - 30-10-2018 =
18
+ * Support - Modular theme.
19
+
20
+ = 1.5.2 - 25-09-2018 =
21
+ * Fix - Custom CSS migration on demo import.
22
+ * Fix - Live Preview button when demo is successfully imported in demo preview page.
23
+
24
+ = 1.5.1 - 24-08-2018 =
25
+ * Support - Cenote Pro theme.
26
+
27
+ = 1.5.0 - 21-08-2018 =
28
+ * Feature - Fetches the demo config from GitHub repo.
29
+ * Feature - Category and pagebuilder routes for views.
30
+ * Fetaure - Install and activate plugins on a single click.
31
+ * Fix - Slashes to be stripped from imported comments.
32
+ * Fix - Importing export files with multiline term meta data.
33
+ * Fix - Deprecation notices including `wp_get_http()` and `screen_icon()`.
34
+ * Tweak - Demo preview is supported via iframe.
35
+ * Tweak - Different device preview is possible for a demo.
36
+ * Tweak - Only store single demo package files in upload directory.
37
+ * Dev - Improve PHP7 compatibility.
38
+ * Deprecated - Upload process for the demo packages.
39
+ * Deprecated - Filter hooks `themegrill_demo_importer_config` and `themegrill_demo_importer_packages`.
40
+
41
+ = 1.4.3 - 23-04-2018 =
42
+ * Support - Cenote theme.
43
+
44
+ = 1.4.2 - 25-12-2017 =
45
+ * Fix - Disable WooCommerce setup wizard for demo import.
46
+ * Fix - Styling issue caused by missing `theme-id-container` container.
47
+
48
+ = 1.4.1 - 08-12-2017 =
49
+ * Feature - Compatiable with Elementor page builder.
50
+ * Fix - Styling issue caused by missing `theme-id-container` container.
51
+
52
+ = 1.4.0 - 20-07-2017 =
53
+ * Feature - Plugin installer and activator mechinism.
54
+ * Fix - Call to undefined function `preg_filter()`.
55
+ * Dev - Improved file structure.
56
+ * Dev - Introduced `tg_demo_installer_enabled()`.
57
+ * Dev - Introduced `tg_demo_installer_preview()`.
58
+ * Dev - Introduced `tg_demo_preview_screenshot_url()`.
59
+
60
+ = 1.3.4 - 03-07-2017 =
61
+ * Feature - Support RTL for Importer.
62
+ * Feature - Reset wizard for clean up.
63
+ * Fixed - Undefined queue job update action.
64
+ * Fixed - Use of `wp-heading-inline` core class.
65
+ * Tweak - Use of defined constant for demo packs.
66
+ * Tweak - Uninstall data with a defined constant.
67
+ * Tweak - Fallback screenshot for flash demo preview.
68
+
69
+ = 1.3.3 =
70
+ * Tweak - Support demo import for suffice theme.
71
+
72
+ = 1.3.2 =
73
+ * Tweak - Load screenshots for pro theme demos.
74
+
75
+ = 1.3.1 =
76
+ * Tweak - Load screenshot from theme instead of plugin for themes with single demo.
77
+
78
+ = 1.3.0 =
79
+ * Tweak - Support data update for nested siteorigin layoutbuilder.
80
+ * Fix - Import button not working on firefox.
81
+
82
+ = 1.2.0 =
83
+ * Tweak - Load scripts perfecly on demo importer appearance page.
84
+ * Tweak - Set transient for redirecting to demo importer page after install or update.
85
+ * Tweak - Introduced filter hook `themegrill_demo_importer_installer` to control demo view.
86
+
87
+ = 1.1.0 =
88
+ * Feature - Backbone views interface for demos and previews
89
+ * Feature - Added download button for the preview not installed
90
+ * Feature - Robust quick search view to change in demo interface
91
+ * Feature - Detailed information in popup to showcase plugins, events, etc
92
+ * Refactor - Replace old way to import demo with new `wp.updates` methods
93
+ * Fix - Menu classes to hide admin menu if no JS using css class `hide-if-no-js`
94
+ * Fix - Remove the old demo pack if found and to update the new demo packs
95
+
96
+ = 1.0.0 =
97
+ * Initial Public Release
CODE_OF_CONDUCT.md ADDED
@@ -0,0 +1,46 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6
+
7
+ ## Our Standards
8
+
9
+ Examples of behavior that contributes to creating a positive environment include:
10
+
11
+ * Using welcoming and inclusive language
12
+ * Being respectful of differing viewpoints and experiences
13
+ * Gracefully accepting constructive criticism
14
+ * Focusing on what is best for the community
15
+ * Showing empathy towards other community members
16
+
17
+ Examples of unacceptable behavior by participants include:
18
+
19
+ * The use of sexualized language or imagery and unwelcome sexual attention or advances
20
+ * Trolling, insulting/derogatory comments, and personal or political attacks
21
+ * Public or private harassment
22
+ * Publishing others' private information, such as a physical or electronic address, without explicit permission
23
+ * Other conduct which could reasonably be considered inappropriate in a professional setting
24
+
25
+ ## Our Responsibilities
26
+
27
+ Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28
+
29
+ Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30
+
31
+ ## Scope
32
+
33
+ This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project email address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34
+
35
+ ## Enforcement
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at support@themegrill.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38
+
39
+ Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40
+
41
+ ## Attribution
42
+
43
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44
+
45
+ [homepage]: http://contributor-covenant.org
46
+ [version]: http://contributor-covenant.org/version/1/4/
assets/js/admin/demo-importer.js CHANGED
@@ -556,9 +556,9 @@ demos.view.Demo = wp.Backbone.View.extend({
556
},
557
558
importDemo: function( event ) {
559
- var _this = this,
560
- $target = $( event.target ),
561
- pluginsList = $( event.target ).data( 'plugins' );
562
event.preventDefault();
563
564
if ( $target.hasClass( 'disabled' ) || $target.hasClass( 'updating-message' ) ) {
@@ -569,18 +569,6 @@ demos.view.Demo = wp.Backbone.View.extend({
569
return;
570
}
571
572
- // Bail if there were required plugins.
573
- if ( ! $.isEmptyObject( pluginsList ) ) {
574
- if ( $target.html() !== wp.updates.l10n.installing ) {
575
- $target.data( 'originaltext', $target.html() );
576
- }
577
-
578
- $target
579
- .addClass( 'updating-message' )
580
- .text( wp.updates.l10n.installing );
581
- wp.a11y.speak( wp.updates.l10n.installingMsg, 'polite' );
582
- }
583
-
584
wp.updates.maybeRequestFilesystemCredentials( event );
585
586
$( document ).trigger( 'wp-plugin-bulk-install', pluginsList );
@@ -593,7 +581,9 @@ demos.view.Demo = wp.Backbone.View.extend({
593
action: 'install-plugin',
594
data: {
595
plugin: plugin_data.slug,
596
- slug: plugin_slug
597
}
598
} );
599
}
@@ -601,6 +591,7 @@ demos.view.Demo = wp.Backbone.View.extend({
601
602
$( document ).on( 'wp-demo-import-success', function( event, response ) {
603
if ( _this.model.get( 'id' ) === response.slug ) {
604
_this.model.set( { 'imported': true } );
605
}
606
} );
@@ -757,8 +748,8 @@ demos.view.Preview = wp.Backbone.View.extend({
757
758
importDemo: function( event ) {
759
var _this = this,
760
pluginsList = $( '.plugins-list-table' ).find( '#the-list tr' ),
761
- $target = $( '.demo-import' ),
762
success = 0,
763
error = 0,
764
errorMessages = [];
@@ -773,23 +764,11 @@ demos.view.Preview = wp.Backbone.View.extend({
773
return;
774
}
775
776
- // Bail if there were required plugins.
777
- if ( pluginsList.length ) {
778
- if ( $target.html() !== wp.updates.l10n.installing ) {
779
- $target.data( 'originaltext', $target.html() );
780
- }
781
-
782
- $target
783
- .addClass( 'updating-message' )
784
- .text( wp.updates.l10n.installing );
785
- wp.a11y.speak( wp.updates.l10n.installingMsg, 'polite' );
786
-
787
- // Disable the next and previous demo.
788
- $( '.theme-install-overlay' ).find( '.next-theme, .previous-theme' ).addClass( 'disabled' );
789
- }
790
-
791
wp.updates.maybeRequestFilesystemCredentials( event );
792
793
$( document ).trigger( 'wp-plugin-bulk-install', pluginsList );
794
795
// Find all the plugins which are required.
@@ -806,7 +785,8 @@ demos.view.Preview = wp.Backbone.View.extend({
806
action: 'install-plugin',
807
data: {
808
plugin: $itemRow.data( 'plugin' ),
809
- slug: $itemRow.data( 'slug' )
810
}
811
} );
812
} );
@@ -874,7 +854,6 @@ demos.view.Preview = wp.Backbone.View.extend({
874
875
$( document ).on( 'wp-demo-import-success', function( event, response ) {
876
if ( _this.model.get( 'id' ) === response.slug ) {
877
- // _this.render();
878
_this.model.set( { 'imported': true } );
879
}
880
} );
556
},
557
558
importDemo: function( event ) {
559
+ var _this = this,
560
+ $target = $( event.target ),
561
+ pluginsList = $( event.target ).data( 'plugins' );
562
event.preventDefault();
563
564
if ( $target.hasClass( 'disabled' ) || $target.hasClass( 'updating-message' ) ) {
569
return;
570
}
571
572
wp.updates.maybeRequestFilesystemCredentials( event );
573
574
$( document ).trigger( 'wp-plugin-bulk-install', pluginsList );
581
action: 'install-plugin',
582
data: {
583
plugin: plugin_data.slug,
584
+ name: plugin_data.name,
585
+ slug: plugin_slug,
586
+ demo: $target.data( 'slug' )
587
}
588
} );
589
}
591
592
$( document ).on( 'wp-demo-import-success', function( event, response ) {
593
if ( _this.model.get( 'id' ) === response.slug ) {
594
+ _this.render();
595
_this.model.set( { 'imported': true } );
596
}
597
} );
748
749
importDemo: function( event ) {
750
var _this = this,
751
+ $target = $( event.target ),
752
pluginsList = $( '.plugins-list-table' ).find( '#the-list tr' ),
753
success = 0,
754
error = 0,
755
errorMessages = [];
764
return;
765
}
766
767
wp.updates.maybeRequestFilesystemCredentials( event );
768
769
+ // Disable the next and previous demo.
770
+ $( '.theme-install-overlay' ).find( '.next-theme, .previous-theme' ).addClass( 'disabled' );
771
+
772
$( document ).trigger( 'wp-plugin-bulk-install', pluginsList );
773
774
// Find all the plugins which are required.
785
action: 'install-plugin',
786
data: {
787
plugin: $itemRow.data( 'plugin' ),
788
+ slug: $itemRow.data( 'slug' ),
789
+ demo: $target.data( 'slug' )
790
}
791
} );
792
} );
854
855
$( document ).on( 'wp-demo-import-success', function( event, response ) {
856
if ( _this.model.get( 'id' ) === response.slug ) {
857
_this.model.set( { 'imported': true } );
858
}
859
} );
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,s,r,o,n;this.reset(a.data.demos,{silent:!0}),t=(t=t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\amp;")).replace(/ /g,")(?=.*"),i=new RegExp("^(?=.*"+t+").+","i"),0===(e=this.filter(function(e){return r=e.get("name").replace(/(<([^>]+)>)/gi,""),o=e.get("description").replace(/(<([^>]+)>)/gi,""),n=e.get("author").replace(/(<([^>]+)>)/gi,""),s=_.union([r,e.get("id"),o,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){var t=this;return e=e||0,t=_(t.rest(20*e)),t=_(t.first(20))},count:!1,query:function(t){var e,i,s,r=this.queries,o=this;if(this.currentQuery.request=t,e=_.find(r,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){o.add(e.demos),o.trigger("query:success"),o.loadingDemos=!1}).fail(function(){o.trigger("query:fail")});0===e.demos.length?o.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&&(o.reset(e.demos),s=e.info.results,r.push({demos:e.demos,request:t,total:s})),o.trigger("demos:update"),o.trigger("query:success",s),e.demos&&0===e.demos.length&&o.trigger("query:empty")}).fail(function(){o.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 i=this,t=d(e.target),s=d(e.target).data("plugins");e.preventDefault(),t.hasClass("disabled")||t.hasClass("updating-message")||window.confirm(wp.demos.data.settings.confirmImport)&&(d.isEmptyObject(s)||(t.html()!==wp.updates.l10n.installing&&t.data("originaltext",t.html()),t.addClass("updating-message").text(wp.updates.l10n.installing),wp.a11y.speak(wp.updates.l10n.installingMsg,"polite")),wp.updates.maybeRequestFilesystemCredentials(e),d(document).trigger("wp-plugin-bulk-install",s),d.each(s,function(e,t){t.is_active||wp.updates.queue.push({action:"install-plugin",data:{plugin:t.slug,slug:e}})}),d(document).on("wp-demo-import-success",function(e,t){i.model.get("id")===t.slug&&i.model.set({imported:!0})}),wp.updates.queue.push({action:"import-demo",data:{slug:t.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 o=this,t=d(".plugins-list-table").find("#the-list tr"),n=d(".demo-import"),a=0,l=0,c=[];e.preventDefault(),n.hasClass("disabled")||n.hasClass("updating-message")||window.confirm(wp.demos.data.settings.confirmImport)&&(t.length&&(n.html()!==wp.updates.l10n.installing&&n.data("originaltext",n.html()),n.addClass("updating-message").text(wp.updates.l10n.installing),wp.a11y.speak(wp.updates.l10n.installingMsg,"polite"),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled")),wp.updates.maybeRequestFilesystemCredentials(e),d(document).trigger("wp-plugin-bulk-install",t),t.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")}})}),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,r=d('[data-slug="'+t.slug+'"]');"wp-"+t.install+"-bulk-install-success"===e.type?a++:(s=t.pluginName?t.pluginName:r.find(".plugin-name").text(),l++,c.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:a,errors:l,errorMessages:c,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<l?n.removeClass("updating-message").text(n.data("originaltext")):(o.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){o.model.get("id")===t.slug&&o.model.set({imported:!0})}),wp.updates.queue.push({action:"import-demo",data:{slug:n.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-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,r,s,o,n;this.reset(a.data.demos,{silent:!0}),t=(t=t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\amp;")).replace(/ /g,")(?=.*"),i=new RegExp("^(?=.*"+t+").+","i"),0===(e=this.filter(function(e){return s=e.get("name").replace(/(<([^>]+)>)/gi,""),o=e.get("description").replace(/(<([^>]+)>)/gi,""),n=e.get("author").replace(/(<([^>]+)>)/gi,""),r=_.union([s,e.get("id"),o,n,e.get("tags")]),i.test(e.get("author"))&&2<t.length&&e.set("displayAuthor",!0),i.test(r)})).length?this.trigger("query:empty"):d("body").removeClass("no-results"),this.reset(e)},paginate:function(e){var t=this;return e=e||0,t=_(t.rest(20*e)),t=_(t.first(20))},count:!1,query:function(t){var e,i,r,s=this.queries,o=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){o.add(e.demos),o.trigger("query:success"),o.loadingDemos=!1}).fail(function(){o.trigger("query:fail")});0===e.demos.length?o.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&&(o.reset(e.demos),r=e.info.results,s.push({demos:e.demos,request:t,total:r})),o.trigger("demos:update"),o.trigger("query:success",r),e.demos&&0===e.demos.length&&o.trigger("query:empty")}).fail(function(){o.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,r=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=r.model,_.isUndefined(r.current)||(t=r.current),r.current=r.model.collection.at(r.model.collection.indexOf(t)+1),_.isUndefined(r.current))return r.options.parent.parent.trigger("demo:end"),r.current=t;i.model=r.current,i.render(),this.setNavButtonsState(),d(".next-theme").focus()}).listenTo(i,"demo:previous",function(){t=r.model,0!==r.model.collection.indexOf(r.current)&&(_.isUndefined(r.current)||(t=r.current),r.current=r.model.collection.at(r.model.collection.indexOf(t)-1),_.isUndefined(r.current)||(i.model=r.current,i.render(),this.setNavButtonsState(),d(".previous-theme").focus()))}),this.listenTo(i,"preview:close",function(){r.current=r.model}))},setNavButtonsState:function(){var e=d(".theme-install-overlay"),t=_.isUndefined(this.current)?this.model:this.current,i=e.find(".previous-theme"),r=e.find(".next-theme");0===this.model.collection.indexOf(t)&&(i.addClass("disabled").prop("disabled",!0),r.focus()),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(t)+1))&&(r.addClass("disabled").prop("disabled",!0),i.focus())},importDemo:function(e){var i=this,r=d(e.target),t=d(e.target).data("plugins");e.preventDefault(),r.hasClass("disabled")||r.hasClass("updating-message")||window.confirm(wp.demos.data.settings.confirmImport)&&(wp.updates.maybeRequestFilesystemCredentials(e),d(document).trigger("wp-plugin-bulk-install",t),d.each(t,function(e,t){t.is_active||wp.updates.queue.push({action:"install-plugin",data:{plugin:t.slug,name:t.name,slug:e,demo:r.data("slug")}})}),d(document).on("wp-demo-import-success",function(e,t){i.model.get("id")===t.slug&&(i.render(),i.model.set({imported:!0}))}),wp.updates.queue.push({action:"import-demo",data:{slug:r.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(),r=d(document.body);r.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(){r.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 o=this,n=d(e.target),t=d(".plugins-list-table").find("#the-list tr"),a=0,l=0,c=[];e.preventDefault(),n.hasClass("disabled")||n.hasClass("updating-message")||window.confirm(wp.demos.data.settings.confirmImport)&&(wp.updates.maybeRequestFilesystemCredentials(e),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled"),d(document).trigger("wp-plugin-bulk-install",t),t.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:n.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,r,s=d('[data-slug="'+t.slug+'"]');"wp-"+t.install+"-bulk-install-success"===e.type?a++:(r=t.pluginName?t.pluginName:s.find(".plugin-name").text(),l++,c.push(r+": "+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:a,errors:l,errorMessages:c,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<l?n.removeClass("updating-message").text(n.data("originaltext")):(o.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){o.model.get("id")===t.slug&&o.model.set({imported:!0})}),wp.updates.queue.push({action:"import-demo",data:{slug:n.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 r(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"),r=t.data("type");e.preventDefault(),i=i||a.router.selectedTab,r=r||a.router.selectedType,t.hasClass(this.activeClass)||(this.sort(i,r),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);
assets/js/admin/demo-updates.js CHANGED
@@ -153,21 +153,34 @@
153
* decorated with an abort() method.
154
*/
155
wp.updates.bulkInstallPlugin = function( args ) {
156
- var $pluginRow = $( 'tr[data-slug="' + args.slug + '"]' ),
157
- $message = $pluginRow.find( '.plugin-status span' );
158
159
args = _.extend( {
160
success: wp.updates.bulkInstallPluginSuccess,
161
error: wp.updates.bulkInstallPluginError
162
}, args );
163
164
if ( $message.html() !== wp.updates.l10n.installing ) {
165
$message.data( 'originaltext', $message.html() );
166
}
167
168
$message
169
.addClass( 'updating-message' )
170
- .attr( 'aria-label', wp.updates.l10n.pluginInstallingLabel.replace( '%s', $pluginRow.data( 'name' ) ) )
171
.text( wp.updates.l10n.installing );
172
173
wp.a11y.speak( wp.updates.l10n.installingMsg, 'polite' );
153
* decorated with an abort() method.
154
*/
155
wp.updates.bulkInstallPlugin = function( args ) {
156
+ var $pluginRow, $message, message;
157
158
args = _.extend( {
159
success: wp.updates.bulkInstallPluginSuccess,
160
error: wp.updates.bulkInstallPluginError
161
}, args );
162
163
+ if ( $document.find( 'body' ).hasClass( 'full-overlay-active' ) ) {
164
+ $pluginRow = $( 'tr[data-slug="' + args.slug + '"]' );
165
+ $message = $( '.theme-install-overlay .demo-import[data-slug="' + args.demo + '"]' );
166
+ message = wp.updates.l10n.pluginInstallingLabel.replace( '%s', $pluginRow.data( 'name' ) );
167
+ $pluginRow.find( '.plugin-status span' )
168
+ .addClass( 'updating-message' )
169
+ .attr( 'aria-label', wp.updates.l10n.pluginInstallingLabel.replace( '%s', $pluginRow.data( 'name' ) ) )
170
+ .text( wp.updates.l10n.installing );
171
+ } else {
172
+ $message = $( '.demo-import[data-slug="' + args.demo + '"]' );
173
+ message = wp.updates.l10n.pluginInstallingLabel.replace( '%s', args.name );
174
+ $message.parents( '.theme' ).addClass( 'focus' );
175
+ }
176
+
177
if ( $message.html() !== wp.updates.l10n.installing ) {
178
$message.data( 'originaltext', $message.html() );
179
}
180
181
$message
182
+ .attr( 'aria-label', message )
183
.addClass( 'updating-message' )
184
.text( wp.updates.l10n.installing );
185
186
wp.a11y.speak( wp.updates.l10n.installingMsg, 'polite' );
assets/js/admin/demo-updates.min.js CHANGED
@@ -1 +1 @@
1
- !function(l,r,e){var i=l(document);(r=r||{}).updates=r.updates||{},r.updates.l10n=_.extend(r.updates.l10n,e.l10n||{}),r.updates.importDemo=function(e){var a=l('.demo-import[data-slug="'+e.slug+'"]');return i.find("body").hasClass("full-overlay-active")&&(a=l(".wp-full-overlay-header, .wp-full-overlay-footer").find(".demo-import")),e=_.extend({success:r.updates.importDemoSuccess,error:r.updates.importDemoError},e),a.addClass("updating-message"),a.parents(".theme").addClass("focus"),a.html()!==r.updates.l10n.importing&&a.data("originaltext",a.html()),a.text(r.updates.l10n.importing).attr("aria-label",r.updates.l10n.demoImportingLabel.replace("%s",a.data("name"))),r.a11y.speak(r.updates.l10n.importingMsg,"polite"),l('.install-theme-info, [data-slug="'+e.slug+'"]').removeClass("demo-import-failed").find(".notice.notice-error").remove(),i.trigger("wp-demo-importing",e),r.updates.ajax("import-demo",e)},r.updates.importDemoSuccess=function(e){var a,t=l(".wp-full-overlay-header, .wp-full-overlay-footer, [data-slug="+e.slug+"]");i.trigger("wp-demo-import-success",e),a=t.find(".button-primary").removeClass("updating-message").addClass("updated-message disabled").attr("aria-label",r.updates.l10n.demoImportedLabel.replace("%s",e.demoName)).text(r.updates.l10n.imported),r.a11y.speak(r.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",r.updates.l10n.livePreviewLabel.replace("%s",e.demoName)).text(r.updates.l10n.livePreview))},1e3)},r.updates.importDemoError=function(e){var a,t=r.updates.l10n.importFailed.replace("%s",e.errorMessage),s=r.updates.adminNotice({className:"update-message notice-error notice-alt",message:t});r.updates.isValidResponse(e,"import")&&(r.updates.maybeHandleCredentialError(e,"import-demo")||(i.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",r.updates.l10n.demoImportFailedLabel.replace("%s",a.data("name"))).text(r.updates.l10n.importFailedShort),r.a11y.speak(t,"assertive"),i.trigger("wp-demo-import-error",e)))},r.updates.bulkInstallPlugin=function(e){var a=l('tr[data-slug="'+e.slug+'"]'),t=a.find(".plugin-status span");return e=_.extend({success:r.updates.bulkInstallPluginSuccess,error:r.updates.bulkInstallPluginError},e),t.html()!==r.updates.l10n.installing&&t.data("originaltext",t.html()),t.addClass("updating-message").attr("aria-label",r.updates.l10n.pluginInstallingLabel.replace("%s",a.data("name"))).text(r.updates.l10n.installing),r.a11y.speak(r.updates.l10n.installingMsg,"polite"),i.trigger("wp-plugin-bulk-installing",e),r.updates.ajax("install-required-plugin",e)},r.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",r.updates.l10n.pluginInstalledLabel.replace("%s",e.pluginName)).text(r.updates.l10n.pluginInstalled),r.a11y.speak(r.updates.l10n.installedMsg,"polite"),i.trigger("wp-plugin-bulk-install-success",e)},r.updates.bulkInstallPluginError=function(e){var a,t=l('tr[data-slug="'+e.slug+'"]'),s=t.find(".plugin-status span");r.updates.isValidResponse(e,"install")&&(r.updates.maybeHandleCredentialError(e,"install-plugin")||(a=r.updates.l10n.installFailed.replace("%s",e.errorMessage),s.removeClass("updating-message").addClass("updated-message").attr("aria-label",r.updates.l10n.pluginInstallFailedLabel.replace("%s",t.data("name"))).text(r.updates.l10n.installFailedShort),r.a11y.speak(a,"assertive"),i.trigger("wp-plugin-bulk-install-error",e)))},r.updates.isValidResponse=function(e,a){var t,s=r.updates.l10n.unknownError;if(_.isObject(e)&&!_.isFunction(e.always))return!0;switch(_.isString(e)&&"-1"===e?s=r.updates.l10n.nonceError:_.isString(e)?s=e:"undefined"!=typeof e.readyState&&0===e.readyState?s=r.updates.l10n.connectionError:_.isString(e.statusText)&&(s=e.statusText+" "+r.updates.l10n.statusTextLink),a){case"import":t=r.updates.l10n.importFailed}return t=t.replace("%s",s),r.updates.addAdminNotice({id:"unknown_error",className:"notice-error is-dismissible",message:_.unescape(t)}),r.updates.ajaxLocked=!1,r.updates.queue=[],l(".button.updating-message").removeClass("updating-message").removeAttr("aria-label").text(r.updates.l10n.importFailedShort),r.a11y.speak(t,"assertive"),!1},r.updates.queueChecker=function(){var e;if(!r.updates.ajaxLocked&&r.updates.queue.length){switch((e=r.updates.queue.shift()).action){case"import-demo":r.updates.importDemo(e.data);break;case"install-plugin":r.updates.bulkInstallPlugin(e.data)}i.trigger("wp-updates-queue-job",e)}}}(jQuery,window.wp,window._demoUpdatesSettings);
1
+ !function(l,i,e){var r=l(document);(i=i||{}).updates=i.updates||{},i.updates.l10n=_.extend(i.updates.l10n,e.l10n||{}),i.updates.importDemo=function(e){var a=l('.demo-import[data-slug="'+e.slug+'"]');return r.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(),r.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+"]");r.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")||(r.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"),r.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),r.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"),r.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"),r.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"),r.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}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)}r.trigger("wp-updates-queue-job",e)}}}(jQuery,window.wp,window._demoUpdatesSettings);
composer.lock ADDED
@@ -0,0 +1,497 @@
1
+ {
2
+ "_readme": [
3
+ "This file locks the dependencies of your project to a known state",
4
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
+ "This file is @generated automatically"
6
+ ],
7
+ "content-hash": "03469ded4bf36ef1fd0d309313f9ed08",
8
+ "packages": [
9
+ {
10
+ "name": "composer/installers",
11
+ "version": "v1.5.6",
12
+ "source": {
13
+ "type": "git",
14
+ "url": "https://github.com/composer/installers.git",
15
+ "reference": "cfcca6b1b60bc4974324efb5783c13dca6932b5b"
16
+ },
17
+ "dist": {
18
+ "type": "zip",
19
+ "url": "https://api.github.com/repos/composer/installers/zipball/cfcca6b1b60bc4974324efb5783c13dca6932b5b",
20
+ "reference": "cfcca6b1b60bc4974324efb5783c13dca6932b5b",
21
+ "shasum": ""
22
+ },
23
+ "require": {
24
+ "composer-plugin-api": "^1.0"
25
+ },
26
+ "replace": {
27
+ "roundcube/plugin-installer": "*",
28
+ "shama/baton": "*"
29
+ },
30
+ "require-dev": {
31
+ "composer/composer": "1.0.*@dev",
32
+ "phpunit/phpunit": "^4.8.36"
33
+ },
34
+ "type": "composer-plugin",
35
+ "extra": {
36
+ "class": "Composer\\Installers\\Plugin",
37
+ "branch-alias": {
38
+ "dev-master": "1.0-dev"
39
+ }
40
+ },
41
+ "autoload": {
42
+ "psr-4": {
43
+ "Composer\\Installers\\": "src/Composer/Installers"
44
+ }
45
+ },
46
+ "notification-url": "https://packagist.org/downloads/",
47
+ "license": [
48
+ "MIT"
49
+ ],
50
+ "authors": [
51
+ {
52
+ "name": "Kyle Robinson Young",
53
+ "email": "kyle@dontkry.com",
54
+ "homepage": "https://github.com/shama"
55
+ }
56
+ ],
57
+ "description": "A multi-framework Composer library installer",
58
+ "homepage": "https://composer.github.io/installers/",
59
+ "keywords": [
60
+ "Craft",
61
+ "Dolibarr",
62
+ "Eliasis",
63
+ "Hurad",
64
+ "ImageCMS",
65
+ "Kanboard",
66
+ "Lan Management System",
67
+ "MODX Evo",
68
+ "Mautic",
69
+ "Maya",
70
+ "OXID",
71
+ "Plentymarkets",
72
+ "Porto",
73
+ "RadPHP",
74
+ "SMF",
75
+ "Thelia",
76
+ "WolfCMS",
77
+ "agl",
78
+ "aimeos",
79
+ "annotatecms",
80
+ "attogram",
81
+ "bitrix",
82
+ "cakephp",
83
+ "chef",
84
+ "cockpit",
85
+ "codeigniter",
86
+ "concrete5",
87
+ "croogo",
88
+ "dokuwiki",
89
+ "drupal",
90
+ "eZ Platform",
91
+ "elgg",
92
+ "expressionengine",
93
+ "fuelphp",
94
+ "grav",
95
+ "installer",
96
+ "itop",
97
+ "joomla",
98
+ "kohana",
99
+ "laravel",
100
+ "lavalite",
101
+ "lithium",
102
+ "magento",
103
+ "majima",
104
+ "mako",
105
+ "mediawiki",
106
+ "modulework",
107
+ "modx",
108
+ "moodle",
109
+ "osclass",
110
+ "phpbb",
111
+ "piwik",
112
+ "ppi",
113
+ "puppet",
114
+ "pxcms",
115
+ "reindex",
116
+ "roundcube",
117
+ "shopware",
118
+ "silverstripe",
119
+ "sydes",
120
+ "symfony",
121
+ "typo3",
122
+ "wordpress",
123
+ "yawik",
124
+ "zend",
125
+ "zikula"
126
+ ],
127
+ "time": "2018-08-27T06:10:37+00:00"
128
+ }
129
+ ],
130
+ "packages-dev": [
131
+ {
132
+ "name": "dealerdirect/phpcodesniffer-composer-installer",
133
+ "version": "v0.5.0",
134
+ "source": {
135
+ "type": "git",
136
+ "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
137
+ "reference": "e749410375ff6fb7a040a68878c656c2e610b132"
138
+ },
139
+ "dist": {
140
+ "type": "zip",
141
+ "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/e749410375ff6fb7a040a68878c656c2e610b132",
142
+ "reference": "e749410375ff6fb7a040a68878c656c2e610b132",
143
+ "shasum": ""
144
+ },
145
+ "require": {
146
+ "composer-plugin-api": "^1.0",
147
+ "php": "^5.3|^7",
148
+ "squizlabs/php_codesniffer": "^2|^3"
149
+ },
150
+ "require-dev": {
151
+ "composer/composer": "*",
152
+ "phpcompatibility/php-compatibility": "^9.0",
153
+ "sensiolabs/security-checker": "^4.1.0"
154
+ },
155
+ "type": "composer-plugin",
156
+ "extra": {
157
+ "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
158
+ },
159
+ "autoload": {
160
+ "psr-4": {
161
+ "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
162
+ }
163
+ },
164
+ "notification-url": "https://packagist.org/downloads/",
165
+ "license": [
166
+ "MIT"
167
+ ],
168
+ "authors": [
169
+ {
170
+ "name": "Franck Nijhof",
171
+ "email": "franck.nijhof@dealerdirect.com",
172
+ "homepage": "http://www.frenck.nl",
173
+ "role": "Developer / IT Manager"
174
+ }
175
+ ],
176
+ "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
177
+ "homepage": "http://www.dealerdirect.com",
178
+ "keywords": [
179
+ "PHPCodeSniffer",
180
+ "PHP_CodeSniffer",
181
+ "code quality",
182
+ "codesniffer",
183
+ "composer",
184
+ "installer",
185
+ "phpcs",
186
+ "plugin",
187
+ "qa",
188
+ "quality",
189
+ "standard",
190
+ "standards",
191
+ "style guide",
192
+ "stylecheck",
193
+ "tests"
194
+ ],
195
+ "time": "2018-10-26T13:21:45+00:00"
196
+ },
197
+ {
198
+ "name": "phpcompatibility/php-compatibility",
199
+ "version": "9.1.1",
200
+ "source": {
201
+ "type": "git",
202
+ "url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
203
+ "reference": "2b63c5d284ab8857f7b1d5c240ddb507a6b2293c"
204
+ },
205
+ "dist": {
206
+ "type": "zip",
207
+ "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/2b63c5d284ab8857f7b1d5c240ddb507a6b2293c",
208
+ "reference": "2b63c5d284ab8857f7b1d5c240ddb507a6b2293c",
209
+ "shasum": ""
210
+ },
211
+ "require": {
212
+ "php": ">=5.3",
213
+ "squizlabs/php_codesniffer": "^2.3 || ^3.0.2"
214
+ },
215
+ "conflict": {
216
+ "squizlabs/php_codesniffer": "2.6.2"
217
+ },
218
+ "require-dev": {
219
+ "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0"
220
+ },
221
+ "suggest": {
222
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.",
223
+ "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
224
+ },
225
+ "type": "phpcodesniffer-standard",
226
+ "notification-url": "https://packagist.org/downloads/",
227
+ "license": [
228
+ "LGPL-3.0-or-later"
229
+ ],
230
+ "authors": [
231
+ {
232
+ "name": "Contributors",
233
+ "homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors"
234
+ },
235
+ {
236
+ "name": "Wim Godden",
237
+ "homepage": "https://github.com/wimg",
238
+ "role": "lead"
239
+ },
240
+ {
241
+ "name": "Juliette Reinders Folmer",
242
+ "homepage": "https://github.com/jrfnl",
243
+ "role": "lead"
244
+ }
245
+ ],
246
+ "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.",
247
+ "homepage": "http://techblog.wimgodden.be/tag/codesniffer/",
248
+ "keywords": [
249
+ "compatibility",
250
+ "phpcs",
251
+ "standards"
252
+ ],
253
+ "time": "2018-12-30T23:16:27+00:00"
254
+ },
255
+ {
256
+ "name": "phpcompatibility/phpcompatibility-paragonie",
257
+ "version": "1.0.1",
258
+ "source": {
259
+ "type": "git",
260
+ "url": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie.git",
261
+ "reference": "9160de79fcd683b5c99e9c4133728d91529753ea"
262
+ },
263
+ "dist": {
264
+ "type": "zip",
265
+ "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityParagonie/zipball/9160de79fcd683b5c99e9c4133728d91529753ea",
266
+ "reference": "9160de79fcd683b5c99e9c4133728d91529753ea",
267
+ "shasum": ""
268
+ },
269
+ "require": {
270
+ "phpcompatibility/php-compatibility": "^9.0"
271
+ },
272
+ "require-dev": {
273
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4"
274
+ },
275
+ "suggest": {
276
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.",
277
+ "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
278
+ },
279
+ "type": "phpcodesniffer-standard",
280
+ "notification-url": "https://packagist.org/downloads/",
281
+ "license": [
282
+ "LGPL-3.0-or-later"
283
+ ],
284
+ "authors": [
285
+ {
286
+ "name": "Wim Godden",
287
+ "role": "lead"
288
+ },
289
+ {
290
+ "name": "Juliette Reinders Folmer",
291
+ "role": "lead"
292
+ }
293
+ ],
294
+ "description": "A set of rulesets for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by the Paragonie polyfill libraries.",
295
+ "homepage": "http://phpcompatibility.com/",
296
+ "keywords": [
297
+ "compatibility",
298
+ "paragonie",
299
+ "phpcs",
300
+ "polyfill",
301
+ "standards"
302
+ ],
303
+ "time": "2018-12-16T19:10:44+00:00"
304
+ },
305
+ {
306
+ "name": "phpcompatibility/phpcompatibility-wp",
307
+ "version": "2.0.0",
308
+ "source": {
309
+ "type": "git",
310
+ "url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git",
311
+ "reference": "cb303f0067cd5b366a41d4fb0e254fb40ff02efd"
312
+ },
313
+ "dist": {
314
+ "type": "zip",
315
+ "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/cb303f0067cd5b366a41d4fb0e254fb40ff02efd",
316
+ "reference": "cb303f0067cd5b366a41d4fb0e254fb40ff02efd",
317
+ "shasum": ""
318
+ },
319
+ "require": {
320
+ "phpcompatibility/php-compatibility": "^9.0",
321
+ "phpcompatibility/phpcompatibility-paragonie": "^1.0"
322
+ },
323
+ "require-dev": {
324
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3"
325
+ },
326
+ "suggest": {
327
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.",
328
+ "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
329
+ },
330
+ "type": "phpcodesniffer-standard",
331
+ "notification-url": "https://packagist.org/downloads/",
332
+ "license": [
333
+ "LGPL-3.0-or-later"
334
+ ],
335
+ "authors": [
336
+ {
337
+ "name": "Wim Godden",
338
+ "role": "lead"
339
+ },
340
+ {
341
+ "name": "Juliette Reinders Folmer",
342
+ "role": "lead"
343
+ }
344
+ ],
345
+ "description": "A ruleset for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by WordPress.",
346
+ "homepage": "http://phpcompatibility.com/",
347
+ "keywords": [
348
+ "compatibility",
349
+ "phpcs",
350
+ "standards",
351
+ "wordpress"
352
+ ],
353
+ "time": "2018-10-07T18:31:37+00:00"
354
+ },
355
+ {
356
+ "name": "squizlabs/php_codesniffer",
357
+ "version": "3.4.0",
358
+ "source": {
359
+ "type": "git",
360
+ "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
361
+ "reference": "379deb987e26c7cd103a7b387aea178baec96e48"
362
+ },
363
+ "dist": {
364
+ "type": "zip",
365
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/379deb987e26c7cd103a7b387aea178baec96e48",
366
+ "reference": "379deb987e26c7cd103a7b387aea178baec96e48",
367
+ "shasum": ""
368
+ },
369
+ "require": {
370
+ "ext-simplexml": "*",
371
+ "ext-tokenizer": "*",
372
+ "ext-xmlwriter": "*",
373
+ "php": ">=5.4.0"
374
+ },
375
+ "require-dev": {
376
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
377
+ },
378
+ "bin": [
379
+ "bin/phpcs",
380
+ "bin/phpcbf"
381
+ ],
382
+ "type": "library",
383
+ "extra": {
384
+ "branch-alias": {
385
+ "dev-master": "3.x-dev"
386
+ }
387
+ },
388
+ "notification-url": "https://packagist.org/downloads/",
389
+ "license": [
390
+ "BSD-3-Clause"
391
+ ],
392
+ "authors": [
393
+ {
394
+ "name": "Greg Sherwood",
395
+ "role": "lead"
396
+ }
397
+ ],
398
+ "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
399
+ "homepage": "http://www.squizlabs.com/php-codesniffer",
400
+ "keywords": [
401
+ "phpcs",
402
+ "standards"
403
+ ],
404
+ "time": "2018-12-19T23:57:18+00:00"
405
+ },
406
+ {
407
+ "name": "wp-coding-standards/wpcs",
408
+ "version": "1.2.1",
409
+ "source": {
410
+ "type": "git",
411
+ "url": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git",
412
+ "reference": "f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c"
413
+ },
414
+ "dist": {
415
+ "type": "zip",
416
+ "url": "https://api.github.com/repos/WordPress-Coding-Standards/WordPress-Coding-Standards/zipball/f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c",
417
+ "reference": "f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c",
418
+ "shasum": ""
419
+ },
420
+ "require": {
421
+ "php": ">=5.3",
422
+ "squizlabs/php_codesniffer": "^2.9.0 || ^3.0.2"
423
+ },
424
+ "require-dev": {
425
+ "phpcompatibility/php-compatibility": "^9.0"
426
+ },
427
+ "suggest": {
428
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
429
+ },
430
+ "type": "phpcodesniffer-standard",
431
+ "notification-url": "https://packagist.org/downloads/",
432
+ "license": [
433
+ "MIT"
434
+ ],
435
+ "authors": [
436
+ {
437
+ "name": "Contributors",
438
+ "homepage": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/graphs/contributors"
439
+ }
440
+ ],
441
+ "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
442
+ "keywords": [
443
+ "phpcs",
444
+ "standards",
445
+ "wordpress"
446
+ ],
447
+ "time": "2018-12-18T09:43:51+00:00"
448
+ },
449
+ {
450
+ "name": "wpeverest/wpeverest-sniffs",
451
+ "version": "0.0.2",
452
+ "source": {
453
+ "type": "git",
454
+ "url": "https://github.com/wpeverest/wpeverest-sniffs.git",
455
+ "reference": "090ab66b78d510e7ed0899c0684f495527c6db26"
456
+ },
457
+ "dist": {
458
+ "type": "zip",
459
+ "url": "https://api.github.com/repos/wpeverest/wpeverest-sniffs/zipball/090ab66b78d510e7ed0899c0684f495527c6db26",
460
+ "reference": "090ab66b78d510e7ed0899c0684f495527c6db26",
461
+ "shasum": ""
462
+ },
463
+ "require": {
464
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0",
465
+ "php": ">=7.0",
466
+ "phpcompatibility/phpcompatibility-wp": "2.0.0",
467
+ "wp-coding-standards/wpcs": "^1.2"
468
+ },
469
+ "type": "phpcodesniffer-standard",
470
+ "notification-url": "https://packagist.org/downloads/",
471
+ "license": [
472
+ "MIT"
473
+ ],
474
+ "authors": [
475
+ {
476
+ "name": "Shiva Poudel",
477
+ "email": "dev.shivapoudel@gmail.com"
478
+ }
479
+ ],
480
+ "description": "WPEverest sniffs",
481
+ "keywords": [
482
+ "WPEverest",
483
+ "phpcs",
484
+ "standards",
485
+ "wordpress"
486
+ ],
487
+ "time": "2018-11-28T07:03:13+00:00"
488
+ }
489
+ ],
490
+ "aliases": [],
491
+ "minimum-stability": "dev",
492
+ "stability-flags": [],
493
+ "prefer-stable": true,
494
+ "prefer-lowest": false,
495
+ "platform": [],
496
+ "platform-dev": []
497
+ }
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.5.6';
24
25
/**
26
* Theme single instance of this class.
20
*
21
* @var string
22
*/
23
+ public $version = '1.5.7';
24
25
/**
26
* Theme single instance of this class.
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.5.6\n"
6
"Report-Msgid-Bugs-To: "
7
"https://github.com/themegrill/themegrill-demo-importer/issues\n"
8
- "POT-Creation-Date: 2019-02-14 11:36:33+00:00\n"
9
"MIME-Version: 1.0\n"
10
"Content-Type: text/plain; charset=utf-8\n"
11
"Content-Transfer-Encoding: 8bit\n"
2
# This file is distributed under the GPLv3 or later.
3
msgid ""
4
msgstr ""
5
+ "Project-Id-Version: ThemeGrill Demo Importer 1.5.7\n"
6
"Report-Msgid-Bugs-To: "
7
"https://github.com/themegrill/themegrill-demo-importer/issues\n"
8
+ "POT-Creation-Date: 2019-03-05 22:48:22+00:00\n"
9
"MIME-Version: 1.0\n"
10
"Content-Type: text/plain; charset=utf-8\n"
11
"Content-Transfer-Encoding: 8bit\n"
package-lock.json CHANGED
@@ -1,6 +1,6 @@
1
{
2
"name": "themegrill-demo-importer",
3
- "version": "1.5.6",
4
"lockfileVersion": 1,
5
"requires": true,
6
"dependencies": {
1
{
2
"name": "themegrill-demo-importer",
3
+ "version": "1.5.7",
4
"lockfileVersion": 1,
5
"requires": true,
6
"dependencies": {
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.0
6
- Stable tag: 1.5.6
7
License: GPLv3 or later
8
License URI: https://www.gnu.org/licenses/gpl-3.0.html
9
@@ -73,6 +73,9 @@ Yes you can! Join in on our [GitHub repository](https://github.com/themegrill/th
73
74
== Changelog ==
75
76
= 1.5.6 - 15-02-2019 =
77
* Fetaure - Install plugins and import demo on a single click.
78
* Tweak - Remove the more details on demo preview hover.
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.1
6
+ Stable tag: 1.5.7
7
License: GPLv3 or later
8
License URI: https://www.gnu.org/licenses/gpl-3.0.html
9
73
74
== Changelog ==
75
76
+ = 1.5.7 - 06-03-2019 =
77
+ * Fix - Demo preview overlay not importing specific demo.
78
+
79
= 1.5.6 - 15-02-2019 =
80
* Fetaure - Install plugins and import demo on a single click.
81
* Tweak - Remove the more details on demo preview hover.
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.5.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.5.7
7
* Author: ThemeGrill
8
* Author URI: https://themegrill.com
9
* License: GPLv3 or later