Yet Another Related Posts Plugin (YARPP) - Version 5.23.0

Version Description

(02-June-2021) = * New: Ability to specify maximum number of posts to show in the YARPP shortcode. For example: + [yarpp template="list" limit=3] // maximum post limit set to 3 * Bugfix: Check wp_parse_list exists for backwards compatibility to older versions of WordPress * Bugfix: Use query parameters when priming cache using yarpp_related. Resolves bug with yarpp_function not fully accounting for all parameters passed to it.

Download this release

Release Info

Developer jeffparker
Plugin Icon 128x128 Yet Another Related Posts Plugin (YARPP)
Version 5.23.0
Comparing to
See all releases

Code changes from version 5.22.0 to 5.23.0

classes/YARPP_Cache.php CHANGED
@@ -46,11 +46,17 @@ abstract class YARPP_Cache {
46
  /*
47
  * POST CACHE CONTROL
48
  */
49
- /*
50
- * Note: return value changed in 3.4
51
- * return YARPP_NO_RELATED | YARPP_RELATED | YARPP_DONT_RUN | false if no good input
52
- */
53
- function enforce($reference_ID, $force = false) {
 
 
 
 
 
 
54
  /**
55
  * @since 3.5.3 Don't compute on revisions.
56
  * wp_is_post_revision will return the id of the revision parent instead.
@@ -65,7 +71,7 @@ abstract class YARPP_Cache {
65
  if ($status === YARPP_DONT_RUN) return YARPP_DONT_RUN;
66
 
67
  // If not cached, process now:
68
- if ($status === YARPP_NOT_CACHED || $force) $status = $this->update((int) $reference_ID);
69
  // Despite our earlier check, somehow the database doesn't seem to be setup properly
70
  if ($status === YARPP_DONT_RUN) return YARPP_DONT_RUN;
71
  // There are no related posts
@@ -466,8 +472,7 @@ abstract class YARPP_Cache {
466
  * @param string $wpdb_method method on WPDB to call
467
  * @param array $args array of arguments to pass it.
468
  *
469
- * @return mixed
470
- * @throws Exception
471
  */
472
  protected function query_safely($wpdb_method, $args) {
473
  global $wpdb;
@@ -510,4 +515,14 @@ abstract class YARPP_Cache {
510
  $sql
511
  );
512
  }
 
 
 
 
 
 
 
 
 
 
513
  }
46
  /*
47
  * POST CACHE CONTROL
48
  */
49
+
50
+ /**
51
+ * Ensures the YARPP cache is primed (if not, primes it).
52
+ * Can return early if YARPP shouldn't run, for some reason.
53
+ * @param int $reference_ID post ID to which we're finding related content
54
+ * @param bool $force forces refreshing the cache
55
+ * @param array $args @see YARPP::display_related()
56
+ *
57
+ * @return bool|string (YARPP_NO_RELATED | YARPP_RELATED | YARPP_DONT_RUN | false if no good input)
58
+ */
59
+ function enforce($reference_ID, $force = false, $args = array()) {
60
  /**
61
  * @since 3.5.3 Don't compute on revisions.
62
  * wp_is_post_revision will return the id of the revision parent instead.
71
  if ($status === YARPP_DONT_RUN) return YARPP_DONT_RUN;
72
 
73
  // If not cached, process now:
74
+ if ($status === YARPP_NOT_CACHED || $force) $status = $this->update((int) $reference_ID, $args);
75
  // Despite our earlier check, somehow the database doesn't seem to be setup properly
76
  if ($status === YARPP_DONT_RUN) return YARPP_DONT_RUN;
77
  // There are no related posts
472
  * @param string $wpdb_method method on WPDB to call
473
  * @param array $args array of arguments to pass it.
474
  *
475
+ * @return mixed|WP_Error
 
476
  */
477
  protected function query_safely($wpdb_method, $args) {
478
  global $wpdb;
515
  $sql
516
  );
517
  }
518
+
519
+ /**
520
+ * Updates the cache.
521
+ * @param int $reference_ID post ID to which we're finding related posts
522
+ * @param array $args @see YARPP::display_related()
523
+ * @return string (YARPP_NO_RELATED | YARPP_RELATED | YARPP_DONT_RUN)
524
+ */
525
+ protected function update($reference_ID, $args = array()) {
526
+ return YARPP_RELATED;
527
+ }
528
  }
classes/YARPP_Cache_Bypass.php CHANGED
@@ -183,14 +183,6 @@ class YARPP_Cache_Bypass extends YARPP_Cache {
183
  remove_filter('posts_request',array(&$this,'demo_request_filter'));
184
  }
185
 
186
- // @return YARPP_NO_RELATED | YARPP_RELATED
187
- // @used by enforce
188
- protected function update($reference_ID) {
189
- global $wpdb;
190
-
191
- return YARPP_RELATED;
192
- }
193
-
194
  public function related($reference_ID = null, $related_ID = null) {
195
  global $wpdb;
196
 
183
  remove_filter('posts_request',array(&$this,'demo_request_filter'));
184
  }
185
 
 
 
 
 
 
 
 
 
186
  public function related($reference_ID = null, $related_ID = null) {
187
  global $wpdb;
188
 
classes/YARPP_Cache_Postmeta.php CHANGED
@@ -161,16 +161,19 @@ class YARPP_Cache_Postmeta extends YARPP_Cache {
161
  }
162
  }
163
 
164
- // @return YARPP_NO_RELATED | YARPP_RELATED
165
- // @used by enforce
166
- protected function update($reference_ID) {
167
- global $wpdb;
168
-
 
 
 
169
  $original_related = $this->related($reference_ID);
170
  $related = $this->query_safely(
171
  'get_results',
172
  array(
173
- $this->sql($reference_ID),
174
  ARRAY_A
175
  )
176
  );
161
  }
162
  }
163
 
164
+ /**
165
+ * Caches the related posts in postmeta.
166
+ * @param int $reference_ID post ID to which we want to find related content
167
+ * @param array $args see YARPP::display_related()
168
+ *
169
+ * @return string (YARPP_NO_RELATED | YARPP_RELATED)
170
+ */
171
+ protected function update($reference_ID, $args = array()) {
172
  $original_related = $this->related($reference_ID);
173
  $related = $this->query_safely(
174
  'get_results',
175
  array(
176
+ $this->sql($reference_ID, $args),
177
  ARRAY_A
178
  )
179
  );
classes/YARPP_Cache_Tables.php CHANGED
@@ -211,9 +211,14 @@ class YARPP_Cache_Tables extends YARPP_Cache {
211
  wp_cache_delete( 'is_cached_' . $id, 'yarpp' );
212
  }
213
 
214
- // @return YARPP_RELATED | YARPP_NO_RELATED | YARPP_DONT_RUN
215
- // @used by enforce
216
- protected function update($reference_ID) {
 
 
 
 
 
217
  global $wpdb;
218
 
219
  $original_related = (array) @$this->related($reference_ID);
@@ -226,7 +231,7 @@ class YARPP_Cache_Tables extends YARPP_Cache {
226
  $result = $this->query_safely(
227
  'query',
228
  array(
229
- "insert into {$wpdb->prefix}" . YARPP_TABLES_RELATED_TABLE . " (reference_ID,ID,score) " . $this->sql( $reference_ID ) . " on duplicate key update date = now()"
230
  )
231
  );
232
  if($result instanceof WP_Error){
211
  wp_cache_delete( 'is_cached_' . $id, 'yarpp' );
212
  }
213
 
214
+ /**
215
+ * Primes the YARPP related cache table.
216
+ * @param int $reference_ID post ID to which we will find related content
217
+ * @param array $args see YARPP::display_related()
218
+ *
219
+ * @return string (YARPP_RELATED | YARPP_NO_RELATED | YARPP_DONT_RUN)
220
+ */
221
+ protected function update($reference_ID, $args = array()) {
222
  global $wpdb;
223
 
224
  $original_related = (array) @$this->related($reference_ID);
231
  $result = $this->query_safely(
232
  'query',
233
  array(
234
+ "insert into {$wpdb->prefix}" . YARPP_TABLES_RELATED_TABLE . " (reference_ID,ID,score) " . $this->sql( $reference_ID, $args ) . " on duplicate key update date = now()"
235
  )
236
  );
237
  if($result instanceof WP_Error){
classes/YARPP_Core.php CHANGED
@@ -1273,7 +1273,7 @@ class YARPP {
1273
 
1274
  extract($this->parse_args($args, $options));
1275
 
1276
- $cache_status = $this->active_cache->enforce($reference_ID);
1277
  if ($cache_status === YARPP_DONT_RUN){
1278
  return;
1279
  }
@@ -1428,7 +1428,7 @@ class YARPP {
1428
  $options = array('limit', 'order');
1429
  extract($this->parse_args($args, $options));
1430
 
1431
- $cache_status = $this->active_cache->enforce($reference_ID);
1432
  if ( in_array($cache_status, array(YARPP_DONT_RUN, YARPP_NO_RELATED), true)) return array();
1433
 
1434
  /* Get ready for YARPP TIME! */
@@ -1477,7 +1477,7 @@ class YARPP {
1477
 
1478
  $this->setup_active_cache($args);
1479
 
1480
- $cache_status = $this->active_cache->enforce($reference_ID);
1481
 
1482
  if (in_array($cache_status, array(YARPP_DONT_RUN, YARPP_NO_RELATED), true)) return false;
1483
 
1273
 
1274
  extract($this->parse_args($args, $options));
1275
 
1276
+ $cache_status = $this->active_cache->enforce($reference_ID, false, $args);
1277
  if ($cache_status === YARPP_DONT_RUN){
1278
  return;
1279
  }
1428
  $options = array('limit', 'order');
1429
  extract($this->parse_args($args, $options));
1430
 
1431
+ $cache_status = $this->active_cache->enforce($reference_ID, false, $args);
1432
  if ( in_array($cache_status, array(YARPP_DONT_RUN, YARPP_NO_RELATED), true)) return array();
1433
 
1434
  /* Get ready for YARPP TIME! */
1477
 
1478
  $this->setup_active_cache($args);
1479
 
1480
+ $cache_status = $this->active_cache->enforce($reference_ID, false, $args);
1481
 
1482
  if (in_array($cache_status, array(YARPP_DONT_RUN, YARPP_NO_RELATED), true)) return false;
1483
 
classes/YARPP_Shortcode.php CHANGED
@@ -26,7 +26,8 @@ class YARPP_Shortcode {
26
  $atts = shortcode_atts(
27
  array(
28
  'reference_id' => null,
29
- 'template' => null
 
30
  ),
31
  $atts
32
  );
@@ -38,13 +39,24 @@ class YARPP_Shortcode {
38
  );
39
 
40
  // Custom templates require .php extension
41
- if (isset($atts['template'])) {
 
42
  $yarpp_args['template'] = trim($atts['template']);
43
  if (( strpos($yarpp_args['template'], 'yarpp-template-') === 0 ) && ( strpos($yarpp_args['template'], '.php') === false )) {
44
  $yarpp_args['template'] .= '.php';
45
  }
46
  }
47
-
 
 
 
 
 
 
 
 
 
 
48
  if ($post instanceof WP_Post) {
49
  return $yarpp->display_related(
50
  $post->ID,
26
  $atts = shortcode_atts(
27
  array(
28
  'reference_id' => null,
29
+ 'template' => null,
30
+ 'limit' => null
31
  ),
32
  $atts
33
  );
39
  );
40
 
41
  // Custom templates require .php extension
42
+ if (isset($atts['template']) && $atts['template']) {
43
+ // Normalize parameter
44
  $yarpp_args['template'] = trim($atts['template']);
45
  if (( strpos($yarpp_args['template'], 'yarpp-template-') === 0 ) && ( strpos($yarpp_args['template'], '.php') === false )) {
46
  $yarpp_args['template'] .= '.php';
47
  }
48
  }
49
+
50
+ if (isset($atts['limit']) && $atts['limit']) {
51
+ // Normalize parameter
52
+ $atts['limit'] = trim($atts['limit']);
53
+
54
+ // Use only if numeric value is passed
55
+ if (is_numeric($atts['limit'])) {
56
+ $yarpp_args['limit'] = (int) $atts['limit'];
57
+ }
58
+ }
59
+
60
  if ($post instanceof WP_Post) {
61
  return $yarpp->display_related(
62
  $post->ID,
includes/compat.php CHANGED
@@ -25,3 +25,20 @@ if ( ! function_exists( 'wp_get_additional_image_sizes' ) ) {
25
  return $_wp_additional_image_sizes;
26
  }
27
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  return $_wp_additional_image_sizes;
26
  }
27
  }
28
+
29
+ if ( ! function_exists( 'wp_parse_list' ) ) {
30
+ /**
31
+ * Converts a comma- or space-separated list of scalar values to an array.
32
+ *
33
+ * @since 5.1.0
34
+ *
35
+ * @param array|string $list List of values.
36
+ * @return array Array of values.
37
+ */
38
+ function wp_parse_list( $list ) {
39
+ if ( ! is_array( $list ) ) {
40
+ return preg_split( '/[\s,]+/', $list, -1, PREG_SPLIT_NO_EMPTY );
41
+ }
42
+ return $list;
43
+ }
44
+ }
js/block.min.js CHANGED
@@ -1,2 +1 @@
1
- (function(blocks,i18n,element,components,editor,blockEditor){var el=element.createElement;const{registerBlockType}=blocks;const{__}=i18n;const iconEl=el('img',{src:'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTQ1cHgiIGhlaWdodD0iMTkxcHgiIHZpZXdCb3g9IjAgMCAxNDUgMTkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+bWFyazwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJtYXJrIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxLjAwMDAwMCwgMC4wMDAwMDApIiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8ZyBpZD0iY29mZmVlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MS41MDAwMDAsIDEyMC43MDM3MDQpIHNjYWxlKC0xLCAxKSByb3RhdGUoLTE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtNzEuNTAwMDAwLCAtMTIwLjcwMzcwNCkgdHJhbnNsYXRlKDAuMDAwMDAwLCA1MS43MDM3MDQpIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00Mi44NjA1NzA2LDEzNi4wODIyOCBDMzIuODM4MzcwNSwxMzQuNzgzMzg4IDI1LjQ2Njk2OTcsMTMyLjg5OTk5NyAyMC43NDYzNjgxLDEzMC40MzIxMDMgTDE3LjM2OTMyMjUsMTI3LjgwMTg0OSBMMTcuNjk2MTMzMywxMTMuMjg2NzM4IEMxNy45MTQwMDcyLDk5LjM1NjEyOTIgMTcuOTE0MDA3Miw5OC42NzQyMTEzIDE1LjYyNjMzMSw5Ni44MjMyOTEyIEM5Ljg1MjY3MjI5LDkyLjE0NzI4MjcgMCw3OS4yNjM5ODU1IDAsNjguNTQ4MTMyNSBDMCw2My4xOTAyMDYgMS41NTkxMDc0Myw2MC4wNjIyODM2IDQuODI3MjE2MTksNTQuNDEyMTA2NiBDNy4wMDU5NTUzNSw1MC44MDc2ODMzIDEzLjUyNDk3MDMsNDUuNTM3MDMzNCAxNC43MjMyNzY5LDQ0LjU2Mjg2NDkgQzE3LjAxMDk1MjksNDMuMDA0MTk1MyAxOC40NTg2OTE5LDQ0LjEzMDMxMzggMTcuNjk2MTMzMywzMy4xMjIyMTAyIEMxNi44MjQ2Mzc2LDE5LjM4NjQzNSAxNi4wNjIwNzg5LDE3LjQyODU2MjEgMjQuMDE0NDc2OCwxMi44NDk5NzAzIEMzNC43OTkyMzU4LDYuNjE1MjkyMTkgNDIuNzUxNjMzNywzLjU5NTM2OTk3IDUyLjc3MzgzMzksMS43NDQ0NDk5IEM3Ni42MzEwMjc3LC0yLjQ0NDQ3NDQ2IDExMy4zNDI3ODMsMS4yNTczNjU2OCAxMjYuMzA2MjgsOS4xNDgxMzAxNyBDMTMzLjkzMTg2OCwxMy45MjE1NTU2IDEzNi41NDYzNTUsMTYuODQ0MDYxIDEzNi41NDYzNTUsMjAuOTM1NTY4NCBDMTQwLjQ2ODA4NSw4Ny44OTM0MTM3IDE0Mi41Mzc4ODgsMTIxLjg1OTQyIDE0Mi43NTU3NjEsMTIyLjgzMzU4OSBDMTQzLjE5MTUwOSwxMjUuMDc0MTc3IDE0Mi43NTU3NjEsMTI1LjY1ODY3NyAxMzkuMTYwODQyLDEyNy4zMTQ3NjQgQzEzNC4wNDA4MDQsMTI5LjY1Mjc2OSAxMjcuODMxMzk4LDEzMC44MjE3NzEgMTA2LjU4ODY5MSwxMzMuMzU0NjA5IEM5Ny42NTU4NjA3LDEzNC40MjYxOTQgODcuMDg4OTc1OCwxMzUuNjkyNjEzIDgzLjE2NzI0NTIsMTM2LjI3NzExNCBDNzQuNTYxMjI1NSwxMzcuNDQ2MTE2IDUyLjU1NTk2LDEzNy4zNDg2OTkgNDIuODYwNTcwNiwxMzYuMDgyMjggWiBNODQuNTMwMjczNCwxMzIuMDc4NzA0IEM5MC4yMzM4MTY3LDEzMS4zODQ4NTYgOTkuMDk4MzIxMywxMzAuMjUwMDg2IDEwOS4wMzgwODYsMTI5LjE5MzQ1IEMxMjMuMjY5NTg5LDEyNy4wMjU1MDQgMTM1LjQxOTkwMSwxMjUuNjI2MzMxIDEzNi4wNTI0MTMsMTIzLjMzMDg1OSBDMTM2LjI2MzI1LDEyMi42OTMyMjggMTIzLjkzNDI5NSwxMjAuOTc0MjM5IDEyMC4zNTAwNjQsMTE5LjgyNjUwMyBDMTE0LjEzMDM3MSwxMTcuNzg2MDg0IDEwMi4yODI2OTYsMTIwLjE4NTg4MSA5MC4zNzQ5MTk3LDEyMi40MTM1NjMgQzc4LjUwNDkyOTIsMTI0LjYzNDE3NSA2NS40NTYzNDA4LDEyMy4zMzA4NTkgNTcuMjU0NTk4NywxMjMuMzMwODU5IEM1Ny4yNTQ1OTg3LDEyMy4zMzA4NTkgNTIuNDc1NDQ2NiwxMjIuNTIzMTkzIDQyLjkxNzE0MjUsMTIwLjkwNzg2MSBDMzQuODc2MDMxNiwxMTkuNTQ4OTMxIDM2LjIyMTA1NjEsMTE5LjEyMjQ5NCAzMC4wMDEzNjIyLDEyMS44MDA1NDUgQzI2LjQxNzEzMTksMTIzLjQ1ODM4NSAyMy4yNTQ1NzU3LDEyNS4yNDM3NTIgMjMuMTQ5MTU3MiwxMjYuMDA4OTEgQzIzLjE0OTE1NzIsMTI2LjY0NjU0MSAyMy40NDM2MjM4LDEyOC40NjE1MjIgMjYuNDE3MTMxOSwxMjkuOTYyMjIxIEMzMC43NTg3ODkxLDEzMi4xNTM0MTEgNDMuNTE0MTYwMiwxMzIuNDQxMDA4IDU0LjcxNDM1NTUsMTMyLjk4NzM5NSBDNjMuNDg1ODM5OCwxMzIuOTg3Mzk1IDc4LjgyNjczMDEsMTMyLjc3MjU1MSA4NC41MzAyNzM0LDEzMi4wNzg3MDQgWiBNMzkuODcwNjc2MSwxMTYuNzY2ODQ0IEM0NC4xMjY4ODU2LDExNS43MjU4NzYgNTMuNjc3NDA0MSwxMTQuMjExNzQgNjEuMTUxNzIyOCwxMTMuMzYwMDM4IEM3OC43OTk0MjAxLDExMS4zNzI3MzQgMTM0Ljk2MDYyMSwxMTkuNTExMjE1IDEzNS4xNjgyNDEsMTE5LjIyNzMxNSBDMTM1LjM3NTg2MSwxMTkuMDM4MDQ5IDEzNC40NDE1NzEsNTQuMTE5NDYyNSAxMzEuMzI3MjcyLDI5LjcwNDAxNzcgQzEyOS44NzM5MzIsMTguOTE1Nzk3OCAxMjkuMzU0ODgyLDE3Ljk2OTQ2MjcgMTIyLjA4ODE4MywxMy40MjcwNTQ0IEMxMTAuNDYxNDY1LDYuMDQ1NjQwODQgNzQuNTQzMjEwNywyLjczMzQ2ODA4IDUzLjM2NTk3NCw2Ljk5MTk3NTkgQzQyLjk4NDk3NTcsOS4wNzM5MTMwNyAzNi43NTYzNzY3LDExLjcyMzY1MTMgMjcuNDEzNDc4MSwxNy42ODU1NjIzIEwyMi4yODExNjk0LDIxLjU4ODA4NTQgTDIzLjU3MjUwODgsMTIxLjMwOTI1MyBMMzkuODcwNjc2MSwxMTYuNzY2ODQ0IFogTTE3LjU5OTcwNDMsNjUuODAxMzgyMSBDMTcuNTk5NzA0Myw1MC44MjAwMDIzIDE4LjE3MDY1OTIsNTAuNzUyOTc1MyAxNy41OTk3MDQzLDUwLjc1Mjk3NTMgQzE0LjIyNTgzNzcsNTAuNzUyOTc1MyAxMC42ODY5OTQ2LDUzLjIwODYyOTYgNy45MzM0NTE3Miw1Ny42NDI4NTY0IEM1LjgxMDQ2NjgsNjEuMDYxNjUwNyA1LjUwMzQ2MTY2LDY1LjYzMDE2MjggNS41MDM0NjE2Niw2Ny4yMjgwNzE0IEM1LjUwMzQ2MTY2LDc4LjAyNjAyMTMgMTAuODY3NjAxOCw4Ni41MTAxNTI1IDE3LjU5OTcwNDMsODYuNTEwMTUyNSBDMTcuNTk5NzA0Myw4Ni41MTAxNTI1IDE3LjU5OTcwNDMsNzkuNjA3MjI5IDE3LjU5OTcwNDMsNjUuODAxMzgyMSBaIiBpZD0ibXVnIiBzdHJva2U9IiMwMDAwMDAiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxnIGlkPSJGYWNlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MC45NDI4NTAsIDYwLjQwMDc5NykiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02Mi4xNjA3NzgsMzMuNTQ3NTgzNSBDNTguNDA4MjI2MiwyNi42MDQxNTMzIDYwLjExMzkzMTYsMTkuMDI5NTAyMiA2NC44ODk5MDY2LDE5LjAyOTUwMjIgQzY3LjYxOTAzNTMsMTkuMDI5NTAyMiA3MC42ODkzMDQ5LDIxLjU1NDM4NiA3MS43MTI3MjgyLDI0LjcxMDQ5MDYgQzc0LjEwMDcxNTcsMzEuMDIyNjk5OSA2NS4yMzEwNDc4LDM5LjIyODU3MTggNjIuMTYwNzc4LDMzLjU0NzU4MzUgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIuMTAzMDM4MzcsMzQuMDA2MTkwNiBDLTEuNjQ5NTEzNDksMjcuMDYyNzYwMyAwLjA1NjE5MTkwMTksMTkuNDg4MTA5MiA0LjgzMjE2NywxOS40ODgxMDkyIEM3LjU2MTI5NTYzLDE5LjQ4ODEwOTIgMTAuNjMxNTY1MywyMi4wMTI5OTI5IDExLjY1NDk4ODUsMjUuMTY5MDk3NiBDMTQuMDQyOTc2MSwzMS40ODEzMDY4IDUuMTczMzA4MDgsMzkuNjg3MTc4OSAyLjEwMzAzODM3LDM0LjAwNjE5MDYgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTMxLjI3NDQ0ODEsMTMuNDg2Nzc4OCBDMjIuMzUyNjcyOCw5Ljc1NzE4ODQ0IDIyLjM1MjY3MjgsNi44NTYzOTU5NyAzMS42OTkyOTQ2LDIuOTE5NjA2MTggQzQyLjEwODAzMjQsLTEuMjI0MzgzMDcgNTQuNjQxMDAyNSwtMC44MDk5ODQxNDcgNTkuMTAxODkwMiwzLjc0ODQwNDAzIEM2Mi4yODgyMzg1LDcuNDc3OTk0MzUgNjIuMjg4MjM4NSw3Ljg5MjM5MzI4IDU4Ljg4OTQ2NjksMTAuNzkzMTg1OCBDNTMuMTU0MDM5OSwxNS43NjU5NzI5IDM5LjM0NjUzMDUsMTcuMDA5MTY5NiAzMS4yNzQ0NDgxLDEzLjQ4Njc3ODggWiBNMzQuOTc2NzUxLDcuOTA3NDgwOTMgQzMxLjkwMDc0OTksMTAuMTEwNDkzNyAzNi42OTIxOTYxLDEwLjMyOTQyNTggNDQuNzk0NzQwOCw5LjkxNzg4MDc4IEM1Ni4wMTA3NjU5LDkuMjAxOTk3NDEgNTYuMTM5MTMwOSw0LjQyOTQzMDIxIDQ0LjcxMDU0MzIsNC45MTI0NDYyMyBDMzkuOTU1OTI2OCw1LjA0NDI5NDI5IDM1Ljc0NTc1MTMsNy4zNTY3Mjc3NSAzNC45NzY3NTEsNy45MDc0ODA5MyBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBpZD0iU3RlYW0iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU5LjAwMDAwMCwgMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjE2MDcyNzYzLDAgQzMuODM3ODQ1OSwyLjYzMDYwNzA1IDMuNjM2ODk2NjIsNS4zMDMwNTE1OSAzLjU1OTg2MzAyLDcuOTkwOTU4NDEgQzMuNTAzOTksMTEuNzQ3MDY3OSA0LjM0NTcxNTczLDE1LjM3MjE2MjYgNS44ODAxMjQ4MywxNy45ODM3MjUxIEM2Ljg5MDgwOTkzLDE5Ljc5NTY2IDcuODk1MzMyMywyMS42MjM4Njk4IDguODkzNjkxOTYsMjMuNDY4MzU0NCBDOS45NDgxNjY2MywyNS4zNTQ0ODk1IDEwLjY1MTEyNjEsMjcuNzYxNTg3NSAxMC45MDg4OTk0LDMwLjM2ODg5NjkgQzExLjIxOTk2NDQsMzMuNTA1NjYyMyAxMC43MjU3NDQzLDM2LjcyMzg3OTUgOS41NTkyNjUwOCwzOS4xNTczMjM3IEM4LjMyNzMwNjcyLDQxLjc4NjcwODYgNi42NzAxMDYxOCw0My42OTM5NDg1IDQuODA3ODEyNiw0NC42MjU2NzgxIEw0LjE2MDcyNzYzLDQ1IEM0LjU0ODk3ODYyLDQzLjc5NTY2IDQuOTE4NzQxNDUsNDIuNjg4OTY5MiA1LjI2MDc3MjA4LDQxLjU2NjAwMzYgQzUuNzIyOTc1NjMsNDAuMDUyNDQxMiA2LjE4NTE3OTE3LDM4LjUzODg3ODkgNi42MTA0MDY0NCwzNi45NzY0OTE5IEM3LjEwOTgxODQzLDM1LjIzMjYwNTYgNy4wNTAwOTQzNCwzMy4xNTQzNzM1IDYuNDUzMjU3MjMsMzEuNTA4MTM3NCBDNi4yMjkzNzk3LDMwLjkyMTQxNDkgNS45NzIzMTQ0NiwzMC4zNzYxMzUxIDUuNjg1OTk5MzQsMjkuODgwNjUxIEM0LjY2OTE1MTUzLDI4LjA0MTU5MTQgMy42MjQ1NzE1MiwyNi4yNjc2MzExIDIuNjM1NDU1OTIsMjQuNDEyMjk2NiBDMS40NTE3ODQ1NCwyMi4yNjgxOTg3IDAuNjIzODI5MjUsMTkuNTk0ODU0NyAwLjI0MTI0MTU0MiwxNi42ODE3MzYgQy0wLjQzODk4OTM5NiwxMS43NzA5NzU3IDAuMzQwNTA0MzQyLDYuNTg3ODgxNzIgMi4zMTE5MTM0MywyLjkxMzIwMDczIEMyLjc2NDg3MjkxLDIuMDE4MDgzMTkgMy4zMDEwMjkwMywxLjI4NTcxNDI5IDMuODAwMjA4ODcsMC40NTU2OTYyMDIgTDQuMDY4Mjg2OTIsNS4wNTkyNDQxNmUtMTUgTDQuMTYwNzI3NjMsMCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MiwyMi4yNzg0MzM1IEM0MS41MDg3NTY2LDIzLjI0Nzc0OCA0MS4wMzY3Nzc2LDI0LjE3NTUyMDUgNDAuNTU1MTY2NCwyNS4xNTg2ODIzIEM0MC4xODQ1MjQ5LDI1Ljk1MjczODQgMzkuODYyMjU0NSwyNi43OTEzMDc5IDM5LjU5MTk0NCwyNy42NjUwNTI4IEMzOS4yOTU2OTQzLDI4Ljg5MjY3NTUgMzkuMjI5MjU3MSwzMC4yMTA3MjI5IDM5LjM5OTI5OTQsMzEuNDg2OTIxNCBDMzkuNTQzNzgyOSwzMy40MjU1NTA0IDM5LjcyNjc5NTEsMzUuMzY0MTc5NSAzOS44MDM4NTI5LDM3LjMwMjgwODUgQzM5Ljg1NjMxMzIsMzguOTU2Nzk5MyAzOS41MTY3MTU1LDQwLjU4NzQxNCAzOC44NDA2MzA1LDQxLjkyNzgyMzUgQzM4LjAxMDUwMjcsNDMuNjk1MDc1NCAzNi42NjAyMTU1LDQ0LjgxMzgwOTIgMzUuMTgwMzg1Myw0NC45NjAzOTMyIEMzMy43MjAwMDUsNDUuMTQ4NDYwOCAzMi4yNTU4ODU1LDQ0LjY2MzQ3NzQgMzEsNDMuNTc1NjU4MSBMMzEuMTM0ODUxMSw0My40MDk0ODk5IEMzMi4wOTgwNzM2LDQyLjQ5NTU2NDkgMzMuMTI4NzIxNSw0MS41OTU0ODcxIDM0LjEwMTU3NjIsNDAuNjQwMDE5OSBDMzQuNzYwMzc3MSw0MC4wNjgxMTA0IDM1LjA3ODA5MzUsMzguOTQwMzI5NiAzNC44ODE3ODYzLDM3Ljg3MDU0OTkgQzM0LjUzOTkyMDgsMzUuNTA3MDY1NyAzNC4zNzUyMzI1LDMzLjA5NzcxNjYgMzQuMzkwNTQzLDMwLjY4Mzc3NSBDMzQuNTUzMDI0NywyNi4zNjI2MjcyIDM2Ljc5MjQzMTgsMjIuNzkxMzAwNCAzOS43NjUzMjQsMjIuMTEyMjY1MyBDNDAuNDE5NDA4MSwyMS45NjI1NzgyIDQxLjA4NTg0NTcsMjEuOTYyNTc4MiA0MS43Mzk5Mjk5LDIyLjExMjI2NTMgTDQxLjg4NDQxMzQsMjIuMTEyMjY1MyBMNDIsMjIuMjc4NDMzNSBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+'});var ServerSideRender=wp.serverSideRender;const{RichText,InspectorControls}=blockEditor;const{TextControl,CheckboxControl,RadioControl,SelectControl,TextareaControl,ToggleControl,RangeControl,Panel,PanelBody,PanelRow,}=components;registerBlockType('yarpp/yarpp-block',{title:__('YARPP Block','yarpp'),description:__('Display related posts by YARPP','yarpp'),category:'yarpp',icon:iconEl,keywords:[__('yarpp','yarpp'),__('related posts','yarpp'),__('posts','yarpp')],supports:{html:!1,},attributes:{limit:{type:'number',default:6,},template:{type:'string',default:yarpp_localized.selected_theme_style,},yarpp_preview:{type:'string',},},example:{attributes:{yarpp_preview:'yarpp_preview',},},edit:function(props){const attributes=props.attributes;const setAttributes=props.setAttributes;var template=Object.keys(yarpp_localized.template).map(function(key){return{value:key,label:yarpp_localized.template[key]}});if(props.isSelected){};function changeThumbnail(template){setAttributes({template})}
2
- return[el("div",{className:props.className},el(ServerSideRender,{block:'yarpp/yarpp-block',attributes:attributes,})),el(InspectorControls,{},el(PanelBody,{title:'YARPP Posts Settings',initialOpen:!0},el(TextControl,{label:__('Maximum number of posts','yarpp'),value:attributes.limit,onChange:function(val){setAttributes({limit:parseInt(val)})},type:'number',min:1,step:1}),el(SelectControl,{value:attributes.template,label:__('Theme','yarpp'),onChange:changeThumbnail,options:template}),),),]},save(){return null}})})(window.wp.blocks,window.wp.i18n,window.wp.element,window.wp.components,window.wp.editor,window.wp.blockEditor,window.wp.serverSideRender)
1
+ !function(M,N,D,z,j){var T=D.createElement;const{registerBlockType:I}=M,{__:g}=N;var N=T("img",{src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTQ1cHgiIGhlaWdodD0iMTkxcHgiIHZpZXdCb3g9IjAgMCAxNDUgMTkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+bWFyazwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJtYXJrIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxLjAwMDAwMCwgMC4wMDAwMDApIiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8ZyBpZD0iY29mZmVlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MS41MDAwMDAsIDEyMC43MDM3MDQpIHNjYWxlKC0xLCAxKSByb3RhdGUoLTE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtNzEuNTAwMDAwLCAtMTIwLjcwMzcwNCkgdHJhbnNsYXRlKDAuMDAwMDAwLCA1MS43MDM3MDQpIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00Mi44NjA1NzA2LDEzNi4wODIyOCBDMzIuODM4MzcwNSwxMzQuNzgzMzg4IDI1LjQ2Njk2OTcsMTMyLjg5OTk5NyAyMC43NDYzNjgxLDEzMC40MzIxMDMgTDE3LjM2OTMyMjUsMTI3LjgwMTg0OSBMMTcuNjk2MTMzMywxMTMuMjg2NzM4IEMxNy45MTQwMDcyLDk5LjM1NjEyOTIgMTcuOTE0MDA3Miw5OC42NzQyMTEzIDE1LjYyNjMzMSw5Ni44MjMyOTEyIEM5Ljg1MjY3MjI5LDkyLjE0NzI4MjcgMCw3OS4yNjM5ODU1IDAsNjguNTQ4MTMyNSBDMCw2My4xOTAyMDYgMS41NTkxMDc0Myw2MC4wNjIyODM2IDQuODI3MjE2MTksNTQuNDEyMTA2NiBDNy4wMDU5NTUzNSw1MC44MDc2ODMzIDEzLjUyNDk3MDMsNDUuNTM3MDMzNCAxNC43MjMyNzY5LDQ0LjU2Mjg2NDkgQzE3LjAxMDk1MjksNDMuMDA0MTk1MyAxOC40NTg2OTE5LDQ0LjEzMDMxMzggMTcuNjk2MTMzMywzMy4xMjIyMTAyIEMxNi44MjQ2Mzc2LDE5LjM4NjQzNSAxNi4wNjIwNzg5LDE3LjQyODU2MjEgMjQuMDE0NDc2OCwxMi44NDk5NzAzIEMzNC43OTkyMzU4LDYuNjE1MjkyMTkgNDIuNzUxNjMzNywzLjU5NTM2OTk3IDUyLjc3MzgzMzksMS43NDQ0NDk5IEM3Ni42MzEwMjc3LC0yLjQ0NDQ3NDQ2IDExMy4zNDI3ODMsMS4yNTczNjU2OCAxMjYuMzA2MjgsOS4xNDgxMzAxNyBDMTMzLjkzMTg2OCwxMy45MjE1NTU2IDEzNi41NDYzNTUsMTYuODQ0MDYxIDEzNi41NDYzNTUsMjAuOTM1NTY4NCBDMTQwLjQ2ODA4NSw4Ny44OTM0MTM3IDE0Mi41Mzc4ODgsMTIxLjg1OTQyIDE0Mi43NTU3NjEsMTIyLjgzMzU4OSBDMTQzLjE5MTUwOSwxMjUuMDc0MTc3IDE0Mi43NTU3NjEsMTI1LjY1ODY3NyAxMzkuMTYwODQyLDEyNy4zMTQ3NjQgQzEzNC4wNDA4MDQsMTI5LjY1Mjc2OSAxMjcuODMxMzk4LDEzMC44MjE3NzEgMTA2LjU4ODY5MSwxMzMuMzU0NjA5IEM5Ny42NTU4NjA3LDEzNC40MjYxOTQgODcuMDg4OTc1OCwxMzUuNjkyNjEzIDgzLjE2NzI0NTIsMTM2LjI3NzExNCBDNzQuNTYxMjI1NSwxMzcuNDQ2MTE2IDUyLjU1NTk2LDEzNy4zNDg2OTkgNDIuODYwNTcwNiwxMzYuMDgyMjggWiBNODQuNTMwMjczNCwxMzIuMDc4NzA0IEM5MC4yMzM4MTY3LDEzMS4zODQ4NTYgOTkuMDk4MzIxMywxMzAuMjUwMDg2IDEwOS4wMzgwODYsMTI5LjE5MzQ1IEMxMjMuMjY5NTg5LDEyNy4wMjU1MDQgMTM1LjQxOTkwMSwxMjUuNjI2MzMxIDEzNi4wNTI0MTMsMTIzLjMzMDg1OSBDMTM2LjI2MzI1LDEyMi42OTMyMjggMTIzLjkzNDI5NSwxMjAuOTc0MjM5IDEyMC4zNTAwNjQsMTE5LjgyNjUwMyBDMTE0LjEzMDM3MSwxMTcuNzg2MDg0IDEwMi4yODI2OTYsMTIwLjE4NTg4MSA5MC4zNzQ5MTk3LDEyMi40MTM1NjMgQzc4LjUwNDkyOTIsMTI0LjYzNDE3NSA2NS40NTYzNDA4LDEyMy4zMzA4NTkgNTcuMjU0NTk4NywxMjMuMzMwODU5IEM1Ny4yNTQ1OTg3LDEyMy4zMzA4NTkgNTIuNDc1NDQ2NiwxMjIuNTIzMTkzIDQyLjkxNzE0MjUsMTIwLjkwNzg2MSBDMzQuODc2MDMxNiwxMTkuNTQ4OTMxIDM2LjIyMTA1NjEsMTE5LjEyMjQ5NCAzMC4wMDEzNjIyLDEyMS44MDA1NDUgQzI2LjQxNzEzMTksMTIzLjQ1ODM4NSAyMy4yNTQ1NzU3LDEyNS4yNDM3NTIgMjMuMTQ5MTU3MiwxMjYuMDA4OTEgQzIzLjE0OTE1NzIsMTI2LjY0NjU0MSAyMy40NDM2MjM4LDEyOC40NjE1MjIgMjYuNDE3MTMxOSwxMjkuOTYyMjIxIEMzMC43NTg3ODkxLDEzMi4xNTM0MTEgNDMuNTE0MTYwMiwxMzIuNDQxMDA4IDU0LjcxNDM1NTUsMTMyLjk4NzM5NSBDNjMuNDg1ODM5OCwxMzIuOTg3Mzk1IDc4LjgyNjczMDEsMTMyLjc3MjU1MSA4NC41MzAyNzM0LDEzMi4wNzg3MDQgWiBNMzkuODcwNjc2MSwxMTYuNzY2ODQ0IEM0NC4xMjY4ODU2LDExNS43MjU4NzYgNTMuNjc3NDA0MSwxMTQuMjExNzQgNjEuMTUxNzIyOCwxMTMuMzYwMDM4IEM3OC43OTk0MjAxLDExMS4zNzI3MzQgMTM0Ljk2MDYyMSwxMTkuNTExMjE1IDEzNS4xNjgyNDEsMTE5LjIyNzMxNSBDMTM1LjM3NTg2MSwxMTkuMDM4MDQ5IDEzNC40NDE1NzEsNTQuMTE5NDYyNSAxMzEuMzI3MjcyLDI5LjcwNDAxNzcgQzEyOS44NzM5MzIsMTguOTE1Nzk3OCAxMjkuMzU0ODgyLDE3Ljk2OTQ2MjcgMTIyLjA4ODE4MywxMy40MjcwNTQ0IEMxMTAuNDYxNDY1LDYuMDQ1NjQwODQgNzQuNTQzMjEwNywyLjczMzQ2ODA4IDUzLjM2NTk3NCw2Ljk5MTk3NTkgQzQyLjk4NDk3NTcsOS4wNzM5MTMwNyAzNi43NTYzNzY3LDExLjcyMzY1MTMgMjcuNDEzNDc4MSwxNy42ODU1NjIzIEwyMi4yODExNjk0LDIxLjU4ODA4NTQgTDIzLjU3MjUwODgsMTIxLjMwOTI1MyBMMzkuODcwNjc2MSwxMTYuNzY2ODQ0IFogTTE3LjU5OTcwNDMsNjUuODAxMzgyMSBDMTcuNTk5NzA0Myw1MC44MjAwMDIzIDE4LjE3MDY1OTIsNTAuNzUyOTc1MyAxNy41OTk3MDQzLDUwLjc1Mjk3NTMgQzE0LjIyNTgzNzcsNTAuNzUyOTc1MyAxMC42ODY5OTQ2LDUzLjIwODYyOTYgNy45MzM0NTE3Miw1Ny42NDI4NTY0IEM1LjgxMDQ2NjgsNjEuMDYxNjUwNyA1LjUwMzQ2MTY2LDY1LjYzMDE2MjggNS41MDM0NjE2Niw2Ny4yMjgwNzE0IEM1LjUwMzQ2MTY2LDc4LjAyNjAyMTMgMTAuODY3NjAxOCw4Ni41MTAxNTI1IDE3LjU5OTcwNDMsODYuNTEwMTUyNSBDMTcuNTk5NzA0Myw4Ni41MTAxNTI1IDE3LjU5OTcwNDMsNzkuNjA3MjI5IDE3LjU5OTcwNDMsNjUuODAxMzgyMSBaIiBpZD0ibXVnIiBzdHJva2U9IiMwMDAwMDAiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxnIGlkPSJGYWNlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MC45NDI4NTAsIDYwLjQwMDc5NykiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02Mi4xNjA3NzgsMzMuNTQ3NTgzNSBDNTguNDA4MjI2MiwyNi42MDQxNTMzIDYwLjExMzkzMTYsMTkuMDI5NTAyMiA2NC44ODk5MDY2LDE5LjAyOTUwMjIgQzY3LjYxOTAzNTMsMTkuMDI5NTAyMiA3MC42ODkzMDQ5LDIxLjU1NDM4NiA3MS43MTI3MjgyLDI0LjcxMDQ5MDYgQzc0LjEwMDcxNTcsMzEuMDIyNjk5OSA2NS4yMzEwNDc4LDM5LjIyODU3MTggNjIuMTYwNzc4LDMzLjU0NzU4MzUgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIuMTAzMDM4MzcsMzQuMDA2MTkwNiBDLTEuNjQ5NTEzNDksMjcuMDYyNzYwMyAwLjA1NjE5MTkwMTksMTkuNDg4MTA5MiA0LjgzMjE2NywxOS40ODgxMDkyIEM3LjU2MTI5NTYzLDE5LjQ4ODEwOTIgMTAuNjMxNTY1MywyMi4wMTI5OTI5IDExLjY1NDk4ODUsMjUuMTY5MDk3NiBDMTQuMDQyOTc2MSwzMS40ODEzMDY4IDUuMTczMzA4MDgsMzkuNjg3MTc4OSAyLjEwMzAzODM3LDM0LjAwNjE5MDYgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTMxLjI3NDQ0ODEsMTMuNDg2Nzc4OCBDMjIuMzUyNjcyOCw5Ljc1NzE4ODQ0IDIyLjM1MjY3MjgsNi44NTYzOTU5NyAzMS42OTkyOTQ2LDIuOTE5NjA2MTggQzQyLjEwODAzMjQsLTEuMjI0MzgzMDcgNTQuNjQxMDAyNSwtMC44MDk5ODQxNDcgNTkuMTAxODkwMiwzLjc0ODQwNDAzIEM2Mi4yODgyMzg1LDcuNDc3OTk0MzUgNjIuMjg4MjM4NSw3Ljg5MjM5MzI4IDU4Ljg4OTQ2NjksMTAuNzkzMTg1OCBDNTMuMTU0MDM5OSwxNS43NjU5NzI5IDM5LjM0NjUzMDUsMTcuMDA5MTY5NiAzMS4yNzQ0NDgxLDEzLjQ4Njc3ODggWiBNMzQuOTc2NzUxLDcuOTA3NDgwOTMgQzMxLjkwMDc0OTksMTAuMTEwNDkzNyAzNi42OTIxOTYxLDEwLjMyOTQyNTggNDQuNzk0NzQwOCw5LjkxNzg4MDc4IEM1Ni4wMTA3NjU5LDkuMjAxOTk3NDEgNTYuMTM5MTMwOSw0LjQyOTQzMDIxIDQ0LjcxMDU0MzIsNC45MTI0NDYyMyBDMzkuOTU1OTI2OCw1LjA0NDI5NDI5IDM1Ljc0NTc1MTMsNy4zNTY3Mjc3NSAzNC45NzY3NTEsNy45MDc0ODA5MyBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBpZD0iU3RlYW0iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU5LjAwMDAwMCwgMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjE2MDcyNzYzLDAgQzMuODM3ODQ1OSwyLjYzMDYwNzA1IDMuNjM2ODk2NjIsNS4zMDMwNTE1OSAzLjU1OTg2MzAyLDcuOTkwOTU4NDEgQzMuNTAzOTksMTEuNzQ3MDY3OSA0LjM0NTcxNTczLDE1LjM3MjE2MjYgNS44ODAxMjQ4MywxNy45ODM3MjUxIEM2Ljg5MDgwOTkzLDE5Ljc5NTY2IDcuODk1MzMyMywyMS42MjM4Njk4IDguODkzNjkxOTYsMjMuNDY4MzU0NCBDOS45NDgxNjY2MywyNS4zNTQ0ODk1IDEwLjY1MTEyNjEsMjcuNzYxNTg3NSAxMC45MDg4OTk0LDMwLjM2ODg5NjkgQzExLjIxOTk2NDQsMzMuNTA1NjYyMyAxMC43MjU3NDQzLDM2LjcyMzg3OTUgOS41NTkyNjUwOCwzOS4xNTczMjM3IEM4LjMyNzMwNjcyLDQxLjc4NjcwODYgNi42NzAxMDYxOCw0My42OTM5NDg1IDQuODA3ODEyNiw0NC42MjU2NzgxIEw0LjE2MDcyNzYzLDQ1IEM0LjU0ODk3ODYyLDQzLjc5NTY2IDQuOTE4NzQxNDUsNDIuNjg4OTY5MiA1LjI2MDc3MjA4LDQxLjU2NjAwMzYgQzUuNzIyOTc1NjMsNDAuMDUyNDQxMiA2LjE4NTE3OTE3LDM4LjUzODg3ODkgNi42MTA0MDY0NCwzNi45NzY0OTE5IEM3LjEwOTgxODQzLDM1LjIzMjYwNTYgNy4wNTAwOTQzNCwzMy4xNTQzNzM1IDYuNDUzMjU3MjMsMzEuNTA4MTM3NCBDNi4yMjkzNzk3LDMwLjkyMTQxNDkgNS45NzIzMTQ0NiwzMC4zNzYxMzUxIDUuNjg1OTk5MzQsMjkuODgwNjUxIEM0LjY2OTE1MTUzLDI4LjA0MTU5MTQgMy42MjQ1NzE1MiwyNi4yNjc2MzExIDIuNjM1NDU1OTIsMjQuNDEyMjk2NiBDMS40NTE3ODQ1NCwyMi4yNjgxOTg3IDAuNjIzODI5MjUsMTkuNTk0ODU0NyAwLjI0MTI0MTU0MiwxNi42ODE3MzYgQy0wLjQzODk4OTM5NiwxMS43NzA5NzU3IDAuMzQwNTA0MzQyLDYuNTg3ODgxNzIgMi4zMTE5MTM0MywyLjkxMzIwMDczIEMyLjc2NDg3MjkxLDIuMDE4MDgzMTkgMy4zMDEwMjkwMywxLjI4NTcxNDI5IDMuODAwMjA4ODcsMC40NTU2OTYyMDIgTDQuMDY4Mjg2OTIsNS4wNTkyNDQxNmUtMTUgTDQuMTYwNzI3NjMsMCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MiwyMi4yNzg0MzM1IEM0MS41MDg3NTY2LDIzLjI0Nzc0OCA0MS4wMzY3Nzc2LDI0LjE3NTUyMDUgNDAuNTU1MTY2NCwyNS4xNTg2ODIzIEM0MC4xODQ1MjQ5LDI1Ljk1MjczODQgMzkuODYyMjU0NSwyNi43OTEzMDc5IDM5LjU5MTk0NCwyNy42NjUwNTI4IEMzOS4yOTU2OTQzLDI4Ljg5MjY3NTUgMzkuMjI5MjU3MSwzMC4yMTA3MjI5IDM5LjM5OTI5OTQsMzEuNDg2OTIxNCBDMzkuNTQzNzgyOSwzMy40MjU1NTA0IDM5LjcyNjc5NTEsMzUuMzY0MTc5NSAzOS44MDM4NTI5LDM3LjMwMjgwODUgQzM5Ljg1NjMxMzIsMzguOTU2Nzk5MyAzOS41MTY3MTU1LDQwLjU4NzQxNCAzOC44NDA2MzA1LDQxLjkyNzgyMzUgQzM4LjAxMDUwMjcsNDMuNjk1MDc1NCAzNi42NjAyMTU1LDQ0LjgxMzgwOTIgMzUuMTgwMzg1Myw0NC45NjAzOTMyIEMzMy43MjAwMDUsNDUuMTQ4NDYwOCAzMi4yNTU4ODU1LDQ0LjY2MzQ3NzQgMzEsNDMuNTc1NjU4MSBMMzEuMTM0ODUxMSw0My40MDk0ODk5IEMzMi4wOTgwNzM2LDQyLjQ5NTU2NDkgMzMuMTI4NzIxNSw0MS41OTU0ODcxIDM0LjEwMTU3NjIsNDAuNjQwMDE5OSBDMzQuNzYwMzc3MSw0MC4wNjgxMTA0IDM1LjA3ODA5MzUsMzguOTQwMzI5NiAzNC44ODE3ODYzLDM3Ljg3MDU0OTkgQzM0LjUzOTkyMDgsMzUuNTA3MDY1NyAzNC4zNzUyMzI1LDMzLjA5NzcxNjYgMzQuMzkwNTQzLDMwLjY4Mzc3NSBDMzQuNTUzMDI0NywyNi4zNjI2MjcyIDM2Ljc5MjQzMTgsMjIuNzkxMzAwNCAzOS43NjUzMjQsMjIuMTEyMjY1MyBDNDAuNDE5NDA4MSwyMS45NjI1NzgyIDQxLjA4NTg0NTcsMjEuOTYyNTc4MiA0MS43Mzk5Mjk5LDIyLjExMjI2NTMgTDQxLjg4NDQxMzQsMjIuMTEyMjY1MyBMNDIsMjIuMjc4NDMzNSBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"}),y=wp.serverSideRender;const{InspectorControls:w}=j,{TextControl:A,SelectControl:L,PanelBody:O}=z;I("yarpp/yarpp-block",{title:g("YARPP Block","yarpp"),description:g("Display related posts by YARPP","yarpp"),category:"yarpp",icon:N,keywords:[g("yarpp","yarpp"),g("related posts","yarpp"),g("posts","yarpp")],supports:{html:!1},attributes:{limit:{type:"number",default:6},template:{type:"string",default:yarpp_localized.selected_theme_style},yarpp_preview:{type:"string"}},example:{attributes:{yarpp_preview:"yarpp_preview"}},edit:function(M){var N=M.attributes;const D=M.setAttributes;var z=Object.keys(yarpp_localized.template).map(function(M){return{value:M,label:yarpp_localized.template[M]}});return M.isSelected,[T("div",{className:M.className},T(y,{block:"yarpp/yarpp-block",attributes:N})),T(w,{},T(O,{title:"YARPP Posts Settings",initialOpen:!0},T(A,{label:g("Maximum number of posts","yarpp"),value:N.limit,onChange:function(M){D({limit:parseInt(M)})},type:"number",min:1,step:1}),T(L,{value:N.template,label:g("Theme","yarpp"),onChange:function(M){D({template:M})},options:z})))]},save(){return null}})}(window.wp.blocks,window.wp.i18n,window.wp.element,window.wp.components,(window.wp.editor,window.wp.blockEditor),window.wp.serverSideRender);
 
js/metabox.min.js CHANGED
@@ -1,6 +1 @@
1
- jQuery(document).ready(function($){var loaded_metabox=!1;var display=$('#yarpp-related-posts');function yarpp_metabox_initial_display(){if(!$('#yarpp_relatedposts')||!display.length||!$('#post_ID').val())
2
- return;if(!loaded_metabox){loaded_metabox=!0;yarpp_metabox_populate(!1)}}
3
- function yarpp_metabox_populate(refresh){var data={action:'yarpp_display',domain:'metabox',ID:parseInt($('#post_ID').val()),'_ajax_nonce':$('#yarpp_display-nonce').val()};if(typeof refresh!=='undefined'&&refresh){data.refresh=!0}
4
- $.ajax({type:'POST',url:ajaxurl,data:data,error:function(){display.html("Error")},success:function(html){display.html(html)},dataType:'html'})}
5
- $('#yarpp_relatedposts .handlediv, #yarpp_relatedposts-hide').click(function(){setTimeout(yarpp_metabox_initial_display,0)});$(document).on('touchstart mouseenter','#yarpp-list li',function(){$(this).children('.yarpp-related-action').css('visibility','visible')});$(document).on('touchend mouseleave','#yarpp-list li',function(){$(this).children('.yarpp-related-action').css('visibility','hidden')});$(document).on('click','#yarpp-refresh',function(e){e.preventDefault();var display=$('#yarpp-related-posts');if($(this).hasClass('disabled'))
6
- return!1;$refresh_button=$(this);$spinner=$refresh_button.siblings('.spinner');$refresh_button.addClass('yarpp-disabled');$spinner.css('visibility','visible');$('#yarpp-list').css('opacity',0.6);yarpp_metabox_populate(!0)});yarpp_metabox_initial_display()})
1
+ jQuery(document).ready(function(i){var t=!1,e=i("#yarpp-related-posts");function a(){i("#yarpp_relatedposts")&&e.length&&i("#post_ID").val()&&(t||(t=!0,s(!1)))}function s(t){var a={action:"yarpp_display",domain:"metabox",ID:parseInt(i("#post_ID").val()),_ajax_nonce:i("#yarpp_display-nonce").val()};void 0!==t&&t&&(a.refresh=!0),i.ajax({type:"POST",url:ajaxurl,data:a,error:function(){e.html("Error")},success:function(t){e.html(t)},dataType:"html"})}i("#yarpp_relatedposts .handlediv, #yarpp_relatedposts-hide").click(function(){setTimeout(a,0)}),i(document).on("touchstart mouseenter","#yarpp-list li",function(){i(this).children(".yarpp-related-action").css("visibility","visible")}),i(document).on("touchend mouseleave","#yarpp-list li",function(){i(this).children(".yarpp-related-action").css("visibility","hidden")}),i(document).on("click","#yarpp-refresh",function(t){t.preventDefault();i("#yarpp-related-posts");if(i(this).hasClass("disabled"))return!1;const a=i(this),e=a.siblings(".spinner");a.addClass("yarpp-disabled"),e.css("visibility","visible"),i("#yarpp-list").css("opacity",.6),s(!0)}),a()});
 
 
 
 
 
js/options_basic.min.js CHANGED
@@ -1,47 +1 @@
1
- jQuery(function($){postboxes.add_postbox_toggles(pagenow);function template(){var metabox=$(this).closest('#yarpp_display_web, #yarpp_display_rss');if(!metabox.length)return;value=metabox.find('.use_template').val();metabox.find('.yarpp_subbox').hide();metabox.find('.template_options_'+value).show();var no_results_area=metabox.find('.yarpp_no_results');if(value==='custom'){no_results_area.hide()}else{no_results_area.show()}
2
- excerpt.apply(metabox)}
3
- $('.use_template').each(template).change(template);function excerpt(){var metabox=$(this).closest('#yarpp_display_web, #yarpp_display_rss');metabox.find('.excerpted').toggle(!!(metabox.find('.use_template').val()==='builtin'&&metabox.find('.show_excerpt input').prop('checked')))}
4
- $('.show_excerpt, .use_template, #yarpp-rss_display').click(excerpt);var loaded_demo_web=!1;function display(){if(!$('#yarpp_display_web .inside').is(':visible'))
5
- return;$('.yarpp_code_display').toggle($('#yarpp_display_code').is(':checked'));if($('#yarpp_display_web .yarpp_code_display').is(':visible')&&!loaded_demo_web){loaded_demo_web=!0;var demo_web=$('#display_demo_web');$.ajax({type:'POST',url:ajaxurl,data:{action:'yarpp_display_demo',domain:'website','_ajax_nonce':$('#yarpp_display_demo-nonce').val()},beforeSend:function(){demo_web.html(loading)},success:function(html){demo_web.html('<pre>'+html+'</pre>')},dataType:'html'})}}
6
- $('#yarpp_display_web .handlediv, #yarpp_display_web-hide').click(display);display();var loaded_demo_rss=!1;function rss_display(){if(!$('#yarpp_display_rss .inside').is(':visible'))
7
- return;if($('#yarpp-rss_display').is(':checked')){$('.rss_displayed').show();$('.yarpp_code_display').toggle($('#yarpp_display_code').is(':checked'));if($('#yarpp_display_rss .yarpp_code_display').is(':visible')&&!loaded_demo_rss){loaded_demo_rss=!0;var demo_rss=$('#display_demo_rss');$.ajax({type:'POST',url:ajaxurl,data:{action:'yarpp_display_demo',domain:'rss','_ajax_nonce':$('#yarpp_display_demo-nonce').val()},beforeSend:function(){demo_rss.html(loading)},success:function(html){demo_rss.html('<pre>'+html+'</pre>')},dataType:'html'})}
8
- $('#yarpp_display_rss').each(template)}else{$('.rss_displayed').hide()}}
9
- $('#yarpp-rss_display, #yarpp_display_rss .handlediv, #yarpp_display_rss-hide').click(rss_display);rss_display();function yarpp_rest_display(){if(!$('#yarpp_display_api .inside').is(':visible'))
10
- return;if($('#yarpp-rest_api_display').is(':checked')){$('.yarpp_rest_displayed').show()}else{$('.yarpp_rest_displayed').hide()}}
11
- $('#yarpp-rest_api_display').click(yarpp_rest_display);yarpp_rest_display();function yarpp_rest_cache_display(){if($('#yarpp-rest_api_client_side_caching').is(':checked')){$('.yarpp_rest_browser_cache_displayed').show()}else{$('.yarpp_rest_browser_cache_displayed').hide()}}
12
- $('#yarpp-rest_api_client_side_caching').click(yarpp_rest_cache_display);yarpp_rest_cache_display();var loaded_disallows=!1;function load_disallows(){if(loaded_disallows||!$('#yarpp_pool .inside').is(':visible'))
13
- return;loaded_disallows=!0;var finished_taxonomies={},term_indices={};function load_disallow(taxonomy){if(taxonomy in finished_taxonomies)
14
- return;var display=$('#exclude_'+taxonomy);if(display.find('.loading').length)
15
- return;if(taxonomy in term_indices)
16
- term_indices[taxonomy]=term_indices[taxonomy]+100;else term_indices[taxonomy]=0;$.ajax({type:'POST',url:ajaxurl,data:{action:'yarpp_display_exclude_terms',taxonomy:taxonomy,offset:term_indices[taxonomy],'_ajax_nonce':$('#yarpp_display_exclude_terms-nonce').val()},beforeSend:function(){display.append(loading)},success:function(html){display.find('.loading').remove();if(':('==html){finished_taxonomies[taxonomy]=!0;display.append("-");return}
17
- display.append(html)},dataType:'html'})}
18
- $('.exclude_terms').each(function(){var id=jQuery(this).attr('id'),taxonomy;if(!id)
19
- return;taxonomy=id.replace('exclude_','');load_disallow(taxonomy);$('#exclude_'+taxonomy).parent('.yarpp_scroll_wrapper').scroll(function(){var parent=$(this),content=parent.children('div');if(parent.scrollTop()+parent.height()>content.height()-10)
20
- load_disallow(taxonomy)})})}
21
- $('#yarpp_pool .handlediv, #yarpp_pool-hide').click(load_disallows);load_disallows();function show_help(section){$('#tab-link-'+section+' a').click();$('#contextual-help-link').click()}
22
- $('#yarpp-optin-learnmore').click(function(){show_help('optin')});$('#yarpp-help-cpt').click(function(){show_help('dev')});if(location.hash=='#help-optin')
23
- setTimeout(function(){show_help('optin')});$('.yarpp_help[data-help]').hover(function(){var that=$(this),help='<p>'+that.attr('data-help')+'</p>',options={content:help,position:{edge:isRtl?'right':'left',align:'center',of:that},document:{body:that}};var pointer=that.pointer(options).pointer('open');that.closest('.yarpp_form_row, p').mouseleave(function(){pointer.pointer('close')})});$('.yarpp_template_button[data-help]').hover(function(){var that=$(this),help='<p>'+that.attr('data-help')+'</p>',options={content:help,position:{edge:'bottom',of:that},document:{body:that}};var pointer=that.pointer(options).pointer('open');that.mouseleave(function(){pointer.pointer('close')});$('.yarpp_copy_templates_button').on('click',function(){$copy_templates_button=$(this);$spinner=$copy_templates_button.siblings('.spinner');$copy_templates_button.addClass('yarpp-disabled');$spinner.addClass('is-active');window.location=window.location+(window.location.search.length?'&':'?')+'action=copy_templates&_ajax_nonce='+$('#yarpp_copy_templates-nonce').val()})});$('.yarpp_spin_on_click').on('click',function(){$button=$(this);$spinner=$button.siblings('.spinner');$button.addClass('yarpp-disabled');$spinner.addClass('is-active')});$('.yarpp_template_button:not(.disabled)').click(function(){$(this).siblings('input').val($(this).attr('data-value')).change();$(this).siblings().removeClass('active');$(this).addClass('active')});function template_info(){var template=$(this).find('option:selected'),row=template.closest('.yarpp_form_row');if(!!template.attr('data-url')){row.find('.template_author_wrap').toggle(!!template.attr('data-author')).find('span').empty().append('<a>'+template.attr('data-author')+'</a>').attr('href',template.attr('data-url'))}else{row.find('.template_author_wrap').toggle(!!template.attr('data-author')).find('span').text(template.attr('data-author'))}
24
- row.find('.template_description_wrap').toggle(!!template.attr('data-description')).find('span').text(template.attr('data-description'));row.find('.template_file_wrap').toggle(!!template.attr('data-basename')).find('span').text(template.attr('data-basename'))}
25
- $('#template_file, #rss_template_file').each(template_info).change(template_info);var loaded_optin_data=!1;function _display_optin_data(){if(!$('#optin_data_frame').is(':visible')||loaded_optin_data)
26
- return;loaded_optin_data=!0;var frame=$('#optin_data_frame');$.ajax({type:'POST',url:ajaxurl,data:{action:'yarpp_optin_data','_ajax_nonce':$('#yarpp_optin_data-nonce').val()},beforeSend:function(){frame.html(loading)},success:function(html){frame.html('<pre>'+html+'</pre>')},dataType:'html'})}
27
- function display_optin_data(){setTimeout(_display_optin_data,0)}
28
- $('#yarpp-optin-learnmore, a[aria-controls=tab-panel-optin]').bind('click focus',display_optin_data);display_optin_data();function sync_no_results(){var value=$(this).find('input').attr('value');if($(this).hasClass('sync_no_results'))
29
- $('.sync_no_results input').attr('value',value);if($(this).hasClass('sync_rss_no_results'))
30
- $('.sync_rss_no_results input').attr('value',value)}
31
- $('.sync_no_results, .sync_rss_no_results').change(sync_no_results);$('#yarpp_display_code').click(function(){var args={action:'yarpp_set_display_code','_ajax_nonce':$('#yarpp_set_display_code-nonce').val()};if($(this).is(':checked'))
32
- args.checked=!0;$.ajax({type:'POST',url:ajaxurl,data:args});display();rss_display()});function auto_display_archive(){var available=$('.yarpp_form_post_types').is(':has(input[type=checkbox]:checked)');$('#yarpp-auto_display_archive').attr('disabled',!available);if(!available)
33
- $('#yarpp-auto_display_archive').prop('checked',!1)}
34
- $('.yarpp_form_post_types input[type=checkbox]').change(auto_display_archive);auto_display_archive();$("#yarpp_fulltext_expand").click(function(e){e.preventDefault();var $details=$("#yarpp_fulltext_details");$details.slideToggle();if($details.hasClass('hidden')){$details.removeClass('hidden');$(this).text('Hide Details [-]')}else{$details.addClass('hidden');$(this).text('Show Details [+]')}});$('.include_post_type input[type=checkbox]').change(function(e){var get_attr=$(this).attr('data-post-type');if($('#yarpp-same_post_type').is(':checked')){yarpp_enable_disabel_checkbox($(this).is(':checked'),get_attr)}else{$('.yarpp_form_post_types #yarpp_post_type_'+get_attr).prop("disabled",!1)}});$('#yarpp-same_post_type').change(function(e){var get_checkboxes='.include_post_type input[type=checkbox]';if($(this).is(':checked')){$(get_checkboxes).each(function(){var get_attr=$(this).attr('data-post-type');yarpp_enable_disabel_checkbox($(this).is(':checked'),get_attr)})}else{$('.yarpp_form_post_types input[type=checkbox]').prop("disabled",!1);$('.yarpp_form_post_types input[type=checkbox]').siblings().hide()}});function yarpp_enable_disabel_checkbox(checked,get_attr){if(checked){$('.yarpp_form_post_types #yarpp_post_type_'+get_attr).prop("disabled",!1);$('.yarpp_form_post_types #yarpp_post_type_'+get_attr).siblings().hide()}else{$('.yarpp_form_post_types #yarpp_post_type_'+get_attr).prop("disabled",!0);$('.yarpp_form_post_types #yarpp_post_type_'+get_attr).siblings().show()}}
35
- var yarpp_model=$('\
36
- <div id="shareaholic-deactivate-dialog" class="shareaholic-deactivate-dialog" data-remodal-id="">\
37
- <div class="shareaholic-deactivate-header" style="background-image: url('+yarpp_messages.logo+'); background-color: '+yarpp_messages.bgcolor+';"><div class="shareaholic-deactivate-text"><h2>'+yarpp_messages.model_title+'</h2></div></div>\
38
- <div class="shareaholic-deactivate-body">\
39
- <div class="shareaholic-deactivate-body-foreword">'+yarpp_messages.alert_message+'</div>\
40
- <div class="shareaholic-deactivate-dialog-footer">\
41
- <input type="submit" class="button confirm button-secondary" id="yarpp-clear-cache-submit" value="Delete"/>\
42
- <button data-remodal-action="cancel" class="button button-secondary">Cancel</button>\
43
- </div>\
44
- </div>\
45
- </div>\
46
- ')[0];$('#yarpp-clear-cache').click(function(){var inst=$(yarpp_model).remodal({hashTracking:!1,closeOnOutsideClick:!1});inst.open();event.preventDefault()});$(document.body).on('click','#yarpp-clear-cache-submit',function(){var inst=$(yarpp_model).remodal();inst.close();var cache_button='#yarpp-clear-cache';var display_notices='#display_notices';var notice_class='notice notice-error is-dismissible';$(cache_button).prop("disabled",!0);$.ajax({type:'POST',url:ajaxurl,data:{action:'yarpp_clear_cache','_ajax_nonce':$('#clear_cache-nonce').val()},beforeSend:function(){$(cache_button).siblings('.spinner').addClass('is-active')},success:function(data){$(cache_button).siblings('.spinner').removeClass('is-active');$(display_notices).show();if('success'==data){var message=yarpp_messages.success;notice_class='notice notice-success is-dismissible';$(cache_button).prop("disabled",!1)}else if('forbidden'==data){var message=yarpp_messages.forbidden}else if('nonce_fail'==data){var message=yarpp_messages.nonce_fail}else{var message=yarpp_messages.error}
47
- $(display_notices).addClass(notice_class);$(display_notices).html('<p>'+message+'</p>')},error:function(data){$(display_notices).show();$(display_notices).addClass(notice_class);$(cache_button).siblings('.spinner').removeClass('is-active');$(display_notices).html('<p>'+yarpp_messages.error+'</p>')}});$(display_notices).delay(5000).fadeOut(1000)})})
1
+ jQuery(function(i){function a(){var a,e=i(this).closest("#yarpp_display_web, #yarpp_display_rss");e.length&&(value=e.find(".use_template").val(),e.find(".yarpp_subbox").hide(),e.find(".template_options_"+value).show(),a=e.find(".yarpp_no_results"),"custom"===value?a.hide():a.show(),t.apply(e))}function t(){var a=i(this).closest("#yarpp_display_web, #yarpp_display_rss");a.find(".excerpted").toggle(!("builtin"!==a.find(".use_template").val()||!a.find(".show_excerpt input").prop("checked")))}postboxes.add_postbox_toggles(pagenow),i(".use_template").each(a).change(a),i(".show_excerpt, .use_template, #yarpp-rss_display").click(t);var s=!1;function e(){var e;i("#yarpp_display_web .inside").is(":visible")&&(i(".yarpp_code_display").toggle(i("#yarpp_display_code").is(":checked")),i("#yarpp_display_web .yarpp_code_display").is(":visible")&&!s&&(s=!0,e=i("#display_demo_web"),i.ajax({type:"POST",url:ajaxurl,data:{action:"yarpp_display_demo",domain:"website",_ajax_nonce:i("#yarpp_display_demo-nonce").val()},beforeSend:function(){e.html(loading)},success:function(a){e.html("<pre>"+a+"</pre>")},dataType:"html"})))}i("#yarpp_display_web .handlediv, #yarpp_display_web-hide").click(e),e();var p=!1;function o(){var e;i("#yarpp_display_rss .inside").is(":visible")&&(i("#yarpp-rss_display").is(":checked")?(i(".rss_displayed").show(),i(".yarpp_code_display").toggle(i("#yarpp_display_code").is(":checked")),i("#yarpp_display_rss .yarpp_code_display").is(":visible")&&!p&&(p=!0,e=i("#display_demo_rss"),i.ajax({type:"POST",url:ajaxurl,data:{action:"yarpp_display_demo",domain:"rss",_ajax_nonce:i("#yarpp_display_demo-nonce").val()},beforeSend:function(){e.html(loading)},success:function(a){e.html("<pre>"+a+"</pre>")},dataType:"html"})),i("#yarpp_display_rss").each(a)):i(".rss_displayed").hide())}function n(){i("#yarpp_display_api .inside").is(":visible")&&(i("#yarpp-rest_api_display").is(":checked")?i(".yarpp_rest_displayed").show():i(".yarpp_rest_displayed").hide())}function r(){i("#yarpp-rest_api_client_side_caching").is(":checked")?i(".yarpp_rest_browser_cache_displayed").show():i(".yarpp_rest_browser_cache_displayed").hide()}i("#yarpp-rss_display, #yarpp_display_rss .handlediv, #yarpp_display_rss-hide").click(o),o(),i("#yarpp-rest_api_display").click(n),n(),i("#yarpp-rest_api_client_side_caching").click(r),r();var c=!1;function l(){var s,a;function p(e){var t;e in s||((t=i("#exclude_"+e)).find(".loading").length||(e in a?a[e]=a[e]+100:a[e]=0,i.ajax({type:"POST",url:ajaxurl,data:{action:"yarpp_display_exclude_terms",taxonomy:e,offset:a[e],_ajax_nonce:i("#yarpp_display_exclude_terms-nonce").val()},beforeSend:function(){t.append(loading)},success:function(a){if(t.find(".loading").remove(),":("==a)return s[e]=!0,void t.append("-");t.append(a)},dataType:"html"})))}!c&&i("#yarpp_pool .inside").is(":visible")&&(c=!0,s={},a={},i(".exclude_terms").each(function(){var t,a=jQuery(this).attr("id");a&&(p(t=a.replace("exclude_","")),i("#exclude_"+t).parent(".yarpp_scroll_wrapper").scroll(function(){var a=i(this),e=a.children("div");a.scrollTop()+a.height()>e.height()-10&&p(t)}))}))}function d(a){i("#tab-link-"+a+" a").click(),i("#contextual-help-link").click()}function _(){var a=i(this).find("option:selected"),e=a.closest(".yarpp_form_row");a.attr("data-url")?e.find(".template_author_wrap").toggle(!!a.attr("data-author")).find("span").empty().append("<a>"+a.attr("data-author")+"</a>").attr("href",a.attr("data-url")):e.find(".template_author_wrap").toggle(!!a.attr("data-author")).find("span").text(a.attr("data-author")),e.find(".template_description_wrap").toggle(!!a.attr("data-description")).find("span").text(a.attr("data-description")),e.find(".template_file_wrap").toggle(!!a.attr("data-basename")).find("span").text(a.attr("data-basename"))}i("#yarpp_pool .handlediv, #yarpp_pool-hide").click(l),l(),i("#yarpp-optin-learnmore").click(function(){d("optin")}),i("#yarpp-help-cpt").click(function(){d("dev")}),"#help-optin"==location.hash&&setTimeout(function(){d("optin")}),i(".yarpp_help[data-help]").hover(function(){var a=i(this),e={content:"<p>"+a.attr("data-help")+"</p>",position:{edge:isRtl?"right":"left",align:"center",of:a},document:{body:a}},t=a.pointer(e).pointer("open");a.closest(".yarpp_form_row, p").mouseleave(function(){t.pointer("close")})}),i(".yarpp_template_button[data-help]").hover(function(){var a=i(this),e="<p>"+a.attr("data-help")+"</p>",t=a.pointer({content:e,position:{edge:"bottom",of:a},document:{body:a}}).pointer("open");a.mouseleave(function(){t.pointer("close")}),i(".yarpp_copy_templates_button").on("click",function(){const a=i(this),e=a.siblings(".spinner");a.addClass("yarpp-disabled"),e.addClass("is-active"),window.location=window.location+(window.location.search.length?"&":"?")+"action=copy_templates&_ajax_nonce="+i("#yarpp_copy_templates-nonce").val()})}),i(".yarpp_spin_on_click").on("click",function(){const a=i(this),e=a.siblings(".spinner");a.addClass("yarpp-disabled"),e.addClass("is-active")}),i(".yarpp_template_button:not(.disabled)").click(function(){i(this).siblings("input").val(i(this).attr("data-value")).change(),i(this).siblings().removeClass("active"),i(this).addClass("active")}),i("#template_file, #rss_template_file").each(_).change(_);var y=!1;function h(){var e;i("#optin_data_frame").is(":visible")&&!y&&(y=!0,e=i("#optin_data_frame"),i.ajax({type:"POST",url:ajaxurl,data:{action:"yarpp_optin_data",_ajax_nonce:i("#yarpp_optin_data-nonce").val()},beforeSend:function(){e.html(loading)},success:function(a){e.html("<pre>"+a+"</pre>")},dataType:"html"}))}function u(){setTimeout(h,0)}function f(){var a=i(".yarpp_form_post_types").is(":has(input[type=checkbox]:checked)");i("#yarpp-auto_display_archive").attr("disabled",!a),a||i("#yarpp-auto_display_archive").prop("checked",!1)}function m(a,e){a?(i(".yarpp_form_post_types #yarpp_post_type_"+e).prop("disabled",!1),i(".yarpp_form_post_types #yarpp_post_type_"+e).siblings().hide()):(i(".yarpp_form_post_types #yarpp_post_type_"+e).prop("disabled",!0),i(".yarpp_form_post_types #yarpp_post_type_"+e).siblings().show())}i("#yarpp-optin-learnmore, a[aria-controls=tab-panel-optin]").bind("click focus",u),u(),i(".sync_no_results, .sync_rss_no_results").change(function(){var a=i(this).find("input").attr("value");i(this).hasClass("sync_no_results")&&i(".sync_no_results input").attr("value",a),i(this).hasClass("sync_rss_no_results")&&i(".sync_rss_no_results input").attr("value",a)}),i("#yarpp_display_code").click(function(){var a={action:"yarpp_set_display_code",_ajax_nonce:i("#yarpp_set_display_code-nonce").val()};i(this).is(":checked")&&(a.checked=!0),i.ajax({type:"POST",url:ajaxurl,data:a}),e(),o()}),i(".yarpp_form_post_types input[type=checkbox]").change(f),f(),i("#yarpp_fulltext_expand").click(function(a){a.preventDefault();a=i("#yarpp_fulltext_details");a.slideToggle(),a.hasClass("hidden")?(a.removeClass("hidden"),i(this).text("Hide Details [-]")):(a.addClass("hidden"),i(this).text("Show Details [+]"))}),i(".include_post_type input[type=checkbox]").change(function(a){var e=i(this).attr("data-post-type");i("#yarpp-same_post_type").is(":checked")?m(i(this).is(":checked"),e):i(".yarpp_form_post_types #yarpp_post_type_"+e).prop("disabled",!1)}),i("#yarpp-same_post_type").change(function(a){i(this).is(":checked")?i(".include_post_type input[type=checkbox]").each(function(){var a=i(this).attr("data-post-type");m(i(this).is(":checked"),a)}):(i(".yarpp_form_post_types input[type=checkbox]").prop("disabled",!1),i(".yarpp_form_post_types input[type=checkbox]").siblings().hide())});var v=i('\t\t\t<div id="shareaholic-deactivate-dialog" class="shareaholic-deactivate-dialog" data-remodal-id="">\t\t\t\t<div class="shareaholic-deactivate-header" style="background-image: url('+yarpp_messages.logo+"); background-color: "+yarpp_messages.bgcolor+';"><div class="shareaholic-deactivate-text"><h2>'+yarpp_messages.model_title+'</h2></div></div>\t\t\t\t<div class="shareaholic-deactivate-body">\t\t\t\t\t<div class="shareaholic-deactivate-body-foreword">'+yarpp_messages.alert_message+'</div>\t\t\t\t\t<div class="shareaholic-deactivate-dialog-footer"> <input type="submit" class="button confirm button-secondary" id="yarpp-clear-cache-submit" value="Delete"/>\t\t\t\t\t\t<button data-remodal-action="cancel" class="button button-secondary">Cancel</button>\t\t\t\t\t\t</div>\t\t\t\t</div>\t\t\t</div>\t\t')[0];i("#yarpp-clear-cache").click(function(){i(v).remodal({hashTracking:!1,closeOnOutsideClick:!1}).open(),event.preventDefault()}),i(document.body).on("click","#yarpp-clear-cache-submit",function(){i(v).remodal().close();var t="#yarpp-clear-cache",s="#display_notices",p="notice notice-error is-dismissible";i(t).prop("disabled",!0),i.ajax({type:"POST",url:ajaxurl,data:{action:"yarpp_clear_cache",_ajax_nonce:i("#clear_cache-nonce").val()},beforeSend:function(){i(t).siblings(".spinner").addClass("is-active")},success:function(a){var e;i(t).siblings(".spinner").removeClass("is-active"),i(s).show(),"success"==a?(e=yarpp_messages.success,p="notice notice-success is-dismissible",i(t).prop("disabled",!1)):e="forbidden"==a?yarpp_messages.forbidden:"nonce_fail"==a?yarpp_messages.nonce_fail:yarpp_messages.error,i(s).addClass(p),i(s).html("<p>"+e+"</p>")},error:function(a){i(s).show(),i(s).addClass(p),i(t).siblings(".spinner").removeClass("is-active"),i(s).html("<p>"+yarpp_messages.error+"</p>")}}),i(s).delay(5e3).fadeOut(1e3)})});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/options_switch.min.js CHANGED
@@ -1,2 +1 @@
1
- function yarppMakeTheSwitch($,data,url){$.get(url,data,function(resp){if(resp==='ok'){window.location.href='./options-general.php?page=yarpp'}})}
2
- jQuery(document).ready(function($){$('.yarpp_switch_button').on('click',function(e){e.preventDefault();var url=ajaxurl,data={action:'yarpp_switch',go:$(this).data('go'),'_ajax_nonce':$('#yarpp_switch-nonce').val()};if(data.go==='basic'){$('#wpwrap').after('<div id="yarpp_pro_disable_overlay">'+'</div>'+'<div id="yarpp_pro_disable_confirm">'+'<p>'+'Are you sure you would like to deactivate YARPP Pro? '+'Doing so will remove all <strong>YARPP Pro</strong> '+'content from your site, including sidebar widgets.'+'</p>'+'<br/>'+'<a id="yarpp_proceed_deactivation" class="button">Deactivate YARPP Pro</a>'+'&nbsp;&nbsp;&nbsp;&nbsp;'+'<a id="yarpp_cancel_deactivation" class="button-primary">Cancel Deactivation</a>'+'</div>');$('#yarpp_proceed_deactivation').on('click',function(){yarppMakeTheSwitch($,data,url)});$('#yarpp_cancel_deactivation').on('click',function(){window.location.reload()})}else{yarppMakeTheSwitch($,data,url)}});$('#yarpp-display-mode-save').on('click',function(e){e.preventDefault();var url=$(this).attr('href'),data={ypsdt:!0,types:[]};$(this).after($('<span class="spinner"></span>'));$i=0;$('input','#yarpp-display-mode').each(function(idx,val){if(val.checked){data.types[$i]=val.value;$i++}});$.get(url,data,function(resp){setTimeout(function(){if(resp==='ok'){$('.spinner','#yarpp-display-mode').remove()}else{$('#yarpp-display-mode').append($('<span style="vertical-align: middle" class="error-message">Something went wrong saving your settings. Please refresh the page and try again.</span>'))}},1000)})})})
1
+ function yarppMakeTheSwitch(a,e,n){a.get(n,e,function(a){"ok"===a&&(window.location.href="./options-general.php?page=yarpp")})}jQuery(document).ready(function(t){t(".yarpp_switch_button").on("click",function(a){a.preventDefault();var e=ajaxurl,n={action:"yarpp_switch",go:t(this).data("go"),_ajax_nonce:t("#yarpp_switch-nonce").val()};"basic"===n.go?(t("#wpwrap").after('<div id="yarpp_pro_disable_overlay"></div><div id="yarpp_pro_disable_confirm"><p>Are you sure you would like to deactivate YARPP Pro? Doing so will remove all <strong>YARPP Pro</strong> content from your site, including sidebar widgets.</p><br/><a id="yarpp_proceed_deactivation" class="button">Deactivate YARPP Pro</a>&nbsp;&nbsp;&nbsp;&nbsp;<a id="yarpp_cancel_deactivation" class="button-primary">Cancel Deactivation</a></div>'),t("#yarpp_proceed_deactivation").on("click",function(){yarppMakeTheSwitch(t,n,e)}),t("#yarpp_cancel_deactivation").on("click",function(){window.location.reload()})):yarppMakeTheSwitch(t,n,e)}),t("#yarpp-display-mode-save").on("click",function(a){a.preventDefault();var a=t(this).attr("href"),n={ypsdt:!0,types:[]};t(this).after(t('<span class="spinner"></span>'));var i=0;t("input","#yarpp-display-mode").each(function(a,e){e.checked&&(n.types[i]=e.value,i++)}),t.get(a,n,function(a){setTimeout(function(){"ok"===a?t(".spinner","#yarpp-display-mode").remove():t("#yarpp-display-mode").append(t('<span style="vertical-align: middle" class="error-message">Something went wrong saving your settings. Please refresh the page and try again.</span>'))},1e3)})})});
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Requires at least: 3.7
5
  Requires PHP: 5.3
6
  License: GPLv2 or later
7
  Tested up to: 5.7
8
- Stable tag: 5.22.0
9
 
10
  The most popular plugin to display a list of related posts on your site based on a powerful unique algorithm.
11
 
@@ -85,6 +85,10 @@ To specify which YARPP template to use, use the "template" attribute like so:
85
  `[yarpp template="list"]` // built-in "List" template
86
  `[yarpp template="thumbnails"]` // built-in "Thumbnails" template
87
 
 
 
 
 
88
  To add YARPP shortcode to your theme files (eg. single.php), use:
89
 
90
  `<?php echo do_shortcode('[yarpp]'); ?>`
@@ -322,9 +326,15 @@ add_action(
322
  `
323
 
324
  == Changelog ==
 
 
 
 
 
 
325
  = 5.22.0 (24-May-2021) =
326
  * [New](https://wordpress.org/support/topic/display-results-from-specific-post-types/): Choose the exact post types to include in "The Pool"
327
- * [New](https://wordpress.org/support/topic/is-it-possible-to-use-different-styles-of-yarpp-in-every-post/): Ability to specify built-in YARPP templates in the YARPP shortcode. You may use more than one YARPP shortcode in a given post or template and each can have a different templates specified. For example:
328
  + `[yarpp template="yarpp-template-simple"]` // where `yarpp-template-simple.php` is the file name of the custom YARPP template in your active theme folder
329
  + `[yarpp template="list"]` // built-in "List" template
330
  + `[yarpp template="thumbnails"]` // built-in "Thumbnails" template
@@ -1166,5 +1176,5 @@ After a break of many years, the plugin is 100% supported now that the baton has
1166
  * Initial upload
1167
 
1168
  == Upgrade Notice ==
1169
- = 5.22.0 =
1170
  We update this plugin regularly so we can make it better for you. Update to the latest version for all of the available features and improvements. Thank you for using YARPP!
5
  Requires PHP: 5.3
6
  License: GPLv2 or later
7
  Tested up to: 5.7
8
+ Stable tag: 5.23.0
9
 
10
  The most popular plugin to display a list of related posts on your site based on a powerful unique algorithm.
11
 
85
  `[yarpp template="list"]` // built-in "List" template
86
  `[yarpp template="thumbnails"]` // built-in "Thumbnails" template
87
 
88
+ To specify maximum number of posts to show, use the "limit" attribute like so:
89
+
90
+ `[yarpp template="list" limit=3]`
91
+
92
  To add YARPP shortcode to your theme files (eg. single.php), use:
93
 
94
  `<?php echo do_shortcode('[yarpp]'); ?>`
326
  `
327
 
328
  == Changelog ==
329
+ = 5.23.0 (02-June-2021) =
330
+ * [New](https://wordpress.org/support/topic/is-it-possible-to-use-different-styles-of-yarpp-in-every-post/): Ability to specify maximum number of posts to show in the YARPP shortcode. For example:
331
+ + `[yarpp template="list" limit=3]` // maximum post limit set to 3
332
+ * Bugfix: Check `wp_parse_list` exists for backwards compatibility to older versions of WordPress
333
+ * [Bugfix](https://wordpress.org/support/topic/yarpp_related-does-not-return-all-posts/): Use query parameters when priming cache using `yarpp_related`. Resolves bug with `yarpp_function` not fully accounting for all parameters passed to it.
334
+
335
  = 5.22.0 (24-May-2021) =
336
  * [New](https://wordpress.org/support/topic/display-results-from-specific-post-types/): Choose the exact post types to include in "The Pool"
337
+ * [New](https://wordpress.org/support/topic/is-it-possible-to-use-different-styles-of-yarpp-in-every-post/): Ability to specify built-in YARPP templates in the YARPP shortcode. You may use more than one YARPP shortcode in a given post or template and each can have a different template specified. For example:
338
  + `[yarpp template="yarpp-template-simple"]` // where `yarpp-template-simple.php` is the file name of the custom YARPP template in your active theme folder
339
  + `[yarpp template="list"]` // built-in "List" template
340
  + `[yarpp template="thumbnails"]` // built-in "Thumbnails" template
1176
  * Initial upload
1177
 
1178
  == Upgrade Notice ==
1179
+ = 5.23.0 =
1180
  We update this plugin regularly so we can make it better for you. Update to the latest version for all of the available features and improvements. Thank you for using YARPP!
src/js/block.js CHANGED
@@ -1,105 +1,123 @@
1
- ( function( blocks, i18n, element, components, editor, blockEditor ) {
2
- var el = element.createElement;
3
- const {registerBlockType} = blocks;
4
- const {__} = i18n; //translation functions
5
- const iconEl = el('img', {src: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTQ1cHgiIGhlaWdodD0iMTkxcHgiIHZpZXdCb3g9IjAgMCAxNDUgMTkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+bWFyazwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJtYXJrIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxLjAwMDAwMCwgMC4wMDAwMDApIiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8ZyBpZD0iY29mZmVlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MS41MDAwMDAsIDEyMC43MDM3MDQpIHNjYWxlKC0xLCAxKSByb3RhdGUoLTE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtNzEuNTAwMDAwLCAtMTIwLjcwMzcwNCkgdHJhbnNsYXRlKDAuMDAwMDAwLCA1MS43MDM3MDQpIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00Mi44NjA1NzA2LDEzNi4wODIyOCBDMzIuODM4MzcwNSwxMzQuNzgzMzg4IDI1LjQ2Njk2OTcsMTMyLjg5OTk5NyAyMC43NDYzNjgxLDEzMC40MzIxMDMgTDE3LjM2OTMyMjUsMTI3LjgwMTg0OSBMMTcuNjk2MTMzMywxMTMuMjg2NzM4IEMxNy45MTQwMDcyLDk5LjM1NjEyOTIgMTcuOTE0MDA3Miw5OC42NzQyMTEzIDE1LjYyNjMzMSw5Ni44MjMyOTEyIEM5Ljg1MjY3MjI5LDkyLjE0NzI4MjcgMCw3OS4yNjM5ODU1IDAsNjguNTQ4MTMyNSBDMCw2My4xOTAyMDYgMS41NTkxMDc0Myw2MC4wNjIyODM2IDQuODI3MjE2MTksNTQuNDEyMTA2NiBDNy4wMDU5NTUzNSw1MC44MDc2ODMzIDEzLjUyNDk3MDMsNDUuNTM3MDMzNCAxNC43MjMyNzY5LDQ0LjU2Mjg2NDkgQzE3LjAxMDk1MjksNDMuMDA0MTk1MyAxOC40NTg2OTE5LDQ0LjEzMDMxMzggMTcuNjk2MTMzMywzMy4xMjIyMTAyIEMxNi44MjQ2Mzc2LDE5LjM4NjQzNSAxNi4wNjIwNzg5LDE3LjQyODU2MjEgMjQuMDE0NDc2OCwxMi44NDk5NzAzIEMzNC43OTkyMzU4LDYuNjE1MjkyMTkgNDIuNzUxNjMzNywzLjU5NTM2OTk3IDUyLjc3MzgzMzksMS43NDQ0NDk5IEM3Ni42MzEwMjc3LC0yLjQ0NDQ3NDQ2IDExMy4zNDI3ODMsMS4yNTczNjU2OCAxMjYuMzA2MjgsOS4xNDgxMzAxNyBDMTMzLjkzMTg2OCwxMy45MjE1NTU2IDEzNi41NDYzNTUsMTYuODQ0MDYxIDEzNi41NDYzNTUsMjAuOTM1NTY4NCBDMTQwLjQ2ODA4NSw4Ny44OTM0MTM3IDE0Mi41Mzc4ODgsMTIxLjg1OTQyIDE0Mi43NTU3NjEsMTIyLjgzMzU4OSBDMTQzLjE5MTUwOSwxMjUuMDc0MTc3IDE0Mi43NTU3NjEsMTI1LjY1ODY3NyAxMzkuMTYwODQyLDEyNy4zMTQ3NjQgQzEzNC4wNDA4MDQsMTI5LjY1Mjc2OSAxMjcuODMxMzk4LDEzMC44MjE3NzEgMTA2LjU4ODY5MSwxMzMuMzU0NjA5IEM5Ny42NTU4NjA3LDEzNC40MjYxOTQgODcuMDg4OTc1OCwxMzUuNjkyNjEzIDgzLjE2NzI0NTIsMTM2LjI3NzExNCBDNzQuNTYxMjI1NSwxMzcuNDQ2MTE2IDUyLjU1NTk2LDEzNy4zNDg2OTkgNDIuODYwNTcwNiwxMzYuMDgyMjggWiBNODQuNTMwMjczNCwxMzIuMDc4NzA0IEM5MC4yMzM4MTY3LDEzMS4zODQ4NTYgOTkuMDk4MzIxMywxMzAuMjUwMDg2IDEwOS4wMzgwODYsMTI5LjE5MzQ1IEMxMjMuMjY5NTg5LDEyNy4wMjU1MDQgMTM1LjQxOTkwMSwxMjUuNjI2MzMxIDEzNi4wNTI0MTMsMTIzLjMzMDg1OSBDMTM2LjI2MzI1LDEyMi42OTMyMjggMTIzLjkzNDI5NSwxMjAuOTc0MjM5IDEyMC4zNTAwNjQsMTE5LjgyNjUwMyBDMTE0LjEzMDM3MSwxMTcuNzg2MDg0IDEwMi4yODI2OTYsMTIwLjE4NTg4MSA5MC4zNzQ5MTk3LDEyMi40MTM1NjMgQzc4LjUwNDkyOTIsMTI0LjYzNDE3NSA2NS40NTYzNDA4LDEyMy4zMzA4NTkgNTcuMjU0NTk4NywxMjMuMzMwODU5IEM1Ny4yNTQ1OTg3LDEyMy4zMzA4NTkgNTIuNDc1NDQ2NiwxMjIuNTIzMTkzIDQyLjkxNzE0MjUsMTIwLjkwNzg2MSBDMzQuODc2MDMxNiwxMTkuNTQ4OTMxIDM2LjIyMTA1NjEsMTE5LjEyMjQ5NCAzMC4wMDEzNjIyLDEyMS44MDA1NDUgQzI2LjQxNzEzMTksMTIzLjQ1ODM4NSAyMy4yNTQ1NzU3LDEyNS4yNDM3NTIgMjMuMTQ5MTU3MiwxMjYuMDA4OTEgQzIzLjE0OTE1NzIsMTI2LjY0NjU0MSAyMy40NDM2MjM4LDEyOC40NjE1MjIgMjYuNDE3MTMxOSwxMjkuOTYyMjIxIEMzMC43NTg3ODkxLDEzMi4xNTM0MTEgNDMuNTE0MTYwMiwxMzIuNDQxMDA4IDU0LjcxNDM1NTUsMTMyLjk4NzM5NSBDNjMuNDg1ODM5OCwxMzIuOTg3Mzk1IDc4LjgyNjczMDEsMTMyLjc3MjU1MSA4NC41MzAyNzM0LDEzMi4wNzg3MDQgWiBNMzkuODcwNjc2MSwxMTYuNzY2ODQ0IEM0NC4xMjY4ODU2LDExNS43MjU4NzYgNTMuNjc3NDA0MSwxMTQuMjExNzQgNjEuMTUxNzIyOCwxMTMuMzYwMDM4IEM3OC43OTk0MjAxLDExMS4zNzI3MzQgMTM0Ljk2MDYyMSwxMTkuNTExMjE1IDEzNS4xNjgyNDEsMTE5LjIyNzMxNSBDMTM1LjM3NTg2MSwxMTkuMDM4MDQ5IDEzNC40NDE1NzEsNTQuMTE5NDYyNSAxMzEuMzI3MjcyLDI5LjcwNDAxNzcgQzEyOS44NzM5MzIsMTguOTE1Nzk3OCAxMjkuMzU0ODgyLDE3Ljk2OTQ2MjcgMTIyLjA4ODE4MywxMy40MjcwNTQ0IEMxMTAuNDYxNDY1LDYuMDQ1NjQwODQgNzQuNTQzMjEwNywyLjczMzQ2ODA4IDUzLjM2NTk3NCw2Ljk5MTk3NTkgQzQyLjk4NDk3NTcsOS4wNzM5MTMwNyAzNi43NTYzNzY3LDExLjcyMzY1MTMgMjcuNDEzNDc4MSwxNy42ODU1NjIzIEwyMi4yODExNjk0LDIxLjU4ODA4NTQgTDIzLjU3MjUwODgsMTIxLjMwOTI1MyBMMzkuODcwNjc2MSwxMTYuNzY2ODQ0IFogTTE3LjU5OTcwNDMsNjUuODAxMzgyMSBDMTcuNTk5NzA0Myw1MC44MjAwMDIzIDE4LjE3MDY1OTIsNTAuNzUyOTc1MyAxNy41OTk3MDQzLDUwLjc1Mjk3NTMgQzE0LjIyNTgzNzcsNTAuNzUyOTc1MyAxMC42ODY5OTQ2LDUzLjIwODYyOTYgNy45MzM0NTE3Miw1Ny42NDI4NTY0IEM1LjgxMDQ2NjgsNjEuMDYxNjUwNyA1LjUwMzQ2MTY2LDY1LjYzMDE2MjggNS41MDM0NjE2Niw2Ny4yMjgwNzE0IEM1LjUwMzQ2MTY2LDc4LjAyNjAyMTMgMTAuODY3NjAxOCw4Ni41MTAxNTI1IDE3LjU5OTcwNDMsODYuNTEwMTUyNSBDMTcuNTk5NzA0Myw4Ni41MTAxNTI1IDE3LjU5OTcwNDMsNzkuNjA3MjI5IDE3LjU5OTcwNDMsNjUuODAxMzgyMSBaIiBpZD0ibXVnIiBzdHJva2U9IiMwMDAwMDAiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxnIGlkPSJGYWNlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MC45NDI4NTAsIDYwLjQwMDc5NykiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02Mi4xNjA3NzgsMzMuNTQ3NTgzNSBDNTguNDA4MjI2MiwyNi42MDQxNTMzIDYwLjExMzkzMTYsMTkuMDI5NTAyMiA2NC44ODk5MDY2LDE5LjAyOTUwMjIgQzY3LjYxOTAzNTMsMTkuMDI5NTAyMiA3MC42ODkzMDQ5LDIxLjU1NDM4NiA3MS43MTI3MjgyLDI0LjcxMDQ5MDYgQzc0LjEwMDcxNTcsMzEuMDIyNjk5OSA2NS4yMzEwNDc4LDM5LjIyODU3MTggNjIuMTYwNzc4LDMzLjU0NzU4MzUgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIuMTAzMDM4MzcsMzQuMDA2MTkwNiBDLTEuNjQ5NTEzNDksMjcuMDYyNzYwMyAwLjA1NjE5MTkwMTksMTkuNDg4MTA5MiA0LjgzMjE2NywxOS40ODgxMDkyIEM3LjU2MTI5NTYzLDE5LjQ4ODEwOTIgMTAuNjMxNTY1MywyMi4wMTI5OTI5IDExLjY1NDk4ODUsMjUuMTY5MDk3NiBDMTQuMDQyOTc2MSwzMS40ODEzMDY4IDUuMTczMzA4MDgsMzkuNjg3MTc4OSAyLjEwMzAzODM3LDM0LjAwNjE5MDYgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTMxLjI3NDQ0ODEsMTMuNDg2Nzc4OCBDMjIuMzUyNjcyOCw5Ljc1NzE4ODQ0IDIyLjM1MjY3MjgsNi44NTYzOTU5NyAzMS42OTkyOTQ2LDIuOTE5NjA2MTggQzQyLjEwODAzMjQsLTEuMjI0MzgzMDcgNTQuNjQxMDAyNSwtMC44MDk5ODQxNDcgNTkuMTAxODkwMiwzLjc0ODQwNDAzIEM2Mi4yODgyMzg1LDcuNDc3OTk0MzUgNjIuMjg4MjM4NSw3Ljg5MjM5MzI4IDU4Ljg4OTQ2NjksMTAuNzkzMTg1OCBDNTMuMTU0MDM5OSwxNS43NjU5NzI5IDM5LjM0NjUzMDUsMTcuMDA5MTY5NiAzMS4yNzQ0NDgxLDEzLjQ4Njc3ODggWiBNMzQuOTc2NzUxLDcuOTA3NDgwOTMgQzMxLjkwMDc0OTksMTAuMTEwNDkzNyAzNi42OTIxOTYxLDEwLjMyOTQyNTggNDQuNzk0NzQwOCw5LjkxNzg4MDc4IEM1Ni4wMTA3NjU5LDkuMjAxOTk3NDEgNTYuMTM5MTMwOSw0LjQyOTQzMDIxIDQ0LjcxMDU0MzIsNC45MTI0NDYyMyBDMzkuOTU1OTI2OCw1LjA0NDI5NDI5IDM1Ljc0NTc1MTMsNy4zNTY3Mjc3NSAzNC45NzY3NTEsNy45MDc0ODA5MyBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBpZD0iU3RlYW0iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU5LjAwMDAwMCwgMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjE2MDcyNzYzLDAgQzMuODM3ODQ1OSwyLjYzMDYwNzA1IDMuNjM2ODk2NjIsNS4zMDMwNTE1OSAzLjU1OTg2MzAyLDcuOTkwOTU4NDEgQzMuNTAzOTksMTEuNzQ3MDY3OSA0LjM0NTcxNTczLDE1LjM3MjE2MjYgNS44ODAxMjQ4MywxNy45ODM3MjUxIEM2Ljg5MDgwOTkzLDE5Ljc5NTY2IDcuODk1MzMyMywyMS42MjM4Njk4IDguODkzNjkxOTYsMjMuNDY4MzU0NCBDOS45NDgxNjY2MywyNS4zNTQ0ODk1IDEwLjY1MTEyNjEsMjcuNzYxNTg3NSAxMC45MDg4OTk0LDMwLjM2ODg5NjkgQzExLjIxOTk2NDQsMzMuNTA1NjYyMyAxMC43MjU3NDQzLDM2LjcyMzg3OTUgOS41NTkyNjUwOCwzOS4xNTczMjM3IEM4LjMyNzMwNjcyLDQxLjc4NjcwODYgNi42NzAxMDYxOCw0My42OTM5NDg1IDQuODA3ODEyNiw0NC42MjU2NzgxIEw0LjE2MDcyNzYzLDQ1IEM0LjU0ODk3ODYyLDQzLjc5NTY2IDQuOTE4NzQxNDUsNDIuNjg4OTY5MiA1LjI2MDc3MjA4LDQxLjU2NjAwMzYgQzUuNzIyOTc1NjMsNDAuMDUyNDQxMiA2LjE4NTE3OTE3LDM4LjUzODg3ODkgNi42MTA0MDY0NCwzNi45NzY0OTE5IEM3LjEwOTgxODQzLDM1LjIzMjYwNTYgNy4wNTAwOTQzNCwzMy4xNTQzNzM1IDYuNDUzMjU3MjMsMzEuNTA4MTM3NCBDNi4yMjkzNzk3LDMwLjkyMTQxNDkgNS45NzIzMTQ0NiwzMC4zNzYxMzUxIDUuNjg1OTk5MzQsMjkuODgwNjUxIEM0LjY2OTE1MTUzLDI4LjA0MTU5MTQgMy42MjQ1NzE1MiwyNi4yNjc2MzExIDIuNjM1NDU1OTIsMjQuNDEyMjk2NiBDMS40NTE3ODQ1NCwyMi4yNjgxOTg3IDAuNjIzODI5MjUsMTkuNTk0ODU0NyAwLjI0MTI0MTU0MiwxNi42ODE3MzYgQy0wLjQzODk4OTM5NiwxMS43NzA5NzU3IDAuMzQwNTA0MzQyLDYuNTg3ODgxNzIgMi4zMTE5MTM0MywyLjkxMzIwMDczIEMyLjc2NDg3MjkxLDIuMDE4MDgzMTkgMy4zMDEwMjkwMywxLjI4NTcxNDI5IDMuODAwMjA4ODcsMC40NTU2OTYyMDIgTDQuMDY4Mjg2OTIsNS4wNTkyNDQxNmUtMTUgTDQuMTYwNzI3NjMsMCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MiwyMi4yNzg0MzM1IEM0MS41MDg3NTY2LDIzLjI0Nzc0OCA0MS4wMzY3Nzc2LDI0LjE3NTUyMDUgNDAuNTU1MTY2NCwyNS4xNTg2ODIzIEM0MC4xODQ1MjQ5LDI1Ljk1MjczODQgMzkuODYyMjU0NSwyNi43OTEzMDc5IDM5LjU5MTk0NCwyNy42NjUwNTI4IEMzOS4yOTU2OTQzLDI4Ljg5MjY3NTUgMzkuMjI5MjU3MSwzMC4yMTA3MjI5IDM5LjM5OTI5OTQsMzEuNDg2OTIxNCBDMzkuNTQzNzgyOSwzMy40MjU1NTA0IDM5LjcyNjc5NTEsMzUuMzY0MTc5NSAzOS44MDM4NTI5LDM3LjMwMjgwODUgQzM5Ljg1NjMxMzIsMzguOTU2Nzk5MyAzOS41MTY3MTU1LDQwLjU4NzQxNCAzOC44NDA2MzA1LDQxLjkyNzgyMzUgQzM4LjAxMDUwMjcsNDMuNjk1MDc1NCAzNi42NjAyMTU1LDQ0LjgxMzgwOTIgMzUuMTgwMzg1Myw0NC45NjAzOTMyIEMzMy43MjAwMDUsNDUuMTQ4NDYwOCAzMi4yNTU4ODU1LDQ0LjY2MzQ3NzQgMzEsNDMuNTc1NjU4MSBMMzEuMTM0ODUxMSw0My40MDk0ODk5IEMzMi4wOTgwNzM2LDQyLjQ5NTU2NDkgMzMuMTI4NzIxNSw0MS41OTU0ODcxIDM0LjEwMTU3NjIsNDAuNjQwMDE5OSBDMzQuNzYwMzc3MSw0MC4wNjgxMTA0IDM1LjA3ODA5MzUsMzguOTQwMzI5NiAzNC44ODE3ODYzLDM3Ljg3MDU0OTkgQzM0LjUzOTkyMDgsMzUuNTA3MDY1NyAzNC4zNzUyMzI1LDMzLjA5NzcxNjYgMzQuMzkwNTQzLDMwLjY4Mzc3NSBDMzQuNTUzMDI0NywyNi4zNjI2MjcyIDM2Ljc5MjQzMTgsMjIuNzkxMzAwNCAzOS43NjUzMjQsMjIuMTEyMjY1MyBDNDAuNDE5NDA4MSwyMS45NjI1NzgyIDQxLjA4NTg0NTcsMjEuOTYyNTc4MiA0MS43Mzk5Mjk5LDIyLjExMjI2NTMgTDQxLjg4NDQxMzQsMjIuMTEyMjY1MyBMNDIsMjIuMjc4NDMzNSBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+'});
6
- var ServerSideRender = wp.serverSideRender;
7
- const { RichText, InspectorControls } = blockEditor;
8
- const {TextControl, CheckboxControl, RadioControl, SelectControl, TextareaControl, ToggleControl, RangeControl, Panel, PanelBody, PanelRow,} = components;
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
- registerBlockType( 'yarpp/yarpp-block', {
11
- title: __( 'YARPP Block', 'yarpp' ),
12
- description: __( 'Display related posts by YARPP', 'yarpp' ),
13
- category: 'yarpp',
14
- icon: iconEl,
15
- keywords: [ __( 'yarpp', 'yarpp' ), __( 'related posts', 'yarpp' ), __( 'posts', 'yarpp' ) ],
16
- supports: {
17
- html: false,
18
- },
19
 
20
- attributes: {
21
- limit: {
22
- type: 'number',
23
- default: 6,
24
- },
25
- template: {
26
- type: 'string',
27
- default: yarpp_localized.selected_theme_style,
28
- },
29
- yarpp_preview: {
30
- type: 'string',
31
- },
32
- },
33
- example: {
34
- attributes: {
35
- yarpp_preview: 'yarpp_preview',
36
- },
37
- },
38
- edit: function( props ) {
39
- const attributes = props.attributes;
40
- const setAttributes = props.setAttributes;
41
- var template = Object.keys(yarpp_localized.template).map(function(key) {
42
- return {value: key, label: yarpp_localized.template[key]};
43
- });
44
 
45
- if(props.isSelected){
46
- // console.debug(props.attributes);
47
- };
48
 
 
 
 
 
49
 
50
- // Functions to update attributes.
51
- function changeThumbnail(template){
52
- setAttributes({template});
53
- }
 
 
 
 
 
 
 
 
54
 
55
- return [
56
- /**
57
- * Server side render
58
- */
59
- el("div", { className: props.className },
60
- el( ServerSideRender, {
61
- block: 'yarpp/yarpp-block',
62
- attributes: attributes,
63
- } )
64
- ),
65
 
66
- /**
67
- * Inspector
68
- */
69
- el( InspectorControls, {},
70
- el( PanelBody, { title: 'YARPP Posts Settings', initialOpen: true },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
 
72
- el( TextControl, {
73
- label: __( 'Maximum number of posts', 'yarpp' ),
74
- value: attributes.limit,
75
- onChange: function( val ) {
76
- setAttributes( { limit: parseInt( val ) } );
77
- },
78
- type: 'number',
79
- min: 1,
80
- step: 1
81
- } ),
82
- el(SelectControl, {
83
- value: attributes.template,
84
- label: __( 'Theme', 'yarpp' ),
85
- onChange: changeThumbnail,
86
- options: template
87
- } ),
88
- ),
89
- ),
90
- ]
91
- },
92
-
93
- save(){
94
- return null;//save has to exist. This all we need
95
- }
96
- } );
97
- } )(
98
- window.wp.blocks,
99
- window.wp.i18n,
100
- window.wp.element,
101
- window.wp.components,
102
- window.wp.editor,
103
- window.wp.blockEditor,
104
- window.wp.serverSideRender
105
  );
1
+ (function (blocks, i18n, element, components, editor, blockEditor) {
2
+ var el = element.createElement;
3
+ const { registerBlockType } = blocks;
4
+ const { __ } = i18n; //translation functions
5
+ const iconEl = el('img', {
6
+ src: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTQ1cHgiIGhlaWdodD0iMTkxcHgiIHZpZXdCb3g9IjAgMCAxNDUgMTkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0OC4yICg0NzMyNykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+bWFyazwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJtYXJrIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxLjAwMDAwMCwgMC4wMDAwMDApIiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8ZyBpZD0iY29mZmVlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MS41MDAwMDAsIDEyMC43MDM3MDQpIHNjYWxlKC0xLCAxKSByb3RhdGUoLTE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtNzEuNTAwMDAwLCAtMTIwLjcwMzcwNCkgdHJhbnNsYXRlKDAuMDAwMDAwLCA1MS43MDM3MDQpIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00Mi44NjA1NzA2LDEzNi4wODIyOCBDMzIuODM4MzcwNSwxMzQuNzgzMzg4IDI1LjQ2Njk2OTcsMTMyLjg5OTk5NyAyMC43NDYzNjgxLDEzMC40MzIxMDMgTDE3LjM2OTMyMjUsMTI3LjgwMTg0OSBMMTcuNjk2MTMzMywxMTMuMjg2NzM4IEMxNy45MTQwMDcyLDk5LjM1NjEyOTIgMTcuOTE0MDA3Miw5OC42NzQyMTEzIDE1LjYyNjMzMSw5Ni44MjMyOTEyIEM5Ljg1MjY3MjI5LDkyLjE0NzI4MjcgMCw3OS4yNjM5ODU1IDAsNjguNTQ4MTMyNSBDMCw2My4xOTAyMDYgMS41NTkxMDc0Myw2MC4wNjIyODM2IDQuODI3MjE2MTksNTQuNDEyMTA2NiBDNy4wMDU5NTUzNSw1MC44MDc2ODMzIDEzLjUyNDk3MDMsNDUuNTM3MDMzNCAxNC43MjMyNzY5LDQ0LjU2Mjg2NDkgQzE3LjAxMDk1MjksNDMuMDA0MTk1MyAxOC40NTg2OTE5LDQ0LjEzMDMxMzggMTcuNjk2MTMzMywzMy4xMjIyMTAyIEMxNi44MjQ2Mzc2LDE5LjM4NjQzNSAxNi4wNjIwNzg5LDE3LjQyODU2MjEgMjQuMDE0NDc2OCwxMi44NDk5NzAzIEMzNC43OTkyMzU4LDYuNjE1MjkyMTkgNDIuNzUxNjMzNywzLjU5NTM2OTk3IDUyLjc3MzgzMzksMS43NDQ0NDk5IEM3Ni42MzEwMjc3LC0yLjQ0NDQ3NDQ2IDExMy4zNDI3ODMsMS4yNTczNjU2OCAxMjYuMzA2MjgsOS4xNDgxMzAxNyBDMTMzLjkzMTg2OCwxMy45MjE1NTU2IDEzNi41NDYzNTUsMTYuODQ0MDYxIDEzNi41NDYzNTUsMjAuOTM1NTY4NCBDMTQwLjQ2ODA4NSw4Ny44OTM0MTM3IDE0Mi41Mzc4ODgsMTIxLjg1OTQyIDE0Mi43NTU3NjEsMTIyLjgzMzU4OSBDMTQzLjE5MTUwOSwxMjUuMDc0MTc3IDE0Mi43NTU3NjEsMTI1LjY1ODY3NyAxMzkuMTYwODQyLDEyNy4zMTQ3NjQgQzEzNC4wNDA4MDQsMTI5LjY1Mjc2OSAxMjcuODMxMzk4LDEzMC44MjE3NzEgMTA2LjU4ODY5MSwxMzMuMzU0NjA5IEM5Ny42NTU4NjA3LDEzNC40MjYxOTQgODcuMDg4OTc1OCwxMzUuNjkyNjEzIDgzLjE2NzI0NTIsMTM2LjI3NzExNCBDNzQuNTYxMjI1NSwxMzcuNDQ2MTE2IDUyLjU1NTk2LDEzNy4zNDg2OTkgNDIuODYwNTcwNiwxMzYuMDgyMjggWiBNODQuNTMwMjczNCwxMzIuMDc4NzA0IEM5MC4yMzM4MTY3LDEzMS4zODQ4NTYgOTkuMDk4MzIxMywxMzAuMjUwMDg2IDEwOS4wMzgwODYsMTI5LjE5MzQ1IEMxMjMuMjY5NTg5LDEyNy4wMjU1MDQgMTM1LjQxOTkwMSwxMjUuNjI2MzMxIDEzNi4wNTI0MTMsMTIzLjMzMDg1OSBDMTM2LjI2MzI1LDEyMi42OTMyMjggMTIzLjkzNDI5NSwxMjAuOTc0MjM5IDEyMC4zNTAwNjQsMTE5LjgyNjUwMyBDMTE0LjEzMDM3MSwxMTcuNzg2MDg0IDEwMi4yODI2OTYsMTIwLjE4NTg4MSA5MC4zNzQ5MTk3LDEyMi40MTM1NjMgQzc4LjUwNDkyOTIsMTI0LjYzNDE3NSA2NS40NTYzNDA4LDEyMy4zMzA4NTkgNTcuMjU0NTk4NywxMjMuMzMwODU5IEM1Ny4yNTQ1OTg3LDEyMy4zMzA4NTkgNTIuNDc1NDQ2NiwxMjIuNTIzMTkzIDQyLjkxNzE0MjUsMTIwLjkwNzg2MSBDMzQuODc2MDMxNiwxMTkuNTQ4OTMxIDM2LjIyMTA1NjEsMTE5LjEyMjQ5NCAzMC4wMDEzNjIyLDEyMS44MDA1NDUgQzI2LjQxNzEzMTksMTIzLjQ1ODM4NSAyMy4yNTQ1NzU3LDEyNS4yNDM3NTIgMjMuMTQ5MTU3MiwxMjYuMDA4OTEgQzIzLjE0OTE1NzIsMTI2LjY0NjU0MSAyMy40NDM2MjM4LDEyOC40NjE1MjIgMjYuNDE3MTMxOSwxMjkuOTYyMjIxIEMzMC43NTg3ODkxLDEzMi4xNTM0MTEgNDMuNTE0MTYwMiwxMzIuNDQxMDA4IDU0LjcxNDM1NTUsMTMyLjk4NzM5NSBDNjMuNDg1ODM5OCwxMzIuOTg3Mzk1IDc4LjgyNjczMDEsMTMyLjc3MjU1MSA4NC41MzAyNzM0LDEzMi4wNzg3MDQgWiBNMzkuODcwNjc2MSwxMTYuNzY2ODQ0IEM0NC4xMjY4ODU2LDExNS43MjU4NzYgNTMuNjc3NDA0MSwxMTQuMjExNzQgNjEuMTUxNzIyOCwxMTMuMzYwMDM4IEM3OC43OTk0MjAxLDExMS4zNzI3MzQgMTM0Ljk2MDYyMSwxMTkuNTExMjE1IDEzNS4xNjgyNDEsMTE5LjIyNzMxNSBDMTM1LjM3NTg2MSwxMTkuMDM4MDQ5IDEzNC40NDE1NzEsNTQuMTE5NDYyNSAxMzEuMzI3MjcyLDI5LjcwNDAxNzcgQzEyOS44NzM5MzIsMTguOTE1Nzk3OCAxMjkuMzU0ODgyLDE3Ljk2OTQ2MjcgMTIyLjA4ODE4MywxMy40MjcwNTQ0IEMxMTAuNDYxNDY1LDYuMDQ1NjQwODQgNzQuNTQzMjEwNywyLjczMzQ2ODA4IDUzLjM2NTk3NCw2Ljk5MTk3NTkgQzQyLjk4NDk3NTcsOS4wNzM5MTMwNyAzNi43NTYzNzY3LDExLjcyMzY1MTMgMjcuNDEzNDc4MSwxNy42ODU1NjIzIEwyMi4yODExNjk0LDIxLjU4ODA4NTQgTDIzLjU3MjUwODgsMTIxLjMwOTI1MyBMMzkuODcwNjc2MSwxMTYuNzY2ODQ0IFogTTE3LjU5OTcwNDMsNjUuODAxMzgyMSBDMTcuNTk5NzA0Myw1MC44MjAwMDIzIDE4LjE3MDY1OTIsNTAuNzUyOTc1MyAxNy41OTk3MDQzLDUwLjc1Mjk3NTMgQzE0LjIyNTgzNzcsNTAuNzUyOTc1MyAxMC42ODY5OTQ2LDUzLjIwODYyOTYgNy45MzM0NTE3Miw1Ny42NDI4NTY0IEM1LjgxMDQ2NjgsNjEuMDYxNjUwNyA1LjUwMzQ2MTY2LDY1LjYzMDE2MjggNS41MDM0NjE2Niw2Ny4yMjgwNzE0IEM1LjUwMzQ2MTY2LDc4LjAyNjAyMTMgMTAuODY3NjAxOCw4Ni41MTAxNTI1IDE3LjU5OTcwNDMsODYuNTEwMTUyNSBDMTcuNTk5NzA0Myw4Ni41MTAxNTI1IDE3LjU5OTcwNDMsNzkuNjA3MjI5IDE3LjU5OTcwNDMsNjUuODAxMzgyMSBaIiBpZD0ibXVnIiBzdHJva2U9IiMwMDAwMDAiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxnIGlkPSJGYWNlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MC45NDI4NTAsIDYwLjQwMDc5NykiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02Mi4xNjA3NzgsMzMuNTQ3NTgzNSBDNTguNDA4MjI2MiwyNi42MDQxNTMzIDYwLjExMzkzMTYsMTkuMDI5NTAyMiA2NC44ODk5MDY2LDE5LjAyOTUwMjIgQzY3LjYxOTAzNTMsMTkuMDI5NTAyMiA3MC42ODkzMDQ5LDIxLjU1NDM4NiA3MS43MTI3MjgyLDI0LjcxMDQ5MDYgQzc0LjEwMDcxNTcsMzEuMDIyNjk5OSA2NS4yMzEwNDc4LDM5LjIyODU3MTggNjIuMTYwNzc4LDMzLjU0NzU4MzUgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIuMTAzMDM4MzcsMzQuMDA2MTkwNiBDLTEuNjQ5NTEzNDksMjcuMDYyNzYwMyAwLjA1NjE5MTkwMTksMTkuNDg4MTA5MiA0LjgzMjE2NywxOS40ODgxMDkyIEM3LjU2MTI5NTYzLDE5LjQ4ODEwOTIgMTAuNjMxNTY1MywyMi4wMTI5OTI5IDExLjY1NDk4ODUsMjUuMTY5MDk3NiBDMTQuMDQyOTc2MSwzMS40ODEzMDY4IDUuMTczMzA4MDgsMzkuNjg3MTc4OSAyLjEwMzAzODM3LDM0LjAwNjE5MDYgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTMxLjI3NDQ0ODEsMTMuNDg2Nzc4OCBDMjIuMzUyNjcyOCw5Ljc1NzE4ODQ0IDIyLjM1MjY3MjgsNi44NTYzOTU5NyAzMS42OTkyOTQ2LDIuOTE5NjA2MTggQzQyLjEwODAzMjQsLTEuMjI0MzgzMDcgNTQuNjQxMDAyNSwtMC44MDk5ODQxNDcgNTkuMTAxODkwMiwzLjc0ODQwNDAzIEM2Mi4yODgyMzg1LDcuNDc3OTk0MzUgNjIuMjg4MjM4NSw3Ljg5MjM5MzI4IDU4Ljg4OTQ2NjksMTAuNzkzMTg1OCBDNTMuMTU0MDM5OSwxNS43NjU5NzI5IDM5LjM0NjUzMDUsMTcuMDA5MTY5NiAzMS4yNzQ0NDgxLDEzLjQ4Njc3ODggWiBNMzQuOTc2NzUxLDcuOTA3NDgwOTMgQzMxLjkwMDc0OTksMTAuMTEwNDkzNyAzNi42OTIxOTYxLDEwLjMyOTQyNTggNDQuNzk0NzQwOCw5LjkxNzg4MDc4IEM1Ni4wMTA3NjU5LDkuMjAxOTk3NDEgNTYuMTM5MTMwOSw0LjQyOTQzMDIxIDQ0LjcxMDU0MzIsNC45MTI0NDYyMyBDMzkuOTU1OTI2OCw1LjA0NDI5NDI5IDM1Ljc0NTc1MTMsNy4zNTY3Mjc3NSAzNC45NzY3NTEsNy45MDc0ODA5MyBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBpZD0iU3RlYW0iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU5LjAwMDAwMCwgMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjE2MDcyNzYzLDAgQzMuODM3ODQ1OSwyLjYzMDYwNzA1IDMuNjM2ODk2NjIsNS4zMDMwNTE1OSAzLjU1OTg2MzAyLDcuOTkwOTU4NDEgQzMuNTAzOTksMTEuNzQ3MDY3OSA0LjM0NTcxNTczLDE1LjM3MjE2MjYgNS44ODAxMjQ4MywxNy45ODM3MjUxIEM2Ljg5MDgwOTkzLDE5Ljc5NTY2IDcuODk1MzMyMywyMS42MjM4Njk4IDguODkzNjkxOTYsMjMuNDY4MzU0NCBDOS45NDgxNjY2MywyNS4zNTQ0ODk1IDEwLjY1MTEyNjEsMjcuNzYxNTg3NSAxMC45MDg4OTk0LDMwLjM2ODg5NjkgQzExLjIxOTk2NDQsMzMuNTA1NjYyMyAxMC43MjU3NDQzLDM2LjcyMzg3OTUgOS41NTkyNjUwOCwzOS4xNTczMjM3IEM4LjMyNzMwNjcyLDQxLjc4NjcwODYgNi42NzAxMDYxOCw0My42OTM5NDg1IDQuODA3ODEyNiw0NC42MjU2NzgxIEw0LjE2MDcyNzYzLDQ1IEM0LjU0ODk3ODYyLDQzLjc5NTY2IDQuOTE4NzQxNDUsNDIuNjg4OTY5MiA1LjI2MDc3MjA4LDQxLjU2NjAwMzYgQzUuNzIyOTc1NjMsNDAuMDUyNDQxMiA2LjE4NTE3OTE3LDM4LjUzODg3ODkgNi42MTA0MDY0NCwzNi45NzY0OTE5IEM3LjEwOTgxODQzLDM1LjIzMjYwNTYgNy4wNTAwOTQzNCwzMy4xNTQzNzM1IDYuNDUzMjU3MjMsMzEuNTA4MTM3NCBDNi4yMjkzNzk3LDMwLjkyMTQxNDkgNS45NzIzMTQ0NiwzMC4zNzYxMzUxIDUuNjg1OTk5MzQsMjkuODgwNjUxIEM0LjY2OTE1MTUzLDI4LjA0MTU5MTQgMy42MjQ1NzE1MiwyNi4yNjc2MzExIDIuNjM1NDU1OTIsMjQuNDEyMjk2NiBDMS40NTE3ODQ1NCwyMi4yNjgxOTg3IDAuNjIzODI5MjUsMTkuNTk0ODU0NyAwLjI0MTI0MTU0MiwxNi42ODE3MzYgQy0wLjQzODk4OTM5NiwxMS43NzA5NzU3IDAuMzQwNTA0MzQyLDYuNTg3ODgxNzIgMi4zMTE5MTM0MywyLjkxMzIwMDczIEMyLjc2NDg3MjkxLDIuMDE4MDgzMTkgMy4zMDEwMjkwMywxLjI4NTcxNDI5IDMuODAwMjA4ODcsMC40NTU2OTYyMDIgTDQuMDY4Mjg2OTIsNS4wNTkyNDQxNmUtMTUgTDQuMTYwNzI3NjMsMCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MiwyMi4yNzg0MzM1IEM0MS41MDg3NTY2LDIzLjI0Nzc0OCA0MS4wMzY3Nzc2LDI0LjE3NTUyMDUgNDAuNTU1MTY2NCwyNS4xNTg2ODIzIEM0MC4xODQ1MjQ5LDI1Ljk1MjczODQgMzkuODYyMjU0NSwyNi43OTEzMDc5IDM5LjU5MTk0NCwyNy42NjUwNTI4IEMzOS4yOTU2OTQzLDI4Ljg5MjY3NTUgMzkuMjI5MjU3MSwzMC4yMTA3MjI5IDM5LjM5OTI5OTQsMzEuNDg2OTIxNCBDMzkuNTQzNzgyOSwzMy40MjU1NTA0IDM5LjcyNjc5NTEsMzUuMzY0MTc5NSAzOS44MDM4NTI5LDM3LjMwMjgwODUgQzM5Ljg1NjMxMzIsMzguOTU2Nzk5MyAzOS41MTY3MTU1LDQwLjU4NzQxNCAzOC44NDA2MzA1LDQxLjkyNzgyMzUgQzM4LjAxMDUwMjcsNDMuNjk1MDc1NCAzNi42NjAyMTU1LDQ0LjgxMzgwOTIgMzUuMTgwMzg1Myw0NC45NjAzOTMyIEMzMy43MjAwMDUsNDUuMTQ4NDYwOCAzMi4yNTU4ODU1LDQ0LjY2MzQ3NzQgMzEsNDMuNTc1NjU4MSBMMzEuMTM0ODUxMSw0My40MDk0ODk5IEMzMi4wOTgwNzM2LDQyLjQ5NTU2NDkgMzMuMTI4NzIxNSw0MS41OTU0ODcxIDM0LjEwMTU3NjIsNDAuNjQwMDE5OSBDMzQuNzYwMzc3MSw0MC4wNjgxMTA0IDM1LjA3ODA5MzUsMzguOTQwMzI5NiAzNC44ODE3ODYzLDM3Ljg3MDU0OTkgQzM0LjUzOTkyMDgsMzUuNTA3MDY1NyAzNC4zNzUyMzI1LDMzLjA5NzcxNjYgMzQuMzkwNTQzLDMwLjY4Mzc3NSBDMzQuNTUzMDI0NywyNi4zNjI2MjcyIDM2Ljc5MjQzMTgsMjIuNzkxMzAwNCAzOS43NjUzMjQsMjIuMTEyMjY1MyBDNDAuNDE5NDA4MSwyMS45NjI1NzgyIDQxLjA4NTg0NTcsMjEuOTYyNTc4MiA0MS43Mzk5Mjk5LDIyLjExMjI2NTMgTDQxLjg4NDQxMzQsMjIuMTEyMjY1MyBMNDIsMjIuMjc4NDMzNSBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+',
7
+ });
8
+ var ServerSideRender = wp.serverSideRender;
9
+ const { RichText, InspectorControls } = blockEditor;
10
+ const {
11
+ TextControl,
12
+ CheckboxControl,
13
+ RadioControl,
14
+ SelectControl,
15
+ TextareaControl,
16
+ ToggleControl,
17
+ RangeControl,
18
+ Panel,
19
+ PanelBody,
20
+ PanelRow,
21
+ } = components;
22
 
23
+ registerBlockType('yarpp/yarpp-block', {
24
+ title: __('YARPP Block', 'yarpp'),
25
+ description: __('Display related posts by YARPP', 'yarpp'),
26
+ category: 'yarpp',
27
+ icon: iconEl,
28
+ keywords: [__('yarpp', 'yarpp'), __('related posts', 'yarpp'), __('posts', 'yarpp')],
29
+ supports: {
30
+ html: false,
31
+ },
32
 
33
+ attributes: {
34
+ limit: {
35
+ type: 'number',
36
+ default: 6,
37
+ },
38
+ template: {
39
+ type: 'string',
40
+ default: yarpp_localized.selected_theme_style,
41
+ },
42
+ yarpp_preview: {
43
+ type: 'string',
44
+ },
45
+ },
46
+ example: {
47
+ attributes: {
48
+ yarpp_preview: 'yarpp_preview',
49
+ },
50
+ },
51
+ edit: function (props) {
52
+ const attributes = props.attributes;
53
+ const setAttributes = props.setAttributes;
54
+ var template = Object.keys(yarpp_localized.template).map(function (key) {
55
+ return { value: key, label: yarpp_localized.template[key] };
56
+ });
57
 
58
+ if (props.isSelected) {
59
+ // console.debug(props.attributes);
60
+ }
61
 
62
+ // Functions to update attributes.
63
+ function changeThumbnail(template) {
64
+ setAttributes({ template });
65
+ }
66
 
67
+ return [
68
+ /**
69
+ * Server side render
70
+ */
71
+ el(
72
+ 'div',
73
+ { className: props.className },
74
+ el(ServerSideRender, {
75
+ block: 'yarpp/yarpp-block',
76
+ attributes: attributes,
77
+ }),
78
+ ),
79
 
80
+ /**
81
+ * Inspector
82
+ */
83
+ el(
84
+ InspectorControls,
85
+ {},
86
+ el(
87
+ PanelBody,
88
+ { title: 'YARPP Posts Settings', initialOpen: true },
 
89
 
90
+ el(TextControl, {
91
+ label: __('Maximum number of posts', 'yarpp'),
92
+ value: attributes.limit,
93
+ onChange: function (val) {
94
+ setAttributes({ limit: parseInt(val) });
95
+ },
96
+ type: 'number',
97
+ min: 1,
98
+ step: 1,
99
+ }),
100
+ el(SelectControl, {
101
+ value: attributes.template,
102
+ label: __('Theme', 'yarpp'),
103
+ onChange: changeThumbnail,
104
+ options: template,
105
+ }),
106
+ ),
107
+ ),
108
+ ];
109
+ },
110
 
111
+ save() {
112
+ return null; //save has to exist. This all we need
113
+ },
114
+ });
115
+ })(
116
+ window.wp.blocks,
117
+ window.wp.i18n,
118
+ window.wp.element,
119
+ window.wp.components,
120
+ window.wp.editor,
121
+ window.wp.blockEditor,
122
+ window.wp.serverSideRender,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  );
src/js/metabox.js CHANGED
@@ -1,89 +1,84 @@
1
- jQuery(document).ready(function($) {
2
  var loaded_metabox = false;
3
  var display = $('#yarpp-related-posts');
4
-
5
  /*
6
- * Populates Metabox initially
7
- */
8
  function yarpp_metabox_initial_display() {
9
- if (!$('#yarpp_relatedposts') ||
10
- !display.length ||
11
- !$('#post_ID').val() )
12
- return;
13
 
14
  if (!loaded_metabox) {
15
  loaded_metabox = true;
16
  yarpp_metabox_populate(false);
17
  }
18
  }
19
-
20
  /*
21
- * Populates Metabox
22
- * @param bool refresh
23
- */
24
  function yarpp_metabox_populate(refresh) {
25
  var data = {
26
  action: 'yarpp_display',
27
  domain: 'metabox',
28
  ID: parseInt($('#post_ID').val()),
29
- '_ajax_nonce': $('#yarpp_display-nonce').val()
30
  };
31
- if(typeof refresh !== 'undefined' && refresh){
32
  data['refresh'] = true;
33
  }
34
  $.ajax({
35
- type:'POST',
36
  url: ajaxurl,
37
  data: data,
38
- error: function() {
39
- display.html("Error");
40
  },
41
- success: function(html){
42
- display.html(html)},
43
- dataType: 'html'
44
- }
45
- );
46
  }
47
 
48
- $('#yarpp_relatedposts .handlediv, #yarpp_relatedposts-hide').click(function() {
49
  setTimeout(yarpp_metabox_initial_display, 0);
50
  });
51
-
52
  /*
53
- * Metabox Actions
54
- */
55
- $(document).on('touchstart mouseenter', '#yarpp-list li', function() {
56
- $(this).children('.yarpp-related-action').css( 'visibility', 'visible' );
57
  });
58
 
59
- $(document).on('touchend mouseleave', '#yarpp-list li', function() {
60
- $(this).children('.yarpp-related-action').css( 'visibility', 'hidden' );
61
  });
62
 
63
  /*
64
- * Metabox Refresh Button
65
- */
66
- $(document).on('click', '#yarpp-refresh', function(e) {
67
  e.preventDefault();
68
-
69
  var display = $('#yarpp-related-posts');
70
-
71
- if( $(this).hasClass('disabled') )
72
- return false;
73
 
74
- $refresh_button = $(this);
75
- $spinner = $refresh_button.siblings('.spinner');
 
 
76
 
77
- $refresh_button.addClass( 'yarpp-disabled' );
78
- $spinner.css( 'visibility', 'visible' );
79
 
80
- $('#yarpp-list').css( 'opacity', 0.6 );
81
  yarpp_metabox_populate(true);
82
  });
83
-
84
  /*
85
- * Initial Load
86
- */
87
  yarpp_metabox_initial_display();
88
-
89
- });
1
+ jQuery(document).ready(function ($) {
2
  var loaded_metabox = false;
3
  var display = $('#yarpp-related-posts');
4
+
5
  /*
6
+ * Populates Metabox initially
7
+ */
8
  function yarpp_metabox_initial_display() {
9
+ if (!$('#yarpp_relatedposts') || !display.length || !$('#post_ID').val()) return;
 
 
 
10
 
11
  if (!loaded_metabox) {
12
  loaded_metabox = true;
13
  yarpp_metabox_populate(false);
14
  }
15
  }
16
+
17
  /*
18
+ * Populates Metabox
19
+ * @param bool refresh
20
+ */
21
  function yarpp_metabox_populate(refresh) {
22
  var data = {
23
  action: 'yarpp_display',
24
  domain: 'metabox',
25
  ID: parseInt($('#post_ID').val()),
26
+ _ajax_nonce: $('#yarpp_display-nonce').val(),
27
  };
28
+ if (typeof refresh !== 'undefined' && refresh) {
29
  data['refresh'] = true;
30
  }
31
  $.ajax({
32
+ type: 'POST',
33
  url: ajaxurl,
34
  data: data,
35
+ error: function () {
36
+ display.html('Error');
37
  },
38
+ success: function (html) {
39
+ display.html(html);
40
+ },
41
+ dataType: 'html',
42
+ });
43
  }
44
 
45
+ $('#yarpp_relatedposts .handlediv, #yarpp_relatedposts-hide').click(function () {
46
  setTimeout(yarpp_metabox_initial_display, 0);
47
  });
48
+
49
  /*
50
+ * Metabox Actions
51
+ */
52
+ $(document).on('touchstart mouseenter', '#yarpp-list li', function () {
53
+ $(this).children('.yarpp-related-action').css('visibility', 'visible');
54
  });
55
 
56
+ $(document).on('touchend mouseleave', '#yarpp-list li', function () {
57
+ $(this).children('.yarpp-related-action').css('visibility', 'hidden');
58
  });
59
 
60
  /*
61
+ * Metabox Refresh Button
62
+ */
63
+ $(document).on('click', '#yarpp-refresh', function (e) {
64
  e.preventDefault();
65
+
66
  var display = $('#yarpp-related-posts');
 
 
 
67
 
68
+ if ($(this).hasClass('disabled')) return false;
69
+
70
+ const refresh_button = $(this);
71
+ const spinner = refresh_button.siblings('.spinner');
72
 
73
+ refresh_button.addClass('yarpp-disabled');
74
+ spinner.css('visibility', 'visible');
75
 
76
+ $('#yarpp-list').css('opacity', 0.6);
77
  yarpp_metabox_populate(true);
78
  });
79
+
80
  /*
81
+ * Initial Load
82
+ */
83
  yarpp_metabox_initial_display();
84
+ });
 
src/js/options_basic.js CHANGED
@@ -1,19 +1,19 @@
1
- jQuery(function($) {
2
  // since 3.3: add screen option toggles
3
  postboxes.add_postbox_toggles(pagenow);
4
 
5
  function template() {
6
  var metabox = $(this).closest('#yarpp_display_web, #yarpp_display_rss');
7
  if (!metabox.length) return;
8
-
9
  value = metabox.find('.use_template').val();
10
-
11
  metabox.find('.yarpp_subbox').hide();
12
  metabox.find('.template_options_' + value).show();
13
 
14
  var no_results_area = metabox.find('.yarpp_no_results');
15
  // The "no_results" input is special. Its used by the non-custom templates.
16
- if(value === 'custom'){
17
  no_results_area.hide();
18
  } else {
19
  no_results_area.show();
@@ -21,34 +21,44 @@ jQuery(function($) {
21
  excerpt.apply(metabox);
22
  }
23
  $('.use_template').each(template).change(template);
24
-
25
  function excerpt() {
26
  var metabox = $(this).closest('#yarpp_display_web, #yarpp_display_rss');
27
- metabox.find('.excerpted').toggle(
28
- !!(metabox.find('.use_template').val() === 'builtin' && metabox.find('.show_excerpt input').prop('checked'))
29
- );
 
 
 
 
 
30
  }
31
  $('.show_excerpt, .use_template, #yarpp-rss_display').click(excerpt);
32
-
33
  var loaded_demo_web = false;
34
  function display() {
35
- if ( !$('#yarpp_display_web .inside').is(':visible') )
36
- return;
37
 
38
- $( '.yarpp_code_display' ).toggle( $('#yarpp_display_code').is(':checked') );
39
- if ( $('#yarpp_display_web .yarpp_code_display').is(':visible') && !loaded_demo_web ) {
40
  loaded_demo_web = true;
41
  var demo_web = $('#display_demo_web');
42
- $.ajax({type:'POST',
 
43
  url: ajaxurl,
44
  data: {
45
  action: 'yarpp_display_demo',
46
  domain: 'website',
47
- '_ajax_nonce': $('#yarpp_display_demo-nonce').val()
48
  },
49
- beforeSend:function(){demo_web.html(loading)},
50
- success:function(html){demo_web.html('<pre>'+html+'</pre>')},
51
- dataType:'html'});
 
 
 
 
 
52
  }
53
  }
54
  $('#yarpp_display_web .handlediv, #yarpp_display_web-hide').click(display);
@@ -56,38 +66,46 @@ jQuery(function($) {
56
 
57
  var loaded_demo_rss = false;
58
  function rss_display() {
59
- if ( !$('#yarpp_display_rss .inside').is(':visible') )
60
- return;
61
- if ( $('#yarpp-rss_display').is(':checked') ) {
62
  $('.rss_displayed').show();
63
- $( '.yarpp_code_display' ).toggle( $('#yarpp_display_code').is(':checked') );
64
- if ( $('#yarpp_display_rss .yarpp_code_display').is(':visible') && !loaded_demo_rss ) {
 
 
 
65
  loaded_demo_rss = true;
66
  var demo_rss = $('#display_demo_rss');
67
- $.ajax({type:'POST',
68
- url: ajaxurl,
69
- data: {
70
- action: 'yarpp_display_demo',
71
- domain: 'rss',
72
- '_ajax_nonce': $('#yarpp_display_demo-nonce').val()
73
- },
74
- beforeSend:function(){demo_rss.html(loading)},
75
- success:function(html){demo_rss.html('<pre>'+html+'</pre>')},
76
- dataType:'html'});
 
 
 
 
 
 
77
  }
78
  $('#yarpp_display_rss').each(template);
79
  } else {
80
  $('.rss_displayed').hide();
81
  }
82
  }
83
- $('#yarpp-rss_display, #yarpp_display_rss .handlediv, #yarpp_display_rss-hide').click(rss_display);
 
 
84
  rss_display();
85
 
86
-
87
  function yarpp_rest_display() {
88
- if ( !$('#yarpp_display_api .inside').is(':visible') )
89
- return;
90
- if ( $('#yarpp-rest_api_display').is(':checked') ) {
91
  $('.yarpp_rest_displayed').show();
92
  } else {
93
  $('.yarpp_rest_displayed').hide();
@@ -97,7 +115,7 @@ jQuery(function($) {
97
  yarpp_rest_display();
98
 
99
  function yarpp_rest_cache_display() {
100
- if ( $('#yarpp-rest_api_client_side_caching').is(':checked') ) {
101
  $('.yarpp_rest_browser_cache_displayed').show();
102
  } else {
103
  $('.yarpp_rest_browser_cache_displayed').hide();
@@ -108,329 +126,359 @@ jQuery(function($) {
108
 
109
  var loaded_disallows = false;
110
  function load_disallows() {
111
- if ( loaded_disallows || !$('#yarpp_pool .inside').is(':visible') )
112
- return;
113
  loaded_disallows = true;
114
-
115
  var finished_taxonomies = {},
116
  term_indices = {};
117
  function load_disallow(taxonomy) {
118
- if (taxonomy in finished_taxonomies)
119
- return;
120
  var display = $('#exclude_' + taxonomy);
121
  // only do one query at a time:
122
- if (display.find('.loading').length)
123
- return;
124
-
125
- if ( taxonomy in term_indices )
126
- term_indices[taxonomy] = term_indices[taxonomy] + 100;
127
- else
128
- term_indices[taxonomy] = 0;
129
- $.ajax({type:'POST',
130
- url: ajaxurl,
131
- data: {
132
- action: 'yarpp_display_exclude_terms',
133
- taxonomy: taxonomy,
134
- offset: term_indices[taxonomy],
135
- '_ajax_nonce': $('#yarpp_display_exclude_terms-nonce').val()
136
- },
137
- beforeSend:function(){
138
- display.append(loading)
139
- },
140
- success:function(html){
141
- display.find('.loading').remove();
142
- if (':(' == html) { // no more :(
143
- finished_taxonomies[taxonomy] = true;
144
- display.append("-");
145
- return;
146
- }
147
- display.append(html);
148
- },
149
- dataType:'html'}
150
- );
151
  }
152
-
153
- $('.exclude_terms').each(function() {
154
- var id = jQuery(this).attr('id'), taxonomy;
155
- if (!id)
156
- return;
157
-
158
- taxonomy = id.replace('exclude_','');
159
-
160
  load_disallow(taxonomy);
161
- $('#exclude_' + taxonomy).parent('.yarpp_scroll_wrapper').scroll(function() {
162
- var parent = $(this),
163
- content = parent.children('div');
164
- if ( parent.scrollTop() + parent.height() > content.height() - 10 )
165
- load_disallow(taxonomy);
166
- })
167
- })
168
-
 
169
  }
170
  $('#yarpp_pool .handlediv, #yarpp_pool-hide').click(load_disallows);
171
  load_disallows();
172
 
173
- function show_help( section ) {
174
  $('#tab-link-' + section + ' a').click();
175
  $('#contextual-help-link').click();
176
  }
177
- $('#yarpp-optin-learnmore').click(function() { show_help('optin'); });
178
- $('#yarpp-help-cpt').click(function() { show_help('dev'); });
179
- if ( location.hash == '#help-optin' )
180
- setTimeout( function() { show_help('optin'); } );
 
 
 
 
 
 
181
 
182
- $('.yarpp_help[data-help]').hover(function() {
183
  var that = $(this),
184
- help = '<p>' + that.attr('data-help') + '</p>',
185
- options = {
186
- content: help,
187
- position: {
188
- edge: isRtl ? 'right' : 'left',
189
- align: 'center',
190
- of: that
191
- },
192
- document: {body: that}
193
- };
194
-
195
  var pointer = that.pointer(options).pointer('open');
196
  that.closest('.yarpp_form_row, p').mouseleave(function () {
197
  pointer.pointer('close');
198
  });
199
  });
200
 
201
- $('.yarpp_template_button[data-help]').hover(function() {
202
  var that = $(this),
203
- help = '<p>' + that.attr('data-help') + '</p>',
204
- options = {
205
- content: help,
206
- position: {
207
- edge: 'bottom',
208
- // align: 'center',
209
- of: that
210
- },
211
- document: {body: that}
212
- };
213
-
214
  var pointer = that.pointer(options).pointer('open');
215
  that.mouseleave(function () {
216
  pointer.pointer('close');
217
  });
218
 
219
  // Only setup the copy templates button once it exists.
220
- $('.yarpp_copy_templates_button').on('click', function() {
221
- $copy_templates_button = $(this);
222
- $spinner = $copy_templates_button.siblings('.spinner');
223
 
224
- $copy_templates_button.addClass( 'yarpp-disabled' );
225
- $spinner.addClass('is-active');
226
 
227
- window.location = window.location + (window.location.search.length ? '&' : '?') + 'action=copy_templates&_ajax_nonce=' + $('#yarpp_copy_templates-nonce').val();
 
 
 
 
228
  });
229
  });
230
-
231
- $('.yarpp_spin_on_click').on('click', function() {
232
- $button = $(this);
233
- $spinner = $button.siblings('.spinner');
234
 
235
- $button.addClass( 'yarpp-disabled' );
236
- $spinner.addClass( 'is-active' );
 
 
 
 
237
  });
238
-
239
- $('.yarpp_template_button:not(.disabled)').click(function() {
240
- $(this).siblings('input')
241
- .val($(this).attr('data-value'))
242
- .change();
243
  $(this).siblings().removeClass('active');
244
  $(this).addClass('active');
245
  });
246
-
247
  function template_info() {
248
  var template = $(this).find('option:selected'),
249
- row = template.closest('.yarpp_form_row');
250
- if ( !!template.attr('data-url') ) {
251
- row.find('.template_author_wrap')
252
- .toggle( !!template.attr('data-author') )
253
- .find('span').empty().append('<a>' + template.attr('data-author') + '</a>')
 
 
 
254
  .attr('href', template.attr('data-url'));
255
  } else {
256
- row.find('.template_author_wrap')
257
- .toggle( !!template.attr('data-author') )
258
- .find('span').text(template.attr('data-author'));
 
 
259
  }
260
- row.find('.template_description_wrap')
261
- .toggle( !!template.attr('data-description') )
262
- .find('span').text(template.attr('data-description'));
263
- row.find('.template_file_wrap')
264
- .toggle( !!template.attr('data-basename') )
265
- .find('span').text(template.attr('data-basename'));
 
 
 
 
266
  }
267
- $('#template_file, #rss_template_file')
268
- .each(template_info)
269
- .change(template_info);
270
 
271
  var loaded_optin_data = false;
272
  function _display_optin_data() {
273
- if ( !$('#optin_data_frame').is(':visible') || loaded_optin_data )
274
- return;
275
  loaded_optin_data = true;
276
  var frame = $('#optin_data_frame');
277
- $.ajax({type:'POST',
 
278
  url: ajaxurl,
279
  data: {
280
  action: 'yarpp_optin_data',
281
- '_ajax_nonce': $('#yarpp_optin_data-nonce').val()
282
  },
283
- beforeSend:function(){frame.html(loading)},
284
- success:function(html){frame.html('<pre>'+html+'</pre>')},
285
- dataType:'html'});
 
 
 
 
 
286
  }
287
  function display_optin_data() {
288
  setTimeout(_display_optin_data, 0);
289
  }
290
- $('#yarpp-optin-learnmore, a[aria-controls=tab-panel-optin]').bind('click focus', display_optin_data);
 
 
 
291
  display_optin_data();
292
-
293
  function sync_no_results() {
294
  var value = $(this).find('input').attr('value');
295
- if ( $(this).hasClass('sync_no_results') )
296
  $('.sync_no_results input').attr('value', value);
297
- if ( $(this).hasClass('sync_rss_no_results') )
298
  $('.sync_rss_no_results input').attr('value', value);
299
  }
300
  $('.sync_no_results, .sync_rss_no_results').change(sync_no_results);
301
-
302
- $('#yarpp_display_code').click(function() {
303
  var args = {
304
  action: 'yarpp_set_display_code',
305
- '_ajax_nonce': $('#yarpp_set_display_code-nonce').val()
306
  };
307
- if ( $(this).is(':checked') )
308
- args.checked = true;
309
- $.ajax({type:'POST', url: ajaxurl, data: args});
310
  display();
311
  rss_display();
312
  });
313
-
314
  function auto_display_archive() {
315
  var available = $('.yarpp_form_post_types').is(':has(input[type=checkbox]:checked)');
316
- $('#yarpp-auto_display_archive')
317
- .attr('disabled', !available);
318
- if ( !available )
319
- $('#yarpp-auto_display_archive').prop('checked', false);
320
  }
321
-
322
  $('.yarpp_form_post_types input[type=checkbox]').change(auto_display_archive);
323
  auto_display_archive();
324
 
325
- $("#yarpp_fulltext_expand").click(function(e){
326
  e.preventDefault();
327
- var $details = $("#yarpp_fulltext_details");
328
 
329
- $details.slideToggle();
330
 
331
- if ($details.hasClass('hidden')) {
332
- $details.removeClass('hidden');
333
  $(this).text('Hide Details [-]');
334
- }else{
335
- $details.addClass('hidden');
336
  $(this).text('Show Details [+]');
337
  }
338
  });
339
- $('.include_post_type input[type=checkbox]').change(function(e){
340
- var get_attr = $(this).attr('data-post-type');
341
- if ( $('#yarpp-same_post_type').is(':checked') ) {
342
- yarpp_enable_disabel_checkbox( $(this).is(':checked'), get_attr );
343
- } else {
344
- $('.yarpp_form_post_types #yarpp_post_type_' + get_attr).prop( "disabled", false );
345
- }
346
  });
347
- $('#yarpp-same_post_type').change(function(e){
348
- var get_checkboxes = '.include_post_type input[type=checkbox]';
349
- if ( $(this).is(':checked') ) {
350
- $(get_checkboxes).each(function () {
351
- var get_attr = $(this).attr('data-post-type');
352
- yarpp_enable_disabel_checkbox( $(this).is(':checked'), get_attr );
353
- });
354
- } else {
355
- $('.yarpp_form_post_types input[type=checkbox]').prop( "disabled", false );
356
- $('.yarpp_form_post_types input[type=checkbox]').siblings().hide();
357
- }
358
  });
359
- function yarpp_enable_disabel_checkbox ( checked, get_attr ) {
360
- if ( checked ) {
361
- $('.yarpp_form_post_types #yarpp_post_type_' + get_attr).prop( "disabled", false );
362
- $('.yarpp_form_post_types #yarpp_post_type_' + get_attr).siblings().hide();
363
- } else {
364
- $('.yarpp_form_post_types #yarpp_post_type_' + get_attr).prop( "disabled", true );
365
- $('.yarpp_form_post_types #yarpp_post_type_' + get_attr).siblings().show();
366
- }
 
 
 
 
367
  }
368
- var yarpp_model = $(
369
- '\
370
  <div id="shareaholic-deactivate-dialog" class="shareaholic-deactivate-dialog" data-remodal-id="">\
371
- <div class="shareaholic-deactivate-header" style="background-image: url(' + yarpp_messages.logo + '); background-color: ' + yarpp_messages.bgcolor + ';"><div class="shareaholic-deactivate-text"><h2>' +yarpp_messages.model_title + '</h2></div></div>\
 
 
 
 
 
 
372
  <div class="shareaholic-deactivate-body">\
373
- <div class="shareaholic-deactivate-body-foreword">' + yarpp_messages.alert_message + '</div>\
 
 
374
  <div class="shareaholic-deactivate-dialog-footer">\
375
  <input type="submit" class="button confirm button-secondary" id="yarpp-clear-cache-submit" value="Delete"/>\
376
  <button data-remodal-action="cancel" class="button button-secondary">Cancel</button>\
377
  </div>\
378
  </div>\
379
  </div>\
380
- '
381
- )[0];
382
- $('#yarpp-clear-cache').click(function() {
383
- var inst = $(yarpp_model).remodal({hashTracking:false,closeOnOutsideClick:false});
384
- inst.open();
385
- event.preventDefault();
 
 
 
386
  });
387
- $( document.body ).on(
388
- 'click',
389
- '#yarpp-clear-cache-submit',
390
- function() {
391
- var inst = $(yarpp_model).remodal();
392
- /**
393
- * Closes the modal window
394
- */
395
- inst.close();
396
- var cache_button = '#yarpp-clear-cache';
397
- var display_notices = '#display_notices';
398
- var notice_class = 'notice notice-error is-dismissible';
399
- $(cache_button).prop( "disabled", true );
400
- $.ajax({
401
- type:'POST',
402
- url: ajaxurl,
403
- data: {
404
- action: 'yarpp_clear_cache',
405
- '_ajax_nonce': $('#clear_cache-nonce').val()
406
- },
407
- beforeSend: function() {
408
- $(cache_button).siblings( '.spinner' ).addClass( 'is-active' );
409
- },
410
- success:function(data){
411
- $(cache_button).siblings( '.spinner' ).removeClass( 'is-active' );
412
- $(display_notices).show();
413
- if( 'success' == data ) {
414
- var message = yarpp_messages.success;
415
- notice_class = 'notice notice-success is-dismissible';
416
- $(cache_button).prop( "disabled", false );
417
- } else if( 'forbidden' == data ) {
418
- var message = yarpp_messages.forbidden;
419
- } else if( 'nonce_fail' == data ) {
420
- var message = yarpp_messages.nonce_fail;
421
- } else {
422
- var message = yarpp_messages.error;
423
- }
424
- $(display_notices).addClass( notice_class );
425
- $(display_notices).html('<p>' + message + '</p>');
 
 
 
426
  },
427
- error:function(data){
428
- $(display_notices).show();
429
- $(display_notices).addClass( notice_class );
430
- $(cache_button).siblings( '.spinner' ).removeClass( 'is-active' );
431
- $(display_notices).html('<p>' + yarpp_messages.error + '</p>');
432
- }
433
  });
434
- $(display_notices).delay(5000).fadeOut(1000);
435
  });
436
- });
1
+ jQuery(function ($) {
2
  // since 3.3: add screen option toggles
3
  postboxes.add_postbox_toggles(pagenow);
4
 
5
  function template() {
6
  var metabox = $(this).closest('#yarpp_display_web, #yarpp_display_rss');
7
  if (!metabox.length) return;
8
+
9
  value = metabox.find('.use_template').val();
10
+
11
  metabox.find('.yarpp_subbox').hide();
12
  metabox.find('.template_options_' + value).show();
13
 
14
  var no_results_area = metabox.find('.yarpp_no_results');
15
  // The "no_results" input is special. Its used by the non-custom templates.
16
+ if (value === 'custom') {
17
  no_results_area.hide();
18
  } else {
19
  no_results_area.show();
21
  excerpt.apply(metabox);
22
  }
23
  $('.use_template').each(template).change(template);
24
+
25
  function excerpt() {
26
  var metabox = $(this).closest('#yarpp_display_web, #yarpp_display_rss');
27
+ metabox
28
+ .find('.excerpted')
29
+ .toggle(
30
+ !!(
31
+ metabox.find('.use_template').val() === 'builtin' &&
32
+ metabox.find('.show_excerpt input').prop('checked')
33
+ ),
34
+ );
35
  }
36
  $('.show_excerpt, .use_template, #yarpp-rss_display').click(excerpt);
37
+
38
  var loaded_demo_web = false;
39
  function display() {
40
+ if (!$('#yarpp_display_web .inside').is(':visible')) return;
 
41
 
42
+ $('.yarpp_code_display').toggle($('#yarpp_display_code').is(':checked'));
43
+ if ($('#yarpp_display_web .yarpp_code_display').is(':visible') && !loaded_demo_web) {
44
  loaded_demo_web = true;
45
  var demo_web = $('#display_demo_web');
46
+ $.ajax({
47
+ type: 'POST',
48
  url: ajaxurl,
49
  data: {
50
  action: 'yarpp_display_demo',
51
  domain: 'website',
52
+ _ajax_nonce: $('#yarpp_display_demo-nonce').val(),
53
  },
54
+ beforeSend: function () {
55
+ demo_web.html(loading);
56
+ },
57
+ success: function (html) {
58
+ demo_web.html('<pre>' + html + '</pre>');
59
+ },
60
+ dataType: 'html',
61
+ });
62
  }
63
  }
64
  $('#yarpp_display_web .handlediv, #yarpp_display_web-hide').click(display);
66
 
67
  var loaded_demo_rss = false;
68
  function rss_display() {
69
+ if (!$('#yarpp_display_rss .inside').is(':visible')) return;
70
+ if ($('#yarpp-rss_display').is(':checked')) {
 
71
  $('.rss_displayed').show();
72
+ $('.yarpp_code_display').toggle($('#yarpp_display_code').is(':checked'));
73
+ if (
74
+ $('#yarpp_display_rss .yarpp_code_display').is(':visible') &&
75
+ !loaded_demo_rss
76
+ ) {
77
  loaded_demo_rss = true;
78
  var demo_rss = $('#display_demo_rss');
79
+ $.ajax({
80
+ type: 'POST',
81
+ url: ajaxurl,
82
+ data: {
83
+ action: 'yarpp_display_demo',
84
+ domain: 'rss',
85
+ _ajax_nonce: $('#yarpp_display_demo-nonce').val(),
86
+ },
87
+ beforeSend: function () {
88
+ demo_rss.html(loading);
89
+ },
90
+ success: function (html) {
91
+ demo_rss.html('<pre>' + html + '</pre>');
92
+ },
93
+ dataType: 'html',
94
+ });
95
  }
96
  $('#yarpp_display_rss').each(template);
97
  } else {
98
  $('.rss_displayed').hide();
99
  }
100
  }
101
+ $('#yarpp-rss_display, #yarpp_display_rss .handlediv, #yarpp_display_rss-hide').click(
102
+ rss_display,
103
+ );
104
  rss_display();
105
 
 
106
  function yarpp_rest_display() {
107
+ if (!$('#yarpp_display_api .inside').is(':visible')) return;
108
+ if ($('#yarpp-rest_api_display').is(':checked')) {
 
109
  $('.yarpp_rest_displayed').show();
110
  } else {
111
  $('.yarpp_rest_displayed').hide();
115
  yarpp_rest_display();
116
 
117
  function yarpp_rest_cache_display() {
118
+ if ($('#yarpp-rest_api_client_side_caching').is(':checked')) {
119
  $('.yarpp_rest_browser_cache_displayed').show();
120
  } else {
121
  $('.yarpp_rest_browser_cache_displayed').hide();
126
 
127
  var loaded_disallows = false;
128
  function load_disallows() {
129
+ if (loaded_disallows || !$('#yarpp_pool .inside').is(':visible')) return;
 
130
  loaded_disallows = true;
131
+
132
  var finished_taxonomies = {},
133
  term_indices = {};
134
  function load_disallow(taxonomy) {
135
+ if (taxonomy in finished_taxonomies) return;
 
136
  var display = $('#exclude_' + taxonomy);
137
  // only do one query at a time:
138
+ if (display.find('.loading').length) return;
139
+
140
+ if (taxonomy in term_indices) term_indices[taxonomy] = term_indices[taxonomy] + 100;
141
+ else term_indices[taxonomy] = 0;
142
+ $.ajax({
143
+ type: 'POST',
144
+ url: ajaxurl,
145
+ data: {
146
+ action: 'yarpp_display_exclude_terms',
147
+ taxonomy: taxonomy,
148
+ offset: term_indices[taxonomy],
149
+ _ajax_nonce: $('#yarpp_display_exclude_terms-nonce').val(),
150
+ },
151
+ beforeSend: function () {
152
+ display.append(loading);
153
+ },
154
+ success: function (html) {
155
+ display.find('.loading').remove();
156
+ if (':(' == html) {
157
+ // no more :(
158
+ finished_taxonomies[taxonomy] = true;
159
+ display.append('-');
160
+ return;
161
+ }
162
+ display.append(html);
163
+ },
164
+ dataType: 'html',
165
+ });
 
166
  }
167
+
168
+ $('.exclude_terms').each(function () {
169
+ var id = jQuery(this).attr('id'),
170
+ taxonomy;
171
+ if (!id) return;
172
+
173
+ taxonomy = id.replace('exclude_', '');
174
+
175
  load_disallow(taxonomy);
176
+ $('#exclude_' + taxonomy)
177
+ .parent('.yarpp_scroll_wrapper')
178
+ .scroll(function () {
179
+ var parent = $(this),
180
+ content = parent.children('div');
181
+ if (parent.scrollTop() + parent.height() > content.height() - 10)
182
+ load_disallow(taxonomy);
183
+ });
184
+ });
185
  }
186
  $('#yarpp_pool .handlediv, #yarpp_pool-hide').click(load_disallows);
187
  load_disallows();
188
 
189
+ function show_help(section) {
190
  $('#tab-link-' + section + ' a').click();
191
  $('#contextual-help-link').click();
192
  }
193
+ $('#yarpp-optin-learnmore').click(function () {
194
+ show_help('optin');
195
+ });
196
+ $('#yarpp-help-cpt').click(function () {
197
+ show_help('dev');
198
+ });
199
+ if (location.hash == '#help-optin')
200
+ setTimeout(function () {
201
+ show_help('optin');
202
+ });
203
 
204
+ $('.yarpp_help[data-help]').hover(function () {
205
  var that = $(this),
206
+ help = '<p>' + that.attr('data-help') + '</p>',
207
+ options = {
208
+ content: help,
209
+ position: {
210
+ edge: isRtl ? 'right' : 'left',
211
+ align: 'center',
212
+ of: that,
213
+ },
214
+ document: { body: that },
215
+ };
216
+
217
  var pointer = that.pointer(options).pointer('open');
218
  that.closest('.yarpp_form_row, p').mouseleave(function () {
219
  pointer.pointer('close');
220
  });
221
  });
222
 
223
+ $('.yarpp_template_button[data-help]').hover(function () {
224
  var that = $(this),
225
+ help = '<p>' + that.attr('data-help') + '</p>',
226
+ options = {
227
+ content: help,
228
+ position: {
229
+ edge: 'bottom',
230
+ // align: 'center',
231
+ of: that,
232
+ },
233
+ document: { body: that },
234
+ };
235
+
236
  var pointer = that.pointer(options).pointer('open');
237
  that.mouseleave(function () {
238
  pointer.pointer('close');
239
  });
240
 
241
  // Only setup the copy templates button once it exists.
242
+ $('.yarpp_copy_templates_button').on('click', function () {
243
+ const copy_templates_button = $(this);
244
+ const spinner = copy_templates_button.siblings('.spinner');
245
 
246
+ copy_templates_button.addClass('yarpp-disabled');
247
+ spinner.addClass('is-active');
248
 
249
+ window.location =
250
+ window.location +
251
+ (window.location.search.length ? '&' : '?') +
252
+ 'action=copy_templates&_ajax_nonce=' +
253
+ $('#yarpp_copy_templates-nonce').val();
254
  });
255
  });
 
 
 
 
256
 
257
+ $('.yarpp_spin_on_click').on('click', function () {
258
+ const button = $(this);
259
+ const spinner = button.siblings('.spinner');
260
+
261
+ button.addClass('yarpp-disabled');
262
+ spinner.addClass('is-active');
263
  });
264
+
265
+ $('.yarpp_template_button:not(.disabled)').click(function () {
266
+ $(this).siblings('input').val($(this).attr('data-value')).change();
 
 
267
  $(this).siblings().removeClass('active');
268
  $(this).addClass('active');
269
  });
270
+
271
  function template_info() {
272
  var template = $(this).find('option:selected'),
273
+ row = template.closest('.yarpp_form_row');
274
+ if (!!template.attr('data-url')) {
275
+ row
276
+ .find('.template_author_wrap')
277
+ .toggle(!!template.attr('data-author'))
278
+ .find('span')
279
+ .empty()
280
+ .append('<a>' + template.attr('data-author') + '</a>')
281
  .attr('href', template.attr('data-url'));
282
  } else {
283
+ row
284
+ .find('.template_author_wrap')
285
+ .toggle(!!template.attr('data-author'))
286
+ .find('span')
287
+ .text(template.attr('data-author'));
288
  }
289
+ row
290
+ .find('.template_description_wrap')
291
+ .toggle(!!template.attr('data-description'))
292
+ .find('span')
293
+ .text(template.attr('data-description'));
294
+ row
295
+ .find('.template_file_wrap')
296
+ .toggle(!!template.attr('data-basename'))
297
+ .find('span')
298
+ .text(template.attr('data-basename'));
299
  }
300
+ $('#template_file, #rss_template_file').each(template_info).change(template_info);
 
 
301
 
302
  var loaded_optin_data = false;
303
  function _display_optin_data() {
304
+ if (!$('#optin_data_frame').is(':visible') || loaded_optin_data) return;
 
305
  loaded_optin_data = true;
306
  var frame = $('#optin_data_frame');
307
+ $.ajax({
308
+ type: 'POST',
309
  url: ajaxurl,
310
  data: {
311
  action: 'yarpp_optin_data',
312
+ _ajax_nonce: $('#yarpp_optin_data-nonce').val(),
313
  },
314
+ beforeSend: function () {
315
+ frame.html(loading);
316
+ },
317
+ success: function (html) {
318
+ frame.html('<pre>' + html + '</pre>');
319
+ },
320
+ dataType: 'html',
321
+ });
322
  }
323
  function display_optin_data() {
324
  setTimeout(_display_optin_data, 0);
325
  }
326
+ $('#yarpp-optin-learnmore, a[aria-controls=tab-panel-optin]').bind(
327
+ 'click focus',
328
+ display_optin_data,
329
+ );
330
  display_optin_data();
331
+
332
  function sync_no_results() {
333
  var value = $(this).find('input').attr('value');
334
+ if ($(this).hasClass('sync_no_results'))
335
  $('.sync_no_results input').attr('value', value);
336
+ if ($(this).hasClass('sync_rss_no_results'))
337
  $('.sync_rss_no_results input').attr('value', value);
338
  }
339
  $('.sync_no_results, .sync_rss_no_results').change(sync_no_results);
340
+
341
+ $('#yarpp_display_code').click(function () {
342
  var args = {
343
  action: 'yarpp_set_display_code',
344
+ _ajax_nonce: $('#yarpp_set_display_code-nonce').val(),
345
  };
346
+ if ($(this).is(':checked')) args.checked = true;
347
+ $.ajax({ type: 'POST', url: ajaxurl, data: args });
 
348
  display();
349
  rss_display();
350
  });
351
+
352
  function auto_display_archive() {
353
  var available = $('.yarpp_form_post_types').is(':has(input[type=checkbox]:checked)');
354
+ $('#yarpp-auto_display_archive').attr('disabled', !available);
355
+ if (!available) $('#yarpp-auto_display_archive').prop('checked', false);
 
 
356
  }
357
+
358
  $('.yarpp_form_post_types input[type=checkbox]').change(auto_display_archive);
359
  auto_display_archive();
360
 
361
+ $('#yarpp_fulltext_expand').click(function (e) {
362
  e.preventDefault();
363
+ var details = $('#yarpp_fulltext_details');
364
 
365
+ details.slideToggle();
366
 
367
+ if (details.hasClass('hidden')) {
368
+ details.removeClass('hidden');
369
  $(this).text('Hide Details [-]');
370
+ } else {
371
+ details.addClass('hidden');
372
  $(this).text('Show Details [+]');
373
  }
374
  });
375
+ $('.include_post_type input[type=checkbox]').change(function (e) {
376
+ var get_attr = $(this).attr('data-post-type');
377
+ if ($('#yarpp-same_post_type').is(':checked')) {
378
+ yarpp_enable_disabel_checkbox($(this).is(':checked'), get_attr);
379
+ } else {
380
+ $('.yarpp_form_post_types #yarpp_post_type_' + get_attr).prop('disabled', false);
381
+ }
382
  });
383
+ $('#yarpp-same_post_type').change(function (e) {
384
+ var get_checkboxes = '.include_post_type input[type=checkbox]';
385
+ if ($(this).is(':checked')) {
386
+ $(get_checkboxes).each(function () {
387
+ var get_attr = $(this).attr('data-post-type');
388
+ yarpp_enable_disabel_checkbox($(this).is(':checked'), get_attr);
389
+ });
390
+ } else {
391
+ $('.yarpp_form_post_types input[type=checkbox]').prop('disabled', false);
392
+ $('.yarpp_form_post_types input[type=checkbox]').siblings().hide();
393
+ }
394
  });
395
+ function yarpp_enable_disabel_checkbox(checked, get_attr) {
396
+ if (checked) {
397
+ $('.yarpp_form_post_types #yarpp_post_type_' + get_attr).prop('disabled', false);
398
+ $('.yarpp_form_post_types #yarpp_post_type_' + get_attr)
399
+ .siblings()
400
+ .hide();
401
+ } else {
402
+ $('.yarpp_form_post_types #yarpp_post_type_' + get_attr).prop('disabled', true);
403
+ $('.yarpp_form_post_types #yarpp_post_type_' + get_attr)
404
+ .siblings()
405
+ .show();
406
+ }
407
  }
408
+ var yarpp_model = $(
409
+ '\
410
  <div id="shareaholic-deactivate-dialog" class="shareaholic-deactivate-dialog" data-remodal-id="">\
411
+ <div class="shareaholic-deactivate-header" style="background-image: url(' +
412
+ yarpp_messages.logo +
413
+ '); background-color: ' +
414
+ yarpp_messages.bgcolor +
415
+ ';"><div class="shareaholic-deactivate-text"><h2>' +
416
+ yarpp_messages.model_title +
417
+ '</h2></div></div>\
418
  <div class="shareaholic-deactivate-body">\
419
+ <div class="shareaholic-deactivate-body-foreword">' +
420
+ yarpp_messages.alert_message +
421
+ '</div>\
422
  <div class="shareaholic-deactivate-dialog-footer">\
423
  <input type="submit" class="button confirm button-secondary" id="yarpp-clear-cache-submit" value="Delete"/>\
424
  <button data-remodal-action="cancel" class="button button-secondary">Cancel</button>\
425
  </div>\
426
  </div>\
427
  </div>\
428
+ ',
429
+ )[0];
430
+ $('#yarpp-clear-cache').click(function () {
431
+ var inst = $(yarpp_model).remodal({
432
+ hashTracking: false,
433
+ closeOnOutsideClick: false,
434
+ });
435
+ inst.open();
436
+ event.preventDefault();
437
  });
438
+ $(document.body).on('click', '#yarpp-clear-cache-submit', function () {
439
+ var inst = $(yarpp_model).remodal();
440
+ /**
441
+ * Closes the modal window
442
+ */
443
+ inst.close();
444
+ var cache_button = '#yarpp-clear-cache';
445
+ var display_notices = '#display_notices';
446
+ var notice_class = 'notice notice-error is-dismissible';
447
+ $(cache_button).prop('disabled', true);
448
+ $.ajax({
449
+ type: 'POST',
450
+ url: ajaxurl,
451
+ data: {
452
+ action: 'yarpp_clear_cache',
453
+ _ajax_nonce: $('#clear_cache-nonce').val(),
454
+ },
455
+ beforeSend: function () {
456
+ $(cache_button).siblings('.spinner').addClass('is-active');
457
+ },
458
+ success: function (data) {
459
+ $(cache_button).siblings('.spinner').removeClass('is-active');
460
+ $(display_notices).show();
461
+ if ('success' == data) {
462
+ var message = yarpp_messages.success;
463
+ notice_class = 'notice notice-success is-dismissible';
464
+ $(cache_button).prop('disabled', false);
465
+ } else if ('forbidden' == data) {
466
+ var message = yarpp_messages.forbidden;
467
+ } else if ('nonce_fail' == data) {
468
+ var message = yarpp_messages.nonce_fail;
469
+ } else {
470
+ var message = yarpp_messages.error;
471
+ }
472
+ $(display_notices).addClass(notice_class);
473
+ $(display_notices).html('<p>' + message + '</p>');
474
+ },
475
+ error: function (data) {
476
+ $(display_notices).show();
477
+ $(display_notices).addClass(notice_class);
478
+ $(cache_button).siblings('.spinner').removeClass('is-active');
479
+ $(display_notices).html('<p>' + yarpp_messages.error + '</p>');
480
  },
 
 
 
 
 
 
481
  });
482
+ $(display_notices).delay(5000).fadeOut(1000);
483
  });
484
+ });
src/js/options_switch.js CHANGED
@@ -1,81 +1,79 @@
1
- function yarppMakeTheSwitch($,data,url){
2
- $.get(
3
- url,
4
- data,
5
- function(resp){
6
- if(resp === 'ok'){
7
- window.location.href = './options-general.php?page=yarpp';
8
- }
9
  }
10
- );
11
  }
12
 
13
- jQuery(document).ready(function($){
14
-
15
- $('.yarpp_switch_button').on('click',function(e){
16
  e.preventDefault();
17
  var url = ajaxurl,
18
- data = {
19
- action: 'yarpp_switch',
20
- go: $(this).data('go'),
21
- '_ajax_nonce': $('#yarpp_switch-nonce').val()
22
- };
23
 
24
- if(data.go === 'basic'){
25
  $('#wpwrap').after(
26
- '<div id="yarpp_pro_disable_overlay">'+
27
- '</div>'+
28
- '<div id="yarpp_pro_disable_confirm">'+
29
- '<p>'+
30
- 'Are you sure you would like to deactivate YARPP Pro? '+
31
- 'Doing so will remove all <strong>YARPP Pro</strong> '+
32
- 'content from your site, including sidebar widgets.'+
33
- '</p>'+
34
- '<br/>'+
35
- '<a id="yarpp_proceed_deactivation" class="button">Deactivate YARPP Pro</a>'+
36
- '&nbsp;&nbsp;&nbsp;&nbsp;'+
37
- '<a id="yarpp_cancel_deactivation" class="button-primary">Cancel Deactivation</a>'+
38
- '</div>'
39
  );
40
- $('#yarpp_proceed_deactivation').on('click',function(){
41
- yarppMakeTheSwitch($,data,url);
42
  });
43
-
44
- $('#yarpp_cancel_deactivation').on('click',function(){
45
  window.location.reload();
46
  });
47
  } else {
48
- yarppMakeTheSwitch($,data,url);
49
  }
50
  });
51
 
52
- $('#yarpp-display-mode-save').on('click',function(e){
53
  e.preventDefault();
54
- var url = $(this).attr('href'),
55
- data = {
56
- ypsdt : true,
57
- types : []
58
- };
59
 
60
  $(this).after($('<span class="spinner"></span>'));
61
 
62
- $i = 0;
63
- $('input','#yarpp-display-mode').each(function(idx,val){
64
- if(val.checked) {
65
- data.types[$i] = val.value;
66
- $i++;
67
  }
68
  });
69
 
70
- $.get(url,data,function(resp){
71
- setTimeout(function(){
72
- if(resp === 'ok'){
73
- $('.spinner','#yarpp-display-mode').remove();
74
  } else {
75
- $('#yarpp-display-mode').append($('<span style="vertical-align: middle" class="error-message">Something went wrong saving your settings. Please refresh the page and try again.</span>'));
 
 
 
 
76
  }
77
- },1000);
78
  });
79
  });
80
-
81
- });
1
+ function yarppMakeTheSwitch($, data, url) {
2
+ $.get(url, data, function (resp) {
3
+ if (resp === 'ok') {
4
+ window.location.href = './options-general.php?page=yarpp';
 
 
 
 
5
  }
6
+ });
7
  }
8
 
9
+ jQuery(document).ready(function ($) {
10
+ $('.yarpp_switch_button').on('click', function (e) {
 
11
  e.preventDefault();
12
  var url = ajaxurl,
13
+ data = {
14
+ action: 'yarpp_switch',
15
+ go: $(this).data('go'),
16
+ _ajax_nonce: $('#yarpp_switch-nonce').val(),
17
+ };
18
 
19
+ if (data.go === 'basic') {
20
  $('#wpwrap').after(
21
+ '<div id="yarpp_pro_disable_overlay">' +
22
+ '</div>' +
23
+ '<div id="yarpp_pro_disable_confirm">' +
24
+ '<p>' +
25
+ 'Are you sure you would like to deactivate YARPP Pro? ' +
26
+ 'Doing so will remove all <strong>YARPP Pro</strong> ' +
27
+ 'content from your site, including sidebar widgets.' +
28
+ '</p>' +
29
+ '<br/>' +
30
+ '<a id="yarpp_proceed_deactivation" class="button">Deactivate YARPP Pro</a>' +
31
+ '&nbsp;&nbsp;&nbsp;&nbsp;' +
32
+ '<a id="yarpp_cancel_deactivation" class="button-primary">Cancel Deactivation</a>' +
33
+ '</div>',
34
  );
35
+ $('#yarpp_proceed_deactivation').on('click', function () {
36
+ yarppMakeTheSwitch($, data, url);
37
  });
38
+
39
+ $('#yarpp_cancel_deactivation').on('click', function () {
40
  window.location.reload();
41
  });
42
  } else {
43
+ yarppMakeTheSwitch($, data, url);
44
  }
45
  });
46
 
47
+ $('#yarpp-display-mode-save').on('click', function (e) {
48
  e.preventDefault();
49
+ var url = $(this).attr('href'),
50
+ data = {
51
+ ypsdt: true,
52
+ types: [],
53
+ };
54
 
55
  $(this).after($('<span class="spinner"></span>'));
56
 
57
+ var i = 0;
58
+ $('input', '#yarpp-display-mode').each(function (idx, val) {
59
+ if (val.checked) {
60
+ data.types[i] = val.value;
61
+ i++;
62
  }
63
  });
64
 
65
+ $.get(url, data, function (resp) {
66
+ setTimeout(function () {
67
+ if (resp === 'ok') {
68
+ $('.spinner', '#yarpp-display-mode').remove();
69
  } else {
70
+ $('#yarpp-display-mode').append(
71
+ $(
72
+ '<span style="vertical-align: middle" class="error-message">Something went wrong saving your settings. Please refresh the page and try again.</span>',
73
+ ),
74
+ );
75
  }
76
+ }, 1000);
77
  });
78
  });
79
+ });
 
yarpp.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: Yet Another Related Posts Plugin (YARPP)
4
  Description: Adds related posts to your site and in RSS feeds, based on a powerful, customizable algorithm.
5
- Version: 5.22.0
6
  Author: YARPP
7
  Author URI: https://yarpp.com/
8
  Plugin URI: https://yarpp.com/
@@ -24,7 +24,7 @@ if(!defined('WP_CONTENT_DIR')){
24
  define('WP_CONTENT_DIR', substr($tr,0,strrpos($tr,'/')));
25
  }
26
 
27
- define('YARPP_VERSION', '5.22.0');
28
 
29
  define('YARPP_DIR', dirname(__FILE__));
30
  /**
2
  /*
3
  Plugin Name: Yet Another Related Posts Plugin (YARPP)
4
  Description: Adds related posts to your site and in RSS feeds, based on a powerful, customizable algorithm.
5
+ Version: 5.23.0
6
  Author: YARPP
7
  Author URI: https://yarpp.com/
8
  Plugin URI: https://yarpp.com/
24
  define('WP_CONTENT_DIR', substr($tr,0,strrpos($tr,'/')));
25
  }
26
 
27
+ define('YARPP_VERSION', '5.23.0');
28
 
29
  define('YARPP_DIR', dirname(__FILE__));
30
  /**