WordPress Infinite Scroll – Ajax Load More - Version 2.7.3

Version Description

  • NEW - Adding required support and functionality for new Theme Repeaters add-on - https://connekthq.com/plugins/ajax-load-more/add-ons/theme-repeaters/
  • NEW - Added new shortcode parameter 'images_loaded' which will allow you to wait for all images to load before displaying ajax loaded content.
  • UPDATE - General admin UI enhancements to settings screen.
Download this release

Release Info

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

Code changes from version 2.7.2 to 2.7.3

README.txt CHANGED
@@ -1,19 +1,19 @@
1
  === Ajax Load More ===
2
  Contributors: dcooney
3
  Donate link: http://connekthq.com/donate/
4
- Tags: ajax, query, lazy load, lazy loading, ajax pagination, paging, filter, infinite scroll, infinite, pagination, loop, dynamic, shortcode builder, shortcode, search, tags, category, post types, taxonomy, meta_query, archives, date
5
  Requires at least: 3.6
6
- Tested up to: 4.2.3
7
- Stable tag: 2.7.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
- A simple solution for lazy loading/infinite scrolling posts and pages with Ajax.
12
 
13
  == Description ==
14
 
15
  Ajax Load More is a powerful solution for infinite scrolling WordPress posts and pages using Ajax.
16
- Build complex WordPress queries using the custom shortcode builder and then add the shortcode to your pages via the content editor or directly into your template files.
17
 
18
 
19
  = Features =
@@ -24,7 +24,7 @@ Build complex WordPress queries using the custom shortcode builder and then add
24
  * **Multiple Instances** - You can include multiple instances of Ajax Load More on a single page, post or template.
25
  * **Multisite Compatibility** - As of Ajax Load More 2.7.2 you can now manage repeater templates across all sites in your network.
26
 
27
- Check out the **[demo site](http://connekthq.com/plugins/ajax-load-more/)** for more information!
28
 
29
  ***
30
 
@@ -33,6 +33,7 @@ Check out the **[demo site](http://connekthq.com/plugins/ajax-load-more/)** for
33
  Ajax Load More accepts a number of parameters that are passed to the WordPress query. These parameters are transferred via shortcode - don't worry, creating your shortcode is simple with our intuitive Shortcode Builder.
34
 
35
  * **repeater** - Choose a repeater template (<a href="http://connekthq.com/plugins/ajax-load-more/custom-repeaters/">Add-on available</a>). Default = ‘default’
 
36
  * **post_type** - Comma separated list of post types. Default = ‘post’
37
  * **post_format** - Query by post format. Default = null
38
  * **category** - A comma separated list of categories to include by slug. Default = null
@@ -65,6 +66,7 @@ Ajax Load More accepts a number of parameters that are passed to the WordPress q
65
  * **max_pages** - Maximum number of pages to load while user is scrolling (activated on when scroll = true). Default = '5'
66
  * **pause** - Do not load posts until user clicks the Load More button (true/false). Default = 'false'
67
  * **transition** - Choose a posts reveal transition (slide/fade/none). Default = 'slide'
 
68
  * **destroy_after** - Remove ajax load more functionality after 'n' number of pages have been loaded. Default = null
69
  * **button_label** - The label text for Load More button. Default = 'Older Posts'
70
  * **css_classes** - Add custom CSS classes to the Ajax Load More container. Default = null
@@ -129,6 +131,10 @@ Ajax Load More accepts a number of parameters that are passed to the WordPress q
129
  > #### Search Engine Optimization
130
  > The **[SEO](http://connekthq.com/plugins/ajax-load-more/seo/)** add-on will optimize your ajax loaded content for search engines and site visitors by generating standard WordPress paging URLs with each Ajax Load More query.<br />
131
  > [Get More Information](http://connekthq.com/plugins/ajax-load-more/seo/)
 
 
 
 
132
 
133
  ***
134
 
@@ -265,6 +271,12 @@ How to install Ajax Load More.
265
  == Changelog ==
266
 
267
 
 
 
 
 
 
 
268
  = 2.7.2 =
269
  * NEW - Adding multisite support for Repeater Templates - if using a multisite, please deactivate then re-activate Ajax Load More.
270
  * NEW - Completely rebuilt update script for repeater templates to be more efficient and integrate with multisite installations.
1
  === Ajax Load More ===
2
  Contributors: dcooney
3
  Donate link: http://connekthq.com/donate/
4
+ Tags: infinite scroll, scroll, infinite, lazy load, lazy loading, pagination, ajax pagination, ajax, loop, query, dynamic, shortcode builder, wp_query, search, tags, category, post types, taxonomy, meta_query, archives, date
5
  Requires at least: 3.6
6
+ Tested up to: 4.3
7
+ Stable tag: 2.7.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
+ A powerful solution to add infinite scroll / lazy load functionality to any website.
12
 
13
  == Description ==
14
 
15
  Ajax Load More is a powerful solution for infinite scrolling WordPress posts and pages using Ajax.
16
+ Build complex WordPress queries using the Ajax Load More custom shortcode builder and then add the shortcode to your pages via the content editor or directly into your template files.
17
 
18
 
19
  = Features =
24
  * **Multiple Instances** - You can include multiple instances of Ajax Load More on a single page, post or template.
25
  * **Multisite Compatibility** - As of Ajax Load More 2.7.2 you can now manage repeater templates across all sites in your network.
26
 
27
+ **Check out the [demo site](http://connekthq.com/plugins/ajax-load-more/) for more information!**
28
 
29
  ***
30
 
33
  Ajax Load More accepts a number of parameters that are passed to the WordPress query. These parameters are transferred via shortcode - don't worry, creating your shortcode is simple with our intuitive Shortcode Builder.
34
 
35
  * **repeater** - Choose a repeater template (<a href="http://connekthq.com/plugins/ajax-load-more/custom-repeaters/">Add-on available</a>). Default = ‘default’
36
+ * **theme_repeater** - Select from a list of template files in your current theme directory (<a href="http://connekthq.com/plugins/ajax-load-more/add-ons/theme-repeaters/">Add-on only</a>). Default = null
37
  * **post_type** - Comma separated list of post types. Default = ‘post’
38
  * **post_format** - Query by post format. Default = null
39
  * **category** - A comma separated list of categories to include by slug. Default = null
66
  * **max_pages** - Maximum number of pages to load while user is scrolling (activated on when scroll = true). Default = '5'
67
  * **pause** - Do not load posts until user clicks the Load More button (true/false). Default = 'false'
68
  * **transition** - Choose a posts reveal transition (slide/fade/none). Default = 'slide'
69
+ * **images_loaded** - Wait for all images to load before displaying ajax loaded content (true/false). Default = 'false'
70
  * **destroy_after** - Remove ajax load more functionality after 'n' number of pages have been loaded. Default = null
71
  * **button_label** - The label text for Load More button. Default = 'Older Posts'
72
  * **css_classes** - Add custom CSS classes to the Ajax Load More container. Default = null
131
  > #### Search Engine Optimization
132
  > The **[SEO](http://connekthq.com/plugins/ajax-load-more/seo/)** add-on will optimize your ajax loaded content for search engines and site visitors by generating standard WordPress paging URLs with each Ajax Load More query.<br />
133
  > [Get More Information](http://connekthq.com/plugins/ajax-load-more/seo/)
134
+ >
135
+ > #### Theme Repeaters
136
+ > The **[Theme Repeaters](http://connekthq.com/plugins/ajax-load-more/add-ons/theme-repeaters/)** add-on will allow you load, edit and maintain templates from your current theme directory.<br />
137
+ > [Get More Information](http://connekthq.com/plugins/ajax-load-more/add-ons/theme-repeaters/)
138
 
139
  ***
140
 
271
  == Changelog ==
272
 
273
 
274
+ = 2.7.3 =
275
+ * NEW - Adding required support and functionality for new Theme Repeaters add-on - https://connekthq.com/plugins/ajax-load-more/add-ons/theme-repeaters/
276
+ * NEW - Added new shortcode parameter 'images_loaded' which will allow you to wait for all images to load before displaying ajax loaded content.
277
+ * UPDATE - General admin UI enhancements to settings screen.
278
+
279
+
280
  = 2.7.2 =
281
  * NEW - Adding multisite support for Repeater Templates - if using a multisite, please deactivate then re-activate Ajax Load More.
282
  * NEW - Completely rebuilt update script for repeater templates to be more efficient and integrate with multisite installations.
admin/admin.php CHANGED
@@ -42,7 +42,7 @@ function alm_core_update() {
42
 
43
  if(!get_option( 'alm_version')){ // Add 'alm_version' to WP options table if it does not exist
44
  add_option( 'alm_version', ALM_VERSION );
45
- }
46
 
47
  $alm_installed_ver = get_option( "alm_version" ); // Get value from WP Option tbl
48
  if ( $alm_installed_ver != ALM_VERSION ) {
@@ -745,6 +745,12 @@ function alm_admin_init(){
745
  if(has_action('alm_seo_settings')){
746
  do_action('alm_seo_settings');
747
  }
 
 
 
 
 
 
748
  }
749
 
750
 
42
 
43
  if(!get_option( 'alm_version')){ // Add 'alm_version' to WP options table if it does not exist
44
  add_option( 'alm_version', ALM_VERSION );
45
+ }
46
 
47
  $alm_installed_ver = get_option( "alm_version" ); // Get value from WP Option tbl
48
  if ( $alm_installed_ver != ALM_VERSION ) {
745
  if(has_action('alm_seo_settings')){
746
  do_action('alm_seo_settings');
747
  }
748
+
749
+
750
+ // THEME REPEATERS
751
+ if(has_action('alm_theme_repeaters_settings')){
752
+ do_action('alm_theme_repeaters_settings');
753
+ }
754
  }
755
 
756
 
admin/css/admin.css CHANGED
@@ -264,6 +264,42 @@
264
  border: 1px solid #efefef;
265
  }
266
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
267
 
268
  .meta-query-wrap{}
269
  .ajax-load-more #meta-query-extended .meta-query-wrap .inner{
@@ -595,6 +631,16 @@
595
  padding-left: 21px !important;
596
  color: #999;
597
  }
 
 
 
 
 
 
 
 
 
 
598
  .ajax-load-more .section-title h4{
599
  padding-left: 21px !important;
600
  margin: 0 0 10px;
@@ -904,6 +950,13 @@
904
  .admin.ajax-load-more.settings .form-table p{
905
  margin-top: 0;
906
  }
 
 
 
 
 
 
 
907
 
908
  .header-wrap{
909
  background: url(../img/alm-logo-48x48.png) no-repeat left 12px;
@@ -931,17 +984,15 @@
931
  top: -2px;
932
  }
933
  .ajax-load-more h2.addon-title{
934
- font-size: 22px !important;
935
  font-weight: 600 !important;
936
- color: #555 !important;
937
  padding: 0;
938
- margin: 0 0 16px;
939
- padding: 0 0 14px;
940
- border-bottom: 1px solid #efefef;
941
  }
942
  .ajax-load-more p.addon-intro{
943
- font-size: 18px !important;
944
- line-height: 23px !important;
945
  color: #999 !important;
946
  }
947
 
@@ -1080,7 +1131,8 @@ table.highlight{
1080
  clear: both;
1081
  }
1082
  .ajax-load-more .cnkt-main .group,
1083
- .ajax-load-more .cnkt-sidebar .cta{
 
1084
  border: 1px solid #ccc;
1085
  -webkit-border-radius: 3px;
1086
  -moz-border-radius: 3px;
@@ -1140,24 +1192,46 @@ table.highlight{
1140
  #alm-add-ons {}
1141
  #alm-add-ons .group{
1142
  overflow: hidden;
 
 
 
 
 
 
 
1143
  }
1144
- #alm-add-ons .row .wrap{
1145
- padding-bottom: 60px;
1146
- width: 55%;
1147
- }
1148
- #alm-add-ons .section-title{
1149
- width: 45%;
1150
- }
1151
- #alm-add-ons .group .section-title p{
1152
- padding-left: 0 !important;
1153
  }
1154
- #alm-add-ons .group a.cnkt-button{
1155
  position: absolute;
1156
- bottom: 20px;
1157
- right: 20px;
 
 
1158
  font-size: 14px;
1159
  padding: 8px 14px;
1160
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1161
 
1162
  /* Add-on Callout! */
1163
  .call-out{
@@ -1172,6 +1246,23 @@ table.highlight{
1172
  font-weight: 600;
1173
  position: relative;
1174
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1175
  #alm-builder .call-out,
1176
  .forceColors .call-out{ /* Shortcode builder */
1177
  width: 90%;
@@ -1198,7 +1289,8 @@ table.highlight{
1198
  .call-out a:hover{
1199
  color: #222 !important;
1200
  }
1201
- a.cnkt-button{
 
1202
  padding: 6px 10px;
1203
  display: inline-block;
1204
  background: #73d3b9;
@@ -1212,35 +1304,41 @@ table.highlight{
1212
  font-weight: 600;
1213
  }
1214
  a.cnkt-button:hover,
1215
- a.cnkt-button:hover i{
 
 
1216
  background-color: #935eaf;
1217
  border-color: #935eaf;
1218
  color:#fff !important;
1219
  box-shadow: none;
1220
  }
1221
- a.cnkt-button:active{
 
1222
  background-color: #83519d;
1223
  border-color: #935eaf;
1224
  color:#fff !important;
1225
  box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.1);
1226
  outline: none;
1227
  }
1228
- a.cnkt-button i{
 
1229
  color: #397666;
1230
  margin-right: 3px;
1231
  position: relative;
1232
  top:1px;
1233
  background: none !important;
1234
  }
1235
- a.cnkt-button.installed{
1236
- background: #efefef !important;
1237
- border-color: #ccc !important;
1238
- color:#666 !important;
1239
- cursor: default;
1240
- box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.1) !important;
 
1241
  }
1242
  a.cnkt-button.installed i,
1243
- a.cnkt-button.installed:hover i{
 
1244
  background: none !important;
1245
  color: #5da592 !important;
1246
  top: 0;
@@ -1791,6 +1889,26 @@ table.highlight{
1791
  padding: 0;
1792
  margin: 10px 0;
1793
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1794
  .alm-dir-listing.deleting{
1795
  opacity: 0.5;
1796
  background: #fff url(../img/loader-unlimited.gif) no-repeat center center;
@@ -1854,10 +1972,23 @@ table.highlight{
1854
  font-size: 13px;
1855
  background: transparent url(../img/directory-list.gif) no-repeat left center;
1856
  }
 
 
 
 
 
 
 
 
 
 
1857
  .alm-dir-listing ul li:last-child,
1858
  .alm-dir-listing ul li:nth-last-child(2){
1859
  background-image: url(../img/directory-list-btm.gif);
1860
  }
 
 
 
1861
  .alm-dir-listing ul li a{
1862
  text-decoration: none;
1863
  }
@@ -2025,11 +2156,13 @@ p.cache-stats{
2025
  .shortcode-builder input[type=checkbox]:checked + label,
2026
  .ajax-load-more .form-table input[type=checkbox]:checked + label{ /* selected */
2027
  background-image: url(../img/bkg-chkbox_selected.png);
 
2028
  }
2029
 
2030
  .shortcode-builder input[type=radio]:checked + label,
2031
  .ajax-load-more .form-table input[type=radio]:checked + label{ /* selected */
2032
  background-image: url(../img/bkg-radio_selected.png);
 
2033
  }
2034
 
2035
  .shortcode-builder input[type=checkbox] + label:hover,
@@ -2311,14 +2444,72 @@ p.cache-stats{
2311
  top:-9999px;
2312
  }
2313
  #alm-mailing-list .form-wrap #response{
2314
- padding-top: 10px;
2315
  font-size: 13px;
2316
  display: none;
2317
  text-align: center;
 
 
 
 
 
 
 
2318
  }
2319
  #alm-mailing-list .form-wrap #response p{
2320
  font-style: normal !important;
2321
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2322
  /*
2323
  * Admin screen media queries
2324
  *
@@ -2353,6 +2544,12 @@ p.cache-stats{
2353
  margin: 10px 0 20px;
2354
  width: 100%;
2355
  }
 
 
 
 
 
 
2356
  }
2357
 
2358
  @media screen and (max-width: 480px){
@@ -2399,6 +2596,19 @@ p.cache-stats{
2399
  .ajax-load-more .row .wrap.full{
2400
  padding: 10px;
2401
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
2402
 
2403
  }
2404
 
264
  border: 1px solid #efefef;
265
  }
266
 
267
+ .ajax-load-more .alm-settings-nav{
268
+ margin: 0 0 5px;
269
+ padding: 0;
270
+ overflow: hidden;
271
+ position: relative;
272
+ width: calc(100% + 40px);
273
+ top: -20px;
274
+ left: -20px;
275
+ border-bottom: 1px solid #efefef;
276
+ background: #f7f7f7;
277
+ border-radius: 3px 3px 0 0;
278
+ }
279
+ .alm-settings-nav li{
280
+ float: left;
281
+ margin: 0;
282
+ padding: 0;
283
+ font-weight: 600;
284
+ background: none;
285
+ font-size: 13px;
286
+ }
287
+
288
+ .alm-settings-nav a{
289
+ text-decoration: none;
290
+ padding: 8px 16px 8px 16px;
291
+ border-left: 1px solid #ebebeb;
292
+ display: block;
293
+ }
294
+ .alm-settings-nav a:hover{
295
+ color: #fff;
296
+ background-color: #ff5a58;
297
+ }
298
+ .alm-settings-nav li:first-of-type a{
299
+ border: none;
300
+ border-radius: 3px 0 0 0;
301
+ }
302
+
303
 
304
  .meta-query-wrap{}
305
  .ajax-load-more #meta-query-extended .meta-query-wrap .inner{
631
  padding-left: 21px !important;
632
  color: #999;
633
  }
634
+
635
+ .ajax-load-more .section-title p span,
636
+ .admin.ajax-load-more.settings .form-table p.notify span{
637
+ display: inline-block;
638
+ padding: 0 4px;
639
+ border-radius: 2px;
640
+ background: #f7f7f7;
641
+ border: 1px solid #efefef;
642
+ color: #666;
643
+ }
644
  .ajax-load-more .section-title h4{
645
  padding-left: 21px !important;
646
  margin: 0 0 10px;
950
  .admin.ajax-load-more.settings .form-table p{
951
  margin-top: 0;
952
  }
953
+ .admin.ajax-load-more.settings .form-table p.notify{
954
+ font-size: 12px;
955
+ padding: 5px 0;
956
+ margin: 5px 0 20px;
957
+ overflow: hidden;
958
+ color: #999;
959
+ }
960
 
961
  .header-wrap{
962
  background: url(../img/alm-logo-48x48.png) no-repeat left 12px;
984
  top: -2px;
985
  }
986
  .ajax-load-more h2.addon-title{
987
+ font-size: 19px !important;
988
  font-weight: 600 !important;
989
+ color: #444 !important;
990
  padding: 0;
991
+ margin: 0 0 10px;
 
 
992
  }
993
  .ajax-load-more p.addon-intro{
994
+ font-size: 16px !important;
995
+ line-height: 22px !important;
996
  color: #999 !important;
997
  }
998
 
1131
  clear: both;
1132
  }
1133
  .ajax-load-more .cnkt-main .group,
1134
+ .ajax-load-more .cnkt-sidebar .cta,
1135
+ .call-out.light{
1136
  border: 1px solid #ccc;
1137
  -webkit-border-radius: 3px;
1138
  -moz-border-radius: 3px;
1192
  #alm-add-ons {}
1193
  #alm-add-ons .group{
1194
  overflow: hidden;
1195
+ width: 31.333%;
1196
+ display: inline-block;
1197
+ vertical-align: top;
1198
+ text-align: center;
1199
+ margin: 0 1.5% 2% 0;
1200
+ word-spacing : -4px;
1201
+ padding: 0;
1202
  }
1203
+ #alm-add-ons .group .expand-wrap{
1204
+ display: block;
1205
+ padding-bottom: 40px;
1206
+ position: relative;
1207
+ word-spacing : 0;
 
 
 
 
1208
  }
1209
+ #alm-add-ons .group span.cnkt-button{
1210
  position: absolute;
1211
+ left: 0;
1212
+ bottom: 0;
1213
+ width: 100%;
1214
+ display: block;
1215
  font-size: 14px;
1216
  padding: 8px 14px;
1217
  }
1218
+ #alm-add-ons .group img{
1219
+ padding: 12px 18px 12px;
1220
+ }
1221
+ #alm-add-ons .group a{
1222
+ text-decoration: none;
1223
+ display: block;
1224
+ padding: 15px;
1225
+ }
1226
+ #alm-add-ons .group:hover{
1227
+ border-color: #999;
1228
+ -webkit-box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
1229
+ -moz-box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
1230
+ box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
1231
+ }
1232
+ #alm-add-ons .group a:hover h2{
1233
+ color: #ff5a58 !important;
1234
+ }
1235
 
1236
  /* Add-on Callout! */
1237
  .call-out{
1246
  font-weight: 600;
1247
  position: relative;
1248
  }
1249
+ .call-out.light{
1250
+ background: #fdfdec;
1251
+ width: 97.666%;
1252
+ }
1253
+ .call-out.light p{
1254
+ margin: 0;
1255
+ padding: 0 30px;
1256
+ text-align: center;
1257
+ font-weight: 400;
1258
+ }
1259
+ .call-out.light p a{
1260
+ color: #ff5a58 !important;
1261
+ }
1262
+ .call-out.light p a:hover{
1263
+ text-decoration: underline;
1264
+ }
1265
+
1266
  #alm-builder .call-out,
1267
  .forceColors .call-out{ /* Shortcode builder */
1268
  width: 90%;
1289
  .call-out a:hover{
1290
  color: #222 !important;
1291
  }
1292
+ a.cnkt-button,
1293
+ span.cnkt-button{
1294
  padding: 6px 10px;
1295
  display: inline-block;
1296
  background: #73d3b9;
1304
  font-weight: 600;
1305
  }
1306
  a.cnkt-button:hover,
1307
+ a.cnkt-button:hover i,
1308
+ .group:hover span.cnkt-button,
1309
+ .group:hover span.cnkt-button i{
1310
  background-color: #935eaf;
1311
  border-color: #935eaf;
1312
  color:#fff !important;
1313
  box-shadow: none;
1314
  }
1315
+ a.cnkt-button:active,
1316
+ .group:active span.cnkt-button{
1317
  background-color: #83519d;
1318
  border-color: #935eaf;
1319
  color:#fff !important;
1320
  box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.1);
1321
  outline: none;
1322
  }
1323
+ a.cnkt-button i,
1324
+ span.cnkt-button i{
1325
  color: #397666;
1326
  margin-right: 3px;
1327
  position: relative;
1328
  top:1px;
1329
  background: none !important;
1330
  }
1331
+ a.cnkt-button.installed,
1332
+ span.cnkt-button.installed,
1333
+ .group span.cnkt-button.installed{
1334
+ background: #f7f7f7 !important;
1335
+ border-color: #efefef !important;
1336
+ color:#888 !important;
1337
+ box-shadow: none !important;
1338
  }
1339
  a.cnkt-button.installed i,
1340
+ span.cnkt-button.installed i,
1341
+ .group:hover span.cnkt-button.installed i{
1342
  background: none !important;
1343
  color: #5da592 !important;
1344
  top: 0;
1889
  padding: 0;
1890
  margin: 10px 0;
1891
  }
1892
+ .alm-dir-listing.theme-repeaters{
1893
+ padding: 15px;
1894
+ margin: 0;
1895
+ }
1896
+ .alm-dir-listing.theme-repeaters ul{
1897
+ border: none;
1898
+ padding: 0;
1899
+ margin: 0;
1900
+ }
1901
+
1902
+ .alm-dir-listing.theme-repeaters p.theme-title{
1903
+ font-weight: 600;
1904
+ margin: 0 0 15px;
1905
+ padding: 0 5px;
1906
+ }
1907
+ .alm-dir-listing.theme-repeaters i{
1908
+ color: #ccc;
1909
+ font-size: 1.1em;
1910
+ }
1911
+
1912
  .alm-dir-listing.deleting{
1913
  opacity: 0.5;
1914
  background: #fff url(../img/loader-unlimited.gif) no-repeat center center;
1972
  font-size: 13px;
1973
  background: transparent url(../img/directory-list.gif) no-repeat left center;
1974
  }
1975
+ .alm-dir-listing.theme-repeaters ul li{
1976
+ display: block;
1977
+ width: 100%;
1978
+ padding-top: 12px;
1979
+ }
1980
+ .alm-dir-listing.theme-repeaters ul li label{
1981
+ display: block;
1982
+ width: 100%;
1983
+ }
1984
+
1985
  .alm-dir-listing ul li:last-child,
1986
  .alm-dir-listing ul li:nth-last-child(2){
1987
  background-image: url(../img/directory-list-btm.gif);
1988
  }
1989
+ .alm-dir-listing.theme-repeaters ul li:nth-last-child(2){
1990
+ background: transparent url(../img/directory-list.gif) no-repeat left center;
1991
+ }
1992
  .alm-dir-listing ul li a{
1993
  text-decoration: none;
1994
  }
2156
  .shortcode-builder input[type=checkbox]:checked + label,
2157
  .ajax-load-more .form-table input[type=checkbox]:checked + label{ /* selected */
2158
  background-image: url(../img/bkg-chkbox_selected.png);
2159
+ color: #000;
2160
  }
2161
 
2162
  .shortcode-builder input[type=radio]:checked + label,
2163
  .ajax-load-more .form-table input[type=radio]:checked + label{ /* selected */
2164
  background-image: url(../img/bkg-radio_selected.png);
2165
+ color: #000;
2166
  }
2167
 
2168
  .shortcode-builder input[type=checkbox] + label:hover,
2444
  top:-9999px;
2445
  }
2446
  #alm-mailing-list .form-wrap #response{
2447
+ padding-top: 6px;
2448
  font-size: 13px;
2449
  display: none;
2450
  text-align: center;
2451
+ position: absolute;
2452
+ left: 0;
2453
+ top:0;
2454
+ width: 100%;
2455
+ height: 100%;
2456
+ background: #f7f7f7;
2457
+ z-index: 1;
2458
  }
2459
  #alm-mailing-list .form-wrap #response p{
2460
  font-style: normal !important;
2461
  }
2462
+
2463
+
2464
+
2465
+ /*
2466
+ * Local templates Add-on
2467
+ *
2468
+ * @since 2.7.3
2469
+ */
2470
+
2471
+ .select-theme-repeater{
2472
+ display: block;
2473
+ position: relative;
2474
+ }
2475
+ .select-theme-repeater .or{
2476
+ position: absolute;
2477
+ left: 70px;
2478
+ top: -20px;
2479
+ background: #fefeed;
2480
+ color: #333;
2481
+ width: 40px;
2482
+ height: 40px;
2483
+ line-height: 40px;
2484
+ text-align: center;
2485
+ z-index: 1;
2486
+ font-weight: 700;
2487
+ -webkit-border-radius: 100%;
2488
+ -moz-border-radius: 100%;
2489
+ border-radius: 100%;
2490
+ text-transform: uppercase;
2491
+ border: 1px solid #e7e7e7;
2492
+ font-size: 13px;
2493
+ }
2494
+
2495
+ .alm-template-section-nav{
2496
+ display: block;
2497
+ margin: 0 0;
2498
+ padding: 0;
2499
+ }
2500
+ .alm-template-section-nav li{
2501
+ display: inline-block;
2502
+ vertical-align: top;
2503
+ }
2504
+ .alm-template-section-nav li a{
2505
+ padding: 5px;
2506
+ display: block;
2507
+ }
2508
+ .alm-template-section-nav li.active a{
2509
+ background: #ff0000;
2510
+ }
2511
+
2512
+
2513
  /*
2514
  * Admin screen media queries
2515
  *
2544
  margin: 10px 0 20px;
2545
  width: 100%;
2546
  }
2547
+ #alm-add-ons .group{
2548
+ width: 48%;
2549
+ }
2550
+ .call-out.light {
2551
+ padding: 15px !important;
2552
+ }
2553
  }
2554
 
2555
  @media screen and (max-width: 480px){
2596
  .ajax-load-more .row .wrap.full{
2597
  padding: 10px;
2598
  }
2599
+
2600
+ #alm-add-ons .group{
2601
+ width: 100%;
2602
+ display: block;
2603
+ margin: 0 0 2% 0;
2604
+ }
2605
+ .call-out.light {
2606
+ background: #fdfdec none repeat scroll 0 0;
2607
+ width: 100%;
2608
+ }
2609
+ .call-out.light p{
2610
+ padding: 0;
2611
+ }
2612
 
2613
  }
2614
 
admin/img/add-ons/theme-repeater-add-on.jpg ADDED
Binary file
admin/includes/cta/about.php CHANGED
@@ -1,31 +1,14 @@
1
  <div class="cta padding-bottom">
2
  <h3>About the plugin</h3>
3
- <?php
4
- // Parse JSON feed on dashboard
5
- function get_about_data($url) {
6
- $ch = curl_init();
7
- $timeout = 5;
8
- curl_setopt($ch, CURLOPT_URL, $url);
9
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
10
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
11
- $data = curl_exec($ch);
12
- curl_close($ch);
13
- return $data;
14
- }
15
- $about_url = 'http://download.connekthq.com/ajax-load-more/about.json';
16
- $about_json = json_decode(get_about_data($about_url));
17
- echo $about_json->data->description;
18
- print "<ul>";
19
- foreach($about_json->data->links as $item) {
20
- print '<li><strong><a target="blank" href="'. $item->url .'">'. $item->title .'</a></strong><br>'. $item->description .'</li>';
21
- }
22
- print "</ul>";
23
-
24
- if($about_json->data->extras){
25
- print $about_json->data->extras;
26
- print "<br/>";
27
- }
28
- ?>
29
  <a href="http://twitter.com/kaptonkaos" target="blank" class="visit"><i class="fa fa-twitter"></i> Follow on Twitter</a>
30
  </div>
31
 
1
  <div class="cta padding-bottom">
2
  <h3>About the plugin</h3>
3
+ <p>Ajax Load More is a simple solution for lazy loading/infinite scrolling posts and pages with Ajax.</p>
4
+ <p class='small'>Developed by <a target='_blank' href='http://connekthq.com/'>Darren Cooney</a></p><br/>
5
+ <h4 style='margin-bottom: 10px;'>Other Projects</h4>
6
+ <ul>
7
+ <li><strong><a target="blank" href="https://wordpress.org/plugins/easy-query/">Easy Query</a></strong><br>The fastest and simplest way to build WordPress queries without ever touching a single line of code.</li>
8
+ <li><strong><a target="blank" href="https://wordpress.org/plugins/unsplash-stock-photo-library/">Unsplash WP</a></strong><br>The fastest way to upload high quality stock photos from unsplash.com directly to your media library</li>
9
+ <li><strong><a target="blank" href="https://github.com/dcooney/flexpanel">FlexPanel</a></strong><br>A responsive scrolling panel navigation for mobile and desktop</li>
10
+ <li><strong><a target="blank" href="http://connekthq.com">Connekt Media</a></strong><br>A digital creation company</li>
11
+ </ul>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  <a href="http://twitter.com/kaptonkaos" target="blank" class="visit"><i class="fa fa-twitter"></i> Follow on Twitter</a>
13
  </div>
14
 
admin/includes/cta/add-ons.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="cta padding-bottom">
2
+ <h3>Add-ons</h3>
3
+ <ul>
4
+ <li><a target="blank" href="https://connekthq.com/plugins/ajax-load-more/add-ons/cache/?utm_source=WP%20Admin&utm_medium=ALM%20Settings&utm_campaign=Cache">Cache</a></li>
5
+ <li><a target="blank" href="https://connekthq.com/plugins/ajax-load-more/add-ons/custom-repeaters/?utm_source=WP%20Admin&utm_medium=ALM%20Settings&utm_campaign=Custom%20Repeaters">Custom Repeaters</a></li><li><a target="blank" href="https://connekthq.com/plugins/ajax-load-more/add-ons/paging/?utm_source=WP%20Admin&utm_medium=ALM%20Settings&utm_campaign=Paging">Paging</a></li>
6
+ <li><a target="blank" href="https://connekthq.com/plugins/ajax-load-more/add-ons/preloaded/?utm_source=WP%20Admin&utm_medium=ALM%20Settings&utm_campaign=Preloaded">Preloaded</a></li>
7
+ <li><a target="blank" href="https://connekthq.com/plugins/ajax-load-more/add-ons/search-engine-optimization/?utm_source=WP%20Admin&utm_medium=ALM%20Settings&utm_campaign=SEO">Search Engine Optimization</a></li>
8
+ <li><a target="blank" href="https://connekthq.com/plugins/ajax-load-more/add-ons/theme-repeaters/?utm_source=WP%20Admin&utm_medium=ALM%20Settings&utm_campaign=Theme Repeaters">Theme Repeaters</a></li>
9
+ </ul>
10
+ <a href="admin.php?page=ajax-load-more-add-ons" class="visit"><i class="fa fa-chevron-circle-right"></i> View All Add-Ons</a>
11
+ </div>
admin/includes/cta/mailinglist.php CHANGED
@@ -1,7 +1,7 @@
1
  <div class="cta mailing-list" id="alm-mailing-list">
2
  <div class="head-wrap">
3
- <h3><?php _e('Subscribe to Newsletter', ALM_NAME); ?></h3>
4
- <p><?php _e('Get product updates and release notifications delivered (infrequently) to your inbox.', ALM_NAME); ?></p>
5
  </div>
6
  <form action="" method="post" id="alm-mc-embedded" name="mc-embedded-subscribe-form" class="validate" data-path="<?php echo ALM_ADMIN_URL; ?>includes/mailchimp/mailchimp-info.php" novalidate>
7
  <div class="form-wrap">
1
  <div class="cta mailing-list" id="alm-mailing-list">
2
  <div class="head-wrap">
3
+ <h3><?php _e('Product Updates', ALM_NAME); ?></h3>
4
+ <p><?php _e('Recieve product updates and release notifications delivered (infrequently) directly to your inbox.', ALM_NAME); ?></p>
5
  </div>
6
  <form action="" method="post" id="alm-mc-embedded" name="mc-embedded-subscribe-form" class="validate" data-path="<?php echo ALM_ADMIN_URL; ?>includes/mailchimp/mailchimp-info.php" novalidate>
7
  <div class="form-wrap">
admin/includes/cta/resources.php CHANGED
@@ -1,26 +1,10 @@
1
  <div class="cta padding-bottom">
2
- <h3><?php _e('Help/Resources', ALM_NAME); ?></h3>
3
- <?php
4
-
5
- // Parse help/resources JSON feed on dashboard
6
- function get_resource_data($url) {
7
- $ch = curl_init();
8
- $timeout = 5;
9
- curl_setopt($ch, CURLOPT_URL, $url);
10
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
11
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
12
- $data = curl_exec($ch);
13
- curl_close($ch);
14
- return $data;
15
- }
16
- $resource_url = 'http://download.connekthq.com/ajax-load-more/resources.json';
17
- $resource_json = json_decode(get_resource_data($resource_url));
18
-
19
- print "<ul>";
20
- foreach($resource_json->data->resource as $resource) {
21
- print '<li><a target="blank" href="'. $resource->url .'">'. $resource->title .'</a></li>';
22
- }
23
- print "</ul>";
24
- ?>
25
- <?php _e('<a href="https://github.com/dcooney/wordpress-ajax-load-more" target="blank" class="visit"><i class="fa fa-github"></i> Latest build on Github</a>', ALM_NAME); ?>
26
- </div>
1
  <div class="cta padding-bottom">
2
+ <h3>Resources</h3>
3
+ <ul>
4
+ <li><a target="blank" href="https://connekthq.com/plugins/ajax-load-more/">Ajax Load More Demo Site</a></li>
5
+ <li><a target="blank" href="http://wordpress.org/plugins/ajax-load-more">Documentation</a></li>
6
+ <li><a target="blank" href="http://wordpress.org/support/plugin/ajax-load-more">Plugin Support/Issues</a></li>
7
+ <li><a target="blank" href="https://wordpress.org/support/view/plugin-reviews/ajax-load-more">Reviews</a></li>
8
+ </ul>
9
+ <a href="https://github.com/dcooney/wordpress-ajax-load-more" target="blank" class="visit"><i class="fa fa-github"></i> Latest build on Github</a>
10
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/js/admin.js CHANGED
@@ -3,6 +3,30 @@ var _alm = _alm || {};
3
  jQuery(document).ready(function($) {
4
  "use strict";
5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  /*
7
  * Mailchimp Signup
8
  * From the setting screen
@@ -47,6 +71,7 @@ jQuery(document).ready(function($) {
47
  }
48
 
49
 
 
50
  /*
51
  * _alm.copyToClipboard
52
  * Copy shortcode to clipboard
@@ -107,6 +132,79 @@ jQuery(document).ready(function($) {
107
  $('.expand-wrap').slideUp(100, 'alm_easeInOutQuad');
108
  }
109
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
 
111
 
112
  });
3
  jQuery(document).ready(function($) {
4
  "use strict";
5
 
6
+
7
+
8
+ $('.alm-template-listing li a').click(function(e){
9
+ e.preventDefault();
10
+ var el = $(this),
11
+ val = el.data('path');
12
+ el.parent().parent().next('.template-selection').val(val);
13
+ });
14
+
15
+ $('.alm-template-section-nav li a').click(function(e){
16
+ e.preventDefault();
17
+ var el = $(this),
18
+ index = el.parent().index(),
19
+ parent = el.parent().parent().parent('.repeater-wrap');
20
+
21
+ if(!el.hasClass('active')){
22
+ el.parent().addClass('active').siblings().removeClass('active');
23
+ $('.alm-template-toggle', parent).hide()
24
+ $('.alm-template-toggle', parent).eq(index).show();
25
+ }
26
+ });
27
+
28
+
29
+
30
  /*
31
  * Mailchimp Signup
32
  * From the setting screen
71
  }
72
 
73
 
74
+
75
  /*
76
  * _alm.copyToClipboard
77
  * Copy shortcode to clipboard
132
  $('.expand-wrap').slideUp(100, 'alm_easeInOutQuad');
133
  }
134
  });
135
+
136
+
137
+
138
+ /*
139
+ * Scroll to setting section
140
+ *
141
+ * @since 2.7.3
142
+ */
143
+
144
+ $(document).on('click', '.alm-settings-nav li a', function(e){
145
+ e.preventDefault();
146
+ var el = $(this).parent(),
147
+ index = el.index();
148
+
149
+
150
+ $('html, body').animate({
151
+ scrollTop: $("#alm_OptionsForm h3").eq(index).offset().top - 40
152
+ }, 500);
153
+
154
+
155
+ });
156
+
157
+
158
+
159
+ /*
160
+ * equalheight()
161
+ *
162
+ * @since 2.7.3
163
+ */
164
+
165
+ function equalheight(container){
166
+
167
+ var currentTallest = 0,
168
+ currentRowStart = 0,
169
+ rowDivs = new Array(),
170
+ $el,
171
+ topPosition = 0;
172
+ $(container).each(function() {
173
+
174
+ $el = $(this);
175
+ $($el).height('auto')
176
+ topPosition = $el.position().top;
177
+
178
+ if (currentRowStart != topPosition) {
179
+ for (var currentDiv = 0 ; currentDiv < rowDivs.length ; currentDiv++) {
180
+ rowDivs[currentDiv].height(currentTallest);
181
+ }
182
+ rowDivs.length = 0; // empty the array
183
+ currentRowStart = topPosition;
184
+ currentTallest = $el.height();
185
+ rowDivs.push($el);
186
+ } else {
187
+ rowDivs.push($el);
188
+ currentTallest = (currentTallest < $el.height()) ? ($el.height()) : (currentTallest);
189
+ }
190
+ for (currentDiv = 0 ; currentDiv < rowDivs.length ; currentDiv++) {
191
+ rowDivs[currentDiv].height(currentTallest);
192
+ }
193
+ });
194
+ }
195
+ if($('#alm-add-ons').length){
196
+ var addOnColumns = $('#alm-add-ons .group .expand-wrap');
197
+ $(window).load(function() {
198
+ equalheight(addOnColumns);
199
+ });
200
+ $(window).resize(function() {
201
+ setTimeout(function(){
202
+ equalheight(addOnColumns);
203
+ }, 500);
204
+
205
+ });
206
+ }
207
+
208
 
209
 
210
  });
admin/shortcode-builder/js/shortcode-builder.js CHANGED
@@ -181,11 +181,19 @@ jQuery(document).ready(function($) {
181
  // - Repeater
182
  // ---------------------------
183
 
184
- var repeater = $('.repeater select').val();
185
- if(repeater != '' && repeater != undefined && repeater != 'default')
186
- output += ' repeater="'+repeater+'"';
 
 
 
 
 
 
 
187
 
188
 
 
189
  // ---------------------------
190
  // - Post Types
191
  // ---------------------------
@@ -463,7 +471,7 @@ jQuery(document).ready(function($) {
463
 
464
  var pause_load = $('.pause_load input[name=pause]:checked').val();
465
  if(pause_load === 't')
466
- output += ' pause="true"';
467
 
468
 
469
 
@@ -494,6 +502,15 @@ jQuery(document).ready(function($) {
494
  var transition = $('.transition input[name=transition]:checked').val();
495
  if(transition !== 'slide')
496
  output += ' transition="'+transition+'"';
 
 
 
 
 
 
 
 
 
497
 
498
 
499
  // ---------------------------
@@ -547,13 +564,24 @@ jQuery(document).ready(function($) {
547
  $('.seo input[type=radio]#seo-false').prop('checked', true).addClass('changed');
548
 
549
 
550
- $(document).on('change keyup', '.alm_element', function() {
551
- $(this).addClass('changed');
 
 
 
 
 
 
 
 
 
 
 
552
 
553
  // If post type is not selected, select 'post'.
554
  if(!$('.post_types input[type=checkbox]:checked').length > 0){
555
  $('.post_types input[type=checkbox]#chk-post').prop('checked', true);
556
- }
557
 
558
  // If Tax Term Operator is not selected, select 'IN'.
559
  if(!$('#tax-operator-select input[type=radio]:checked').length > 0){
181
  // - Repeater
182
  // ---------------------------
183
 
184
+ var repeater = $('select#repeater-select').val(),
185
+ theme_repeater = $('select#theme-repeater-select').val();
186
+
187
+ if(theme_repeater != 'null' && theme_repeater != '' && theme_repeater != undefined){
188
+ output += ' theme_repeater="'+theme_repeater+'"';
189
+ }else{
190
+ if(repeater != '' && repeater != undefined && repeater != 'default'){
191
+ output += ' repeater="'+repeater+'"';
192
+ }
193
+ }
194
 
195
 
196
+
197
  // ---------------------------
198
  // - Post Types
199
  // ---------------------------
471
 
472
  var pause_load = $('.pause_load input[name=pause]:checked').val();
473
  if(pause_load === 't')
474
+ output += ' pause="true"';
475
 
476
 
477
 
502
  var transition = $('.transition input[name=transition]:checked').val();
503
  if(transition !== 'slide')
504
  output += ' transition="'+transition+'"';
505
+
506
+
507
+ // ---------------------------
508
+ // - Images loaded
509
+ // ---------------------------
510
+
511
+ var images_loaded = $('.images_loaded input[name=images_loaded]:checked').val();
512
+ if(images_loaded === 't')
513
+ output += ' images_loaded="true"';
514
 
515
 
516
  // ---------------------------
564
  $('.seo input[type=radio]#seo-false').prop('checked', true).addClass('changed');
565
 
566
 
567
+ $(document).on('change keyup', '.alm_element', function() {
568
+ var el = $(this);
569
+ el.addClass('changed');
570
+
571
+ // reset repeater templates
572
+ if(el.attr('id') === 'repeater-select'){
573
+ $('select#theme-repeater-select').select2('val','');
574
+ }
575
+ if(el.attr('id') === 'theme-repeater-select'){
576
+ if($('#theme-repeater-select').val() !== 'null' && $('#theme-repeater-select').val() !== ''){
577
+ $('select#repeater-select').select2('val','default');
578
+ }
579
+ }
580
 
581
  // If post type is not selected, select 'post'.
582
  if(!$('.post_types input[type=checkbox]:checked').length > 0){
583
  $('.post_types input[type=checkbox]#chk-post').prop('checked', true);
584
+ }
585
 
586
  // If Tax Term Operator is not selected, select 'IN'.
587
  if(!$('#tax-operator-select input[type=radio]:checked').length > 0){
admin/shortcode-builder/shortcode-builder.php CHANGED
@@ -203,6 +203,9 @@
203
  echo '<h3 class="heading">'.__('Template', ALM_NAME). '</h3>';
204
  echo '<div class="expand-wrap">';
205
  echo '<div class="section-title">';
 
 
 
206
  echo '<p>'.__('Select which <a href="admin.php?page=ajax-load-more-repeaters" target="_parent">repeater template</a> you would like to use.', ALM_NAME). '</p>';
207
  echo '</div>';
208
  echo '<div class="wrap"><div class="inner">';
@@ -218,6 +221,12 @@
218
 
219
  echo '</div></div>';
220
 
 
 
 
 
 
 
221
  // Custom Repeaters v2 - /cta/extend.php
222
  if (!has_action('alm_get_unlimited_repeaters') && !has_action('alm_get_custom_repeaters')) {
223
  include( ALM_PATH . 'admin/includes/cta/extend.php');
@@ -563,7 +572,6 @@
563
  </div>
564
  </div>
565
  </div>
566
- <p class="warning-callout"><em>custom_args</em> syntax has changed and can now accept an array of values.</p>
567
  </div>
568
 
569
  <!-- Post Parameters -->
@@ -662,7 +670,7 @@
662
  </div>
663
  </div>
664
 
665
- <!-- Display posts -->
666
  <div class="row input posts_per_page" id="alm-post-page">
667
  <h3 class="heading"><?php _e('Posts Per Page', ALM_NAME); ?></h3>
668
  <div class="expand-wrap">
@@ -677,7 +685,7 @@
677
  </div>
678
  </div>
679
 
680
- <!-- Pause Post Loading -->
681
  <div class="row checkbox pause_load" id="alm-pause">
682
  <h3 class="heading"><?php _e('Pause', ALM_NAME); ?></h3>
683
  <div class="expand-wrap">
@@ -699,7 +707,7 @@
699
  </div>
700
  </div>
701
  </div>
702
- </div>
703
 
704
  <!-- Allow Scrolling Load -->
705
  <div class="row checkbox scroll_load" id="alm-scroll">
@@ -780,6 +788,30 @@
780
  </div>
781
  </div>
782
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
783
 
784
  <!-- Destroy After -->
785
  <div class="row input destroy-after" id="alm-destroy-after">
203
  echo '<h3 class="heading">'.__('Template', ALM_NAME). '</h3>';
204
  echo '<div class="expand-wrap">';
205
  echo '<div class="section-title">';
206
+ if (has_action('alm_theme_repeaters_selection')){
207
+ echo '<h4>'.__('Repeater Template', ALM_NAME).'</h4>';
208
+ }
209
  echo '<p>'.__('Select which <a href="admin.php?page=ajax-load-more-repeaters" target="_parent">repeater template</a> you would like to use.', ALM_NAME). '</p>';
210
  echo '</div>';
211
  echo '<div class="wrap"><div class="inner">';
221
 
222
  echo '</div></div>';
223
 
224
+
225
+ if (has_action('alm_theme_repeaters_selection')){
226
+ do_action('alm_theme_repeaters_selection');
227
+ }
228
+
229
+
230
  // Custom Repeaters v2 - /cta/extend.php
231
  if (!has_action('alm_get_unlimited_repeaters') && !has_action('alm_get_custom_repeaters')) {
232
  include( ALM_PATH . 'admin/includes/cta/extend.php');
572
  </div>
573
  </div>
574
  </div>
 
575
  </div>
576
 
577
  <!-- Post Parameters -->
670
  </div>
671
  </div>
672
 
673
+ <!-- Posts Per Page -->
674
  <div class="row input posts_per_page" id="alm-post-page">
675
  <h3 class="heading"><?php _e('Posts Per Page', ALM_NAME); ?></h3>
676
  <div class="expand-wrap">
685
  </div>
686
  </div>
687
 
688
+ <!-- Pause -->
689
  <div class="row checkbox pause_load" id="alm-pause">
690
  <h3 class="heading"><?php _e('Pause', ALM_NAME); ?></h3>
691
  <div class="expand-wrap">
707
  </div>
708
  </div>
709
  </div>
710
+ </div>
711
 
712
  <!-- Allow Scrolling Load -->
713
  <div class="row checkbox scroll_load" id="alm-scroll">
788
  </div>
789
  </div>
790
  </div>
791
+
792
+ <!-- Images Loaded -->
793
+ <div class="row checkbox images_loaded" id="alm-images-loaded">
794
+ <h3 class="heading"><?php _e('Images Loaded', ALM_NAME); ?></h3>
795
+ <div class="expand-wrap">
796
+ <div class="section-title">
797
+ <p><?php _e('Wait for all images to load before displaying ajax loaded content.', ALM_NAME); ?></p>
798
+ </div>
799
+ <div class="wrap">
800
+ <div class="inner">
801
+ <ul>
802
+ <li>
803
+ <input class="alm_element" type="radio" name="images_loaded" value="t" id="images_loaded_t">
804
+ <label for="images_loaded_t"><?php _e('True', ALM_NAME); ?></label>
805
+ </li>
806
+ <li>
807
+ <input class="alm_element" type="radio" name="images_loaded" value="f" id="images_loaded_f" checked>
808
+ <label for="images_loaded_f"><?php _e('False', ALM_NAME); ?></label>
809
+ </li>
810
+ </ul>
811
+ </div>
812
+ </div>
813
+ </div>
814
+ </div>
815
 
816
  <!-- Destroy After -->
817
  <div class="row input destroy-after" id="alm-destroy-after">
admin/views/add-ons.php CHANGED
@@ -2,32 +2,33 @@
2
  <div class="wrap">
3
  <div class="header-wrap">
4
  <h2><?php echo ALM_TITLE; ?>: <strong><?php _e('Add-ons', ALM_NAME); ?></strong></h2>
5
- <p><?php _e('Add-ons are available to extend and enhance the core functionality of Ajax Load More.', ALM_NAME); ?></p>
6
  </div>
7
- <div class="cnkt-main">
8
 
9
  <!-- Cache -->
10
  <div class="group">
11
  <div class="row no-brd">
12
- <div class="expand-wrap">
13
- <div class="section-title">
 
 
 
14
  <img src="<?php echo ALM_ADMIN_URL; ?>img/add-ons/cache-add-ons.jpg">
15
- </div>
16
- <div class="wrap">
17
  <h2 class="addon-title"><?php _e('Cache', ALM_NAME); ?></h2>
18
- <p class="addon-intro"><?php _e('Improve your website performance with the Ajax Load More caching engine.', ALM_NAME); ?></p>
19
- <p><?php _e('The Cache add-on creates static HTML files of Ajax Load More requests then delivers those static files to your visitors.', ALM_NAME); ?></p>
20
- </div>
21
- </div>
22
- </div>
23
- <?php
24
- $cache_url = 'https://connekthq.com/plugins/ajax-load-more/add-ons/cache/?utm_source=WP%20Admin&utm_medium=ALM%20Add-ons&utm_campaign=Cache';
25
- if (has_action('alm_cache_installed')){
26
- echo '<a class="cnkt-button installed" href="'. $cache_url .'" target="_blank"><i class="fa fa-check-square"></i> Installed</a> ';
27
- }else{
28
- echo '<a class="cnkt-button" href="'. $cache_url .'" target="_blank"><i class="fa fa-download"></i> Purchase &amp; Install</a>';
29
- }
30
- ?>
31
  </div>
32
  <!-- End Cache -->
33
 
@@ -35,25 +36,25 @@
35
  <!-- Custom Repeaters v2 -->
36
  <div class="group">
37
  <div class="row no-brd">
38
- <div class="expand-wrap">
39
- <div class="section-title">
40
- <img src="<?php echo ALM_ADMIN_URL; ?>img/add-ons/unlimited-add-ons.jpg">
41
- </div>
42
- <div class="wrap">
43
  <h2 class="addon-title"><?php _e('Custom Repeaters', ALM_NAME); ?></h2>
44
  <p class="addon-intro"><?php _e('Extend Ajax Load More with unlimited repeater templates.', ALM_NAME); ?></p>
45
- <p><?php _e('Create, delete and modify <a href="?page=ajax-load-more-repeaters">repeater templates</a> as you need them with absolutely zero restrictions.', ALM_NAME); ?></p>
46
- </div>
47
- </div>
48
- </div>
49
- <?php
50
- $cr_url = 'https://connekthq.com/plugins/ajax-load-more/add-ons/custom-repeaters/?utm_source=WP%20Admin&utm_medium=ALM%20Add-ons&utm_campaign=Custom%20Repeaters';
51
- if (has_action('alm_unlimited_installed')){
52
- echo '<a class="cnkt-button installed" href="'. $cr_url .'" target="_blank"><i class="fa fa-check-square"></i> Installed</a> ';
53
- }else{
54
- echo '<a class="cnkt-button" href="'. $cr_url .'" target="_blank"><i class="fa fa-download"></i> Purchase &amp; Install</a>';
55
- }
56
- ?>
 
57
  </div>
58
  <!-- End Custom Repeaters v2 -->
59
 
@@ -61,51 +62,52 @@
61
  <!-- Paging -->
62
  <div class="group">
63
  <div class="row no-brd">
 
 
 
 
64
  <div class="expand-wrap">
65
- <div class="section-title">
66
- <img src="<?php echo ALM_ADMIN_URL; ?>img/add-ons/paging-add-ons.jpg">
67
- </div>
68
- <div class="wrap">
69
- <h2 class="addon-title"><?php _e('Paging', ALM_NAME); ?></h2>
70
- <p class="addon-intro"><?php _e('Extend Ajax Load More with a numbered paging navigation.', ALM_NAME); ?></p>
71
- <p><?php _e('The Paging add-on will transform the Ajax Load More lazy load/infinite scroll functionality into a robust ajax powered navigation system.', ALM_NAME); ?></p>
72
- </div>
 
 
 
73
  </div>
 
74
  </div>
75
- <?php
76
- $paging_url = 'https://connekthq.com/plugins/ajax-load-more/add-ons/paging/?utm_source=WP%20Admin&utm_medium=ALM%20Add-ons&utm_campaign=Paging';
77
- if (has_action('alm_paging_installed')){
78
- echo '<a class="cnkt-button installed" href="'. $paging_url .'" target="_blank"><i class="fa fa-check-square"></i> Installed</a> ';
79
- }else{
80
- echo '<a class="cnkt-button" href="'. $paging_url .'" target="_blank"><i class="fa fa-download"></i> Purchase &amp; Install</a>';
81
- }
82
- ?>
83
  </div>
84
  <!-- End Custom Repeaters v2 -->
85
 
86
 
87
  <!-- Preloaded -->
88
  <div class="group">
89
- <div class="row no-brd">
90
- <div class="expand-wrap">
91
- <div class="section-title">
92
- <img src="<?php echo ALM_ADMIN_URL; ?>img/add-ons/preloaded-add-ons.jpg">
93
- </div>
94
- <div class="wrap">
 
95
  <h2 class="addon-title"><?php _e('Preloaded', ALM_NAME); ?></h2>
96
- <p class="addon-intro"><?php _e('Easily preload an initial set of posts before completing any Ajax requests to the server.', ALM_NAME); ?></p>
97
- <p><?php _e('The Preloaded add-on will display content to your site visitors faster and allow you cache the initial result set which can greatly reduce stress on your server.', ALM_NAME); ?></p>
98
- </div>
99
- </div>
100
- </div>
101
- <?php
102
- $preload_url = 'https://connekthq.com/plugins/ajax-load-more/add-ons/preloaded/?utm_source=WP%20Admin&utm_medium=ALM%20Add-ons&utm_campaign=Preloaded';
103
- if (has_action('alm_preload_installed')){
104
- echo '<a class="cnkt-button installed" href="'. $preload_url .'" target="_blank"><i class="fa fa-check-square"></i> Installed</a> ';
105
- }else{
106
- echo '<a class="cnkt-button" href="'. $preload_url .'" target="_blank"><i class="fa fa-download"></i> Purchase &amp; Install</a>';
107
- }
108
- ?>
109
  </div>
110
  <!-- End Preloaded -->
111
 
@@ -113,37 +115,61 @@
113
  <!-- SEO -->
114
  <div class="group">
115
  <div class="row no-brd">
116
- <div class="expand-wrap">
117
- <div class="section-title">
118
- <img src="<?php echo ALM_ADMIN_URL; ?>img/add-ons/seo-add-ons.jpg">
119
- </div>
120
- <div class="wrap">
 
121
  <h2 class="addon-title"><?php _e('Search Engine Optimization', ALM_NAME); ?></h2>
122
  <p class="addon-intro"><?php _e('Generate unique paging URLs with every Ajax Load More query.', ALM_NAME); ?></p>
123
- <p><?php _e('The SEO add-on will optimize your ajax loaded content for search engines and site visitors by generating unique paging URLs with every query.</p>', ALM_NAME); ?></p>
124
- </div>
125
- </div>
 
 
 
 
 
 
 
 
126
  </div>
127
- <?php
128
- $seo_url = 'https://connekthq.com/plugins/ajax-load-more/add-ons/seo/?utm_source=WP%20Admin&utm_medium=ALM%20Add-ons&utm_campaign=SEO';
129
- if (has_action('alm_seo_installed')){
130
- echo '<a class="cnkt-button installed" href="'. $seo_url .'" target="_blank"><i class="fa fa-check-square"></i> Installed</a> ';
131
- }else{
132
- echo '<a class="cnkt-button" href="'. $seo_url .'" target="_blank"><i class="fa fa-download"></i> Purchase &amp; Install</a>';
133
- }
134
- ?>
135
  </div>
136
  <!-- End SEO -->
137
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  </div>
139
 
140
- <div class="cnkt-sidebar">
141
- <div class="cta">
142
- <h3><?php _e('Add-on Updates', ALM_NAME); ?></h3>
143
- <p><?php _e('All add-ons are installed as stand alone plugins and with a valid license key will receive plugin update notifications directly within the <a href="plugins.php">WordPress Plugin dashboard</a>.', ALM_NAME); ?></p>
144
- </div>
145
- <?php include_once( ALM_PATH . 'admin/includes/cta/writeable.php'); ?>
146
- </div>
147
 
148
  </div>
149
  </div>
2
  <div class="wrap">
3
  <div class="header-wrap">
4
  <h2><?php echo ALM_TITLE; ?>: <strong><?php _e('Add-ons', ALM_NAME); ?></strong></h2>
5
+ <p><?php _e('Add-ons are available to extend and enhance the core functionality of Ajax Load More', ALM_NAME); ?></p>
6
  </div>
7
+ <div class="cnkt-main full">
8
 
9
  <!-- Cache -->
10
  <div class="group">
11
  <div class="row no-brd">
12
+ <?php
13
+ $cache_url = 'https://connekthq.com/plugins/ajax-load-more/add-ons/cache/?utm_source=WP%20Admin&utm_medium=ALM%20Add-ons&utm_campaign=Cache'; ?>
14
+
15
+ <a href="<?php echo $cache_url; ?>">
16
+ <div class="expand-wrap">
17
  <img src="<?php echo ALM_ADMIN_URL; ?>img/add-ons/cache-add-ons.jpg">
 
 
18
  <h2 class="addon-title"><?php _e('Cache', ALM_NAME); ?></h2>
19
+ <p class="addon-intro"><?php _e('Improve performance with the Ajax Load More caching engine.', ALM_NAME); ?></p>
20
+ <p><?php _e('The Cache add-on creates static HTML files of Ajax Load More requests then delivers those static files to your visitors.', ALM_NAME); ?></p>
21
+ <?php
22
+ if (has_action('alm_cache_installed')){
23
+ echo '<span class="cnkt-button installed"><i class="fa fa-check-square"></i> Installed</span> ';
24
+ }else{
25
+ echo '<span class="cnkt-button"><i class="fa fa-download"></i> Purchase &amp; Install</span>';
26
+ }
27
+ ?>
28
+ </div>
29
+ </a>
30
+ </div>
31
+
32
  </div>
33
  <!-- End Cache -->
34
 
36
  <!-- Custom Repeaters v2 -->
37
  <div class="group">
38
  <div class="row no-brd">
39
+ <?php $cr_url = 'https://connekthq.com/plugins/ajax-load-more/add-ons/custom-repeaters/?utm_source=WP%20Admin&utm_medium=ALM%20Add-ons&utm_campaign=Custom%20Repeaters'; ?>
40
+ <a href="<?php echo $cr_url; ?>">
41
+ <div class="expand-wrap">
42
+ <img src="<?php echo ALM_ADMIN_URL; ?>img/add-ons/unlimited-add-ons.jpg">
 
43
  <h2 class="addon-title"><?php _e('Custom Repeaters', ALM_NAME); ?></h2>
44
  <p class="addon-intro"><?php _e('Extend Ajax Load More with unlimited repeater templates.', ALM_NAME); ?></p>
45
+ <p><?php _e('Create, delete and modify repeater templates as you need them with absolutely zero restrictions.', ALM_NAME); ?></p>
46
+ <?php
47
+
48
+ if (has_action('alm_unlimited_installed')){
49
+ echo '<span class="cnkt-button installed"><i class="fa fa-check-square"></i> Installed</span> ';
50
+ }else{
51
+ echo '<span class="cnkt-button"><i class="fa fa-download"></i> Purchase &amp; Install</span>';
52
+ }
53
+ ?>
54
+ </div>
55
+ </a>
56
+ </div>
57
+
58
  </div>
59
  <!-- End Custom Repeaters v2 -->
60
 
62
  <!-- Paging -->
63
  <div class="group">
64
  <div class="row no-brd">
65
+ <?php
66
+ $paging_url = 'https://connekthq.com/plugins/ajax-load-more/add-ons/paging/?utm_source=WP%20Admin&utm_medium=ALM%20Add-ons&utm_campaign=Paging';
67
+ ?>
68
+ <a href="<?php echo $paging_url; ?>">
69
  <div class="expand-wrap">
70
+ <img src="<?php echo ALM_ADMIN_URL; ?>img/add-ons/paging-add-ons.jpg">
71
+ <h2 class="addon-title"><?php _e('Paging', ALM_NAME); ?></h2>
72
+ <p class="addon-intro"><?php _e('Extend Ajax Load More with a numbered paging navigation.', ALM_NAME); ?></p>
73
+ <p><?php _e('The Paging add-on will transform Ajax Load More infinite scroll functionality into a robust ajax powered navigation system.', ALM_NAME); ?></p>
74
+ <?php
75
+ if (has_action('alm_paging_installed')){
76
+ echo '<span class="cnkt-button installed"><i class="fa fa-check-square"></i> Installed</span> ';
77
+ }else{
78
+ echo '<span class="cnkt-button"><i class="fa fa-download"></i> Purchase &amp; Install</span>';
79
+ }
80
+ ?>
81
  </div>
82
+ </a>
83
  </div>
84
+
 
 
 
 
 
 
 
85
  </div>
86
  <!-- End Custom Repeaters v2 -->
87
 
88
 
89
  <!-- Preloaded -->
90
  <div class="group">
91
+ <div class="row no-brd">
92
+ <?php
93
+ $preload_url = 'https://connekthq.com/plugins/ajax-load-more/add-ons/preloaded/?utm_source=WP%20Admin&utm_medium=ALM%20Add-ons&utm_campaign=Preloaded';
94
+ ?>
95
+ <a href="<?php echo $preload_url; ?>">
96
+ <div class="expand-wrap">
97
+ <img src="<?php echo ALM_ADMIN_URL; ?>img/add-ons/preloaded-add-ons.jpg">
98
  <h2 class="addon-title"><?php _e('Preloaded', ALM_NAME); ?></h2>
99
+ <p class="addon-intro"><?php _e('Load an initial set of posts before making Ajax requests to the server.', ALM_NAME); ?></p>
100
+ <p><?php _e('The Preloaded add-on will display content quicker and allow caching of the initial query which can reduce stress on your server.', ALM_NAME); ?></p>
101
+ <?php
102
+ if (has_action('alm_preload_installed')){
103
+ echo '<span class="cnkt-button installed"><i class="fa fa-check-square"></i> Installed</span> ';
104
+ }else{
105
+ echo '<span class="cnkt-button"><i class="fa fa-download"></i> Purchase &amp; Install</span>';
106
+ }
107
+ ?>
108
+ </div>
109
+ </a>
110
+ </div>
 
111
  </div>
112
  <!-- End Preloaded -->
113
 
115
  <!-- SEO -->
116
  <div class="group">
117
  <div class="row no-brd">
118
+ <?php
119
+ $seo_url = 'https://connekthq.com/plugins/ajax-load-more/add-ons/search-engine-optimization/?utm_source=WP%20Admin&utm_medium=ALM%20Add-ons&utm_campaign=SEO';
120
+ ?>
121
+ <a href="<?php echo $seo_url; ?>">
122
+ <div class="expand-wrap">
123
+ <img src="<?php echo ALM_ADMIN_URL; ?>img/add-ons/seo-add-ons.jpg">
124
  <h2 class="addon-title"><?php _e('Search Engine Optimization', ALM_NAME); ?></h2>
125
  <p class="addon-intro"><?php _e('Generate unique paging URLs with every Ajax Load More query.', ALM_NAME); ?></p>
126
+ <p><?php _e('The SEO add-on will optimize your ajax loaded content for search engines by generating unique URLs with every query.</p>', ALM_NAME); ?></p>
127
+ <?php
128
+
129
+ if (has_action('alm_seo_installed')){
130
+ echo '<span class="cnkt-button installed"><i class="fa fa-check-square"></i> Installed</span> ';
131
+ }else{
132
+ echo '<span class="cnkt-button"><i class="fa fa-download"></i> Purchase &amp; Install</span>';
133
+ }
134
+ ?>
135
+ </div>
136
+ </a>
137
  </div>
138
+
 
 
 
 
 
 
 
139
  </div>
140
  <!-- End SEO -->
141
 
142
+
143
+ <!-- Theme Repeaters -->
144
+ <div class="group">
145
+ <div class="row no-brd">
146
+ <?php $themer_url = 'https://connekthq.com/plugins/ajax-load-more/add-ons/theme-repeaters/?utm_source=WP%20Admin&utm_medium=ALM%20Add-ons&utm_campaign=Theme Repeaters'; ?>
147
+ <a href="<?php echo $themer_url; ?>">
148
+ <div class="expand-wrap">
149
+ <img src="<?php echo ALM_ADMIN_URL; ?>img/add-ons/theme-repeater-add-on.jpg">
150
+ <h2 class="addon-title"><?php _e('Theme Repeaters', ALM_NAME); ?></h2>
151
+ <p class="addon-intro"><?php _e('Manage repeater templates within your current theme directory', ALM_NAME); ?></p>
152
+ <p><?php _e('The Theme Repeater add-on will allow you load, edit and maintain templates from your current theme directory.</p>', ALM_NAME); ?></p>
153
+ <?php
154
+
155
+ if (has_action('alm_theme_repeaters_installed')){
156
+ echo '<span class="cnkt-button installed"><i class="fa fa-check-square"></i> Installed</span> ';
157
+ }else{
158
+ echo '<span class="cnkt-button"><i class="fa fa-download"></i> Purchase &amp; Install</span>';
159
+ }
160
+ ?>
161
+ </div>
162
+ </a>
163
+ </div>
164
+
165
+ </div>
166
+ <!-- End Theme Repeaters -->
167
+
168
  </div>
169
 
170
+ <div class="call-out light">
171
+ <p><?php _e('All add-ons are installed as stand alone plugins and with a valid license key will receive plugin update notifications directly within the <a href="plugins.php">WordPress plugin dashboard</a>.', ALM_NAME); ?></p>
172
+ </div>
 
 
 
 
173
 
174
  </div>
175
  </div>
admin/views/licenses.php CHANGED
@@ -16,6 +16,7 @@
16
  // alm_preload_installed
17
  // alm_paging_installed
18
  // alm_seo_installed
 
19
  ?>
20
 
21
  <?php
@@ -33,7 +34,6 @@
33
  <div class="license-title">
34
  <div class="status <?php if($alm_cache_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
35
  <h2><?php _e('Cache', ALM_NAME); ?></h2>
36
- <a class="cnkt-button installed" href="http://connekthq.com/plugins/ajax-load-more/cache/" target="_blank"><i class="fa fa-check-square"></i> Installed</a>
37
  </div>
38
  <div class="license-wrap">
39
  <form method="post" action="options.php">
@@ -87,8 +87,7 @@
87
  <div class="license" id="license-paging">
88
  <div class="license-title">
89
  <div class="status <?php if($alm_unlimited_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
90
- <h2><?php _e('Custom Repeaters v2', ALM_NAME); ?></h2>
91
- <a class="cnkt-button installed" href="http://connekthq.com/plugins/ajax-load-more/custom-repeaters/" target="_blank"><i class="fa fa-check-square"></i> Installed</a>
92
  </div>
93
  <div class="license-wrap">
94
  <form method="post" action="options.php">
@@ -129,11 +128,11 @@
129
  </div>
130
  <?php
131
  }
132
- // End PAGING
133
  ?>
134
-
135
-
136
- <?php
137
  if (has_action('alm_paging_installed')){
138
  // PAGING
139
  $alm_paging_license = get_option( 'alm_paging_license_key' );
@@ -143,7 +142,6 @@
143
  <div class="license-title">
144
  <div class="status <?php if($alm_paging_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
145
  <h2><?php _e('Paging', ALM_NAME); ?></h2>
146
- <a class="cnkt-button installed" href="http://connekthq.com/plugins/ajax-load-more/paging/" target="_blank"><i class="fa fa-check-square"></i> Installed</a>
147
  </div>
148
  <div class="license-wrap">
149
  <form method="post" action="options.php">
@@ -197,7 +195,6 @@
197
  <div class="license-title">
198
  <div class="status <?php if($alm_preloaded_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
199
  <h2><?php _e('Preloaded', ALM_NAME); ?></h2>
200
- <a class="cnkt-button installed" href="http://connekthq.com/plugins/ajax-load-more/preloaded/" target="_blank"><i class="fa fa-check-square"></i> Installed</a>
201
  </div>
202
  <div class="license-wrap">
203
  <form method="post" action="options.php">
@@ -252,7 +249,6 @@
252
  <div class="license-title">
253
  <div class="status <?php if($alm_seo_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
254
  <h2><?php _e('Search Engine Optimization', ALM_NAME); ?></h2>
255
- <a class="cnkt-button installed" href="http://connekthq.com/plugins/ajax-load-more/seo/" target="_blank"><i class="fa fa-check-square"></i> Installed</a>
256
  </div>
257
  <div class="license-wrap">
258
  <form method="post" action="options.php">
@@ -297,6 +293,60 @@
297
  ?>
298
 
299
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
300
  <?php else : ?>
301
 
302
  <div class="license-no-addons">
16
  // alm_preload_installed
17
  // alm_paging_installed
18
  // alm_seo_installed
19
+ // alm_theme_repeaters_installed
20
  ?>
21
 
22
  <?php
34
  <div class="license-title">
35
  <div class="status <?php if($alm_cache_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
36
  <h2><?php _e('Cache', ALM_NAME); ?></h2>
 
37
  </div>
38
  <div class="license-wrap">
39
  <form method="post" action="options.php">
87
  <div class="license" id="license-paging">
88
  <div class="license-title">
89
  <div class="status <?php if($alm_unlimited_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
90
+ <h2><?php _e('Custom Repeaters', ALM_NAME); ?></h2>
 
91
  </div>
92
  <div class="license-wrap">
93
  <form method="post" action="options.php">
128
  </div>
129
  <?php
130
  }
131
+ // End Custom Repeaters v2
132
  ?>
133
+
134
+
135
+ <?php
136
  if (has_action('alm_paging_installed')){
137
  // PAGING
138
  $alm_paging_license = get_option( 'alm_paging_license_key' );
142
  <div class="license-title">
143
  <div class="status <?php if($alm_paging_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
144
  <h2><?php _e('Paging', ALM_NAME); ?></h2>
 
145
  </div>
146
  <div class="license-wrap">
147
  <form method="post" action="options.php">
195
  <div class="license-title">
196
  <div class="status <?php if($alm_preloaded_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
197
  <h2><?php _e('Preloaded', ALM_NAME); ?></h2>
 
198
  </div>
199
  <div class="license-wrap">
200
  <form method="post" action="options.php">
249
  <div class="license-title">
250
  <div class="status <?php if($alm_seo_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
251
  <h2><?php _e('Search Engine Optimization', ALM_NAME); ?></h2>
 
252
  </div>
253
  <div class="license-wrap">
254
  <form method="post" action="options.php">
293
  ?>
294
 
295
 
296
+ <?php
297
+ if (has_action('alm_theme_repeaters_installed')){
298
+ // Theme Templates
299
+ $alm_theme_repeaters_license = get_option( 'alm_theme_repeaters_license_key' );
300
+ $alm_theme_repeaters_status = get_option( 'alm_theme_repeaters_license_status' );
301
+ ?>
302
+ <div class="license" id="license-theme_repeaters">
303
+ <div class="license-title">
304
+ <div class="status <?php if($alm_theme_repeaters_status == 'valid'){echo 'valid';}else{echo 'invalid';} ?> "></div>
305
+ <h2><?php _e('Theme Repeaters', ALM_NAME); ?></h2>
306
+ </div>
307
+ <div class="license-wrap">
308
+ <form method="post" action="options.php">
309
+
310
+ <?php settings_fields('alm_theme_repeaters_license'); ?>
311
+ <label class="description" for="alm_theme_repeaters_license_key"><?php _e('Enter License Key', ALM_NAME); ?></label>
312
+ <div class="license-key-field">
313
+ <input id="alm_theme_repeaters_license_key" name="alm_theme_repeaters_license_key" type="text" class="regular-text" value="<?php esc_attr_e( $alm_theme_repeaters_license ); ?>" placeholder="<?php _e('Enter License Key', ALM_NAME); ?>" />
314
+ <?php if( $alm_theme_repeaters_status !== false && $alm_theme_repeaters_status == 'valid' ) { ?>
315
+ <span class="status active">
316
+ <?php _e('Active', ALM_NAME); ?>
317
+ </span>
318
+ <?php } else { ?>
319
+ <span class="status inactive">
320
+ <?php _e('In-active', ALM_NAME); ?>
321
+ </span>
322
+ <?php } ?>
323
+ </div>
324
+
325
+ <?php wp_nonce_field( 'alm_theme_repeaters_license_nonce', 'alm_theme_repeaters_license_nonce' ); ?>
326
+ <?php if($alm_theme_repeaters_status === '' || $alm_theme_repeaters_status !== 'valid') {
327
+ submit_button(__('Save License Key', ALM_NAME), 'primary', '', false);
328
+ } ?>
329
+
330
+ <?php if( false !== $alm_theme_repeaters_license ) { ?>
331
+
332
+ <?php if( $alm_theme_repeaters_status !== false && $alm_theme_repeaters_status == 'valid' ) { ?>
333
+ <input type="submit" class="button-secondary" name="alm_theme_repeaters_license_deactivate" value="<?php _e('De-activate License', ALM_NAME); ?>"/>
334
+ <?php } else { ?>
335
+ <?php if(!empty($alm_theme_repeaters_license)){ ?>
336
+ <input type="submit" class="button-secondary" name="alm_theme_repeaters_license_activate" value="<?php _e('Activate License', ALM_NAME); ?>"/>
337
+ <?php } ?>
338
+ <?php } ?>
339
+ <?php } ?>
340
+
341
+ </form>
342
+ </div>
343
+ </div>
344
+ <?php
345
+ }
346
+ // End Theme Repeaters
347
+ ?>
348
+
349
+
350
  <?php else : ?>
351
 
352
  <div class="license-no-addons">
admin/views/repeater-templates.php CHANGED
@@ -33,8 +33,11 @@
33
  fclose ($handle);
34
  ?>
35
  <h3 class="heading"><?php _e('Default Template', ALM_NAME); ?></h3>
36
- <div class="expand-wrap">
37
- <div class="wrap repeater-wrap" data-name="default" data-type="default">
 
 
 
38
  <label class="template-title" for="template-default"><?php _e('Enter the HTML and PHP code for the default template', ALM_NAME); ?></label>
39
  <textarea rows="10" id="template-default" class="_alm_repeater"><?php echo $contents; ?></textarea>
40
  <script>
@@ -44,18 +47,19 @@
44
  lineWrapping: true,
45
  indentUnit: 0,
46
  matchBrackets: true,
47
- //theme: 'pastel-on-dark',
48
  viewportMargin: Infinity,
49
  extraKeys: {"Ctrl-Space": "autocomplete"},
50
  });
51
- </script>
52
  <input type="submit" value="<?php _e('Save Template', ALM_NAME); ?>" class="button button-primary save-repeater" data-editor-id="template-default">
53
  <div class="saved-response">&nbsp;</div>
54
  <?php include( ALM_PATH . 'admin/includes/components/repeater-options.php'); ?>
55
  </div>
56
- </div>
 
57
  </div>
58
- <!-- End Default -->
 
59
  <?php
60
  // Custom Repeaters v2 - /cta/extend.php
61
  if (!has_action('alm_get_unlimited_repeaters') && !has_action('alm_get_custom_repeaters')){ // If Custom Repeaters is NOT installed
@@ -63,13 +67,12 @@
63
  include( ALM_PATH . 'admin/includes/cta/extend.php');
64
  echo '</div>';
65
  }
66
- ?>
67
- <!-- End Default -->
68
- <?php
69
  if (has_action('alm_custom_repeaters')) // List custom repeaters v1
70
  do_action('alm_custom_repeaters');
71
- ?>
72
- <?php
73
  if (has_action('alm_unlimited_repeaters')) // List custom repeaters v2
74
  do_action('alm_unlimited_repeaters');
75
  ?>
33
  fclose ($handle);
34
  ?>
35
  <h3 class="heading"><?php _e('Default Template', ALM_NAME); ?></h3>
36
+
37
+ <div class="expand-wrap">
38
+
39
+ <div class="wrap repeater-wrap" data-name="default" data-type="default">
40
+
41
  <label class="template-title" for="template-default"><?php _e('Enter the HTML and PHP code for the default template', ALM_NAME); ?></label>
42
  <textarea rows="10" id="template-default" class="_alm_repeater"><?php echo $contents; ?></textarea>
43
  <script>
47
  lineWrapping: true,
48
  indentUnit: 0,
49
  matchBrackets: true,
 
50
  viewportMargin: Infinity,
51
  extraKeys: {"Ctrl-Space": "autocomplete"},
52
  });
53
+ </script>
54
  <input type="submit" value="<?php _e('Save Template', ALM_NAME); ?>" class="button button-primary save-repeater" data-editor-id="template-default">
55
  <div class="saved-response">&nbsp;</div>
56
  <?php include( ALM_PATH . 'admin/includes/components/repeater-options.php'); ?>
57
  </div>
58
+
59
+ </div>
60
  </div>
61
+ <!-- End Default -->
62
+
63
  <?php
64
  // Custom Repeaters v2 - /cta/extend.php
65
  if (!has_action('alm_get_unlimited_repeaters') && !has_action('alm_get_custom_repeaters')){ // If Custom Repeaters is NOT installed
67
  include( ALM_PATH . 'admin/includes/cta/extend.php');
68
  echo '</div>';
69
  }
70
+
71
+
 
72
  if (has_action('alm_custom_repeaters')) // List custom repeaters v1
73
  do_action('alm_custom_repeaters');
74
+
75
+
76
  if (has_action('alm_unlimited_repeaters')) // List custom repeaters v2
77
  do_action('alm_unlimited_repeaters');
78
  ?>
admin/views/settings.php CHANGED
@@ -11,6 +11,26 @@
11
  <?php } ?>
12
  <div class="cnkt-main">
13
  <div class="group">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  <form action="options.php" method="post" id="alm_OptionsForm">
15
  <?php
16
  settings_fields( 'alm-setting-group' );
@@ -45,6 +65,7 @@
45
  <div class="cnkt-sidebar">
46
  <?php include_once( ALM_PATH . 'admin/includes/cta/mailinglist.php'); ?>
47
  <?php include_once( ALM_PATH . 'admin/includes/cta/resources.php'); ?>
 
48
  <?php include_once( ALM_PATH . 'admin/includes/cta/about.php'); ?>
49
  </div>
50
  </div>
11
  <?php } ?>
12
  <div class="cnkt-main">
13
  <div class="group">
14
+ <?php
15
+ if(has_action('alm_cache_settings') || has_action('alm_paging_settings') || has_action('alm_seo_settings') || has_action('alm_theme_repeaters_settings')) {
16
+ ?>
17
+ <ul class="alm-settings-nav">
18
+ <li><a href="javascript:void(0);"><?php _e('Global Settings', ALM_NAME); ?></a></li>
19
+ <li><a href="javascript:void(0);"><?php _e('Admin', ALM_NAME); ?></a></li>
20
+ <?php
21
+ if(has_action('alm_cache_settings'))
22
+ echo '<li><a href="javascript:void(0);">'.__('Cache', ALM_NAME).'</a></li>';
23
+ if(has_action('alm_paging_settings'))
24
+ echo '<li><a href="javascript:void(0);">'.__('Paging', ALM_NAME).'</a></li>';
25
+ if(has_action('alm_seo_settings'))
26
+ echo '<li><a href="javascript:void(0);">'.__('SEO', ALM_NAME).'</a></li>';
27
+ if(has_action('alm_theme_repeaters_settings'))
28
+ echo '<li><a href="javascript:void(0);">'.__('Theme Repeaters', ALM_NAME).'</a></li>';
29
+ ?>
30
+ </ul>
31
+ <?php
32
+ }
33
+ ?>
34
  <form action="options.php" method="post" id="alm_OptionsForm">
35
  <?php
36
  settings_fields( 'alm-setting-group' );
65
  <div class="cnkt-sidebar">
66
  <?php include_once( ALM_PATH . 'admin/includes/cta/mailinglist.php'); ?>
67
  <?php include_once( ALM_PATH . 'admin/includes/cta/resources.php'); ?>
68
+ <?php include_once( ALM_PATH . 'admin/includes/cta/add-ons.php'); ?>
69
  <?php include_once( ALM_PATH . 'admin/includes/cta/about.php'); ?>
70
  </div>
71
  </div>
ajax-load-more.php CHANGED
@@ -6,13 +6,13 @@ Description: A simple solution for lazy loading WordPress posts and pages with A
6
  Author: Darren Cooney
7
  Twitter: @KaptonKaos
8
  Author URI: http://connekthq.com
9
- Version: 2.7.2
10
  License: GPL
11
  Copyright: Darren Cooney & Connekt Media
12
  */
13
 
14
- define( 'ALM_VERSION', '2.7.2' );
15
- define( 'ALM_RELEASE', 'July 28, 2015' );
16
  define( 'ALM_STORE_URL', 'https://connekthq.com' ); // EDD CONSTANT - Store URL
17
 
18
 
@@ -81,6 +81,7 @@ function alm_create_table(){
81
  id mediumint(9) NOT NULL AUTO_INCREMENT,
82
  name text NOT NULL,
83
  repeaterDefault longtext NOT NULL,
 
84
  pluginVersion text NOT NULL,
85
  UNIQUE KEY id (id)
86
  );";
@@ -88,7 +89,7 @@ function alm_create_table(){
88
  dbDelta( $sql );
89
 
90
  //Insert the default data in created table
91
- $wpdb->insert($table_name , array('name' => 'default', 'repeaterDefault' => $defaultRepeater, 'pluginVersion' => ALM_VERSION));
92
 
93
  }
94
 
@@ -115,7 +116,8 @@ if( !class_exists('AjaxLoadMore') ):
115
 
116
  add_action( 'wp_enqueue_scripts', array(&$this, 'alm_enqueue_scripts') );
117
  add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), array(&$this, 'alm_action_links') );
118
-
 
119
  add_shortcode( 'ajax_load_more', array(&$this, 'alm_shortcode') );
120
 
121
  // Allow shortcodes in widget areas
@@ -158,9 +160,30 @@ if( !class_exists('AjaxLoadMore') ):
158
 
159
  function alm_action_links( $links ) {
160
  $links[] = '<a href="'. get_admin_url(null, 'admin.php?page=ajax-load-more') .'">'.__('Settings', ALM_NAME).'</a>';
161
- $links[] = '<a href="'. get_admin_url(null, 'admin.php?page=ajax-load-more-shortcode-builder') .'">'.__('Shortcode Builder', ALM_NAME).'</a>';
162
  return $links;
163
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
 
165
 
166
 
@@ -227,6 +250,7 @@ if( !class_exists('AjaxLoadMore') ):
227
  'preloaded_amount' => '5',
228
  'seo' => 'false',
229
  'repeater' => 'default',
 
230
  'post_type' => 'post',
231
  'post_format' => '',
232
  'category' => '',
@@ -259,6 +283,7 @@ if( !class_exists('AjaxLoadMore') ):
259
  'pause' => 'false',
260
  'destroy_after' => '',
261
  'transition' => 'slide',
 
262
  'button_label' => __('Older Posts', ALM_NAME),
263
  'css_classes' => '',
264
  ), $atts));
@@ -366,8 +391,13 @@ if( !class_exists('AjaxLoadMore') ):
366
  $alm_found_posts = $alm_total_posts;
367
  while ($alm_preload_query->have_posts()) : $alm_preload_query->the_post();
368
  $alm_loop_count++;
369
- $alm_item = $alm_loop_count; // Get current item in loop
370
- $output .= apply_filters('alm_preload_inc', $repeater, $preloaded_type, $alm_found_posts, $alm_page, $alm_item);
 
 
 
 
 
371
  endwhile;
372
  wp_reset_query();
373
  endif;
@@ -407,6 +437,8 @@ if( !class_exists('AjaxLoadMore') ):
407
  }
408
 
409
  $ajaxloadmore .= ' data-repeater="'.$repeater.'"';
 
 
410
  $ajaxloadmore .= ' data-post-type="'.$post_type.'"';
411
  $ajaxloadmore .= ' data-post-format="'.$post_format.'"';
412
  $ajaxloadmore .= ' data-category="'.$category.'"';
@@ -442,6 +474,7 @@ if( !class_exists('AjaxLoadMore') ):
442
  $ajaxloadmore .= ' data-button-class="'.$button_classname.'"';
443
  $ajaxloadmore .= ' data-destroy-after="'.$destroy_after.'"';
444
  $ajaxloadmore .= ' data-transition="'.$transition.'"';
 
445
 
446
  $ajaxloadmore .= '></'.$container_element.'>';
447
 
@@ -485,6 +518,8 @@ if( !class_exists('AjaxLoadMore') ):
485
  $type = preg_split('/(?=\d)/', $repeater, 2); // split $repeater value at number to determine type
486
  $type = $type[0]; // default | repeater | template_
487
 
 
 
488
  $postType = (isset($_GET['post_type'])) ? $_GET['post_type'] : 'post';
489
  $post_format = (isset($_GET['post_format'])) ? $_GET['post_format'] : '';
490
 
@@ -731,7 +766,11 @@ if( !class_exists('AjaxLoadMore') ):
731
  $alm_page = $alm_page_count; // Get page number
732
  $alm_item = ($alm_page_count * $numPosts) - $numPosts + $alm_loop_count; // Get current item
733
 
734
- include( alm_get_current_repeater($repeater, $type) );//Include repeater template
 
 
 
 
735
 
736
  // If cache is enabled
737
  // Build cache include and store in $page_cache variable
6
  Author: Darren Cooney
7
  Twitter: @KaptonKaos
8
  Author URI: http://connekthq.com
9
+ Version: 2.7.3
10
  License: GPL
11
  Copyright: Darren Cooney & Connekt Media
12
  */
13
 
14
+ define( 'ALM_VERSION', '2.7.3' );
15
+ define( 'ALM_RELEASE', 'August 6, 2015' );
16
  define( 'ALM_STORE_URL', 'https://connekthq.com' ); // EDD CONSTANT - Store URL
17
 
18
 
81
  id mediumint(9) NOT NULL AUTO_INCREMENT,
82
  name text NOT NULL,
83
  repeaterDefault longtext NOT NULL,
84
+ repeaterType text NOT NULL,
85
  pluginVersion text NOT NULL,
86
  UNIQUE KEY id (id)
87
  );";
89
  dbDelta( $sql );
90
 
91
  //Insert the default data in created table
92
+ $wpdb->insert($table_name , array('name' => 'default', 'repeaterDefault' => $defaultRepeater, 'repeaterType' => 'default', 'pluginVersion' => ALM_VERSION));
93
 
94
  }
95
 
116
 
117
  add_action( 'wp_enqueue_scripts', array(&$this, 'alm_enqueue_scripts') );
118
  add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), array(&$this, 'alm_action_links') );
119
+ add_filter( 'plugin_row_meta', array(&$this, 'alm_plugin_meta_links'), 10, 2 );
120
+
121
  add_shortcode( 'ajax_load_more', array(&$this, 'alm_shortcode') );
122
 
123
  // Allow shortcodes in widget areas
160
 
161
  function alm_action_links( $links ) {
162
  $links[] = '<a href="'. get_admin_url(null, 'admin.php?page=ajax-load-more') .'">'.__('Settings', ALM_NAME).'</a>';
 
163
  return $links;
164
  }
165
+
166
+
167
+
168
+ /*
169
+ * alm_plugin_meta_links
170
+ * Add plugin meta links to WP plugin screen
171
+ *
172
+ * @since 2.7.2.1
173
+ */
174
+
175
+ function alm_plugin_meta_links( $links, $file ) {
176
+ if ( strpos( $file, 'ajax-load-more.php' ) !== false ) {
177
+ $new_links = array(
178
+ '<a href="admin.php?page=ajax-load-more-shortcode-builder">Shortcode Builder</a>',
179
+ '<a href="admin.php?page=ajax-load-more-add-ons">Add-ons</a>',
180
+ );
181
+
182
+ $links = array_merge( $links, $new_links );
183
+ }
184
+
185
+ return $links;
186
+ }
187
 
188
 
189
 
250
  'preloaded_amount' => '5',
251
  'seo' => 'false',
252
  'repeater' => 'default',
253
+ 'theme_repeater' => 'null',
254
  'post_type' => 'post',
255
  'post_format' => '',
256
  'category' => '',
283
  'pause' => 'false',
284
  'destroy_after' => '',
285
  'transition' => 'slide',
286
+ 'images_loaded' => 'false',
287
  'button_label' => __('Older Posts', ALM_NAME),
288
  'css_classes' => '',
289
  ), $atts));
391
  $alm_found_posts = $alm_total_posts;
392
  while ($alm_preload_query->have_posts()) : $alm_preload_query->the_post();
393
  $alm_loop_count++;
394
+ $alm_item = $alm_loop_count; // Get current item in loop
395
+ if($theme_repeater != 'null' && has_filter('alm_get_theme_repeater')){
396
+ $preloaded_type = null;
397
+ $output .= apply_filters('alm_preload_inc', $repeater, $preloaded_type, $theme_repeater, $alm_found_posts, $alm_page, $alm_item);
398
+ }else{
399
+ $output .= apply_filters('alm_preload_inc', $repeater, $preloaded_type, $theme_repeater, $alm_found_posts, $alm_page, $alm_item);
400
+ }
401
  endwhile;
402
  wp_reset_query();
403
  endif;
437
  }
438
 
439
  $ajaxloadmore .= ' data-repeater="'.$repeater.'"';
440
+ if($theme_repeater != 'null')
441
+ $ajaxloadmore .= ' data-theme-repeater="'.$theme_repeater.'"';
442
  $ajaxloadmore .= ' data-post-type="'.$post_type.'"';
443
  $ajaxloadmore .= ' data-post-format="'.$post_format.'"';
444
  $ajaxloadmore .= ' data-category="'.$category.'"';
474
  $ajaxloadmore .= ' data-button-class="'.$button_classname.'"';
475
  $ajaxloadmore .= ' data-destroy-after="'.$destroy_after.'"';
476
  $ajaxloadmore .= ' data-transition="'.$transition.'"';
477
+ $ajaxloadmore .= ' data-images-loaded="'.$images_loaded.'"';
478
 
479
  $ajaxloadmore .= '></'.$container_element.'>';
480
 
518
  $type = preg_split('/(?=\d)/', $repeater, 2); // split $repeater value at number to determine type
519
  $type = $type[0]; // default | repeater | template_
520
 
521
+ $theme_repeater = (isset($_GET['theme_repeater'])) ? $_GET['theme_repeater'] : 'null';
522
+
523
  $postType = (isset($_GET['post_type'])) ? $_GET['post_type'] : 'post';
524
  $post_format = (isset($_GET['post_format'])) ? $_GET['post_format'] : '';
525
 
766
  $alm_page = $alm_page_count; // Get page number
767
  $alm_item = ($alm_page_count * $numPosts) - $numPosts + $alm_loop_count; // Get current item
768
 
769
+ if($theme_repeater != 'null' && has_filter('alm_get_theme_repeater')){
770
+ do_action('alm_get_theme_repeater', $theme_repeater);
771
+ }else{
772
+ include( alm_get_current_repeater($repeater, $type) );//Include repeater template
773
+ }
774
 
775
  // If cache is enabled
776
  // Build cache include and store in $page_cache variable
core/functions.php CHANGED
@@ -46,6 +46,8 @@ function alm_get_current_repeater($repeater, $type) {
46
  return $include;
47
  }
48
 
 
 
49
  /*
50
  * alm_get_default_repeater
51
  * Get the default repeater template for current blog
@@ -69,7 +71,6 @@ function alm_get_default_repeater() {
69
 
70
 
71
 
72
-
73
  /*
74
  * alm_get_post_format
75
  * Query by post format
46
  return $include;
47
  }
48
 
49
+
50
+
51
  /*
52
  * alm_get_default_repeater
53
  * Get the default repeater template for current blog
71
 
72
 
73
 
 
74
  /*
75
  * alm_get_post_format
76
  * Query by post format
core/js/ajax-load-more.js CHANGED
@@ -45,11 +45,13 @@
45
  alm.cache_path = alm.content.attr('data-cache-path'); // cache path
46
  alm.cache_logged_in = alm.content.attr('data-cache-logged-in'); // cache logged in (settings)
47
  alm.repeater = alm.content.attr('data-repeater');
 
48
 
49
  alm.scroll_distance = parseInt(alm.content.attr('data-scroll-distance'));
50
  alm.max_pages = parseInt(alm.content.attr('data-max-pages'));
51
  alm.pause = alm.content.attr('data-pause'); // true | false
52
  alm.transition = alm.content.attr('data-transition');
 
53
  alm.destroy_after = alm.content.attr('data-destroy-after');
54
  alm.lang = alm.content.attr('data-lang');
55