WordPress Infinite Scroll – Ajax Load More - Version 3.3.0

Version Description

  • November 20, 2017 =

  • NEW - Adding functionality for new for WP_User_Query add-on.

  • NEW - New Admin design, cleaner layout, improved performance.

  • UPDATE - Remove load-more ID from loading button.

  • UPDATE - Updated alm_query_args filter to accept the current post ID as a parameter within the filter.

  • UPDATE - Code clean up, creating JS modules

  • UPDATE - Improved license activations

  • FIX- Removed 'data-masonry-horizontalorder' being rendered into HTML page if empty.

  • FIX- Fixed issue with jump to link on ALM settings page.

Download this release

Release Info

Developer dcooney
Plugin Icon 128x128 WordPress Infinite Scroll – Ajax Load More
Version 3.3.0
Comparing to
See all releases

Code changes from version 3.2.1 to 3.3.0

Files changed (59) hide show
  1. .babelrc +1 -1
  2. README.txt +18 -2
  3. admin/admin-functions.php +186 -3
  4. admin/admin.php +45 -10
  5. admin/dist/css/admin.css +403 -311
  6. admin/dist/js/admin.js +69 -4
  7. admin/img/add-ons/users-add-on.jpg +0 -0
  8. admin/includes/components/example-list.php +1 -1
  9. admin/includes/cta/about.php +3 -3
  10. admin/includes/cta/add-ons.php +7 -5
  11. admin/includes/cta/dyk.php +24 -16
  12. admin/includes/cta/resources.php +4 -4
  13. admin/includes/cta/sharing.php +14 -10
  14. admin/includes/layout/default.php +1 -1
  15. admin/shortcode-builder/components/acf.php +77 -0
  16. admin/shortcode-builder/components/cache.php +40 -0
  17. admin/shortcode-builder/components/comments.php +148 -0
  18. admin/shortcode-builder/components/cta.php +92 -0
  19. admin/shortcode-builder/components/nextpage.php +115 -0
  20. admin/shortcode-builder/components/paging.php +73 -0
  21. admin/shortcode-builder/components/preloaded.php +38 -0
  22. admin/shortcode-builder/components/previous-post.php +86 -0
  23. admin/shortcode-builder/components/rest-api.php +126 -0
  24. admin/shortcode-builder/components/seo.php +25 -0
  25. admin/shortcode-builder/components/users.php +127 -0
  26. admin/shortcode-builder/js/shortcode-builder.js +47 -54
  27. admin/shortcode-builder/shortcode-builder.php +16 -852
  28. admin/src/js/admin.js +4 -6
  29. admin/src/js/modules/sticky.js +65 -0
  30. admin/src/scss/_variables.scss +1 -0
  31. admin/src/scss/admin.scss +384 -431
  32. admin/src/scss/libs/select2.scss +1 -1
  33. admin/src/scss/partials/_alm-settings-feedback.scss +1 -1
  34. admin/src/scss/partials/_header.scss +38 -0
  35. admin/src/scss/partials/_select2.scss +66 -0
  36. admin/src/scss/partials/_sidebar.scss +23 -0
  37. admin/views/add-ons.php +64 -305
  38. admin/views/extensions.php +38 -40
  39. admin/views/help.php +69 -61
  40. admin/views/licenses.php +126 -782
  41. admin/views/repeater-templates.php +420 -409
  42. admin/views/settings.php +57 -53
  43. admin/views/shortcode-builder.php +42 -29
  44. ajax-load-more.php +16 -30
  45. core/classes/class.alm-shortcode.php +100 -12
  46. core/dist/css/ajax-load-more.css +31 -31
  47. core/dist/css/ajax-load-more.min.css +1 -1
  48. core/dist/js/ajax-load-more.js +310 -258
  49. core/dist/js/ajax-load-more.min.js +1 -1
  50. core/repeater/default.php +1 -1
  51. core/src/js/ajax-load-more.js +139 -312
  52. core/src/js/helpers/helpers.js +77 -0
  53. core/src/js/modules/filtering.js +109 -0
  54. core/src/js/modules/{almMasonry.js → masonry.js} +0 -3
  55. core/src/scss/ajax-load-more.scss +86 -85
  56. gulpfile.js +2 -0
  57. lang/ajax-load-more.pot +826 -778
  58. package.json +2 -0
  59. vendor/EDD_SL_Plugin_Updater.php +477 -0
.babelrc CHANGED
@@ -1,3 +1,3 @@
1
  {
2
  "presets": ["es2015"]
3
- }
1
  {
2
  "presets": ["es2015"]
3
+ }
README.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: dcooney, connekthq
3
  Donate link: https://connekthq.com/donate/
4
  Tags: infinite scroll, infinite scrolling, scroll, infinite, lazy load, lazy loading, endless scroll, pagination, ajax pagination, ajax, ajax posts, ajax load posts, woocommerce, ajax load more
5
  Requires at least: 3.6
6
- Tested up to: 4.8.2
7
- Stable tag: 3.2.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -38,9 +38,11 @@ Check out the **[demo site](https://connekthq.com/plugins/ajax-load-more/)** for
38
 
39
 
40
  #### What's New 3.0
 
41
  * **[Advanced Custom Fields](https://connekthq.com/plugins/ajax-load-more/examples/advanced-custom-fields/)** - Compatibility and integration added for infinite scrolling Flexible Content, Gallery, Relationship and Repeater fields for Advanced Custom Fields.
42
  * **[Masonry](https://connekthq.com/plugins/ajax-load-more/examples/masonry/)** - Built-in support and functionality for Masonry layouts.
43
  * **[Progress Bars](https://connekthq.com/plugins/ajax-load-more/examples/progress-bar/)** - Display a Progress Bar load indicator with each Ajax request.
 
44
 
45
 
46
 
@@ -149,6 +151,7 @@ Ajax Load More accepts a number of parameters that are passed to the WordPress q
149
  * **[Preloaded Posts](https://connekthq.com/plugins/ajax-load-more/examples/pause-loading/)** - Easily preload an initial set of posts before completing any Ajax requests to the server.
150
  * **[Progress Bar](https://connekthq.com/plugins/ajax-load-more/examples/progress-bar/)** - Display a progress bar load indicator with each Ajax request.
151
  * **[Search Results](https://connekthq.com/plugins/ajax-load-more/examples/search-results/)** - Returning results based on search terms.
 
152
  * **[SEO & Paging](https://connekthq.com/plugins/ajax-load-more/examples/seo-paging-add-ons/)** - Combine these two add-ons to create one powerful navigation system.
153
  * **[Slideshow Gallery](https://connekthq.com/plugins/ajax-load-more/examples/slideshow-gallery/)** - Create a gallery of posts with Ajax Load More and the Paging add-on.
154
  * **[Table Layout](https://connekthq.com/plugins/ajax-load-more/examples/table/)** - Ajax Load More will display query results in a table format.
@@ -176,6 +179,7 @@ The [Custom Repeater Add-On](https://connekthq.com/plugins/ajax-load-more/custom
176
  * **[Previous Post](https://connekthq.com/plugins/ajax-load-more/add-ons/previous-post/)**: Enable infinite scrolling of older(previous) posts on your WordPress single post templates.
177
  * **[SEO](https://connekthq.com/plugins/ajax-load-more/add-ons/search-engine-optimization/)**: Generate unique paging URLs with each Ajax Load More query.
178
  * **[Theme Repeaters](https://connekthq.com/plugins/ajax-load-more/add-ons/theme-repeaters/)**: Manage Ajax Load More repeater templates from within your current theme directory.
 
179
 
180
 
181
 
@@ -365,6 +369,18 @@ How to install Ajax Load More.
365
 
366
  == Changelog ==
367
 
 
 
 
 
 
 
 
 
 
 
 
 
368
  = 3.2.1 - October 5, 2017 =
369
 
370
  * NEW - Added new filter to optionally remove the trailing slash in URL of the SEO add-on. `add_filter('alm_seo_remove_trailing_slash', '__return_true');`
3
  Donate link: https://connekthq.com/donate/
4
  Tags: infinite scroll, infinite scrolling, scroll, infinite, lazy load, lazy loading, endless scroll, pagination, ajax pagination, ajax, ajax posts, ajax load posts, woocommerce, ajax load more
5
  Requires at least: 3.6
6
+ Tested up to: 4.9
7
+ Stable tag: 3.3.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
38
 
39
 
40
  #### What's New 3.0
41
+ * **[User Query](https://connekthq.com/plugins/ajax-load-more/add-ons/users/)** - Query and display a list of WordPress users by role using a `WP_User_Query` and Ajax Load More.
42
  * **[Advanced Custom Fields](https://connekthq.com/plugins/ajax-load-more/examples/advanced-custom-fields/)** - Compatibility and integration added for infinite scrolling Flexible Content, Gallery, Relationship and Repeater fields for Advanced Custom Fields.
43
  * **[Masonry](https://connekthq.com/plugins/ajax-load-more/examples/masonry/)** - Built-in support and functionality for Masonry layouts.
44
  * **[Progress Bars](https://connekthq.com/plugins/ajax-load-more/examples/progress-bar/)** - Display a Progress Bar load indicator with each Ajax request.
45
+ * **[Scroll Container](https://connekthq.com/plugins/ajax-load-more/examples/scroll-container/)** - Constraining infinite scroll to a parent container.
46
 
47
 
48
 
151
  * **[Preloaded Posts](https://connekthq.com/plugins/ajax-load-more/examples/pause-loading/)** - Easily preload an initial set of posts before completing any Ajax requests to the server.
152
  * **[Progress Bar](https://connekthq.com/plugins/ajax-load-more/examples/progress-bar/)** - Display a progress bar load indicator with each Ajax request.
153
  * **[Search Results](https://connekthq.com/plugins/ajax-load-more/examples/search-results/)** - Returning results based on search terms.
154
+ * **[Scroll Container](https://connekthq.com/plugins/ajax-load-more/examples/scroll-container/)** - Constrain Ajax Load More to a parent container.
155
  * **[SEO & Paging](https://connekthq.com/plugins/ajax-load-more/examples/seo-paging-add-ons/)** - Combine these two add-ons to create one powerful navigation system.
156
  * **[Slideshow Gallery](https://connekthq.com/plugins/ajax-load-more/examples/slideshow-gallery/)** - Create a gallery of posts with Ajax Load More and the Paging add-on.
157
  * **[Table Layout](https://connekthq.com/plugins/ajax-load-more/examples/table/)** - Ajax Load More will display query results in a table format.
179
  * **[Previous Post](https://connekthq.com/plugins/ajax-load-more/add-ons/previous-post/)**: Enable infinite scrolling of older(previous) posts on your WordPress single post templates.
180
  * **[SEO](https://connekthq.com/plugins/ajax-load-more/add-ons/search-engine-optimization/)**: Generate unique paging URLs with each Ajax Load More query.
181
  * **[Theme Repeaters](https://connekthq.com/plugins/ajax-load-more/add-ons/theme-repeaters/)**: Manage Ajax Load More repeater templates from within your current theme directory.
182
+ * **[Users](https://connekthq.com/plugins/ajax-load-more/add-ons/users/)**: Lazy loading WordPress Users with Ajax Load More.
183
 
184
 
185
 
369
 
370
  == Changelog ==
371
 
372
+ = 3.3.0 - November 20, 2017 =
373
+
374
+ * NEW - Adding functionality for new for [`WP_User_Query`](https://connekthq.com/plugins/ajax-load-more/add-ons/users/) add-on.
375
+ * NEW - New Admin design, cleaner layout, improved performance.
376
+ * UPDATE - Remove `load-more` ID from loading button.
377
+ * UPDATE - Updated `alm_query_args` filter to accept the current post ID as a parameter within the filter.
378
+ * UPDATE - Code clean up, creating JS modules
379
+ * UPDATE - Improved license activations
380
+ * FIX- Removed 'data-masonry-horizontalorder' being rendered into HTML page if empty.
381
+ * FIX- Fixed issue with jump to link on ALM settings page.
382
+
383
+
384
  = 3.2.1 - October 5, 2017 =
385
 
386
  * NEW - Added new filter to optionally remove the trailing slash in URL of the SEO add-on. `add_filter('alm_seo_remove_trailing_slash', '__return_true');`
admin/admin-functions.php CHANGED
@@ -19,6 +19,165 @@ function alm_is_admin_screen(){
19
 
20
 
21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  /*
23
  * alm_has_addon
24
  * Does user have add-ons installed and activated
@@ -26,10 +185,11 @@ function alm_is_admin_screen(){
26
  *
27
  * @return boolean
28
  * @since 2.13.0
 
29
  */
30
 
31
  function alm_has_addon(){
32
- if(has_action('alm_cta_installed') || has_action('alm_comments_installed') || has_action('alm_unlimited_installed') || has_action('alm_layouts_installed') || has_action('alm_nextpage_installed') || has_action('alm_preload_installed') || has_action('alm_paging_installed') || has_action('alm_prev_post_installed') || has_action('alm_rest_api_installed') || has_action('alm_seo_installed') || has_action('alm_theme_repeaters_installed')) {
33
  return true;
34
  } else {
35
  return false;
@@ -40,14 +200,37 @@ function alm_has_addon(){
40
 
41
  /*
42
  * alm_has_addon_shortcodes
43
- * Does user have an add-ons for shortcode builder installed and activated
44
  *
45
  * @return boolean
46
  * @since 2.13.0.1
47
  */
48
 
49
  function alm_has_addon_shortcodes(){
50
- if(has_action('alm_acf_installed') || has_action('alm_cache_installed') || has_action('alm_cache_installed') || has_action('alm_cta_installed') || has_action('alm_comments_installed') || has_action('alm_unlimited_installed') || has_action('alm_nextpage_installed') || has_action('alm_preload_installed') || has_action('alm_paging_installed') || has_action('alm_prev_post_installed') || has_action('alm_rest_api_installed') || has_action('alm_seo_installed') || has_action('alm_theme_repeaters_installed')) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  return true;
52
  } else {
53
  return false;
19
 
20
 
21
 
22
+ /*
23
+ * alm_get_addons
24
+ * An array of add-on parameters
25
+ *
26
+ * @return array
27
+ * @since 3.3.0
28
+ */
29
+ function alm_get_addons(){
30
+ $addons = array(
31
+ array(
32
+ 'name' => __('Cache', 'ajax-load-more'),
33
+ 'intro' => __('Improve performance with the Ajax Load More caching engine.', 'ajax-load-more'),
34
+ 'desc' => __('The Cache add-on creates static HTML files of Ajax Load More requests then delivers those static files to your visitors.', 'ajax-load-more'),
35
+ 'action' => 'alm_cache_installed',
36
+ 'key' => 'alm_cache_license_key',
37
+ 'status' => 'alm_cache_license_status',
38
+ 'settings_field' => 'alm_cache_license',
39
+ 'img' => 'img/add-ons/cache-add-on.jpg',
40
+ 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/cache/',
41
+ 'item_id' => ALM_CACHE_ITEM_NAME
42
+ ),
43
+ array(
44
+ 'name' => __('Call to Actions', 'ajax-load-more'),
45
+ 'intro' => __('Ajax Load More extension for displaying advertisements and call to actions.', 'ajax-load-more'),
46
+ 'desc' => __('The Call to Actions add-on will provide the ability to inject a custom CTA template within each Ajax Load More loop.', 'ajax-load-more'),
47
+ 'action' => 'alm_cta_installed',
48
+ 'key' => 'alm_cta_license_key',
49
+ 'status' => 'alm_cta_license_status',
50
+ 'settings_field' => 'alm_cta_license',
51
+ 'img' => 'img/add-ons/cta-add-on.jpg',
52
+ 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/call-to-actions/',
53
+ 'item_id' => ALM_CTA_ITEM_NAME
54
+ ),
55
+ array(
56
+ 'name' => __('Comments', 'ajax-load-more'),
57
+ 'intro' => __('Load blog comments on demand with Ajax Load More.', 'ajax-load-more'),
58
+ 'desc' => __('The Comments add-on will display your blog comments with Ajax Load More\'s infinite scroll functionality.', 'ajax-load-more'),
59
+ 'action' => 'alm_comments_installed',
60
+ 'key' => 'alm_comments_license_key',
61
+ 'status' => 'alm_comments_license_status',
62
+ 'settings_field' => 'alm_comments_license',
63
+ 'img' => 'img/add-ons/comments-add-on.jpg',
64
+ 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/comments/',
65
+ 'item_id' => ALM_COMMENTS_ITEM_NAME
66
+ ),
67
+ array(
68
+ 'name' => __('Custom Repeaters', 'ajax-load-more'),
69
+ 'intro' => __('Extend Ajax Load More with unlimited repeater templates.', 'ajax-load-more'),
70
+ 'desc' => __('Create, delete and modify repeater templates as you need them with absolutely zero restrictions.', 'ajax-load-more'),
71
+ 'action' => 'alm_unlimited_installed',
72
+ 'key' => 'alm_unlimited_license_key',
73
+ 'status' => 'alm_unlimited_license_status',
74
+ 'settings_field' => 'alm_unlimited_license',
75
+ 'img' => 'img/add-ons/unlimited-add-ons.jpg',
76
+ 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/custom-repeaters/',
77
+ 'item_id' => ALM_UNLIMITED_ITEM_NAME
78
+ ),
79
+ array(
80
+ 'name' => __('Layouts', 'ajax-load-more'),
81
+ 'intro' => __('Predefined layouts for your repeater templates.', 'ajax-load-more'),
82
+ 'desc' => __('The Layouts add-on provides a collection of unique, well designed and fully responsive templates.', 'ajax-load-more'),
83
+ 'action' => 'alm_layouts_installed',
84
+ 'key' => 'alm_layouts_license_key',
85
+ 'status' => 'alm_layouts_license_status',
86
+ 'settings_field' => 'alm_layouts_license',
87
+ 'img' => 'img/add-ons/layouts-add-on.jpg',
88
+ 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/layouts/',
89
+ 'item_id' => ALM_LAYOUTS_ITEM_NAME
90
+ ),
91
+ array(
92
+ 'name' => __('Next Page', 'ajax-load-more'),
93
+ 'intro' => __('Load and display multipage WordPress content.', 'ajax-load-more'),
94
+ 'desc' => __('The Next Page add-on will provide functionality for infinite scrolling paginated posts and pages.', 'ajax-load-more'),
95
+ 'action' => 'alm_nextpage_installed',
96
+ 'key' => 'alm_nextpage_license_key',
97
+ 'status' => 'alm_nextpage_license_status',
98
+ 'settings_field' => 'alm_nextpage_license',
99
+ 'img' => 'img/add-ons/next-page-add-on.jpg',
100
+ 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/nextpage/',
101
+ 'item_id' => ALM_NEXTPAGE_ITEM_NAME
102
+ ),
103
+ array(
104
+ 'name' => __('Paging', 'ajax-load-more'),
105
+ 'intro' => __('Extend Ajax Load More with a numbered navigation.', 'ajax-load-more'),
106
+ 'desc' => __('The Paging add-on will transform the default infinite scroll functionality into a robust ajax powered navigation system.', 'ajax-load-more'),
107
+ 'action' => 'alm_paging_installed',
108
+ 'key' => 'alm_paging_license_key',
109
+ 'status' => 'alm_paging_license_status',
110
+ 'settings_field' => 'alm_paging_license',
111
+ 'img' => 'img/add-ons/paging-add-ons.jpg',
112
+ 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/paging/',
113
+ 'item_id' => ALM_PAGING_ITEM_NAME
114
+ ),
115
+ array(
116
+ 'name' => __('Preloaded', 'ajax-load-more'),
117
+ 'intro' => __('Load an initial set of posts before making Ajax requests to the server.', 'ajax-load-more'),
118
+ 'desc' => __('The Preloaded add-on will display content quicker and allow caching of the initial query which can reduce stress on your server.', 'ajax-load-more'),
119
+ 'action' => 'alm_preload_installed',
120
+ 'key' => 'alm_preloaded_license_key',
121
+ 'status' => 'alm_preloaded_license_status',
122
+ 'settings_field' => 'alm_preloaded_license',
123
+ 'img' => 'img/add-ons/preloaded-add-ons.jpg',
124
+ 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/preloaded/',
125
+ 'item_id' => ALM_PRELOADED_ITEM_NAME
126
+ ),
127
+ array(
128
+ 'name' => __('Previous Post', 'ajax-load-more'),
129
+ 'intro' => __('An add-on to enable infinite scrolling of single posts.', 'ajax-load-more'),
130
+ 'desc' => __('The Previous Post add-on will load single posts as you scroll and update the browser URL to the current post.', 'ajax-load-more'),
131
+ 'action' => 'alm_prev_post_installed',
132
+ 'key' => 'alm_prev_post_license_key',
133
+ 'status' => 'alm_prev_post_license_status',
134
+ 'settings_field' => 'alm_prev_post_license',
135
+ 'img' => 'img/add-ons/prev-post-add-on.jpg',
136
+ 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/preloaded/',
137
+ 'item_id' => ALM_PREV_POST_ITEM_NAME
138
+ ),
139
+ array(
140
+ 'name' => __('Search Engine Optimization', 'ajax-load-more'),
141
+ 'intro' => __('Generate unique paging URLs with every Ajax Load More query.', 'ajax-load-more'),
142
+ 'desc' => __('The SEO add-on will optimize your ajax loaded content for search engines by generating unique URLs with every query.', 'ajax-load-more'),
143
+ 'action' => 'alm_seo_installed',
144
+ 'key' => 'alm_seo_license_key',
145
+ 'status' => 'alm_seo_license_status',
146
+ 'settings_field' => 'alm_seo_license',
147
+ 'img' => 'img/add-ons/seo-add-ons.jpg',
148
+ 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/search-engine-optimization/',
149
+ 'item_id' => ALM_SEO_ITEM_NAME
150
+ ),
151
+ array(
152
+ 'name' => __('Theme Repeaters', 'ajax-load-more'),
153
+ 'intro' => __('Manage repeater templates within your current theme directory.', 'ajax-load-more'),
154
+ 'desc' => __('The Theme Repeater add-on will allow you load, edit and maintain templates from your current theme directory.', 'ajax-load-more'),
155
+ 'action' => 'alm_theme_repeaters_installed',
156
+ 'key' => 'alm_seo_license_key',
157
+ 'status' => 'alm_seo_license_status',
158
+ 'settings_field' => 'alm_seo_license',
159
+ 'img' => 'img/add-ons/theme-repeater-add-on.jpg',
160
+ 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/theme-repeaters/',
161
+ 'item_id' => ALM_THEME_REPEATERS_ITEM_NAME
162
+ ),
163
+ array(
164
+ 'name' => __('Users', 'ajax-load-more'),
165
+ 'intro' => __('Enable infinite scrolling of WordPress users.', 'ajax-load-more'),
166
+ 'desc' => __('The Users add-on will allow lazy loading of users by role using a WP_User_Query.', 'ajax-load-more'),
167
+ 'action' => 'alm_users_installed',
168
+ 'key' => 'alm_theme_repeaters_license_key',
169
+ 'status' => 'alm_theme_repeaters_license_status',
170
+ 'settings_field' => 'alm_theme_repeaters_license',
171
+ 'img' => 'img/add-ons/users-add-on.jpg',
172
+ 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/users/',
173
+ 'item_id' => ALM_USERS_ITEM_NAME
174
+ )
175
+ );
176
+ return $addons;
177
+ }
178
+
179
+
180
+
181
  /*
182
  * alm_has_addon
183
  * Does user have add-ons installed and activated
185
  *
186
  * @return boolean
187
  * @since 2.13.0
188
+ * @depreacted 3.3.0
189
  */
190
 
191
  function alm_has_addon(){
192
+ if(has_action('alm_cta_installed') || has_action('alm_comments_installed') || has_action('alm_unlimited_installed') || has_action('alm_layouts_installed') || has_action('alm_nextpage_installed') || has_action('alm_preload_installed') || has_action('alm_paging_installed') || has_action('alm_prev_post_installed') || has_action('alm_rest_api_installed') || has_action('alm_seo_installed') || has_action('alm_theme_repeaters_installed') || has_action('alm_users_installed')) {
193
  return true;
194
  } else {
195
  return false;
200
 
201
  /*
202
  * alm_has_addon_shortcodes
203
+ * Does user have an add-ons or extensions for shortcode builder installed and activated?
204
  *
205
  * @return boolean
206
  * @since 2.13.0.1
207
  */
208
 
209
  function alm_has_addon_shortcodes(){
210
+ $installed = false;
211
+ $actions = array(
212
+ 'alm_acf_installed',
213
+ 'alm_cache_installed',
214
+ 'alm_cache_installed',
215
+ 'alm_cta_installed',
216
+ 'alm_comments_installed',
217
+ 'alm_unlimited_installed',
218
+ 'alm_nextpage_installed',
219
+ 'alm_preload_installed',
220
+ 'alm_paging_installed',
221
+ 'alm_prev_post_installed',
222
+ 'alm_rest_api_installed',
223
+ 'alm_seo_installed',
224
+ 'alm_theme_repeaters_installed',
225
+ 'alm_users_installed'
226
+ );
227
+ // Loop actions to determine if add-on/extension is installed
228
+ foreach($actions as $action){
229
+ if(has_action($action)) $installed = true;
230
+ }
231
+
232
+
233
+ if($installed) {
234
  return true;
235
  } else {
236
  return false;
admin/admin.php CHANGED
@@ -1,5 +1,4 @@
1
  <?php
2
-
3
  add_action( 'plugins_loaded', 'alm_core_update' ); // Core Update
4
  add_action( 'wp_ajax_alm_save_repeater', 'alm_save_repeater' ); // Ajax Save Repeater
5
  add_action( 'wp_ajax_alm_update_repeater', 'alm_update_repeater' ); // Ajax Update Repeater
@@ -11,8 +10,45 @@ add_action( 'alm_get_layouts', 'alm_get_layouts' ); // Add layout selection
11
  add_action( 'wp_ajax_alm_get_layout', 'alm_get_layout' ); // Get layout
12
  add_action( 'wp_ajax_alm_dismiss_sharing', 'alm_dismiss_sharing' ); // Dismiss sharing
13
  add_filter( 'admin_footer_text', 'alm_filter_admin_footer_text'); // Admin menu text
 
 
14
 
15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
  /*
18
  * alm_license_activation
@@ -52,9 +88,7 @@ function alm_license_activation(){
52
  'url' => home_url()
53
  );
54
 
55
- // Call the custom API.
56
- //$response = wp_remote_get( add_query_arg( $api_params, $url ), array( 'timeout' => 15, 'sslverify' => false ) );
57
-
58
  // Updated 2.8.7
59
  $response = wp_remote_post( ALM_STORE_URL, array( 'timeout' => 15, 'sslverify' => false, 'body' => $api_params ) );
60
 
@@ -62,11 +96,8 @@ function alm_license_activation(){
62
  if ( is_wp_error( $response ) )
63
  return false;
64
 
65
-
66
  $license_data = $response['body'];
67
  $license_data = json_decode($license_data); // decode the license data
68
-
69
-
70
  $return["success"] = $license_data->success;
71
 
72
  $msg = '';
@@ -91,7 +122,7 @@ function alm_license_activation(){
91
  die();
92
 
93
  } else {
94
- echo __('You don\'t belong here.', ALM_NAME);
95
  }
96
  }
97
 
@@ -150,7 +181,7 @@ function alm_get_layout(){
150
  $return["value"] = $content;
151
  echo json_encode($return);
152
  }else {
153
- echo __('You don\'t belong here.', ALM_NAME);
154
  }
155
  die();
156
  }
@@ -1313,7 +1344,11 @@ function alm_btn_color_callback() {
1313
 
1314
  $html .= '</select>';
1315
 
1316
- $html .= '<div class="clear"></div><div class="ajax-load-more-wrap core '.$type.'"><span>'.__('Preview', 'ajax-load-more') .'</span><button class="alm-load-more-btn loading" disabled="disabled">'.apply_filters('alm_button_label', __('Older Posts', 'ajax-load-more')).'</button></div>';
 
 
 
 
1317
  echo $html;
1318
  }
1319
 
1
  <?php
 
2
  add_action( 'plugins_loaded', 'alm_core_update' ); // Core Update
3
  add_action( 'wp_ajax_alm_save_repeater', 'alm_save_repeater' ); // Ajax Save Repeater
4
  add_action( 'wp_ajax_alm_update_repeater', 'alm_update_repeater' ); // Ajax Update Repeater
10
  add_action( 'wp_ajax_alm_get_layout', 'alm_get_layout' ); // Get layout
11
  add_action( 'wp_ajax_alm_dismiss_sharing', 'alm_dismiss_sharing' ); // Dismiss sharing
12
  add_filter( 'admin_footer_text', 'alm_filter_admin_footer_text'); // Admin menu text
13
+ add_action( 'admin_notices', 'alm_admin_notice_errors' ); // License notice
14
+
15
 
16
 
17
+ /*
18
+ * alm_admin_notice_errors
19
+ * Invalid license notifications
20
+ *
21
+ * @since 3.3.0
22
+ */
23
+ function alm_admin_notice_errors() {
24
+ $screen = get_current_screen();
25
+ $alm_is_admin_screen = alm_is_admin_screen();
26
+ // Exit if screen is not dashboard, plugins or ALM admin.
27
+ if(!$alm_is_admin_screen && $screen->id !== 'dashboard' && $screen->id !== 'plugins'){
28
+ return;
29
+ }
30
+ $class = 'notice error alm-err-notice';
31
+ $message = '';
32
+ $count = 0;
33
+ $addons = alm_get_addons();
34
+ // Loop each addon
35
+ foreach($addons as $addon){
36
+ $action = $addon['action']; // Get action
37
+ if (has_action($action)){
38
+ $key = $addon['key']; // Option key
39
+ $status = $addon['status']; // license status
40
+ $addon_status = get_option( $status );
41
+ if( !isset($addon_status) || empty($addon_status) || $addon_status !== 'valid' ) {
42
+ $count++;
43
+ }
44
+ }
45
+ }
46
+ if( $count > 0 ) {
47
+ $message = __( 'You have invalid <a href="admin.php?page=ajax-load-more"><b>Ajax Load More</b></a> license keys - please visit the <a href="admin.php?page=ajax-load-more-licenses">Licenses</a> section and input your license keys.', 'ajax-load-more' );
48
+ printf( '<div class="%1$s"><p>%2$s</p></div>', $class, $message );
49
+ }
50
+ }
51
+
52
 
53
  /*
54
  * alm_license_activation
88
  'url' => home_url()
89
  );
90
 
91
+ // Call API
 
 
92
  // Updated 2.8.7
93
  $response = wp_remote_post( ALM_STORE_URL, array( 'timeout' => 15, 'sslverify' => false, 'body' => $api_params ) );
94
 
96
  if ( is_wp_error( $response ) )
97
  return false;
98
 
 
99
  $license_data = $response['body'];
100
  $license_data = json_decode($license_data); // decode the license data
 
 
101
  $return["success"] = $license_data->success;
102
 
103
  $msg = '';
122
  die();
123
 
124
  } else {
125
+ echo __('You don\'t belong here.', 'ajax-load-more');
126
  }
127
  }
128
 
181
  $return["value"] = $content;
182
  echo json_encode($return);
183
  }else {
184
+ echo __('You don\'t belong here.', 'ajax-load-more');
185
  }
186
  die();
187
  }
1344
 
1345
  $html .= '</select>';
1346
 
1347
+ $html .= '<div class="clear"></div>';
1348
+ $html .= '<div class="alm-btn-wrap">';
1349
+ $html .= '<div class="ajax-load-more-wrap core '.$type.'"><span>'.__('Preview', 'ajax-load-more') .'</span><button class="alm-load-more-btn loading" disabled="disabled">'.apply_filters('alm_button_label', __('Older Posts', 'ajax-load-more')).'</button></div>';
1350
+ $html .= '</div>';
1351
+
1352
  echo $html;
1353
  }
1354
 
admin/dist/css/admin.css CHANGED
@@ -1,5 +1,5 @@
1
- /* This is the default Tooltipster theme (feel free to modify or duplicate and create multiple themes!): */
2
  @import '//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css';
 
3
  .tooltipster-default {
4
  border-radius: 3px;
5
  border: 2px solid #222;
@@ -236,7 +236,7 @@
236
  padding: 0 10px;
237
  overflow: hidden;
238
  position: relative;
239
- border: 1px solid #e7e7e7;
240
  white-space: nowrap;
241
  color: #333;
242
  text-decoration: none;
@@ -514,6 +514,58 @@ disabled look for disabled choices in the results dropdown
514
  width: 1px;
515
  left: 0; }
516
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
517
  .alm-settings-feedback {
518
  position: fixed;
519
  bottom: 20px;
@@ -524,7 +576,7 @@ disabled look for disabled choices in the results dropdown
524
  color: #fff;
525
  padding: 15px 20px 15px 15px;
526
  line-height: 1;
527
- z-index: 999;
528
  border-radius: 2px;
529
  opacity: 0;
530
  visibility: hidden;
@@ -626,6 +678,97 @@ disabled look for disabled choices in the results dropdown
626
  background-size: 30px 10px;
627
  background-position: 95% center; }
628
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
629
  /*
630
  * Admin - Popup Generator
631
  *
@@ -646,7 +789,7 @@ disabled look for disabled choices in the results dropdown
646
  font-size: 14px;
647
  color: #666;
648
  position: relative;
649
- max-width: 1250px; }
650
 
651
  #alm-help.ajax-load-more {
652
  max-width: 1600px; }
@@ -667,12 +810,11 @@ disabled look for disabled choices in the results dropdown
667
  display: block;
668
  padding: 0 0 25px;
669
  margin: -10px 0 0; }
670
-
671
- #alm-settings .admin-select .select2-container {
672
- width: 48%;
673
- min-width: 48%;
674
- display: inline-block;
675
- vertical-align: top; }
676
 
677
  /* Saved Settings */
678
  #alm-settings .row.alm-save-settings {
@@ -680,35 +822,35 @@ disabled look for disabled choices in the results dropdown
680
 
681
  #alm-settings form h2 {
682
  background: #f7f7f7;
683
- border: 1px solid #efefef;
684
  border-bottom: none;
685
  padding: 20px 20px 6px;
686
  margin: 20px 0 0;
687
  font-weight: 600;
688
  font-size: 18px;
689
  border-radius: 2px 2px 0 0; }
690
-
691
- #alm-settings form h2:first-of-type {
692
- margin: 0; }
693
-
694
- #alm-settings form h2 + p {
695
- color: #999;
696
- padding: 0 20px 17px;
697
- border-right: 1px solid #efefef;
698
- border-left: 1px solid #efefef;
699
- background: #f7f7f7;
700
- margin: 0;
701
- font-size: 13px; }
702
 
703
  .ajax-load-more p.file-location {
704
  border: 1px solid #efefef;
705
  background: #fff;
706
- margin: 0 0 10px;
707
  padding: 15px;
708
  line-height: 1;
709
  display: block;
710
  font-family: Consolas, Monaco, monospace;
711
- border-radius: 3px; }
 
 
 
712
 
713
  .ajax-load-more code {
714
  background: #fcf3d0; }
@@ -1043,6 +1185,7 @@ a.layout-hover:hover img {
1043
  .ajax-load-more #meta-query-relation,
1044
  .ajax-load-more #tax-query-relation,
1045
  .ajax-load-more .comments_extras,
 
1046
  .ajax-load-more .taxonomy-extended {
1047
  display: none;
1048
  overflow: hidden; }
@@ -1302,7 +1445,7 @@ a.layout-hover:hover img {
1302
  display: none; }
1303
 
1304
  /* Table of Contents */
1305
- .table-of-contents.attached {
1306
  position: fixed;
1307
  width: auto;
1308
  top: 70px; }
@@ -1338,7 +1481,7 @@ hr.indented {
1338
 
1339
  .ajax-load-more .section-title {
1340
  float: left;
1341
- padding: 20px 0 20px 36px;
1342
  width: 40%; }
1343
 
1344
  .ajax-load-more .section-title.full {
@@ -1399,7 +1542,7 @@ hr.indented {
1399
  padding-left: 0 !important; }
1400
 
1401
  .ajax-load-more label.template-title {
1402
- padding: 10px 0;
1403
  margin: 0;
1404
  font-size: 13px;
1405
  color: #888; }
@@ -1584,11 +1727,11 @@ hr.indented {
1584
  * @since 1.0
1585
  */
1586
  .form-table label {
1587
- display: inline-block;
1588
  clear: both;
1589
  float: none;
1590
  vertical-align: top;
1591
- padding: 0 0 10px;
1592
  max-width: 90%;
1593
  cursor: pointer !important;
1594
  line-height: 1.5; }
@@ -1618,7 +1761,7 @@ hr.indented {
1618
  border-left: 5px solid #dfd8c2;
1619
  padding: 16px;
1620
  background: #fff9ea;
1621
- margin: 10px 0 0;
1622
  border-radius: 2px; }
1623
 
1624
  .form-table .template-tags h4,
@@ -1668,6 +1811,9 @@ hr.indented {
1668
  .admin.ajax-load-more.settings .select2-container {
1669
  margin-top: 10px; }
1670
 
 
 
 
1671
  .admin.ajax-load-more .ajax-load-more-wrap {
1672
  position: relative;
1673
  top: 10px;
@@ -1718,41 +1864,6 @@ hr.indented {
1718
  overflow: hidden;
1719
  color: #999; }
1720
 
1721
- .header-wrap {
1722
- overflow: hidden;
1723
- padding: 10px 0; }
1724
-
1725
- .ajax-load-more .header-wrap h1 {
1726
- padding-left: 60px;
1727
- min-height: 48px;
1728
- padding-top: 0;
1729
- background: url("../../img/alm-logo-48x48.png") no-repeat left 0;
1730
- background: url("../../img/alm-logo-48x48.svg") no-repeat left 0; }
1731
-
1732
- .ajax-load-more .header-wrap h1 em {
1733
- display: block;
1734
- position: relative;
1735
- margin-top: 1px;
1736
- font-size: 14px;
1737
- opacity: 0.7;
1738
- font-style: normal;
1739
- font-weight: 400;
1740
- line-height: 1.35; }
1741
-
1742
- .ajax-load-more .header-wrap h1 strong {
1743
- font-weight: 700; }
1744
-
1745
- .ajax-load-more h1 span {
1746
- color: #999;
1747
- font-weight: 300;
1748
- background: #fff;
1749
- padding: 5px 6px;
1750
- border-radius: 2px;
1751
- font-size: 0.8em;
1752
- position: relative;
1753
- top: -2px;
1754
- left: 5px; }
1755
-
1756
  .ajax-load-more h2.addon-title {
1757
  font-size: 19px !important;
1758
  line-height: 24px;
@@ -1856,25 +1967,18 @@ input.save-repeater {
1856
  .restore-default a {
1857
  text-decoration: none; }
1858
 
1859
- .alm-save-settings p.submit {
1860
- float: left;
1861
- margin: 0 5px 0 0;
1862
- width: auto; }
1863
-
1864
- .alm-save-settings .spinner {
1865
- display: none;
1866
- float: left;
1867
- visibility: visible !important; }
1868
-
1869
  table.highlight {
1870
  background: #fff !important; }
1871
 
1872
  /* Columns */
1873
  .ajax-load-more .cnkt-main {
1874
- width: 69%;
1875
  float: left;
1876
- margin-top: 10px;
1877
- background: none !important; }
 
 
 
1878
 
1879
  .ajax-load-more .cnkt-main .group {
1880
  background: #fff;
@@ -1888,7 +1992,14 @@ table.highlight {
1888
  .ajax-load-more .cnkt-sidebar .cta,
1889
  .call-out.light {
1890
  border: 1px solid #e1e1e1;
1891
- border-radius: 3px; }
 
 
 
 
 
 
 
1892
 
1893
  .ajax-load-more .cnkt-main.full {
1894
  width: 100%;
@@ -1903,8 +2014,15 @@ table.highlight {
1903
  border-top: 1px solid #efefef; }
1904
 
1905
  .form-table {
1906
- border: 1px solid #efefef;
1907
  margin: 0 0 25px; }
 
 
 
 
 
 
 
1908
 
1909
  #alm_OptionsForm .form-table:last-of-type {
1910
  margin-bottom: 0; }
@@ -1934,9 +2052,9 @@ table.highlight {
1934
 
1935
  /* Repeaters */
1936
  .repeaters .repeater-wrap {
1937
- padding: 12px 15px 10px !important; }
1938
 
1939
- .repeater-wrap label {
1940
  cursor: default; }
1941
 
1942
  .repeaters input.save-repeater {
@@ -1945,8 +2063,8 @@ table.highlight {
1945
  clear: none;
1946
  max-width: 25%; }
1947
 
1948
- .repeater-wrap textarea,
1949
- .repeater-wrap input[type=text] {
1950
  width: 100%; }
1951
 
1952
  .repeaters input.save-repeater.saving {
@@ -1957,6 +2075,43 @@ table.highlight {
1957
  max-width: 72%;
1958
  opacity: 0; }
1959
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1960
  /* Add-ons & Extensions */
1961
  .flexbox-wrap {
1962
  display: -webkit-box;
@@ -1975,6 +2130,10 @@ table.highlight {
1975
  word-spacing: -4px;
1976
  padding: 0; }
1977
 
 
 
 
 
1978
  #alm-add-ons .group .expand-wrap {
1979
  display: block;
1980
  padding-bottom: 50px;
@@ -2152,7 +2311,7 @@ span.cnkt-button.installed i,
2152
 
2153
  .license-title {
2154
  border-radius: 3px 3px 0 0;
2155
- border: 1px solid #ccc;
2156
  background-color: #efefef;
2157
  position: relative; }
2158
 
@@ -2245,14 +2404,13 @@ span.cnkt-button.installed i,
2245
  overflow: hidden;
2246
  display: block;
2247
  padding: 15px;
2248
- border: 1px solid #ccc;
2249
  border-top: none;
2250
  background-color: #f7f7f7;
2251
  border-radius: 0 0 3px 3px; }
2252
 
2253
  .license-wrap label {
2254
  font-weight: 600;
2255
- /* position: relative; */
2256
  top: -3px; }
2257
 
2258
  .license-wrap input[type=text] {
@@ -2312,11 +2470,6 @@ span.cnkt-button.installed i,
2312
  *
2313
  * @since 1.0
2314
  */
2315
- .ajax-load-more .cnkt-sidebar {
2316
- width: 29.5%;
2317
- float: right;
2318
- margin-top: 10px; }
2319
-
2320
  .ajax-load-more .cnkt-sidebar .cta {
2321
  background: #fff;
2322
  padding: 0;
@@ -2346,13 +2499,12 @@ span.cnkt-button.installed i,
2346
  margin-top: 0; }
2347
 
2348
  .ajax-load-more .cnkt-sidebar h3 {
2349
- padding: 15px 20px;
2350
- border-bottom: 1px solid #e1e1e1;
2351
- background: #f7f7f7;
2352
  margin: 0;
2353
  display: block;
2354
- font-size: 14px;
2355
- text-transform: uppercase;
2356
  border-radius: 2px 2px 0 0; }
2357
 
2358
  .ajax-load-more .cnkt-sidebar .item {
@@ -2372,13 +2524,21 @@ span.cnkt-button.installed i,
2372
  margin: 0 0 5px;
2373
  font-size: 14px; }
2374
 
 
 
 
2375
  .ajax-load-more .cnkt-sidebar .cta.dyk img {
2376
- padding: 0 20px; }
 
 
2377
 
2378
  .ajax-load-more .cnkt-sidebar .cta.dyk p {
2379
- margin: 15px 0 0;
2380
- display: block;
2381
- overflow: hidden; }
 
 
 
2382
 
2383
  .ajax-load-more .cnkt-sidebar ul {
2384
  padding: 5px 0 0;
@@ -2498,17 +2658,16 @@ span.cnkt-button.installed i,
2498
 
2499
  /*
2500
  * CodeMirror Syntax Highlighting
2501
- *
2502
  * @since 2.2.0
2503
  */
2504
  .ajax-load-more .CodeMirror {
2505
  height: auto;
2506
  border-radius: 3px;
2507
- padding: 8px;
2508
  background: #f7f7f7;
2509
  border: 1px solid #e1e1e1;
2510
  color: #999;
2511
- line-height: 1.3; }
2512
 
2513
  .ajax-load-more .cm-readonly .CodeMirror {
2514
  margin: 0 0 20px;
@@ -2534,8 +2693,8 @@ span.cnkt-button.installed i,
2534
  .ajax-load-more .CodeMirror-gutters {
2535
  /* Line Number color */
2536
  background: #fff;
2537
- border-right: 1px solid #ccc;
2538
- border-radius: 2px 0 0 2px; }
2539
 
2540
  .ajax-load-more .CodeMirror pre {
2541
  font-size: 13px; }
@@ -2643,44 +2802,6 @@ span.cnkt-button.installed i,
2643
  .ajax-load-more .row.unlimited input[type=text] {
2644
  width: 100.75%; }
2645
 
2646
- .repeaters .alm-delete {
2647
- clear: none;
2648
- display: inline-block;
2649
- margin: 15px 0 0;
2650
- width: auto;
2651
- float: right;
2652
- opacity: 0;
2653
- -webkit-transition: all 0.2s ease;
2654
- transition: all 0.2s ease;
2655
- position: absolute;
2656
- right: 15px;
2657
- bottom: 17px; }
2658
-
2659
- .repeaters .alm-delete a {
2660
- border-radius: 2px;
2661
- background: none;
2662
- color: #c94141;
2663
- font-size: 14px;
2664
- text-decoration: none;
2665
- display: block;
2666
- padding: 5px 10px; }
2667
-
2668
- .repeaters .alm-delete a:hover {
2669
- background-color: #c94141;
2670
- color: #fff; }
2671
-
2672
- .repeaters .alm-delete a:focus {
2673
- -webkit-box-shadow: none;
2674
- box-shadow: none; }
2675
-
2676
- .repeaters .alm-delete a:active {
2677
- -webkit-box-shadow: inset 0 1px 1px #ccc !important;
2678
- box-shadow: inset 0 1px 1px #ccc !important;
2679
- background-color: #b93636; }
2680
-
2681
- .repeaters .row:hover .alm-delete {
2682
- opacity: 1; }
2683
-
2684
  .alm-add-template {
2685
  text-align: center;
2686
  margin: 15px 0 0 !important;
@@ -2765,45 +2886,39 @@ span.cnkt-button.installed i,
2765
  position: relative;
2766
  display: block;
2767
  margin: -5px 0 25px; }
2768
-
2769
- .ajax-load-more .alm-cache-search-wrap input {
2770
- width: 100% !important;
2771
- margin: 0 !important;
2772
- padding: 16px;
2773
- display: block;
2774
- font-size: 16px; }
2775
-
2776
- .ajax-load-more .alm-cache-search-wrap i {
2777
- position: absolute;
2778
- right: 18px;
2779
- top: 15px;
2780
- color: #ccc;
2781
- font-size: 24px;
2782
- z-index: 1; }
2783
 
2784
  /* Directory Listing */
2785
  .alm-dir-listing {
2786
  border: 1px solid #efefef;
2787
  padding: 0;
2788
- margin: 10px 0; }
2789
-
2790
- .alm-dir-listing.theme-repeaters {
2791
- padding: 15px;
2792
- margin: 0; }
2793
-
2794
- .alm-dir-listing.theme-repeaters ul {
2795
- border: none;
2796
- padding: 0;
2797
- margin: 0; }
2798
-
2799
- .alm-dir-listing.theme-repeaters p.theme-title {
2800
- font-weight: 600;
2801
- margin: 0 0 15px;
2802
- padding: 0 5px; }
2803
-
2804
- .alm-dir-listing.theme-repeaters i {
2805
- color: #ccc;
2806
- font-size: 1.1em; }
2807
 
2808
  .alm-dir-listing.deleting {
2809
  opacity: 0.5;
@@ -2929,15 +3044,13 @@ span.cnkt-button.installed i,
2929
  background-color: #e0f5ff;
2930
  border-color: #bad0da;
2931
  color: #666; }
2932
-
2933
- .cache-cleared i {
2934
- color: #111;
2935
- margin: 0 5px 0 0; }
2936
-
2937
- .cache-cleared .remove {
2938
- float: right;
2939
- font-size: 12px;
2940
- font-weight: 600; }
2941
 
2942
  #alm-cache.ajax-load-more .cnkt-sidebar .item {
2943
  padding: 20px;
@@ -2946,35 +3059,28 @@ span.cnkt-button.installed i,
2946
  p.cache-stats {
2947
  min-height: 38px;
2948
  line-height: 37px;
2949
- margin: 0;
2950
  display: block;
2951
- padding: 20px 20px 0 20px; }
2952
-
2953
- p.cache-stats span {
2954
- display: inline-block;
2955
- width: 38px;
2956
- height: 38px;
2957
- line-height: 36px;
2958
- text-align: center;
2959
- margin: 0 9px 0 0;
2960
- font-weight: 700;
2961
- font-size: 15px;
2962
- border-radius: 2px;
2963
- background: #a4a5e2;
2964
- background: -webkit-gradient(linear, left top, left bottom, from(#a4a5e2), color-stop(50%, #9ea0d9), color-stop(51%, #8d8fce), to(#a4a5e2));
2965
- background: linear-gradient(to bottom, #a4a5e2 0%, #9ea0d9 50%, #8d8fce 51%, #a4a5e2 100%);
2966
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a4a5e2', endColorstr='#a4a5e2',GradientType=0 );
2967
- border: 1px solid #8586be;
2968
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
2969
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
2970
- color: #fff;
2971
- text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.1); }
2972
-
2973
- form#delete-all-cache {
2974
- display: block;
2975
- padding: 20px;
2976
- border-top: 1px solid #efefef;
2977
- margin-top: 10px; }
2978
 
2979
  /*
2980
  * Error Handling
@@ -3067,7 +3173,7 @@ form#delete-all-cache {
3067
  display: block;
3068
  font-size: 22px;
3069
  width: calc(100% + 40px);
3070
- border-bottom: 1px solid #efefef;
3071
  background-color: #f7f7f7;
3072
  border-radius: 2px 2px 0 0;
3073
  color: #23282d; }
@@ -3122,7 +3228,7 @@ form#delete-all-cache {
3122
  line-height: 1.25;
3123
  display: block;
3124
  -webkit-box-shadow: 0 0 0 1px #fff;
3125
- box-shadow: 0 0 0 1px #fff; }
3126
 
3127
  .alm-drop-btn a.target > i {
3128
  color: #999;
@@ -3136,7 +3242,7 @@ form#delete-all-cache {
3136
  color: #666;
3137
  border-color: #c9c9c9;
3138
  -webkit-box-shadow: 0 0 3px #ccc;
3139
- box-shadow: 0 0 3px #ccc; }
3140
 
3141
  .alm-repeater-options a.target:hover i.fa-cog {
3142
  color: #444; }
@@ -3147,7 +3253,7 @@ form#delete-all-cache {
3147
  background-color: #fff;
3148
  border-color: #c9c9c9;
3149
  -webkit-box-shadow: inset 0 1px 1px #ccc !important;
3150
- box-shadow: inset 0 1px 1px #ccc !important; }
3151
 
3152
  .alm-repeater-options.active a.target,
3153
  .alm-repeater-options.active a.target i.fa-cog {
@@ -3281,13 +3387,13 @@ form#delete-all-cache {
3281
  background-color: #fff;
3282
  border-color: #ccc;
3283
  -webkit-box-shadow: 0 0 3px #efefef;
3284
- box-shadow: 0 0 3px #efefef;
3285
  opacity: 1; }
3286
 
3287
  .alm-drop-btn.alm-layout-selection.active a.target,
3288
  .alm-drop-btn.alm-layout-selection a.target:active {
3289
  -webkit-box-shadow: inset 0 1px 1px #ccc !important;
3290
- box-shadow: inset 0 1px 1px #ccc !important; }
3291
 
3292
  .alm-drop-btn.alm-layout-selection .alm-dropdown {
3293
  display: none;
@@ -3418,7 +3524,7 @@ span.dismiss a {
3418
  background-position: 4px center;
3419
  color: #666;
3420
  -webkit-box-shadow: none !important;
3421
- box-shadow: none !important;
3422
  position: relative;
3423
  width: 100%;
3424
  white-space: nowrap;
@@ -3636,94 +3742,79 @@ span.dismiss a {
3636
  padding-right: 30px;
3637
  border-left: 1px dashed #ccc; }
3638
 
3639
- ul.share {
3640
- margin: 0;
3641
  padding: 0 0 0;
3642
  width: auto;
3643
  clear: both;
3644
  display: inline-block;
3645
- overflow: hidden;
3646
- text-align: center;
3647
- width: 100%;
3648
- margin: 0;
3649
- padding: 0;
3650
- height: auto;
3651
- overflow: visible; }
3652
-
3653
- ul.share li {
3654
- background: none;
3655
- float: left;
3656
- vertical-align: top;
3657
- height: 40px;
3658
- line-height: 40px;
3659
- font-size: 13px;
3660
- width: auto;
3661
- position: relative;
3662
- font-weight: 400;
3663
  text-align: left;
3664
- background: none;
3665
- color: #787878;
3666
- width: auto;
3667
- text-align: center;
3668
- height: 36px;
3669
- margin: 5px 10px 0 0;
3670
- padding: 0; }
3671
-
3672
- ul.share li i {
3673
- height: 36px;
3674
- line-height: 36px;
3675
- left: 0;
3676
- width: 36px; }
3677
-
3678
- ul.share li a {
3679
- display: block;
3680
- line-height: 40px;
3681
- height: 40px;
3682
- width: auto;
3683
- padding: 0 25px 0 50px;
3684
- text-decoration: none;
3685
- color: #fff;
3686
- background: none;
3687
- border-radius: 3px;
3688
- position: relative;
3689
- font-weight: 600;
3690
- background: #33cf92; }
3691
-
3692
- ul.share li a:hover {
3693
- background-color: #45dfa3; }
3694
-
3695
- ul.share li i {
3696
- font-size: 17px;
3697
- line-height: 41px;
3698
- height: 40px;
3699
- width: 36px;
3700
- position: absolute;
3701
- top: 0;
3702
- left: 0;
3703
- text-align: center;
3704
- border-right: 1px solid rgba(0, 0, 0, 0.1);
3705
- background-color: rgba(0, 0, 0, 0.1);
3706
- border-radius: 2px 0 0 2px; }
3707
-
3708
- ul.share li a:hover,
3709
- ul.share li a:hover i {
3710
- text-decoration: none;
3711
- color: #fff !important; }
3712
-
3713
- ul.share li a:hover span {
3714
- text-decoration: none; }
3715
-
3716
- ul.share li.twitter a {
3717
- background: #00aced; }
3718
-
3719
- ul.share li.twitter a:hover {
3720
- background: #13beff !important; }
3721
-
3722
- ul.share li.facebook a {
3723
- background: #3b5998; }
3724
-
3725
- ul.share li.facebook a:hover {
3726
- background: #466cbc !important; }
 
 
3727
 
3728
  /*
3729
  * Local templates Add-on
@@ -3833,18 +3924,19 @@ ul.share li.facebook a:hover {
3833
  .ajax-load-more .cnkt-main.full {
3834
  float: none;
3835
  clear: both;
3836
- margin: 10px 0 20px;
3837
- width: 100%; }
 
3838
  .admin.ajax-load-more.settings .form-table td {
3839
  padding: 24px 17px 20px; }
3840
- #alm-add-ons .group {
3841
- width: 48%; }
3842
  .call-out.light {
3843
  padding: 15px !important; }
3844
  .repeaters input.save-repeater {
3845
  max-width: 50%; } }
3846
 
3847
- @media screen and (max-width: 768px) {
 
 
3848
  .share-alm .sharing {
3849
  padding-right: 0;
3850
  width: 100%;
 
1
  @import '//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css';
2
+ /* This is the default Tooltipster theme (feel free to modify or duplicate and create multiple themes!): */
3
  .tooltipster-default {
4
  border-radius: 3px;
5
  border: 2px solid #222;
236
  padding: 0 10px;
237
  overflow: hidden;
238
  position: relative;
239
+ border: 1px solid #e1e1e1;
240
  white-space: nowrap;
241
  color: #333;
242
  text-decoration: none;
514
  width: 1px;
515
  left: 0; }
516
 
517
+ .ajax-load-more .header-wrap {
518
+ overflow: hidden;
519
+ padding: 25px 25px 12.5px;
520
+ background: #f7f7f7;
521
+ border-bottom: 1px solid #e1e1e1; }
522
+ .ajax-load-more .header-wrap h1 {
523
+ padding: 0 0 0 58px;
524
+ min-height: 48px;
525
+ padding-top: 0;
526
+ background: url("../../img/alm-logo-48x48.png") no-repeat 0 0;
527
+ background: url("../../img/alm-logo-48x48.svg") no-repeat 0 0; }
528
+ .ajax-load-more .header-wrap h1 em {
529
+ display: block;
530
+ position: relative;
531
+ margin-top: 1px;
532
+ font-size: 14px;
533
+ opacity: 0.7;
534
+ font-style: normal;
535
+ font-weight: 400;
536
+ line-height: 1.35;
537
+ margin: 1px 0 12.5px; }
538
+ .ajax-load-more .header-wrap h1 strong {
539
+ font-weight: 700; }
540
+ .ajax-load-more .header-wrap h1 span {
541
+ color: #999;
542
+ font-weight: 300;
543
+ background: #fff;
544
+ padding: 5px 6px;
545
+ border-radius: 2px;
546
+ font-size: 0.8em;
547
+ position: relative;
548
+ top: -2px;
549
+ left: 5px; }
550
+
551
+ .ajax-load-more .cnkt-sidebar {
552
+ width: 33%;
553
+ float: right;
554
+ background: #efefef;
555
+ padding: 25px;
556
+ position: absolute;
557
+ right: 0;
558
+ top: 0;
559
+ height: 100%; }
560
+ .ajax-load-more .cnkt-sidebar .major-publishing-actions {
561
+ padding: 15px;
562
+ clear: both;
563
+ border-top: 1px solid #e1e1e1;
564
+ background: #f7f7f7; }
565
+ .ajax-load-more .cnkt-sidebar .major-publishing-actions i {
566
+ opacity: 0.4;
567
+ margin: 0 2px 0 0; }
568
+
569
  .alm-settings-feedback {
570
  position: fixed;
571
  bottom: 20px;
576
  color: #fff;
577
  padding: 15px 20px 15px 15px;
578
  line-height: 1;
579
+ z-index: 9999;
580
  border-radius: 2px;
581
  opacity: 0;
582
  visibility: hidden;
678
  background-size: 30px 10px;
679
  background-position: 95% center; }
680
 
681
+ body.toplevel_page_ajax-load-more,
682
+ body.ajax-load-more_page_ajax-load-more-repeaters,
683
+ body.ajax-load-more_page_ajax-load-more-shortcode-builder,
684
+ body.ajax-load-more_page_ajax-load-more-add-ons,
685
+ body.ajax-load-more_page_ajax-load-more-extensions,
686
+ body.ajax-load-more_page_ajax-load-more-help,
687
+ body.ajax-load-more_page_ajax-load-more-licenses,
688
+ body.ajax-load-more_page_ajax-load-more-cache {
689
+ background-color: #f7f7f7; }
690
+ body.toplevel_page_ajax-load-more #wpcontent,
691
+ body.ajax-load-more_page_ajax-load-more-repeaters #wpcontent,
692
+ body.ajax-load-more_page_ajax-load-more-shortcode-builder #wpcontent,
693
+ body.ajax-load-more_page_ajax-load-more-add-ons #wpcontent,
694
+ body.ajax-load-more_page_ajax-load-more-extensions #wpcontent,
695
+ body.ajax-load-more_page_ajax-load-more-help #wpcontent,
696
+ body.ajax-load-more_page_ajax-load-more-licenses #wpcontent,
697
+ body.ajax-load-more_page_ajax-load-more-cache #wpcontent {
698
+ padding-left: 0;
699
+ padding-bottom: 40px;
700
+ background-color: #efefef; }
701
+ body.toplevel_page_ajax-load-more #wpbody-content,
702
+ body.ajax-load-more_page_ajax-load-more-repeaters #wpbody-content,
703
+ body.ajax-load-more_page_ajax-load-more-shortcode-builder #wpbody-content,
704
+ body.ajax-load-more_page_ajax-load-more-add-ons #wpbody-content,
705
+ body.ajax-load-more_page_ajax-load-more-extensions #wpbody-content,
706
+ body.ajax-load-more_page_ajax-load-more-help #wpbody-content,
707
+ body.ajax-load-more_page_ajax-load-more-licenses #wpbody-content,
708
+ body.ajax-load-more_page_ajax-load-more-cache #wpbody-content {
709
+ padding-bottom: 0; }
710
+
711
+ body.toplevel_page_ajax-load-more,
712
+ body.ajax-load-more_page_ajax-load-more-repeaters,
713
+ body.ajax-load-more_page_ajax-load-more-shortcode-builder,
714
+ body.ajax-load-more_page_ajax-load-more-add-ons,
715
+ body.ajax-load-more_page_ajax-load-more-extensions,
716
+ body.ajax-load-more_page_ajax-load-more-help,
717
+ body.ajax-load-more_page_ajax-load-more-licenses,
718
+ body.ajax-load-more_page_ajax-load-more-cache {
719
+ background: #efefef; }
720
+ body.toplevel_page_ajax-load-more #wpfooter,
721
+ body.ajax-load-more_page_ajax-load-more-repeaters #wpfooter,
722
+ body.ajax-load-more_page_ajax-load-more-shortcode-builder #wpfooter,
723
+ body.ajax-load-more_page_ajax-load-more-add-ons #wpfooter,
724
+ body.ajax-load-more_page_ajax-load-more-extensions #wpfooter,
725
+ body.ajax-load-more_page_ajax-load-more-help #wpfooter,
726
+ body.ajax-load-more_page_ajax-load-more-licenses #wpfooter,
727
+ body.ajax-load-more_page_ajax-load-more-cache #wpfooter {
728
+ padding-top: 0;
729
+ padding-bottom: 0;
730
+ line-height: 40px;
731
+ background: #f7f7f7;
732
+ border-top: 1px solid #efefef;
733
+ position: fixed;
734
+ bottom: 0;
735
+ z-index: 1100; }
736
+ body.toplevel_page_ajax-load-more #wpfooter p,
737
+ body.ajax-load-more_page_ajax-load-more-repeaters #wpfooter p,
738
+ body.ajax-load-more_page_ajax-load-more-shortcode-builder #wpfooter p,
739
+ body.ajax-load-more_page_ajax-load-more-add-ons #wpfooter p,
740
+ body.ajax-load-more_page_ajax-load-more-extensions #wpfooter p,
741
+ body.ajax-load-more_page_ajax-load-more-help #wpfooter p,
742
+ body.ajax-load-more_page_ajax-load-more-licenses #wpfooter p,
743
+ body.ajax-load-more_page_ajax-load-more-cache #wpfooter p {
744
+ line-height: 40px; }
745
+ @media screen and (min-width: 901px) {
746
+ body.toplevel_page_ajax-load-more .ajax-load-more .cnkt-main,
747
+ body.ajax-load-more_page_ajax-load-more-repeaters .ajax-load-more .cnkt-main,
748
+ body.ajax-load-more_page_ajax-load-more-shortcode-builder .ajax-load-more .cnkt-main,
749
+ body.ajax-load-more_page_ajax-load-more-add-ons .ajax-load-more .cnkt-main,
750
+ body.ajax-load-more_page_ajax-load-more-extensions .ajax-load-more .cnkt-main,
751
+ body.ajax-load-more_page_ajax-load-more-help .ajax-load-more .cnkt-main,
752
+ body.ajax-load-more_page_ajax-load-more-licenses .ajax-load-more .cnkt-main,
753
+ body.ajax-load-more_page_ajax-load-more-cache .ajax-load-more .cnkt-main {
754
+ min-height: 100vh; } }
755
+
756
+ body.ajax-load-more_page_ajax-load-more-extensions {
757
+ background: #fff; }
758
+ body.ajax-load-more_page_ajax-load-more-extensions #wpcontent {
759
+ background: #fff; }
760
+
761
+ .main-cnkt-wrap {
762
+ padding: 0 !important;
763
+ margin: 0 !important; }
764
+
765
+ .ajax-load-more-inner-wrapper {
766
+ padding: 0;
767
+ display: block;
768
+ clear: both;
769
+ max-width: 1440px;
770
+ position: relative; }
771
+
772
  /*
773
  * Admin - Popup Generator
774
  *
789
  font-size: 14px;
790
  color: #666;
791
  position: relative;
792
+ max-width: 100%; }
793
 
794
  #alm-help.ajax-load-more {
795
  max-width: 1600px; }
810
  display: block;
811
  padding: 0 0 25px;
812
  margin: -10px 0 0; }
813
+ #alm-settings .admin-select .select2-container {
814
+ width: 40%;
815
+ min-width: 40%;
816
+ display: inline-block;
817
+ vertical-align: top; }
 
818
 
819
  /* Saved Settings */
820
  #alm-settings .row.alm-save-settings {
822
 
823
  #alm-settings form h2 {
824
  background: #f7f7f7;
825
+ border: 1px solid #e1e1e1;
826
  border-bottom: none;
827
  padding: 20px 20px 6px;
828
  margin: 20px 0 0;
829
  font-weight: 600;
830
  font-size: 18px;
831
  border-radius: 2px 2px 0 0; }
832
+ #alm-settings form h2:first-of-type {
833
+ margin: 0; }
834
+ #alm-settings form h2 + p {
835
+ color: #999;
836
+ padding: 0 20px 17px;
837
+ border-right: 1px solid #e1e1e1;
838
+ border-left: 1px solid #e1e1e1;
839
+ background: #f7f7f7;
840
+ margin: 0; }
 
 
 
841
 
842
  .ajax-load-more p.file-location {
843
  border: 1px solid #efefef;
844
  background: #fff;
845
+ margin: 0 0 5px;
846
  padding: 15px;
847
  line-height: 1;
848
  display: block;
849
  font-family: Consolas, Monaco, monospace;
850
+ border-radius: 3px;
851
+ font-size: 12px; }
852
+ .ajax-load-more p.file-location code {
853
+ font-size: 13px; }
854
 
855
  .ajax-load-more code {
856
  background: #fcf3d0; }
1185
  .ajax-load-more #meta-query-relation,
1186
  .ajax-load-more #tax-query-relation,
1187
  .ajax-load-more .comments_extras,
1188
+ .ajax-load-more #users-extended,
1189
  .ajax-load-more .taxonomy-extended {
1190
  display: none;
1191
  overflow: hidden; }
1445
  display: none; }
1446
 
1447
  /* Table of Contents */
1448
+ #cnkt-sticky.attached {
1449
  position: fixed;
1450
  width: auto;
1451
  top: 70px; }
1481
 
1482
  .ajax-load-more .section-title {
1483
  float: left;
1484
+ padding: 22px 0 20px 36px;
1485
  width: 40%; }
1486
 
1487
  .ajax-load-more .section-title.full {
1542
  padding-left: 0 !important; }
1543
 
1544
  .ajax-load-more label.template-title {
1545
+ padding: 0 0 10px;
1546
  margin: 0;
1547
  font-size: 13px;
1548
  color: #888; }
1727
  * @since 1.0
1728
  */
1729
  .form-table label {
1730
+ display: block;
1731
  clear: both;
1732
  float: none;
1733
  vertical-align: top;
1734
+ padding: 0 0 8px;
1735
  max-width: 90%;
1736
  cursor: pointer !important;
1737
  line-height: 1.5; }
1761
  border-left: 5px solid #dfd8c2;
1762
  padding: 16px;
1763
  background: #fff9ea;
1764
+ margin: 20px 0 0;
1765
  border-radius: 2px; }
1766
 
1767
  .form-table .template-tags h4,
1811
  .admin.ajax-load-more.settings .select2-container {
1812
  margin-top: 10px; }
1813
 
1814
+ .admin.ajax-load-more .alm-btn-wrap {
1815
+ text-align: left; }
1816
+
1817
  .admin.ajax-load-more .ajax-load-more-wrap {
1818
  position: relative;
1819
  top: 10px;
1864
  overflow: hidden;
1865
  color: #999; }
1866
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1867
  .ajax-load-more h2.addon-title {
1868
  font-size: 19px !important;
1869
  line-height: 24px;
1967
  .restore-default a {
1968
  text-decoration: none; }
1969
 
 
 
 
 
 
 
 
 
 
 
1970
  table.highlight {
1971
  background: #fff !important; }
1972
 
1973
  /* Columns */
1974
  .ajax-load-more .cnkt-main {
1975
+ width: 67%;
1976
  float: left;
1977
+ background: #fff !important;
1978
+ padding: 25px;
1979
+ border-right: 1px solid #e1e1e1; }
1980
+ .ajax-load-more .cnkt-main.full {
1981
+ border: none !important; }
1982
 
1983
  .ajax-load-more .cnkt-main .group {
1984
  background: #fff;
1992
  .ajax-load-more .cnkt-sidebar .cta,
1993
  .call-out.light {
1994
  border: 1px solid #e1e1e1;
1995
+ border-radius: 3px;
1996
+ -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
1997
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); }
1998
+ .ajax-load-more .cnkt-main .group.no-shadow,
1999
+ .ajax-load-more .cnkt-sidebar .cta.no-shadow,
2000
+ .call-out.light.no-shadow {
2001
+ -webkit-box-shadow: none;
2002
+ box-shadow: none; }
2003
 
2004
  .ajax-load-more .cnkt-main.full {
2005
  width: 100%;
2014
  border-top: 1px solid #efefef; }
2015
 
2016
  .form-table {
2017
+ border: 1px solid #e1e1e1;
2018
  margin: 0 0 25px; }
2019
+ .form-table br {
2020
+ height: 1px;
2021
+ display: block;
2022
+ overflow: hidden;
2023
+ line-height: 1px;
2024
+ margin: 0;
2025
+ content: ''; }
2026
 
2027
  #alm_OptionsForm .form-table:last-of-type {
2028
  margin-bottom: 0; }
2052
 
2053
  /* Repeaters */
2054
  .repeaters .repeater-wrap {
2055
+ padding: 20px 20px 15px !important; }
2056
 
2057
+ .repeaters .repeater-wrap label {
2058
  cursor: default; }
2059
 
2060
  .repeaters input.save-repeater {
2063
  clear: none;
2064
  max-width: 25%; }
2065
 
2066
+ .repeaters .repeater-wrap textarea,
2067
+ .repeaters .repeater-wrap input[type=text] {
2068
  width: 100%; }
2069
 
2070
  .repeaters input.save-repeater.saving {
2075
  max-width: 72%;
2076
  opacity: 0; }
2077
 
2078
+ .repeaters .one_half {
2079
+ padding-bottom: 10px; }
2080
+
2081
+ .repeaters .alm-delete {
2082
+ clear: none;
2083
+ display: inline-block;
2084
+ margin: 15px 0 0;
2085
+ width: auto;
2086
+ float: right;
2087
+ opacity: 0;
2088
+ -webkit-transition: all 0.2s ease;
2089
+ transition: all 0.2s ease;
2090
+ position: absolute;
2091
+ right: 20px;
2092
+ bottom: 17px; }
2093
+ .repeaters .alm-delete a {
2094
+ border-radius: 2px;
2095
+ background: none;
2096
+ color: #c94141;
2097
+ font-size: 14px;
2098
+ text-decoration: none;
2099
+ display: block;
2100
+ padding: 5px 10px; }
2101
+ .repeaters .alm-delete a:hover {
2102
+ background-color: #c94141;
2103
+ color: #fff; }
2104
+ .repeaters .alm-delete a:focus {
2105
+ -webkit-box-shadow: none;
2106
+ box-shadow: none; }
2107
+ .repeaters .alm-delete a:active {
2108
+ -webkit-box-shadow: inset 0 1px 1px #ccc !important;
2109
+ box-shadow: inset 0 1px 1px #ccc !important;
2110
+ background-color: #b93636; }
2111
+
2112
+ .repeaters .row:hover .alm-delete {
2113
+ opacity: 1; }
2114
+
2115
  /* Add-ons & Extensions */
2116
  .flexbox-wrap {
2117
  display: -webkit-box;
2130
  word-spacing: -4px;
2131
  padding: 0; }
2132
 
2133
+ @media screen and (max-width: 1350px) {
2134
+ #alm-add-ons .group {
2135
+ width: 48%; } }
2136
+
2137
  #alm-add-ons .group .expand-wrap {
2138
  display: block;
2139
  padding-bottom: 50px;
2311
 
2312
  .license-title {
2313
  border-radius: 3px 3px 0 0;
2314
+ border: 1px solid #e1e1e1;
2315
  background-color: #efefef;
2316
  position: relative; }
2317
 
2404
  overflow: hidden;
2405
  display: block;
2406
  padding: 15px;
2407
+ border: 1px solid #e1e1e1;
2408
  border-top: none;
2409
  background-color: #f7f7f7;
2410
  border-radius: 0 0 3px 3px; }
2411
 
2412
  .license-wrap label {
2413
  font-weight: 600;
 
2414
  top: -3px; }
2415
 
2416
  .license-wrap input[type=text] {
2470
  *
2471
  * @since 1.0
2472
  */
 
 
 
 
 
2473
  .ajax-load-more .cnkt-sidebar .cta {
2474
  background: #fff;
2475
  padding: 0;
2499
  margin-top: 0; }
2500
 
2501
  .ajax-load-more .cnkt-sidebar h3 {
2502
+ padding: 14px 20px;
2503
+ background: #fff;
 
2504
  margin: 0;
2505
  display: block;
2506
+ font-size: 15px;
2507
+ text-transform: none;
2508
  border-radius: 2px 2px 0 0; }
2509
 
2510
  .ajax-load-more .cnkt-sidebar .item {
2524
  margin: 0 0 5px;
2525
  font-size: 14px; }
2526
 
2527
+ .ajax-load-more .cnkt-sidebar .cta.dyk .cta-inner {
2528
+ overflow: hidden; }
2529
+
2530
  .ajax-load-more .cnkt-sidebar .cta.dyk img {
2531
+ padding: 0 20px 10px 0;
2532
+ max-width: 40%;
2533
+ float: left; }
2534
 
2535
  .ajax-load-more .cnkt-sidebar .cta.dyk p {
2536
+ margin: 0 0 15px;
2537
+ clear: none; }
2538
+ .ajax-load-more .cnkt-sidebar .cta.dyk p:last-child {
2539
+ margin: 0; }
2540
+ .ajax-load-more .cnkt-sidebar .cta.dyk p.addon-intro {
2541
+ margin-top: -3px; }
2542
 
2543
  .ajax-load-more .cnkt-sidebar ul {
2544
  padding: 5px 0 0;
2658
 
2659
  /*
2660
  * CodeMirror Syntax Highlighting
 
2661
  * @since 2.2.0
2662
  */
2663
  .ajax-load-more .CodeMirror {
2664
  height: auto;
2665
  border-radius: 3px;
2666
+ padding: 5px;
2667
  background: #f7f7f7;
2668
  border: 1px solid #e1e1e1;
2669
  color: #999;
2670
+ line-height: 1.45; }
2671
 
2672
  .ajax-load-more .cm-readonly .CodeMirror {
2673
  margin: 0 0 20px;
2693
  .ajax-load-more .CodeMirror-gutters {
2694
  /* Line Number color */
2695
  background: #fff;
2696
+ border-right: 1px solid #e1e1e1;
2697
+ border-radius: 2px; }
2698
 
2699
  .ajax-load-more .CodeMirror pre {
2700
  font-size: 13px; }
2802
  .ajax-load-more .row.unlimited input[type=text] {
2803
  width: 100.75%; }
2804
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2805
  .alm-add-template {
2806
  text-align: center;
2807
  margin: 15px 0 0 !important;
2886
  position: relative;
2887
  display: block;
2888
  margin: -5px 0 25px; }
2889
+ .ajax-load-more .alm-cache-search-wrap input {
2890
+ width: 100% !important;
2891
+ margin: 0 !important;
2892
+ padding: 15px;
2893
+ display: block;
2894
+ font-size: 18px; }
2895
+ .ajax-load-more .alm-cache-search-wrap i {
2896
+ position: absolute;
2897
+ right: 15px;
2898
+ top: 14px;
2899
+ color: #ccc;
2900
+ font-size: 24px;
2901
+ z-index: 1; }
 
 
2902
 
2903
  /* Directory Listing */
2904
  .alm-dir-listing {
2905
  border: 1px solid #efefef;
2906
  padding: 0;
2907
+ margin: 20px 0 0; }
2908
+ .alm-dir-listing.theme-repeaters {
2909
+ padding: 15px;
2910
+ margin: 0; }
2911
+ .alm-dir-listing.theme-repeaters ul {
2912
+ border: none;
2913
+ padding: 0;
2914
+ margin: 0; }
2915
+ .alm-dir-listing.theme-repeaters p.theme-title {
2916
+ font-weight: 600;
2917
+ margin: 0 0 15px;
2918
+ padding: 0 5px; }
2919
+ .alm-dir-listing.theme-repeaters i {
2920
+ color: #ccc;
2921
+ font-size: 1.1em; }
 
 
 
 
2922
 
2923
  .alm-dir-listing.deleting {
2924
  opacity: 0.5;
3044
  background-color: #e0f5ff;
3045
  border-color: #bad0da;
3046
  color: #666; }
3047
+ .cache-cleared i {
3048
+ color: #111;
3049
+ margin: 0 5px 0 0; }
3050
+ .cache-cleared .remove {
3051
+ float: right;
3052
+ font-size: 12px;
3053
+ font-weight: 600; }
 
 
3054
 
3055
  #alm-cache.ajax-load-more .cnkt-sidebar .item {
3056
  padding: 20px;
3059
  p.cache-stats {
3060
  min-height: 38px;
3061
  line-height: 37px;
 
3062
  display: block;
3063
+ padding: 0;
3064
+ margin: 0; }
3065
+ p.cache-stats span {
3066
+ display: inline-block;
3067
+ width: 38px;
3068
+ height: 38px;
3069
+ line-height: 36px;
3070
+ text-align: center;
3071
+ margin: 0 9px 0 0;
3072
+ font-weight: 700;
3073
+ font-size: 15px;
3074
+ border-radius: 2px;
3075
+ background: #a4a5e2;
3076
+ background: -webkit-gradient(linear, left top, left bottom, from(#a4a5e2), color-stop(50%, #9ea0d9), color-stop(51%, #8d8fce), to(#a4a5e2));
3077
+ background: linear-gradient(to bottom, #a4a5e2 0%, #9ea0d9 50%, #8d8fce 51%, #a4a5e2 100%);
3078
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a4a5e2', endColorstr='#a4a5e2',GradientType=0 );
3079
+ border: 1px solid #8586be;
3080
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
3081
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
3082
+ color: #fff;
3083
+ text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.1); }
 
 
 
 
 
 
3084
 
3085
  /*
3086
  * Error Handling
3173
  display: block;
3174
  font-size: 22px;
3175
  width: calc(100% + 40px);
3176
+ border-bottom: 1px solid #e1e1e1;
3177
  background-color: #f7f7f7;
3178
  border-radius: 2px 2px 0 0;
3179
  color: #23282d; }
3228
  line-height: 1.25;
3229
  display: block;
3230
  -webkit-box-shadow: 0 0 0 1px #fff;
3231
+ box-shadow: 0 0 0 1px #fff; }
3232
 
3233
  .alm-drop-btn a.target > i {
3234
  color: #999;
3242
  color: #666;
3243
  border-color: #c9c9c9;
3244
  -webkit-box-shadow: 0 0 3px #ccc;
3245
+ box-shadow: 0 0 3px #ccc; }
3246
 
3247
  .alm-repeater-options a.target:hover i.fa-cog {
3248
  color: #444; }
3253
  background-color: #fff;
3254
  border-color: #c9c9c9;
3255
  -webkit-box-shadow: inset 0 1px 1px #ccc !important;
3256
+ box-shadow: inset 0 1px 1px #ccc !important; }
3257
 
3258
  .alm-repeater-options.active a.target,
3259
  .alm-repeater-options.active a.target i.fa-cog {
3387
  background-color: #fff;
3388
  border-color: #ccc;
3389
  -webkit-box-shadow: 0 0 3px #efefef;
3390
+ box-shadow: 0 0 3px #efefef;
3391
  opacity: 1; }
3392
 
3393
  .alm-drop-btn.alm-layout-selection.active a.target,
3394
  .alm-drop-btn.alm-layout-selection a.target:active {
3395
  -webkit-box-shadow: inset 0 1px 1px #ccc !important;
3396
+ box-shadow: inset 0 1px 1px #ccc !important; }
3397
 
3398
  .alm-drop-btn.alm-layout-selection .alm-dropdown {
3399
  display: none;
3524
  background-position: 4px center;
3525
  color: #666;
3526
  -webkit-box-shadow: none !important;
3527
+ box-shadow: none !important;
3528
  position: relative;
3529
  width: 100%;
3530
  white-space: nowrap;
3742
  padding-right: 30px;
3743
  border-left: 1px dashed #ccc; }
3744
 
3745
+ .share-alm ul.share {
3746
+ margin: 0 0 10px;
3747
  padding: 0 0 0;
3748
  width: auto;
3749
  clear: both;
3750
  display: inline-block;
3751
+ overflow: visible;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3752
  text-align: left;
3753
+ width: 100%;
3754
+ height: auto; }
3755
+ .share-alm ul.share li {
3756
+ background: none;
3757
+ display: inline-block;
3758
+ vertical-align: top;
3759
+ height: 40px;
3760
+ line-height: 40px;
3761
+ font-size: 13px;
3762
+ position: relative;
3763
+ font-weight: 400;
3764
+ text-align: left;
3765
+ background: none;
3766
+ color: #787878;
3767
+ width: auto;
3768
+ text-align: center;
3769
+ height: 36px;
3770
+ margin: 10px 10px 0 0 !important;
3771
+ padding: 0; }
3772
+ .share-alm ul.share li a {
3773
+ display: block;
3774
+ line-height: 40px;
3775
+ height: 40px;
3776
+ width: auto;
3777
+ padding: 0 15px 0 45px;
3778
+ text-decoration: none;
3779
+ color: #fff;
3780
+ text-align: center;
3781
+ background: none;
3782
+ border-radius: 3px;
3783
+ position: relative;
3784
+ font-weight: 600;
3785
+ background: #33cf92; }
3786
+ @media screen and (min-width: 1500px) {
3787
+ .share-alm ul.share li a {
3788
+ padding: 0 25px 0 50px; } }
3789
+ .share-alm ul.share li a:hover {
3790
+ background-color: #45dfa3; }
3791
+ .share-alm ul.share li a i {
3792
+ font-size: 20px;
3793
+ line-height: 41px;
3794
+ height: 40px;
3795
+ width: 35px;
3796
+ position: absolute;
3797
+ top: 0;
3798
+ left: 0;
3799
+ text-align: center;
3800
+ border-right: 1px solid rgba(0, 0, 0, 0.1);
3801
+ background-color: rgba(0, 0, 0, 0.1);
3802
+ border-radius: 2px 0 0 2px; }
3803
+ .share-alm ul.share li a:hover,
3804
+ .share-alm ul.share li a:hover i {
3805
+ text-decoration: none;
3806
+ color: #fff !important; }
3807
+ .share-alm ul.share li a:hover span,
3808
+ .share-alm ul.share li a:hover i span {
3809
+ text-decoration: none; }
3810
+ .share-alm ul.share li.twitter a {
3811
+ background: #00aced; }
3812
+ .share-alm ul.share li.twitter a:hover {
3813
+ background: #13beff !important; }
3814
+ .share-alm ul.share li.facebook a {
3815
+ background: #3b5998; }
3816
+ .share-alm ul.share li.facebook a:hover {
3817
+ background: #466cbc !important; }
3818
 
3819
  /*
3820
  * Local templates Add-on
3924
  .ajax-load-more .cnkt-main.full {
3925
  float: none;
3926
  clear: both;
3927
+ margin: 0;
3928
+ width: 100%;
3929
+ position: static !important; }
3930
  .admin.ajax-load-more.settings .form-table td {
3931
  padding: 24px 17px 20px; }
 
 
3932
  .call-out.light {
3933
  padding: 15px !important; }
3934
  .repeaters input.save-repeater {
3935
  max-width: 50%; } }
3936
 
3937
+ @media screen and (max-width: 782px) {
3938
+ .admin.ajax-load-more.settings .form-table th {
3939
+ padding-bottom: 0; }
3940
  .share-alm .sharing {
3941
  padding-right: 0;
3942
  width: 100%;
admin/dist/js/admin.js CHANGED
@@ -1204,6 +1204,72 @@ SELECT 2 FORM REPLACEMNT
1204
  }(jQuery);
1205
  'use strict';
1206
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1207
  var _alm = _alm || {};
1208
 
1209
  jQuery(document).ready(function ($) {
@@ -1278,7 +1344,6 @@ jQuery(document).ready(function ($) {
1278
  // On Change, save the settings
1279
  var settingsTimer = void 0;
1280
  $(document).on('change', '#alm_OptionsForm input, #alm_OptionsForm textarea, #alm_OptionsForm select', function () {
1281
-
1282
  // Set a timer to avoid updating settings to frequently
1283
  if (settingsTimer) clearTimeout(settingsTimer);
1284
  settingsTimer = setTimeout(function () {
@@ -1361,7 +1426,7 @@ jQuery(document).ready(function ($) {
1361
  };
1362
 
1363
  // Copy link on shortcode builder
1364
- $('.output-wrap .copy').click(function () {
1365
  var c = $('#shortcode_output').html();
1366
  _alm.copyToClipboard(c);
1367
  });
@@ -1584,9 +1649,9 @@ jQuery(document).ready(function ($) {
1584
  $(document).on('change', '#alm-settings-nav', function (e) {
1585
  e.preventDefault();
1586
  var el = $(this),
1587
- index = el.val();
1588
-
1589
  if (index !== '#') {
 
1590
  $('html, body').animate({
1591
  scrollTop: $("#alm_OptionsForm h2").eq(index).offset().top - 40
1592
  }, 500);
1204
  }(jQuery);
1205
  'use strict';
1206
 
1207
+ var alm = alm || {};
1208
+
1209
+ /*
1210
+ * alm.attachSticky
1211
+ */
1212
+ alm.attachSticky = function (el, anchor) {
1213
+ var top = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
1214
+
1215
+ var h = el.offsetHeight + top,
1216
+ // height of sticky el
1217
+ anchorOffset = anchor.getBoundingClientRect(),
1218
+ anchor_top = anchorOffset.top,
1219
+ w_height = window.innerHeight,
1220
+ // Window height
1221
+ el_height = el.offsetHeight; // element height
1222
+
1223
+ if (w_height > el_height + top) {
1224
+ // If container height > than sticky height
1225
+ if (anchor_top <= top) {
1226
+ el.classList.add('attached');
1227
+ } else {
1228
+ if (anchor_top > top) {
1229
+ el.classList.remove('attached');
1230
+ }
1231
+ }
1232
+ }
1233
+ };
1234
+
1235
+ /*
1236
+ * alm.resizeSticky
1237
+ */
1238
+ alm.resizeSticky = function () {
1239
+ var sticky = document.getElementById('cnkt-sticky');
1240
+ var el = document.getElementById('cnkt-sticky-wrapper');
1241
+ var atts = window.getComputedStyle(el);
1242
+ sticky.style.width = atts.width;
1243
+ };
1244
+
1245
+ /*
1246
+ * initSticky
1247
+ */
1248
+ var initSticky = function initSticky() {
1249
+ if (document.getElementById("cnkt-sticky-wrapper")) {
1250
+ var sticky_el = document.getElementById('cnkt-sticky');
1251
+ var sticky_anchor = document.getElementById('cnkt-sticky-wrapper');
1252
+ var sticky_top = 70; // The position the sticky should stick
1253
+
1254
+ // Scroll
1255
+ window.addEventListener('scroll', function (e) {
1256
+ alm.attachSticky(sticky_el, sticky_anchor, sticky_top);
1257
+ });
1258
+ // Resize
1259
+ window.addEventListener('resize', function (e) {
1260
+ alm.resizeSticky();
1261
+ });
1262
+ // Init
1263
+ alm.resizeSticky();
1264
+ alm.attachSticky(sticky_el, sticky_anchor, sticky_top);
1265
+ }
1266
+ };
1267
+
1268
+ window.onload = function () {
1269
+ initSticky();
1270
+ };
1271
+ 'use strict';
1272
+
1273
  var _alm = _alm || {};
1274
 
1275
  jQuery(document).ready(function ($) {
1344
  // On Change, save the settings
1345
  var settingsTimer = void 0;
1346
  $(document).on('change', '#alm_OptionsForm input, #alm_OptionsForm textarea, #alm_OptionsForm select', function () {
 
1347
  // Set a timer to avoid updating settings to frequently
1348
  if (settingsTimer) clearTimeout(settingsTimer);
1349
  settingsTimer = setTimeout(function () {
1426
  };
1427
 
1428
  // Copy link on shortcode builder
1429
+ $('.shortcode-builder .copy').click(function () {
1430
  var c = $('#shortcode_output').html();
1431
  _alm.copyToClipboard(c);
1432
  });
1649
  $(document).on('change', '#alm-settings-nav', function (e) {
1650
  e.preventDefault();
1651
  var el = $(this),
1652
+ index = $('option:selected', el).index();
 
1653
  if (index !== '#') {
1654
+ index = index - 1;
1655
  $('html, body').animate({
1656
  scrollTop: $("#alm_OptionsForm h2").eq(index).offset().top - 40
1657
  }, 500);
admin/img/add-ons/users-add-on.jpg ADDED
Binary file
admin/includes/components/example-list.php CHANGED
@@ -1,4 +1,4 @@
1
- <div class="group">
2
  <span class="toggle-all"><span class="inner-wrap"><em class="collapse"><?php _e('Collapse All', 'ajax-load-more'); ?></em><em class="expand"><?php _e('Expand All', 'ajax-load-more'); ?></em></span></span>
3
 
4
  <div class="row gist" id="example-archive">
1
+ <div class="group no-shadow">
2
  <span class="toggle-all"><span class="inner-wrap"><em class="collapse"><?php _e('Collapse All', 'ajax-load-more'); ?></em><em class="expand"><?php _e('Expand All', 'ajax-load-more'); ?></em></span></span>
3
 
4
  <div class="row gist" id="example-archive">
admin/includes/cta/about.php CHANGED
@@ -1,5 +1,5 @@
1
  <div class="cta">
2
- <h3>Other Plugins</h3>
3
  <div class="cta-inner">
4
  <ul class="project-listing">
5
  <li>
@@ -20,14 +20,14 @@
20
  <a target="blank" href="https://connekthq.com/plugins/instant-images/">
21
  <img src="<?php echo ALM_ADMIN_URL; ?>img/logos/instant-images-48x48.png" alt="">
22
  <strong>Instant Images</strong>
23
- <span>Upload Unsplash.com photos directly to your media library without leaving WordPress.</span>
24
  </a>
25
  </li>
26
  <li>
27
  <a target="blank" href="https://connekthq.com/plugins/velocity/">
28
  <img src="<?php echo ALM_ADMIN_URL; ?>img/logos/velocity-48x48.png" alt="">
29
  <strong>Velocity</strong>
30
- <span>Improve website performance by lazy loading and customizing your embedded media with Velocity.</span>
31
  </a>
32
  </li>
33
  </ul>
1
  <div class="cta">
2
+ <h3><?php _e('Other Plugins', 'ajax-load-more'); ?></h3>
3
  <div class="cta-inner">
4
  <ul class="project-listing">
5
  <li>
20
  <a target="blank" href="https://connekthq.com/plugins/instant-images/">
21
  <img src="<?php echo ALM_ADMIN_URL; ?>img/logos/instant-images-48x48.png" alt="">
22
  <strong>Instant Images</strong>
23
+ <span>One click uploads of Unsplash.com photos directly to your media library.</span>
24
  </a>
25
  </li>
26
  <li>
27
  <a target="blank" href="https://connekthq.com/plugins/velocity/">
28
  <img src="<?php echo ALM_ADMIN_URL; ?>img/logos/velocity-48x48.png" alt="">
29
  <strong>Velocity</strong>
30
+ <span>Improve website performance by lazy loading your embedded media.</span>
31
  </a>
32
  </li>
33
  </ul>
admin/includes/cta/add-ons.php CHANGED
@@ -1,8 +1,10 @@
1
- <div class="cta padding-bottom">
2
- <h3>Add-ons</h3>
3
  <div class="cta-inner">
4
- <p style="padding-bottom: 10px;">Ajax Load More offers a variety of unique <a href="admin.php?page=ajax-load-more-add-ons">add-ons</a> that will extend and enhance the core functionality of the plugin.</p>
5
- <p>Add-ons can be purchased individually or in a <a href="https://connekthq.com/plugins/ajax-load-more/add-ons/bundle/?utm_source=WP%20Admin&utm_medium=ALM%20Dashboard&utm_campaign=Bundle" target="_blank">bundle</a> which gives you access all of the Ajax Load More add-ons at over 50% off the regular price!</p>
 
 
 
6
  </div>
7
- <a href="admin.php?page=ajax-load-more-add-ons" class="visit"><i class="fa fa-chevron-circle-right"><