SNS Count Cache - Version 1.1.0

Version Description

  • Added: Throttling mechanism of Facebook API call to handle rate limits.
  • Improved: Dashboard was re-implemented based on responsive web design.
  • Fixed: Fault tolerance mode does not work.
  • Removed: Function to retrieve Twittr share count from NewShareCounts because the count is no longer provided by the site.

=

Download this release

Release Info

Developer marubon
Plugin Icon SNS Count Cache
Version 1.1.0
Comparing to
See all releases

Code changes from version 1.0.0 to 1.1.0

Files changed (71) hide show
  1. css/sns-count-cache.css +73 -7
  2. includes/admin-cache-status.php +37 -37
  3. includes/admin-dashboard-widget.php +54 -84
  4. includes/admin-dashboard.php +48 -78
  5. includes/admin-help.php +2 -2
  6. includes/admin-hot-content.php +17 -38
  7. includes/admin-notice.php +1 -1
  8. includes/admin-setting.php +80 -18
  9. includes/admin-share-count.php +60 -58
  10. includes/class-scc-analytical-engline.php +1 -1
  11. includes/class-scc-cache-engine.php +9 -2
  12. includes/class-scc-cache.php +1 -1
  13. includes/class-scc-common-data-export-engine.php +1 -1
  14. includes/class-scc-common-job-reset-engine.php +1 -1
  15. includes/class-scc-crawl-strategy.php +1 -1
  16. includes/class-scc-crawler.php +29 -1
  17. includes/class-scc-crypt.php +3 -3
  18. includes/class-scc-engine.php +1 -1
  19. includes/class-scc-export-engine.php +1 -1
  20. includes/class-scc-file.php +1 -1
  21. includes/class-scc-follow-analytical-engine.php +1 -1
  22. includes/class-scc-follow-base-cache-engine.php +1 -1
  23. includes/class-scc-follow-cache-engine.php +1 -1
  24. includes/class-scc-follow-crawl-strategy-factory.php +1 -1
  25. includes/class-scc-follow-crawler.php +36 -1
  26. includes/class-scc-follow-facebook-crawl-strategy.php +1 -1
  27. includes/class-scc-follow-feedly-crawl-strategy.php +1 -1
  28. includes/class-scc-follow-instagram-crawl-strategy.php +1 -1
  29. includes/class-scc-follow-lazy-cache-engine.php +1 -1
  30. includes/class-scc-follow-onesignal-crawl-strategy.php +1 -1
  31. includes/class-scc-follow-push7-crawl-strategy.php +1 -1
  32. includes/class-scc-follow-restore-cache-engine.php +1 -1
  33. includes/class-scc-follow-second-cache-engine.php +1 -1
  34. includes/class-scc-follow-twitter-crawl-strategy.php +1 -1
  35. includes/class-scc-format.php +1 -1
  36. includes/class-scc-hash.php +1 -1
  37. includes/class-scc-http.php +1 -1
  38. includes/class-scc-logger.php +1 -1
  39. includes/class-scc-memory.php +59 -0
  40. includes/class-scc-oauth.php +1 -1
  41. includes/class-scc-share-analytical-engine.php +1 -1
  42. includes/class-scc-share-app-status-engine.php +29 -5
  43. includes/class-scc-share-base-cache-engine.php +24 -19
  44. includes/class-scc-share-cache-engine.php +22 -7
  45. includes/class-scc-share-crawl-strategy-factory.php +1 -1
  46. includes/class-scc-share-crawler.php +104 -1
  47. includes/class-scc-share-facebook-crawl-strategy.php +1 -1
  48. includes/class-scc-share-google-crawl-strategy.php +1 -1
  49. includes/class-scc-share-hatebu-crawl-strategy.php +1 -1
  50. includes/class-scc-share-lazy-cache-engine.php +7 -3
  51. includes/class-scc-share-linkedin-crawl-strategy.php +1 -1
  52. includes/class-scc-share-pinterest-crawl-strategy.php +1 -1
  53. includes/class-scc-share-pocket-crawl-strategy.php +1 -1
  54. includes/class-scc-share-restore-cache-engine.php +6 -2
  55. includes/class-scc-share-rush-cache-engine.php +7 -3
  56. includes/class-scc-share-second-cache-engine.php +1 -1
  57. includes/class-scc-share-twitter-crawl-strategy.php +1 -7
  58. includes/class-scc-sleep-throttle.php +1 -1
  59. includes/class-scc-wp-cron.php +7 -4
  60. includes/download.php +3 -3
  61. includes/interface-scc-order.php +6 -1
  62. languages/sns-count-cache-ja.mo +0 -0
  63. languages/sns-count-cache-ja.po +515 -462
  64. readme.txt +11 -5
  65. screenshot-1.png +0 -0
  66. screenshot-2.png +0 -0
  67. screenshot-3.png +0 -0
  68. screenshot-4.png +0 -0
  69. screenshot-5.png +0 -0
  70. screenshot-6.png +0 -0
  71. sns-count-cache.php +147 -25
css/sns-count-cache.css CHANGED
@@ -17,18 +17,19 @@
17
  }
18
 
19
  .sns-cnt-cache .view-table {
20
- border: 1px solid #000;
21
  margin: 10px 0;
22
  padding: 0;
23
  width: 100%;
24
  border-collapse: collapse;
25
  border-spacing: 0;
26
  word-break: break-word;
27
- font-size: 13px;
 
28
  }
29
 
30
  .sns-cnt-cache .view-table tbody {
31
- border-bottom: 1px solid #000;
32
  }
33
 
34
  .sns-cnt-cache .view-table tr:nth-child(odd) {
@@ -40,15 +41,16 @@
40
  }
41
 
42
  .sns-cnt-cache .view-table tr.home {
43
- border-bottom: 1px solid #dbdbdb;
44
  }
45
 
46
  .sns-cnt-cache .view-table th {
47
  vertical-align: middle;
48
  padding: 3px;
49
  text-align: left;
50
- background-color: #4c4c4c;
51
- color: #fff;
 
52
  }
53
 
54
  .sns-cnt-cache .pagination {
@@ -92,7 +94,7 @@
92
 
93
  .sns-cnt-cache a {
94
  text-decoration: none;
95
- color: #444;
96
  -webkit-transition-property: border,background,color;
97
  transition-property: border,background,color;
98
  -webkit-transition-duration: .05s;
@@ -189,6 +191,10 @@
189
  font-size: 11px;
190
  }
191
 
 
 
 
 
192
  @media screen and (max-width: 782px) {
193
 
194
  .sns-cnt-cache .at-mark {
@@ -208,3 +214,63 @@
208
  margin: 0 0 -1px 1px;
209
  }
210
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  }
18
 
19
  .sns-cnt-cache .view-table {
20
+ border: 1px solid #5c5c5c;
21
  margin: 10px 0;
22
  padding: 0;
23
  width: 100%;
24
  border-collapse: collapse;
25
  border-spacing: 0;
26
  word-break: break-word;
27
+ font-size: 13px;
28
+ color: #404040;
29
  }
30
 
31
  .sns-cnt-cache .view-table tbody {
32
+ border-bottom: 1px solid #5c5c5c;
33
  }
34
 
35
  .sns-cnt-cache .view-table tr:nth-child(odd) {
41
  }
42
 
43
  .sns-cnt-cache .view-table tr.home {
44
+ /* border-bottom: 1px solid #dbdbdb; */
45
  }
46
 
47
  .sns-cnt-cache .view-table th {
48
  vertical-align: middle;
49
  padding: 3px;
50
  text-align: left;
51
+ background-color: #5c5c5c;
52
+ color: #fff;
53
+ font-weight: normal;
54
  }
55
 
56
  .sns-cnt-cache .pagination {
94
 
95
  .sns-cnt-cache a {
96
  text-decoration: none;
97
+ color: #404040;
98
  -webkit-transition-property: border,background,color;
99
  transition-property: border,background,color;
100
  -webkit-transition-duration: .05s;
191
  font-size: 11px;
192
  }
193
 
194
+ .sns-cnt-cache .dummy {
195
+ display: none;
196
+ }
197
+
198
  @media screen and (max-width: 782px) {
199
 
200
  .sns-cnt-cache .at-mark {
214
  margin: 0 0 -1px 1px;
215
  }
216
  }
217
+
218
+ @media screen and (max-width: 768px) {
219
+ .floatThead-container {
220
+ display: none;
221
+ }
222
+
223
+ .sns-cnt-cache .view-table {
224
+ width: 100%;
225
+ min-width: 10% !important;
226
+ }
227
+ .sns-cnt-cache .view-table .thead {
228
+ display: none;
229
+ }
230
+ .sns-cnt-cache .view-table tr {
231
+ width: 100%;
232
+ }
233
+ .sns-cnt-cache .view-table td {
234
+ display: block;
235
+ text-align: right;
236
+ border-top: none;
237
+ border-right: none;
238
+ border-bottom: 1px dotted #dfdfdf;;
239
+ border-left: none;
240
+ }
241
+
242
+ .sns-cnt-cache .view-table td a.title {
243
+ color: #ffffff;
244
+ }
245
+
246
+ .sns-cnt-cache .view-table td:nth-of-type(1) {
247
+ display: none;
248
+ }
249
+
250
+ .sns-cnt-cache .view-table td:nth-of-type(2) {
251
+ background: #5c5c5c;
252
+ color: #fff;
253
+ /* font-weight: bold; */
254
+ text-align: left;
255
+ border: none;
256
+ }
257
+
258
+ .sns-cnt-cache .view-table td:nth-of-type(n+3):nth-of-type(even) {
259
+ background: #f9f9f9;
260
+ }
261
+
262
+ .sns-cnt-cache .view-table td:nth-of-type(n+3):nth-of-type(odd) {
263
+ background: #ffffff;
264
+ }
265
+
266
+ .sns-cnt-cache .view-table td:last-of-type {
267
+ border: none;
268
+ }
269
+
270
+ .sns-cnt-cache .view-table td:before {
271
+ content: attr(data-label);
272
+ color: #404040;
273
+ float: left;
274
+ margin-right: 10px;
275
+ }
276
+ }
includes/admin-cache-status.php CHANGED
@@ -4,7 +4,7 @@ admin-cache-status.php
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -88,7 +88,7 @@ $posts_query = new WP_Query( $query_args );
88
  ?>
89
  <table class="tfloat view-table">
90
  <thead>
91
- <tr>
92
  <th>No.</th>
93
  <th><?php esc_html_e( 'Content', self::DOMAIN ); ?></th>
94
  <th><?php esc_html_e( 'Primary Cache', self::DOMAIN ); ?></th>
@@ -108,7 +108,7 @@ $posts_query = new WP_Query( $query_args );
108
  ?>
109
  <tr class="home">
110
  <td><?php echo '-'; ?></td>
111
- <td><a href="<?php echo esc_url( home_url( '/' ) ); ?>" target="_blank"><?php echo esc_html( home_url( '/' ) ); ?></a></td>
112
  <?php
113
  $share_base_cache_target = $this->share_base_cache_target ;
114
 
@@ -133,22 +133,22 @@ $posts_query = new WP_Query( $query_args );
133
  }
134
 
135
  if ( $partial_cache_flag && $full_cache_flag ) {
136
- echo '<td class="full-cache">';
137
- esc_html_e( 'full cache', self::DOMAIN );
138
  echo '</td>';
139
  } elseif ( $partial_cache_flag && ! $full_cache_flag ) {
140
- echo '<td class="partial-cache">';
141
- esc_html_e( 'partial cache', self::DOMAIN );
142
  echo '</td>';
143
  } else {
144
- echo '<td class="no-cache">';
145
- esc_html_e( 'no cache', self::DOMAIN );
146
  echo '</td>';
147
  }
148
  } else {
149
  SCC_Logger::log( '[' . __METHOD__ . '] : no transient' );
150
- echo '<td class="no-cache">';
151
- esc_html_e( 'no cache', self::DOMAIN );
152
  echo '</td>';
153
  }
154
 
@@ -174,25 +174,25 @@ $posts_query = new WP_Query( $query_args );
174
  }
175
 
176
  if ( $partial_cache_flag && $full_cache_flag ) {
177
- echo '<td class="full-cache">';
178
- esc_html_e( 'full cache', self::DOMAIN );
179
  echo '</td>';
180
  } elseif ( $partial_cache_flag && ! $full_cache_flag ) {
181
- echo '<td class="partial-cache">';
182
- esc_html_e( 'partial cache', self::DOMAIN );
183
  echo '</td>';
184
  } else {
185
- echo '<td class="no-cache">';
186
- esc_html_e( 'no cache', self::DOMAIN );
187
  echo '</td>';
188
  }
189
 
190
  if ( SCC_Cache::has_value( $sns_counts[ self::REF_CRAWL_DATE ] ) && -1 != $sns_counts[ self::REF_CRAWL_DATE ] ) {
191
- echo '<td class="full-cache">';
192
  echo esc_html( $sns_counts[ self::REF_CRAWL_DATE ] );
193
  echo '</td>';
194
  } else {
195
- echo '<td class="no-cache">';
196
  esc_html_e( 'no data', self::DOMAIN );
197
  echo '</td>';
198
  }
@@ -210,15 +210,15 @@ $posts_query = new WP_Query( $query_args );
210
  ?>
211
  <tr>
212
  <td><?php echo esc_html( $count ); ?></td>
213
- <td><a href="<?php echo esc_url( get_permalink( get_the_ID() ) ); ?>" target="_blank"><?php echo esc_html( get_permalink( get_the_ID() ) ); ?></a></td>
214
  <?php
215
  $transient_id = $this->cache_engines[ self::REF_SHARE_BASE ]->get_cache_key( get_the_ID() );
216
 
217
  $sns_counts = get_transient( $transient_id );
218
 
219
  if ( false === $sns_counts ) {
220
- echo '<td class="no-cache">';
221
- esc_html_e( 'no cache', self::DOMAIN );
222
  echo '</td>';
223
  } else {
224
  $full_cache_flag = true;
@@ -235,16 +235,16 @@ $posts_query = new WP_Query( $query_args );
235
  }
236
 
237
  if ( $partial_cache_flag && $full_cache_flag ) {
238
- echo '<td class="full-cache">';
239
- esc_html_e( 'full cache', self::DOMAIN );
240
  echo '</td>';
241
  } elseif ( $partial_cache_flag && ! $full_cache_flag ) {
242
- echo '<td class="partial-cache">';
243
- esc_html_e( 'partial cache', self::DOMAIN );
244
  echo '</td>';
245
  } else {
246
- echo '<td class="no-cache">';
247
- esc_html_e( 'no cache', self::DOMAIN );
248
  echo '</td>';
249
  }
250
  }
@@ -267,21 +267,21 @@ $posts_query = new WP_Query( $query_args );
267
  }
268
 
269
  if ( $partial_cache_flag && $full_cache_flag ) {
270
- echo '<td class="full-cache">';
271
- esc_html_e( 'full cache', self::DOMAIN );
272
  echo '</td>';
273
  } elseif ( $partial_cache_flag && ! $full_cache_flag ) {
274
- echo '<td class="partial-cache">';
275
- esc_html_e( 'partial cache', self::DOMAIN );
276
  echo '</td>';
277
  } else {
278
- echo '<td class="no-cache">';
279
- esc_html_e( 'no cache', self::DOMAIN );
280
  echo '</td>';
281
  }
282
 
283
  if ( SCC_Cache::has_value( $sns_counts[ self::REF_CRAWL_DATE ] ) && -1 != $sns_counts[ self::REF_CRAWL_DATE ] ) {
284
- echo '<td class="full-cache">';
285
  echo esc_html( $sns_counts[ self::REF_CRAWL_DATE ] );
286
  echo '</td>';
287
  } else {
@@ -290,11 +290,11 @@ $posts_query = new WP_Query( $query_args );
290
  $crawl_date = get_post_meta( get_the_ID(), $meta_key, true );
291
 
292
  if ( SCC_Cache::has_value( $crawl_date ) && -1 != $crawl_date ) {
293
- echo '<td class="full-cache">';
294
  echo esc_html( $crawl_date );
295
  echo '</td>';
296
  } else {
297
- echo '<td class="no-cache">';
298
  esc_html_e( 'no data', self::DOMAIN );
299
  echo '</td>';
300
  }
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
88
  ?>
89
  <table class="tfloat view-table">
90
  <thead>
91
+ <tr class="thead">
92
  <th>No.</th>
93
  <th><?php esc_html_e( 'Content', self::DOMAIN ); ?></th>
94
  <th><?php esc_html_e( 'Primary Cache', self::DOMAIN ); ?></th>
108
  ?>
109
  <tr class="home">
110
  <td><?php echo '-'; ?></td>
111
+ <td><a href="<?php echo esc_url( home_url( '/' ) ); ?>" target="_blank" class="title"><?php echo esc_html( home_url( '/' ) ); ?></a></td>
112
  <?php
113
  $share_base_cache_target = $this->share_base_cache_target ;
114
 
133
  }
134
 
135
  if ( $partial_cache_flag && $full_cache_flag ) {
136
+ echo '<td class="full-cache" data-label="' . esc_attr( __( 'Primary Cache', self::DOMAIN ) ) . '">';
137
+ esc_html_e( 'Full cache', self::DOMAIN );
138
  echo '</td>';
139
  } elseif ( $partial_cache_flag && ! $full_cache_flag ) {
140
+ echo '<td class="partial-cache" data-label="' . esc_attr( __( 'Primary Cache', self::DOMAIN ) ) . '">';
141
+ esc_html_e( 'Partial cache', self::DOMAIN );
142
  echo '</td>';
143
  } else {
144
+ echo '<td class="no-cache" data-label="' . esc_attr( __( 'Primary Cache', self::DOMAIN ) ) . '">';
145
+ esc_html_e( 'No cache', self::DOMAIN );
146
  echo '</td>';
147
  }
148
  } else {
149
  SCC_Logger::log( '[' . __METHOD__ . '] : no transient' );
150
+ echo '<td class="no-cache" data-label="' . esc_attr( __( 'Primary Cache', self::DOMAIN ) ) . '">';
151
+ esc_html_e( 'No cache', self::DOMAIN );
152
  echo '</td>';
153
  }
154
 
174
  }
175
 
176
  if ( $partial_cache_flag && $full_cache_flag ) {
177
+ echo '<td class="full-cache" data-label="' . esc_attr( __( 'Secondary Cache', self::DOMAIN ) ) . '">';
178
+ esc_html_e( 'Full cache', self::DOMAIN );
179
  echo '</td>';
180
  } elseif ( $partial_cache_flag && ! $full_cache_flag ) {
181
+ echo '<td class="partial-cache" data-label="' . esc_attr( __( 'Secondary Cache', self::DOMAIN ) ) . '">';
182
+ esc_html_e( 'Partial cache', self::DOMAIN );
183
  echo '</td>';
184
  } else {
185
+ echo '<td class="no-cache" data-label="' . esc_attr( __( 'Secondary Cache', self::DOMAIN ) ) . '">';
186
+ esc_html_e( 'No cache', self::DOMAIN );
187
  echo '</td>';
188
  }
189
 
190
  if ( SCC_Cache::has_value( $sns_counts[ self::REF_CRAWL_DATE ] ) && -1 != $sns_counts[ self::REF_CRAWL_DATE ] ) {
191
+ echo '<td class="full-cache" data-label="' . esc_attr( __( 'Crawl Date', self::DOMAIN ) ) . '">';
192
  echo esc_html( $sns_counts[ self::REF_CRAWL_DATE ] );
193
  echo '</td>';
194
  } else {
195
+ echo '<td class="no-cache" data-label="' . esc_attr( __( 'Crawl Date', self::DOMAIN ) ) . '">';
196
  esc_html_e( 'no data', self::DOMAIN );
197
  echo '</td>';
198
  }
210
  ?>
211
  <tr>
212
  <td><?php echo esc_html( $count ); ?></td>
213
+ <td><a href="<?php echo esc_url( get_permalink( get_the_ID() ) ); ?>" target="_blank" class="title"><?php echo esc_html( get_permalink( get_the_ID() ) ); ?></a></td>
214
  <?php
215
  $transient_id = $this->cache_engines[ self::REF_SHARE_BASE ]->get_cache_key( get_the_ID() );
216
 
217
  $sns_counts = get_transient( $transient_id );
218
 
219
  if ( false === $sns_counts ) {
220
+ echo '<td class="no-cache" data-label="' . esc_attr( __( 'Primary Cache', self::DOMAIN ) ) . '">';
221
+ esc_html_e( 'No cache', self::DOMAIN );
222
  echo '</td>';
223
  } else {
224
  $full_cache_flag = true;
235
  }
236
 
237
  if ( $partial_cache_flag && $full_cache_flag ) {
238
+ echo '<td class="full-cache" data-label="' . esc_attr( __( 'Primary Cache', self::DOMAIN ) ) . '">';
239
+ esc_html_e( 'Full cache', self::DOMAIN );
240
  echo '</td>';
241
  } elseif ( $partial_cache_flag && ! $full_cache_flag ) {
242
+ echo '<td class="partial-cache" data-label="' . esc_attr( __( 'Primary Cache', self::DOMAIN ) ) . '">';
243
+ esc_html_e( 'Partial cache', self::DOMAIN );
244
  echo '</td>';
245
  } else {
246
+ echo '<td class="no-cache" data-label="' . esc_attr( __( 'Primary Cache', self::DOMAIN ) ) . '">';
247
+ esc_html_e( 'No cache', self::DOMAIN );
248
  echo '</td>';
249
  }
250
  }
267
  }
268
 
269
  if ( $partial_cache_flag && $full_cache_flag ) {
270
+ echo '<td class="full-cache" data-label="' . esc_attr( __( 'Secondary Cache', self::DOMAIN ) ) . '">';
271
+ esc_html_e( 'Full cache', self::DOMAIN );
272
  echo '</td>';
273
  } elseif ( $partial_cache_flag && ! $full_cache_flag ) {
274
+ echo '<td class="partial-cache" data-label="' . esc_attr( __( 'Secondary Cache', self::DOMAIN ) ) . '">';
275
+ esc_html_e( 'Partial cache', self::DOMAIN );
276
  echo '</td>';
277
  } else {
278
+ echo '<td class="no-cache" data-label="' . esc_attr( __( 'Secondary Cache', self::DOMAIN ) ) . '">';
279
+ esc_html_e( 'No cache', self::DOMAIN );
280
  echo '</td>';
281
  }
282
 
283
  if ( SCC_Cache::has_value( $sns_counts[ self::REF_CRAWL_DATE ] ) && -1 != $sns_counts[ self::REF_CRAWL_DATE ] ) {
284
+ echo '<td class="full-cache" data-label="' . esc_attr( __( 'Crawl Date', self::DOMAIN ) ) . '">';
285
  echo esc_html( $sns_counts[ self::REF_CRAWL_DATE ] );
286
  echo '</td>';
287
  } else {
290
  $crawl_date = get_post_meta( get_the_ID(), $meta_key, true );
291
 
292
  if ( SCC_Cache::has_value( $crawl_date ) && -1 != $crawl_date ) {
293
+ echo '<td class="full-cache" data-label="' . esc_attr( __( 'Crawl Date', self::DOMAIN ) ) . '">';
294
  echo esc_html( $crawl_date );
295
  echo '</td>';
296
  } else {
297
+ echo '<td class="no-cache" data-label="' . esc_attr( __( 'Crawl Date', self::DOMAIN ) ) . '">';
298
  esc_html_e( 'no data', self::DOMAIN );
299
  echo '</td>';
300
  }
includes/admin-dashboard-widget.php CHANGED
@@ -4,7 +4,7 @@ admin-dashboard-widget.php
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -44,12 +44,13 @@ $site_query = new WP_Query( $query_args );
44
  ?>
45
  <div class="sns-cnt-cache">
46
  <div id="scc-dashboard-widget">
47
- <div id="site-summary-share-cache" class="site-summary activity-block">
48
- <h3><?php esc_html_e( 'Share', self::DOMAIN ); ?></h3>
49
  <h4><a href="admin.php?page=scc-cache-status"><?php esc_html_e( 'Cache Status', self::DOMAIN ); ?></a></h4>
50
  <table class="view-table">
51
  <thead>
52
- <tr>
 
53
  <th><?php esc_html_e( 'Cache Type', self::DOMAIN ); ?></th>
54
  <th><?php esc_html_e( 'Cache Progress', self::DOMAIN ); ?></th>
55
  <th><?php esc_html_e( 'Total Content', self::DOMAIN ); ?></th>
@@ -60,65 +61,42 @@ $site_query = new WP_Query( $query_args );
60
  </thead>
61
  <tbody>
62
  <tr>
 
63
  <td><?php esc_html_e( 'Primary Cache', self::DOMAIN ); ?></td>
64
- <td>
65
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="spcs"></span>
66
  </td>
67
- <td class="share-count"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spc'></span></td>
68
- <td class="share-count full-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spfcc'></span></td>
69
- <td class="share-count partial-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='sppcc'></span></td>
70
- <td class="share-count no-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spncc'></span></td>
71
  </tr>
72
  <tr>
 
73
  <td><?php esc_html_e( 'Secondary Cache', self::DOMAIN ); ?></td>
74
- <td>
75
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="sscs"></span>
76
  </td>
77
- <td class="share-count"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spc'></span></td>
78
- <td class="share-count full-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='ssfcc'></span></td>
79
- <td class="share-count partial-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='sspcc'></span></td>
80
- <td class="share-count no-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='ssncc'></span></td>
81
  </tr>
82
  </tbody>
83
  </table>
84
  <h4><a href="admin.php?page=scc-share-count"><?php esc_html_e( 'Share Count', self::DOMAIN ); ?></a></h4>
85
  <table class="view-table">
86
  <thead>
87
- <tr>
 
 
88
  <?php
89
  $share_base_cache_target = $this->share_base_cache_target ;
90
  unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
91
 
92
  foreach ( $share_base_cache_target as $sns => $active ) {
93
  if ( $active ) {
94
- $sns_name = '';
95
-
96
- switch ( $sns ) {
97
- case self::REF_SHARE_TWITTER:
98
- $sns_name = __( 'Twitter', self::DOMAIN );
99
- break;
100
- case self::REF_SHARE_FACEBOOK:
101
- $sns_name = __( 'Facebook', self::DOMAIN );
102
- break;
103
- case self::REF_SHARE_GPLUS:
104
- $sns_name = __( 'Google+', self::DOMAIN );
105
- break;
106
- case self::REF_SHARE_POCKET:
107
- $sns_name = __( 'Pocket', self::DOMAIN );
108
- break;
109
- case self::REF_SHARE_HATEBU:
110
- $sns_name = __( 'Hatebu', self::DOMAIN );
111
- break;
112
- case self::REF_SHARE_PINTEREST:
113
- $sns_name = __( 'Pinterest', self::DOMAIN );
114
- break;
115
- case self::REF_SHARE_LINKEDIN:
116
- $sns_name = __( 'Linkedin', self::DOMAIN );
117
- break;
118
- case self::REF_SHARE_TOTAL:
119
- $sns_name = __( 'Total', self::DOMAIN );
120
- break;
121
- }
122
 
123
  echo '<th>' . esc_html( $sns_name ) . '</th>';
124
  }
@@ -128,16 +106,20 @@ $site_query = new WP_Query( $query_args );
128
  </thead>
129
  <tbody>
130
  <tr>
 
 
131
  <?php
132
  foreach ( $share_base_cache_target as $sns => $active ) {
133
  if ( $active ) {
 
 
134
  if ( self::REF_SHARE_GPLUS === $sns ) {
135
- echo '<td class="share-count">';
136
  echo '<img class="loading" src="' . esc_url( $this->loading_img_url ) . '" /><span data-scc="sgplus"></span>';
137
  echo '</td>';
138
  } else {
139
- echo '<td class="share-count">';
140
- echo '<img class="loading" src="' . esc_url( $this->loading_img_url ) . '" /><span data-scc="s' . esc_attr( strtolower( $sns ) ) . '"></span>';
141
  echo '</td>';
142
  }
143
  }
@@ -147,12 +129,13 @@ $site_query = new WP_Query( $query_args );
147
  </tbody>
148
  </table>
149
  </div>
150
- <div id="site-summary-follow-cache" class="site-summary activity-block">
151
- <h3><?php esc_html_e( 'Follow', self::DOMAIN ); ?></h3>
152
  <h4><?php esc_html_e( 'Cache Status', self::DOMAIN ); ?></h4>
153
- <table class="view-table">
154
  <thead>
155
- <tr>
 
156
  <th><?php esc_html_e( 'Cache Type', self::DOMAIN ); ?></th>
157
  <th><?php esc_html_e( 'Cache Progress', self::DOMAIN ); ?></th>
158
  <th><?php esc_html_e( 'Total Content', self::DOMAIN ); ?></th>
@@ -163,59 +146,42 @@ $site_query = new WP_Query( $query_args );
163
  </thead>
164
  <tbody>
165
  <tr>
 
166
  <td><?php esc_html_e( 'Primary Cache', self::DOMAIN ); ?></td>
167
- <td>
168
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="fpcs"></span>
169
  </td>
170
- <td class="share-count"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpc'></span></td>
171
- <td class="share-count full-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpfcc'></span></td>
172
- <td class="share-count partial-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fppcc'></span></td>
173
- <td class="share-count no-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpncc'></span></td>
174
  </tr>
175
  <tr>
 
176
  <td><?php esc_html_e( 'Secondary Cache', self::DOMAIN ); ?></td>
177
- <td>
178
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="fscs"></span>
179
  </td>
180
- <td class="share-count"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpc'></span></td>
181
- <td class="share-count full-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fsfcc'></span></td>
182
- <td class="share-count partial-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fspcc'></span></td>
183
- <td class="share-count no-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fsncc'></span></td>
184
  </tr>
185
  </tbody>
186
  </table>
187
  <h4><?php esc_html_e( 'Follower Count', self::DOMAIN ); ?></h4>
188
  <table class="view-table">
189
  <thead>
190
- <tr>
 
 
191
  <?php
192
  $follow_base_cache_target = $this->follow_base_cache_target ;
193
  unset( $follow_base_cache_target[ self::REF_CRAWL_DATE ] );
194
 
195
  foreach ( $follow_base_cache_target as $sns => $active ) {
196
  if ( $active ) {
197
- $sns_name = '';
198
-
199
- switch ( $sns ) {
200
- case self::REF_FOLLOW_TWITTER:
201
- $sns_name = __( 'Twitter', self::DOMAIN );
202
- break;
203
- case self::REF_FOLLOW_FACEBOOK:
204
- $sns_name = __( 'Facebook', self::DOMAIN );
205
- break;
206
- case self::REF_FOLLOW_FEEDLY:
207
- $sns_name = __( 'Feedly', self::DOMAIN );
208
- break;
209
- case self::REF_FOLLOW_INSTAGRAM:
210
- $sns_name = __( 'Instagram', self::DOMAIN );
211
- break;
212
- case self::REF_FOLLOW_PUSH7:
213
- $sns_name = __( 'Push7', self::DOMAIN );
214
- break;
215
- case self::REF_FOLLOW_ONESIGNAL:
216
- $sns_name = __( 'OneSignal', self::DOMAIN );
217
- break;
218
- }
219
 
220
  echo '<th>' . esc_html( $sns_name ) . '</th>';
221
  }
@@ -225,10 +191,14 @@ $site_query = new WP_Query( $query_args );
225
  </thead>
226
  <tbody>
227
  <tr>
 
 
228
  <?php
229
  foreach ( $follow_base_cache_target as $sns => $active ) {
230
  if ( $active ) {
231
- echo '<td class="share-count">';
 
 
232
  echo '<img class="loading" src="' . esc_url( $this->loading_img_url ) . '" /><span data-scc="f' . esc_attr( strtolower( $sns ) ) . '"></span>';
233
  echo '</td>';
234
  }
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
44
  ?>
45
  <div class="sns-cnt-cache">
46
  <div id="scc-dashboard-widget">
47
+ <div id="site-summary-share-cache" class="site-summary">
48
+ <h3><span><?php esc_html_e( 'Share', self::DOMAIN ); ?></span></h3>
49
  <h4><a href="admin.php?page=scc-cache-status"><?php esc_html_e( 'Cache Status', self::DOMAIN ); ?></a></h4>
50
  <table class="view-table">
51
  <thead>
52
+ <tr class="thead">
53
+ <th class="dummy"></th>
54
  <th><?php esc_html_e( 'Cache Type', self::DOMAIN ); ?></th>
55
  <th><?php esc_html_e( 'Cache Progress', self::DOMAIN ); ?></th>
56
  <th><?php esc_html_e( 'Total Content', self::DOMAIN ); ?></th>
61
  </thead>
62
  <tbody>
63
  <tr>
64
+ <td class="dummy"></td>
65
  <td><?php esc_html_e( 'Primary Cache', self::DOMAIN ); ?></td>
66
+ <td data-label="<?php echo esc_attr( __( 'Cache Progress', self::DOMAIN ) ); ?>">
67
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="spcs"></span>
68
  </td>
69
+ <td class="share-count" data-label="<?php echo esc_attr( __( 'Total Content', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spc'></span></td>
70
+ <td class="share-count full-cache" data-label="<?php echo esc_attr( __( 'State - Full Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spfcc'></span></td>
71
+ <td class="share-count partial-cache" data-label="<?php echo esc_attr( __( 'State - Partial Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='sppcc'></span></td>
72
+ <td class="share-count no-cache" data-label="<?php echo esc_attr( __( 'State - No Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spncc'></span></td>
73
  </tr>
74
  <tr>
75
+ <td class="dummy"></td>
76
  <td><?php esc_html_e( 'Secondary Cache', self::DOMAIN ); ?></td>
77
+ <td data-label="<?php echo esc_attr( __( 'Cache Progress', self::DOMAIN ) ); ?>">
78
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="sscs"></span>
79
  </td>
80
+ <td class="share-count" data-label="<?php echo esc_attr( __( 'Total Content', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spc'></span></td>
81
+ <td class="share-count full-cache" data-label="<?php echo esc_attr( __( 'State - Full Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='ssfcc'></span></td>
82
+ <td class="share-count partial-cache" data-label="<?php echo esc_attr( __( 'State - Partial Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='sspcc'></span></td>
83
+ <td class="share-count no-cache" data-label="<?php echo esc_attr( __( 'State - No Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='ssncc'></span></td>
84
  </tr>
85
  </tbody>
86
  </table>
87
  <h4><a href="admin.php?page=scc-share-count"><?php esc_html_e( 'Share Count', self::DOMAIN ); ?></a></h4>
88
  <table class="view-table">
89
  <thead>
90
+ <tr class="thead">
91
+ <th class="dummy"></th>
92
+ <th class="dummy"><?php echo esc_attr( __( 'SNS', self::DOMAIN ) ); ?></th>
93
  <?php
94
  $share_base_cache_target = $this->share_base_cache_target ;
95
  unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
96
 
97
  foreach ( $share_base_cache_target as $sns => $active ) {
98
  if ( $active ) {
99
+ $sns_name = $this->get_sns_name( $sns );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
 
101
  echo '<th>' . esc_html( $sns_name ) . '</th>';
102
  }
106
  </thead>
107
  <tbody>
108
  <tr>
109
+ <td class="dummy"></td>
110
+ <td class="dummy"><?php echo esc_attr( __( 'Share Count', self::DOMAIN ) ); ?></td>
111
  <?php
112
  foreach ( $share_base_cache_target as $sns => $active ) {
113
  if ( $active ) {
114
+ $sns_name = $this->get_sns_name( $sns );
115
+
116
  if ( self::REF_SHARE_GPLUS === $sns ) {
117
+ echo '<td class="share-count" data-label="' . esc_attr( $sns_name ) . '">';
118
  echo '<img class="loading" src="' . esc_url( $this->loading_img_url ) . '" /><span data-scc="sgplus"></span>';
119
  echo '</td>';
120
  } else {
121
+ echo '<td class="share-count" data-label="' . esc_attr( $sns_name ) . '">';
122
+ echo '<img class="loading" src="' . esc_url( $this->loading_img_url ) . '" /><span data-scc="s' . esc_attr( strtolower( $sns ) ) . '"></span>';
123
  echo '</td>';
124
  }
125
  }
129
  </tbody>
130
  </table>
131
  </div>
132
+ <div id="site-summary-follow-cache" class="site-summary">
133
+ <h3><span><?php esc_html_e( 'Follow', self::DOMAIN ); ?></span></h3>
134
  <h4><?php esc_html_e( 'Cache Status', self::DOMAIN ); ?></h4>
135
+ <table class="view-table">
136
  <thead>
137
+ <tr class="thead">
138
+ <th class="dummy"></th>
139
  <th><?php esc_html_e( 'Cache Type', self::DOMAIN ); ?></th>
140
  <th><?php esc_html_e( 'Cache Progress', self::DOMAIN ); ?></th>
141
  <th><?php esc_html_e( 'Total Content', self::DOMAIN ); ?></th>
146
  </thead>
147
  <tbody>
148
  <tr>
149
+ <td class="dummy"></td>
150
  <td><?php esc_html_e( 'Primary Cache', self::DOMAIN ); ?></td>
151
+ <td data-label="<?php echo esc_attr( __( 'Cache Progress', self::DOMAIN ) ); ?>">
152
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="fpcs"></span>
153
  </td>
154
+ <td class="share-count" data-label="<?php echo esc_attr( __( 'Total Content', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpc'></span></td>
155
+ <td class="share-count full-cache" data-label="<?php echo esc_attr( __( 'State - Full Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpfcc'></span></td>
156
+ <td class="share-count partial-cache" data-label="<?php echo esc_attr( __( 'State - Partial Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fppcc'></span></td>
157
+ <td class="share-count no-cache" data-label="<?php echo esc_attr( __( 'State - No Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpncc'></span></td>
158
  </tr>
159
  <tr>
160
+ <td class="dummy"></td>
161
  <td><?php esc_html_e( 'Secondary Cache', self::DOMAIN ); ?></td>
162
+ <td data-label="<?php echo esc_attr( __( 'Cache Progress', self::DOMAIN ) ); ?>">
163
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="fscs"></span>
164
  </td>
165
+ <td class="share-count" data-label="<?php echo esc_attr( __( 'Total Content', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpc'></span></td>
166
+ <td class="share-count full-cache" data-label="<?php echo esc_attr( __( 'State - Full Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fsfcc'></span></td>
167
+ <td class="share-count partial-cache" data-label="<?php echo esc_attr( __( 'State - Partial Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fspcc'></span></td>
168
+ <td class="share-count no-cache" data-label="<?php echo esc_attr( __( 'State - No Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fsncc'></span></td>
169
  </tr>
170
  </tbody>
171
  </table>
172
  <h4><?php esc_html_e( 'Follower Count', self::DOMAIN ); ?></h4>
173
  <table class="view-table">
174
  <thead>
175
+ <tr class="thead">
176
+ <th class="dummy"></th>
177
+ <th class="dummy"><?php echo esc_attr( __( 'SNS', self::DOMAIN ) ); ?></th>
178
  <?php
179
  $follow_base_cache_target = $this->follow_base_cache_target ;
180
  unset( $follow_base_cache_target[ self::REF_CRAWL_DATE ] );
181
 
182
  foreach ( $follow_base_cache_target as $sns => $active ) {
183
  if ( $active ) {
184
+ $sns_name = $this->get_sns_name( $sns );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
185
 
186
  echo '<th>' . esc_html( $sns_name ) . '</th>';
187
  }
191
  </thead>
192
  <tbody>
193
  <tr>
194
+ <td class="dummy"></td>
195
+ <td class="dummy"><?php echo esc_attr( __( 'Follower Count', self::DOMAIN ) ); ?></td>
196
  <?php
197
  foreach ( $follow_base_cache_target as $sns => $active ) {
198
  if ( $active ) {
199
+ $sns_name = $this->get_sns_name( $sns );
200
+
201
+ echo '<td class="share-count" data-label="' . esc_attr( $sns_name ) . '">';
202
  echo '<img class="loading" src="' . esc_url( $this->loading_img_url ) . '" /><span data-scc="f' . esc_attr( strtolower( $sns ) ) . '"></span>';
203
  echo '</td>';
204
  }
includes/admin-dashboard.php CHANGED
@@ -4,7 +4,7 @@ admin-dashboard.php
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -63,7 +63,8 @@ $site_query = new WP_Query( $query_args );
63
  <h4><a href="admin.php?page=scc-cache-status"><?php esc_html_e( 'Cache Status', self::DOMAIN ); ?></a></h4>
64
  <table class="view-table">
65
  <thead>
66
- <tr>
 
67
  <th><?php esc_html_e( 'Cache Type', self::DOMAIN ); ?></th>
68
  <th><?php esc_html_e( 'Cache Progress', self::DOMAIN ); ?></th>
69
  <th><?php esc_html_e( 'Total Content', self::DOMAIN ); ?></th>
@@ -74,65 +75,42 @@ $site_query = new WP_Query( $query_args );
74
  </thead>
75
  <tbody>
76
  <tr>
 
77
  <td><?php esc_html_e( 'Primary Cache', self::DOMAIN ); ?></td>
78
- <td>
79
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="spcs"></span>
80
  </td>
81
- <td class="share-count"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spc'></span></td>
82
- <td class="share-count full-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spfcc'></span></td>
83
- <td class="share-count partial-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='sppcc'></span></td>
84
- <td class="share-count no-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spncc'></span></td>
85
  </tr>
86
  <tr>
 
87
  <td><?php esc_html_e( 'Secondary Cache', self::DOMAIN ); ?></td>
88
- <td>
89
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="sscs"></span>
90
  </td>
91
- <td class="share-count"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spc'></span></td>
92
- <td class="share-count full-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='ssfcc'></span></td>
93
- <td class="share-count partial-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='sspcc'></span></td>
94
- <td class="share-count no-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='ssncc'></span></td>
95
  </tr>
96
  </tbody>
97
  </table>
98
  <h4><a href="admin.php?page=scc-share-count"><?php esc_html_e( 'Share Count', self::DOMAIN ); ?></a></h4>
99
  <table class="view-table">
100
  <thead>
101
- <tr>
 
 
102
  <?php
103
  $share_base_cache_target = $this->share_base_cache_target ;
104
  unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
105
 
106
  foreach ( $share_base_cache_target as $sns => $active ) {
107
  if ( $active ) {
108
- $sns_name = '';
109
-
110
- switch ( $sns ) {
111
- case self::REF_SHARE_TWITTER:
112
- $sns_name = __( 'Twitter', self::DOMAIN );
113
- break;
114
- case self::REF_SHARE_FACEBOOK:
115
- $sns_name = __( 'Facebook', self::DOMAIN );
116
- break;
117
- case self::REF_SHARE_GPLUS:
118
- $sns_name = __( 'Google+', self::DOMAIN );
119
- break;
120
- case self::REF_SHARE_POCKET:
121
- $sns_name = __( 'Pocket', self::DOMAIN );
122
- break;
123
- case self::REF_SHARE_HATEBU:
124
- $sns_name = __( 'Hatebu', self::DOMAIN );
125
- break;
126
- case self::REF_SHARE_PINTEREST:
127
- $sns_name = __( 'Pinterest', self::DOMAIN );
128
- break;
129
- case self::REF_SHARE_LINKEDIN:
130
- $sns_name = __( 'Linkedin', self::DOMAIN );
131
- break;
132
- case self::REF_SHARE_TOTAL:
133
- $sns_name = __( 'Total', self::DOMAIN );
134
- break;
135
- }
136
 
137
  echo '<th>' . esc_html( $sns_name ) . '</th>';
138
  }
@@ -142,15 +120,19 @@ $site_query = new WP_Query( $query_args );
142
  </thead>
143
  <tbody>
144
  <tr>
 
 
145
  <?php
146
  foreach ( $share_base_cache_target as $sns => $active ) {
147
  if ( $active ) {
 
 
148
  if ( self::REF_SHARE_GPLUS === $sns ) {
149
- echo '<td class="share-count">';
150
  echo '<img class="loading" src="' . esc_url( $this->loading_img_url ) . '" /><span data-scc="sgplus"></span>';
151
  echo '</td>';
152
  } else {
153
- echo '<td class="share-count">';
154
  echo '<img class="loading" src="' . esc_url( $this->loading_img_url ) . '" /><span data-scc="s' . esc_attr( strtolower( $sns ) ) . '"></span>';
155
  echo '</td>';
156
  }
@@ -171,7 +153,8 @@ $site_query = new WP_Query( $query_args );
171
  <h4><?php esc_html_e( 'Cache Status', self::DOMAIN ); ?></h4>
172
  <table class="view-table">
173
  <thead>
174
- <tr>
 
175
  <th><?php esc_html_e( 'Cache Type', self::DOMAIN ); ?></th>
176
  <th><?php esc_html_e( 'Cache Progress', self::DOMAIN ); ?></th>
177
  <th><?php esc_html_e( 'Total Content', self::DOMAIN ); ?></th>
@@ -182,59 +165,42 @@ $site_query = new WP_Query( $query_args );
182
  </thead>
183
  <tbody>
184
  <tr>
 
185
  <td><?php esc_html_e( 'Primary Cache', self::DOMAIN ); ?></td>
186
- <td>
187
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="fpcs"></span>
188
  </td>
189
- <td class="share-count"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpc'></span></td>
190
- <td class="share-count full-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpfcc'></span></td>
191
- <td class="share-count partial-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fppcc'></span></td>
192
- <td class="share-count no-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpncc'></span></td>
193
  </tr>
194
  <tr>
 
195
  <td><?php esc_html_e( 'Secondary Cache', self::DOMAIN ); ?></td>
196
- <td>
197
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="fscs"></span>
198
  </td>
199
- <td class="share-count"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpc'></span></td>
200
- <td class="share-count full-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fsfcc'></span></td>
201
- <td class="share-count partial-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fspcc'></span></td>
202
- <td class="share-count no-cache"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fsncc'></span></td>
203
  </tr>
204
  </tbody>
205
  </table>
206
  <h4><?php esc_html_e( 'Follower Count', self::DOMAIN ); ?></h4>
207
  <table class="view-table">
208
  <thead>
209
- <tr>
 
 
210
  <?php
211
  $follow_base_cache_target = $this->follow_base_cache_target ;
212
  unset( $follow_base_cache_target[ self::REF_CRAWL_DATE ] );
213
 
214
  foreach ( $follow_base_cache_target as $sns => $active ) {
215
  if ( $active ) {
216
- $sns_name = '';
217
-
218
- switch ( $sns ) {
219
- case self::REF_FOLLOW_TWITTER:
220
- $sns_name = __( 'Twitter', self::DOMAIN );
221
- break;
222
- case self::REF_FOLLOW_FACEBOOK:
223
- $sns_name = __( 'Facebook', self::DOMAIN );
224
- break;
225
- case self::REF_FOLLOW_FEEDLY:
226
- $sns_name = __( 'Feedly', self::DOMAIN );
227
- break;
228
- case self::REF_FOLLOW_INSTAGRAM:
229
- $sns_name = __( 'Instagram', self::DOMAIN );
230
- break;
231
- case self::REF_FOLLOW_ONESIGNAL;
232
- $sns_name = __( 'OneSignal', self::DOMAIN );
233
- break;
234
- case self::REF_FOLLOW_PUSH7:
235
- $sns_name = __( 'Push7', self::DOMAIN );
236
- break;
237
- }
238
 
239
  echo '<th>' . esc_html( $sns_name ) . '</th>';
240
  }
@@ -244,10 +210,14 @@ $site_query = new WP_Query( $query_args );
244
  </thead>
245
  <tbody>
246
  <tr>
 
 
247
  <?php
248
  foreach ( $follow_base_cache_target as $sns => $active ) {
249
  if ( $active ) {
250
- echo '<td class="share-count">';
 
 
251
  echo '<img class="loading" src="' . esc_url( $this->loading_img_url ) . '" /><span data-scc="f' . esc_attr( strtolower( $sns ) ) . '"></span>';
252
  echo '</td>';
253
  }
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
63
  <h4><a href="admin.php?page=scc-cache-status"><?php esc_html_e( 'Cache Status', self::DOMAIN ); ?></a></h4>
64
  <table class="view-table">
65
  <thead>
66
+ <tr class="thead">
67
+ <th class="dummy"></th>
68
  <th><?php esc_html_e( 'Cache Type', self::DOMAIN ); ?></th>
69
  <th><?php esc_html_e( 'Cache Progress', self::DOMAIN ); ?></th>
70
  <th><?php esc_html_e( 'Total Content', self::DOMAIN ); ?></th>
75
  </thead>
76
  <tbody>
77
  <tr>
78
+ <td class="dummy"></td>
79
  <td><?php esc_html_e( 'Primary Cache', self::DOMAIN ); ?></td>
80
+ <td data-label="<?php echo esc_attr( __( 'Cache Progress', self::DOMAIN ) ); ?>">
81
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="spcs"></span>
82
  </td>
83
+ <td class="share-count" data-label="<?php echo esc_attr( __( 'Total Content', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spc'></span></td>
84
+ <td class="share-count full-cache" data-label="<?php echo esc_attr( __( 'State - Full Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spfcc'></span></td>
85
+ <td class="share-count partial-cache" data-label="<?php echo esc_attr( __( 'State - Partial Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='sppcc'></span></td>
86
+ <td class="share-count no-cache" data-label="<?php echo esc_attr( __( 'State - No Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spncc'></span></td>
87
  </tr>
88
  <tr>
89
+ <td class="dummy"></td>
90
  <td><?php esc_html_e( 'Secondary Cache', self::DOMAIN ); ?></td>
91
+ <td data-label="<?php echo esc_attr( __( 'Cache Progress', self::DOMAIN ) ); ?>">
92
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="sscs"></span>
93
  </td>
94
+ <td class="share-count" data-label="<?php echo esc_attr( __( 'Total Content', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='spc'></span></td>
95
+ <td class="share-count full-cache" data-label="<?php echo esc_attr( __( 'State - Full Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='ssfcc'></span></td>
96
+ <td class="share-count partial-cache" data-label="<?php echo esc_attr( __( 'State - Partial Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='sspcc'></span></td>
97
+ <td class="share-count no-cache" data-label="<?php echo esc_attr( __( 'State - No Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='ssncc'></span></td>
98
  </tr>
99
  </tbody>
100
  </table>
101
  <h4><a href="admin.php?page=scc-share-count"><?php esc_html_e( 'Share Count', self::DOMAIN ); ?></a></h4>
102
  <table class="view-table">
103
  <thead>
104
+ <tr class="thead">
105
+ <th class="dummy"></th>
106
+ <th class="dummy"><?php echo esc_attr( __( 'SNS', self::DOMAIN ) ); ?></th>
107
  <?php
108
  $share_base_cache_target = $this->share_base_cache_target ;
109
  unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
110
 
111
  foreach ( $share_base_cache_target as $sns => $active ) {
112
  if ( $active ) {
113
+ $sns_name = $this->get_sns_name( $sns );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
 
115
  echo '<th>' . esc_html( $sns_name ) . '</th>';
116
  }
120
  </thead>
121
  <tbody>
122
  <tr>
123
+ <td class="dummy"></td>
124
+ <td class="dummy"><?php echo esc_attr( __( 'Share Count', self::DOMAIN ) ); ?></td>
125
  <?php
126
  foreach ( $share_base_cache_target as $sns => $active ) {
127
  if ( $active ) {
128
+ $sns_name = $this->get_sns_name( $sns );
129
+
130
  if ( self::REF_SHARE_GPLUS === $sns ) {
131
+ echo '<td class="share-count" data-label="' . esc_attr( $sns_name ) . '">';
132
  echo '<img class="loading" src="' . esc_url( $this->loading_img_url ) . '" /><span data-scc="sgplus"></span>';
133
  echo '</td>';
134
  } else {
135
+ echo '<td class="share-count" data-label="' . esc_attr( $sns_name ) . '">';
136
  echo '<img class="loading" src="' . esc_url( $this->loading_img_url ) . '" /><span data-scc="s' . esc_attr( strtolower( $sns ) ) . '"></span>';
137
  echo '</td>';
138
  }
153
  <h4><?php esc_html_e( 'Cache Status', self::DOMAIN ); ?></h4>
154
  <table class="view-table">
155
  <thead>
156
+ <tr class="thead">
157
+ <th class="dummy"></th>
158
  <th><?php esc_html_e( 'Cache Type', self::DOMAIN ); ?></th>
159
  <th><?php esc_html_e( 'Cache Progress', self::DOMAIN ); ?></th>
160
  <th><?php esc_html_e( 'Total Content', self::DOMAIN ); ?></th>
165
  </thead>
166
  <tbody>
167
  <tr>
168
+ <td class="dummy"></td>
169
  <td><?php esc_html_e( 'Primary Cache', self::DOMAIN ); ?></td>
170
+ <td data-label="<?php echo esc_attr( __( 'Cache Progress', self::DOMAIN ) ); ?>">
171
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="fpcs"></span>
172
  </td>
173
+ <td class="share-count" data-label="<?php echo esc_attr( __( 'Total Content', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpc'></span></td>
174
+ <td class="share-count full-cache" data-label="<?php echo esc_attr( __( 'State - Full Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpfcc'></span></td>
175
+ <td class="share-count partial-cache" data-label="<?php echo esc_attr( __( 'State - Partial Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fppcc'></span></td>
176
+ <td class="share-count no-cache" data-label="<?php echo esc_attr( __( 'State - No Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpncc'></span></td>
177
  </tr>
178
  <tr>
179
+ <td class="dummy"></td>
180
  <td><?php esc_html_e( 'Secondary Cache', self::DOMAIN ); ?></td>
181
+ <td data-label="<?php echo esc_attr( __( 'Cache Progress', self::DOMAIN ) ); ?>">
182
  <img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc="fscs"></span>
183
  </td>
184
+ <td class="share-count" data-label="<?php echo esc_attr( __( 'Total Content', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fpc'></span></td>
185
+ <td class="share-count full-cache" data-label="<?php echo esc_attr( __( 'State - Full Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fsfcc'></span></td>
186
+ <td class="share-count partial-cache" data-label="<?php echo esc_attr( __( 'State - Partial Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fspcc'></span></td>
187
+ <td class="share-count no-cache" data-label="<?php echo esc_attr( __( 'State - No Cache', self::DOMAIN ) ); ?>"><img class="loading" src="<?php echo esc_url( $this->loading_img_url ); ?>" /><span data-scc='fsncc'></span></td>
188
  </tr>
189
  </tbody>
190
  </table>
191
  <h4><?php esc_html_e( 'Follower Count', self::DOMAIN ); ?></h4>
192
  <table class="view-table">
193
  <thead>
194
+ <tr class="thead">
195
+ <th class="dummy"></th>
196
+ <th class="dummy"><?php echo esc_attr( __( 'SNS', self::DOMAIN ) ); ?></th>
197
  <?php
198
  $follow_base_cache_target = $this->follow_base_cache_target ;
199
  unset( $follow_base_cache_target[ self::REF_CRAWL_DATE ] );
200
 
201
  foreach ( $follow_base_cache_target as $sns => $active ) {
202
  if ( $active ) {
203
+ $sns_name = $this->get_sns_name( $sns );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
204
 
205
  echo '<th>' . esc_html( $sns_name ) . '</th>';
206
  }
210
  </thead>
211
  <tbody>
212
  <tr>
213
+ <td class="dummy"></td>
214
+ <td class="dummy"><?php echo esc_attr( __( 'Follower Count', self::DOMAIN ) ); ?></td>
215
  <?php
216
  foreach ( $follow_base_cache_target as $sns => $active ) {
217
  if ( $active ) {
218
+ $sns_name = $this->get_sns_name( $sns );
219
+
220
+ echo '<td class="share-count" data-label="' . esc_attr( $sns_name ) . '">';
221
  echo '<img class="loading" src="' . esc_url( $this->loading_img_url ) . '" /><span data-scc="f' . esc_attr( strtolower( $sns ) ) . '"></span>';
222
  echo '</td>';
223
  }
includes/admin-help.php CHANGED
@@ -4,7 +4,7 @@ admin-help.php
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -53,7 +53,7 @@ if ( ! defined( 'ABSPATH' ) ) {
53
  <h4><?php esc_html_e( 'What is WordPress plugin SNS Cout Cache?', self::DOMAIN ); ?></h4>
54
  <p><?php esc_html_e( 'WordPress plugin SNS Count Cache is a plugin which helps you to shorten page loading time when your site displays share and follower counts. This plugin gets share counts such as Twitter and Facebook, Pocket, Pinterest, Linkedin and caches these counts in the background. This plugin alse caches follower counts such as Twitter and Facebook, Feedly, Instagram, OneSignal, Push7 in the same way. The share and follower counts can be retrieved quickly not through network but through the cache using given functions.', self::DOMAIN ); ?></p>
55
  <h4><?php esc_html_e( 'How often does this plugin get and cache share counts?', self::DOMAIN ); ?></h4>
56
- <p><?php esc_html_e( 'Although this plugin gets share count of 20 posts at a time every 10 minutes by default, you can modify the setting in the "Setting" tab in the administration page.', self::DOMAIN ); ?></p>
57
  <h4><?php esc_html_e( 'How can I know whether share count of each post is cached or not?', self::DOMAIN ); ?></h4>
58
  <p><?php esc_html_e( 'Cache status is described in the "Cache Status" tab in the administration page.', self::DOMAIN ); ?></p>
59
  <h4><?php esc_html_e( 'How often does this plugin get and cache follower counts?', self::DOMAIN ); ?></h4>
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
53
  <h4><?php esc_html_e( 'What is WordPress plugin SNS Cout Cache?', self::DOMAIN ); ?></h4>
54
  <p><?php esc_html_e( 'WordPress plugin SNS Count Cache is a plugin which helps you to shorten page loading time when your site displays share and follower counts. This plugin gets share counts such as Twitter and Facebook, Pocket, Pinterest, Linkedin and caches these counts in the background. This plugin alse caches follower counts such as Twitter and Facebook, Feedly, Instagram, OneSignal, Push7 in the same way. The share and follower counts can be retrieved quickly not through network but through the cache using given functions.', self::DOMAIN ); ?></p>
55
  <h4><?php esc_html_e( 'How often does this plugin get and cache share counts?', self::DOMAIN ); ?></h4>
56
+ <p><?php esc_html_e( 'Although this plugin gets share count of 15 posts at a time every 15 minutes by default, you can modify the setting in the "Setting" tab in the administration page.', self::DOMAIN ); ?></p>
57
  <h4><?php esc_html_e( 'How can I know whether share count of each post is cached or not?', self::DOMAIN ); ?></h4>
58
  <p><?php esc_html_e( 'Cache status is described in the "Cache Status" tab in the administration page.', self::DOMAIN ); ?></p>
59
  <h4><?php esc_html_e( 'How often does this plugin get and cache follower counts?', self::DOMAIN ); ?></h4>
includes/admin-hot-content.php CHANGED
@@ -4,7 +4,7 @@ admin-hot-content.php
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -84,7 +84,7 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
84
  <div class="inside">
85
  <table class="tfloat view-table">
86
  <thead>
87
- <tr>
88
  <th>No.</th>
89
  <th><?php esc_html_e( 'Content', self::DOMAIN ); ?></th>
90
  <?php
@@ -98,39 +98,12 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
98
 
99
  $sort_url = esc_url( 'admin.php?page=scc-hot-content&action=sort&key=' . $sort_key );
100
 
101
- $sns_name = '';
102
-
103
- switch ( $sns ) {
104
- case self::REF_SHARE_TWITTER:
105
- $sns_name = __( 'Twitter', self::DOMAIN );
106
- break;
107
- case self::REF_SHARE_FACEBOOK:
108
- $sns_name = __( 'Facebook', self::DOMAIN );
109
- break;
110
- case self::REF_SHARE_GPLUS:
111
- $sns_name = __( 'Google+', self::DOMAIN );
112
- break;
113
- case self::REF_SHARE_POCKET:
114
- $sns_name = __( 'Pocket', self::DOMAIN );
115
- break;
116
- case self::REF_SHARE_HATEBU:
117
- $sns_name = __( 'Hatebu', self::DOMAIN );
118
- break;
119
- case self::REF_SHARE_PINTEREST:
120
- $sns_name = __( 'Pinterest', self::DOMAIN );
121
- break;
122
- case self::REF_SHARE_LINKEDIN:
123
- $sns_name = __( 'Linkedin', self::DOMAIN );
124
- break;
125
- case self::REF_SHARE_TOTAL:
126
- $sns_name = __( 'Total', self::DOMAIN );
127
- break;
128
- }
129
 
130
- if ( $sns === $sort_exec_key ){
131
- echo '<th><a class="sort-exec-key" href="' . $sort_url . '">' . esc_html( $sns_name ) . '</th>';
132
  } else {
133
- echo '<th><a href="' . $sort_url . '">' . esc_html( $sns_name ) . '</th>';
134
  }
135
  }
136
  }
@@ -244,7 +217,7 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
244
  ?>
245
  <tr>
246
  <td><?php echo esc_html( $count ); ?></td>
247
- <td><a href="<?php echo esc_url( get_permalink( get_the_ID() ) ); ?>" target="_blank"><?php echo esc_html( get_the_title( get_the_ID() ) ); ?></a></td>
248
  <?php
249
  $transient_id = $this->cache_engines[ self::REF_SHARE_BASE ]->get_cache_key( get_the_ID() );
250
 
@@ -253,12 +226,14 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
253
  if ( ! $sort_mode && false !== $sns_counts ) {
254
  foreach ( $share_base_cache_target as $sns => $active ) {
255
  if ( $active ) {
 
 
256
  //delta
257
  $meta_key = $this->analytical_engines[ self::REF_SHARE_ANALYSIS ]->get_delta_key( $sns );
258
  $sns_deltas[ $sns ] = get_post_meta( get_the_ID(), $meta_key, true );
259
 
260
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
261
- echo '<td class="share-count">';
262
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
263
 
264
  if ( SCC_Cache::has_value( $sns_deltas[ $sns ] ) && 0 < $sns_deltas[ $sns ] ) {
@@ -269,7 +244,7 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
269
 
270
  echo '</td>';
271
  } else {
272
- echo '<td class="not-cached share-count">';
273
  esc_html_e( 'N/A', self::DOMAIN );
274
  echo '</td>';
275
  }
@@ -278,6 +253,8 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
278
  } else {
279
  foreach ( $share_base_cache_target as $sns => $active ) {
280
  if ( $active ) {
 
 
281
  $meta_key = $this->cache_engines[ self::REF_SHARE_2ND ]->get_cache_key( $sns );
282
 
283
  $sns_counts[ $sns ] = get_post_meta( get_the_ID(), $meta_key, true );
@@ -287,7 +264,7 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
287
  $sns_deltas[ $sns ] = get_post_meta( get_the_ID(), $meta_key, true );
288
 
289
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
290
- echo '<td class="share-count">';
291
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
292
 
293
  if ( SCC_Cache::has_value( $sns_deltas[ $sns ] ) && 0 < $sns_deltas[ $sns ] ) {
@@ -298,7 +275,7 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
298
 
299
  echo '</td>';
300
  } else {
301
- echo '<td class="not-cached share-count">';
302
  esc_html_e( 'N/A', self::DOMAIN );
303
  echo '</td>';
304
  }
@@ -316,6 +293,8 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
316
  echo '<td>' . __( 'No hot content.', self::DOMAIN ) . '</td>';
317
  foreach ( $share_base_cache_target as $sns => $active ) {
318
  if ( $active ) {
 
 
319
  echo '<td class="not-cached share-count">';
320
  esc_html_e( 'N/A', self::DOMAIN );
321
  echo '</td>';
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
84
  <div class="inside">
85
  <table class="tfloat view-table">
86
  <thead>
87
+ <tr class="thead">
88
  <th>No.</th>
89
  <th><?php esc_html_e( 'Content', self::DOMAIN ); ?></th>
90
  <?php
98
 
99
  $sort_url = esc_url( 'admin.php?page=scc-hot-content&action=sort&key=' . $sort_key );
100
 
101
+ $sns_name = $this->get_sns_name( $sns );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
 
103
+ if ( $sns === $sort_exec_key ) {
104
+ echo '<th style="white-space:nowrap"><a class="sort-exec-key" href="' . $sort_url . '">' . esc_html( $sns_name ) . '</th>';
105
  } else {
106
+ echo '<th style="white-space:nowrap"><a href="' . $sort_url . '">' . esc_html( $sns_name ) . '</th>';
107
  }
108
  }
109
  }
217
  ?>
218
  <tr>
219
  <td><?php echo esc_html( $count ); ?></td>
220
+ <td><a href="<?php echo esc_url( get_permalink( get_the_ID() ) ); ?>" target="_blank" class="title"><?php echo esc_html( get_the_title( get_the_ID() ) ); ?></a></td>
221
  <?php
222
  $transient_id = $this->cache_engines[ self::REF_SHARE_BASE ]->get_cache_key( get_the_ID() );
223
 
226
  if ( ! $sort_mode && false !== $sns_counts ) {
227
  foreach ( $share_base_cache_target as $sns => $active ) {
228
  if ( $active ) {
229
+ $sns_name = $this->get_sns_name( $sns );
230
+
231
  //delta
232
  $meta_key = $this->analytical_engines[ self::REF_SHARE_ANALYSIS ]->get_delta_key( $sns );
233
  $sns_deltas[ $sns ] = get_post_meta( get_the_ID(), $meta_key, true );
234
 
235
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
236
+ echo '<td class="share-count" style="white-space:nowrap" data-label="' . esc_attr( $sns_name ) . '">';
237
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
238
 
239
  if ( SCC_Cache::has_value( $sns_deltas[ $sns ] ) && 0 < $sns_deltas[ $sns ] ) {
244
 
245
  echo '</td>';
246
  } else {
247
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
248
  esc_html_e( 'N/A', self::DOMAIN );
249
  echo '</td>';
250
  }
253
  } else {
254
  foreach ( $share_base_cache_target as $sns => $active ) {
255
  if ( $active ) {
256
+ $sns_name = $this->get_sns_name( $sns );
257
+
258
  $meta_key = $this->cache_engines[ self::REF_SHARE_2ND ]->get_cache_key( $sns );
259
 
260
  $sns_counts[ $sns ] = get_post_meta( get_the_ID(), $meta_key, true );
264
  $sns_deltas[ $sns ] = get_post_meta( get_the_ID(), $meta_key, true );
265
 
266
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
267
+ echo '<td class="share-count" style="white-space:nowrap" data-label="' . esc_attr( $sns_name ) . '">';
268
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
269
 
270
  if ( SCC_Cache::has_value( $sns_deltas[ $sns ] ) && 0 < $sns_deltas[ $sns ] ) {
275
 
276
  echo '</td>';
277
  } else {
278
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
279
  esc_html_e( 'N/A', self::DOMAIN );
280
  echo '</td>';
281
  }
293
  echo '<td>' . __( 'No hot content.', self::DOMAIN ) . '</td>';
294
  foreach ( $share_base_cache_target as $sns => $active ) {
295
  if ( $active ) {
296
+ $sns_name = $this->get_sns_name( $sns );
297
+
298
  echo '<td class="not-cached share-count">';
299
  esc_html_e( 'N/A', self::DOMAIN );
300
  echo '</td>';
includes/admin-notice.php CHANGED
@@ -4,7 +4,7 @@ admin-notice.php
4
 
5
  Description:
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description:
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/admin-setting.php CHANGED
@@ -4,7 +4,7 @@ admin-setting.php
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -74,6 +74,10 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
74
  $settings[ self::DB_COMMON_FAULT_TOLERANCE_MODE ] = sanitize_text_field( wp_unslash( $_POST['fault_tolerance_mode'] ) );
75
  }
76
 
 
 
 
 
77
  if ( ! empty( $_POST['share_variation_analysis_mode'] ) ) {
78
  $settings[ self::DB_SHARE_VARIATION_ANALYSIS_MODE ] = sanitize_text_field( wp_unslash( $_POST['share_variation_analysis_mode'] ) );
79
  }
@@ -550,10 +554,16 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
550
  $status = SCC_WP_Cron::test_cron_spawn();
551
 
552
  if ( is_wp_error( $status ) ) {
553
- echo '<div class="notice notice-error"><p>';
554
- esc_html_e( 'There was a problem spawning a call to the WP-Cron system on your site. This means WP-Cron jobs on your site may not work. The problem was: ', self::DOMAIN );
555
- echo '<br><strong>' . esc_html( $status->get_error_message() ) . '</strong>';
556
- echo '.</p></div>';
 
 
 
 
 
 
557
  }
558
 
559
  if ( ! empty( $this->share_base_cache_target[ self::REF_SHARE_FACEBOOK ] ) ) {
@@ -645,7 +655,8 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
645
  <div class="inside">
646
  <table class="tfloat view-table">
647
  <thead>
648
- <tr>
 
649
  <th><?php esc_html_e( 'Capability', self::DOMAIN ); ?></th>
650
  <th><?php esc_html_e( 'Parameter', self::DOMAIN ); ?></th>
651
  <th><?php esc_html_e( 'Value', self::DOMAIN ); ?></th>
@@ -653,6 +664,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
653
  </thead>
654
  <tbody>
655
  <tr>
 
656
  <td><?php esc_html_e( 'Share Base Cache', self::DOMAIN ); ?></td>
657
  <td><?php esc_html_e( 'Target SNS', self::DOMAIN ); ?></td>
658
  <td>
@@ -685,6 +697,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
685
  </td>
686
  </tr>
687
  <tr>
 
688
  <td><?php esc_html_e( 'Share Base Cache', self::DOMAIN ); ?></td>
689
  <td><?php esc_html_e( 'Custom post types', self::DOMAIN ); ?></td>
690
  <td>
@@ -698,16 +711,19 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
698
  </td>
699
  </tr>
700
  <tr>
 
701
  <td><?php esc_html_e( 'Share Base Cache', self::DOMAIN ); ?></td>
702
  <td><?php esc_html_e( 'Interval cheking share count (sec)', self::DOMAIN ); ?></td>
703
  <td><?php echo esc_html( $this->share_base_check_interval ) . ' ' . esc_html( __( 'seconds', self::DOMAIN ) ); ?></td>
704
  </tr>
705
  <tr>
 
706
  <td><?php esc_html_e( 'Share Base Cache', self::DOMAIN ); ?></td>
707
  <td><?php esc_html_e( 'Number of contents to check at a time', self::DOMAIN ) ?></td>
708
  <td><?php echo esc_html( $this->share_base_posts_per_check ) . ' ' . esc_html( __( 'contents', self::DOMAIN ) ); ?></td>
709
  </tr>
710
  <tr>
 
711
  <td><?php esc_html_e( 'Share Base Cache', self::DOMAIN ); ?></td>
712
  <td><?php esc_html_e( 'Scheme migration mode from http to https', self::DOMAIN ); ?></td>
713
  <td>
@@ -722,6 +738,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
722
  </tr>
723
  <?php if ( $this->scheme_migration_mode ) { ?>
724
  <tr>
 
725
  <td><?php esc_html_e( 'Share Base Cache', self::DOMAIN ); ?></td>
726
  <td><?php esc_html_e( 'Scheme migration date from http to https', self::DOMAIN ); ?></td>
727
  <td>
@@ -737,6 +754,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
737
  <?php } ?>
738
  <?php if ( isset( $this->share_base_cache_target[ self::REF_SHARE_TWITTER ] ) && $this->share_base_cache_target[ self::REF_SHARE_TWITTER ] ) { ?>
739
  <tr>
 
740
  <td><?php esc_html_e( 'Share Base Cache - Twitter', self::DOMAIN ); ?></td>
741
  <td><?php esc_html_e( 'Alternative Twitter API', self::DOMAIN ); ?></td>
742
  <td>
@@ -747,14 +765,13 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
747
  echo '<a href="' . esc_url( 'https://opensharecount.com/' ) . '" target="_blank">' . esc_html( 'OpenShareCount' ) . '</a>';
748
  } elseif ( self::OPT_SHARE_TWITTER_API_TWITCOUNT === $this->share_base_twitter_api ) {
749
  echo '<a href="' . esc_url( 'http://twitcount.com/' ) . '" target="_blank">' . esc_html( 'TwitCount' ) . '</a>';
750
- } elseif ( self::OPT_SHARE_TWITTER_API_NEWSHARECOUNTS === $this->share_base_twitter_api ) {
751
- echo '<a href="' . esc_url( 'http://newsharecounts.com/' ) . '" target="_blank">' . esc_html( 'NewShareCounts' ) . '</a>';
752
  }
753
  ?>
754
  </td>
755
  </tr>
756
  <?php } ?>
757
  <tr>
 
758
  <td><?php esc_html_e( 'Share Rush Cache', self::DOMAIN ); ?></td>
759
  <td><?php esc_html_e( 'Term considering posted content as new content', self::DOMAIN ); ?></td>
760
  <td>
@@ -768,6 +785,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
768
  </td>
769
  </tr>
770
  <tr>
 
771
  <td><?php esc_html_e( 'Share Rush Cache', self::DOMAIN ); ?></td>
772
  <td><?php esc_html_e( 'Interval cheking share count (sec)', self::DOMAIN ); ?></td>
773
  <td>
@@ -776,12 +794,14 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
776
  ?>
777
  </td>
778
  <tr>
 
779
  <td><?php esc_html_e( 'Share Rush Cache', self::DOMAIN ); ?></td>
780
  <td><?php esc_html_e( 'Number of contents to check at a time', self::DOMAIN ) ?></td>
781
  <td><?php echo esc_html( $this->share_rush_posts_per_check ) . ' ' . esc_html( __( 'contents', self::DOMAIN ) ); ?></td>
782
  </tr>
783
  </tr>
784
  <tr>
 
785
  <td><?php esc_html_e( 'Share Variation Analysis', self::DOMAIN ); ?></td>
786
  <td><?php esc_html_e( 'Method to update basis of comparison', self::DOMAIN ); ?></td><td>
787
  <?php
@@ -799,12 +819,13 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
799
  esc_html_e( 'Disabled (None)', self::DOMAIN );
800
  }
801
  ?>
802
- </td>
803
  </tr>
804
  <?php
805
  if ( self::OPT_SHARE_VARIATION_ANALYSIS_SCHEDULER === $this->share_variation_analysis_mode ) {
806
  ?>
807
  <tr>
 
808
  <td><?php esc_html_e( 'Share Variation Analysis', self::DOMAIN ); ?></td>
809
  <td><?php esc_html_e( 'Schedule', self::DOMAIN ); ?></td>
810
  <td><?php echo esc_html( $this->share_variation_analysis_schedule ); ?></td>
@@ -813,6 +834,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
813
  }
814
  ?>
815
  <tr>
 
816
  <td><?php esc_html_e( 'Follow Base Cache', self::DOMAIN ); ?></td>
817
  <td><?php esc_html_e( 'Target SNS', self::DOMAIN ); ?></td>
818
  <td>
@@ -841,12 +863,14 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
841
  </td>
842
  </tr>
843
  <tr>
 
844
  <td><?php esc_html_e( 'Follow Base Cache', self::DOMAIN ); ?></td>
845
  <td><?php esc_html_e( 'Interval cheking follower count (sec)', self::DOMAIN ); ?></td>
846
  <td><?php echo esc_html( $this->follow_base_check_interval ) . ' ' . esc_html( __( 'seconds', self::DOMAIN ) ); ?></td>
847
  </tr>
848
  <?php if ( $this->follow_base_cache_target[ self::REF_FOLLOW_FEEDLY ] ) { ?>
849
  <tr>
 
850
  <td><?php esc_html_e( 'Follow Base Cache - Feedly', self::DOMAIN ); ?></td>
851
  <td><?php esc_html_e( 'Target feed type', self::DOMAIN ); ?></td>
852
  <td>
@@ -874,6 +898,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
874
  </td>
875
  </tr>
876
  <tr>
 
877
  <td><?php esc_html_e( 'Follow Base Cache - Feedly', self::DOMAIN ); ?></td>
878
  <td><?php esc_html_e( 'Target feed', self::DOMAIN ); ?></td>
879
  <td><a href="<?php echo esc_url( get_feed_link( $this->follow_feed_type ) ); ?>" target="_blank"><?php echo esc_html( get_feed_link( $this->follow_feed_type ) ); ?></a></td>
@@ -881,6 +906,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
881
  <?php } ?>
882
  <?php if ( ! empty( $this->follow_base_cache_target[ self::REF_FOLLOW_TWITTER ] ) ) { ?>
883
  <tr>
 
884
  <td><?php esc_html_e( 'Follow Base Cache - Twitter', self::DOMAIN ); ?></td>
885
  <td><?php esc_html_e( 'Target screen name', self::DOMAIN ); ?></td>
886
  <td>
@@ -896,6 +922,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
896
  <?php } ?>
897
  <?php if ( ! empty( $this->follow_base_cache_target[ self::REF_FOLLOW_FACEBOOK ] ) ) { ?>
898
  <tr>
 
899
  <td><?php esc_html_e( 'Follow Base Cache - Facebook', self::DOMAIN ); ?></td>
900
  <td><?php esc_html_e( 'Page ID', self::DOMAIN ); ?></td>
901
  <td>
@@ -910,6 +937,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
910
  </tr>
911
  <?php } ?>
912
  <tr>
 
913
  <td><?php esc_html_e( 'Follow Variation Analysis', self::DOMAIN ); ?></td>
914
  <td><?php esc_html_e( 'Method to update basis of comparison', self::DOMAIN ); ?></td><td>
915
  <?php
@@ -934,6 +962,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
934
  if ( self::OPT_FOLLOW_VARIATION_ANALYSIS_SCHEDULER === $this->follow_variation_analysis_mode ) {
935
  ?>
936
  <tr>
 
937
  <td><?php esc_html_e( 'Follow Variation Analysis', self::DOMAIN ); ?></td>
938
  <td><?php esc_html_e( 'Schedule', self::DOMAIN ); ?></td>
939
  <td><?php echo esc_html( $this->follow_variation_analysis_schedule ); ?></td>
@@ -942,6 +971,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
942
  }
943
  ?>
944
  <tr>
 
945
  <td><?php esc_html_e( 'Dynamic Cache', self::DOMAIN); ?></td>
946
  <td><?php esc_html_e( 'Dynamic caching based on user access', self::DOMAIN ); ?></td><td>
947
  <?php
@@ -959,6 +989,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
959
  </td>
960
  </tr>
961
  <tr>
 
962
  <td><?php esc_html_e( 'Fault Tolerance', self::DOMAIN ); ?></td>
963
  <td><?php esc_html_e( 'Fault tolerance of count retrieval', self::DOMAIN ); ?></td><td>
964
  <?php
@@ -976,6 +1007,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
976
  </td>
977
  </tr>
978
  <tr>
 
979
  <td><?php esc_html_e( 'Data Crawler', self::DOMAIN ); ?></td>
980
  <td><?php esc_html_e( 'Crawl method', self::DOMAIN ); ?></td>
981
  <td>
@@ -992,6 +1024,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
992
  </td>
993
  </tr>
994
  <tr>
 
995
  <td><?php esc_html_e( 'Data Crawler', self::DOMAIN ); ?></td>
996
  <td><?php esc_html_e( 'Crawl retry limit', self::DOMAIN ); ?></td>
997
  <td>
@@ -1020,6 +1053,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
1020
  </td>
1021
  </tr>
1022
  <tr>
 
1023
  <td><?php esc_html_e( 'Data Crawler', self::DOMAIN ); ?></td>
1024
  <td><?php esc_html_e( 'SSL verification', self::DOMAIN ); ?></td>
1025
  <td>
@@ -1030,9 +1064,29 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
1030
  esc_html_e( 'Off', self::DOMAIN );
1031
  }
1032
  ?>
1033
- </td>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1034
  </tr>
1035
  <tr>
 
1036
  <td><?php esc_html_e( 'Data Export', self::DOMAIN ); ?></td>
1037
  <td><?php esc_html_e( 'Method of data export', self::DOMAIN ); ?></td><td>
1038
  <?php
@@ -1051,6 +1105,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
1051
  if ( self::OPT_COMMON_DATA_EXPORT_SCHEDULER === $this->data_export_mode ) {
1052
  ?>
1053
  <tr>
 
1054
  <td><?php esc_html_e( 'Data Export', self::DOMAIN ); ?></td>
1055
  <td><?php esc_html_e( 'Interval exporting share count to a csv file', self::DOMAIN ); ?></td>
1056
  <td><?php echo esc_html( $this->data_export_interval / 3600 ) . ' ' . esc_html( __( 'hours', self::DOMAIN ) ); ?></td>
@@ -1111,14 +1166,14 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
1111
  <tr>
1112
  <th><label for="share_base_check_interval"><?php esc_html_e( 'Interval cheking share count (sec)', self::DOMAIN ); ?></label></th>
1113
  <td>
1114
- <input type="text" class="text" id="share_base_check_interval" name="share_base_check_interval" size="20" value="<?php echo esc_attr( $this->share_base_check_interval ); ?>" />
1115
  <span class="description"><?php esc_html_e( 'Default: 900', self::DOMAIN ); ?></span>
1116
  </td>
1117
  </tr>
1118
  <tr>
1119
  <th><label for="share_base_posts_per_check"><?php esc_html_e( 'Number of contents to check at a time', self::DOMAIN ); ?></label></th>
1120
  <td>
1121
- <input type="text" class="text" id="share_base_posts_per_check" name="share_base_posts_per_check" size="20" value="<?php echo esc_attr( $this->share_base_posts_per_check ); ?>" />
1122
  <span class="description"><?php esc_html_e( 'Default: 15', self::DOMAIN ); ?></span>
1123
  </td>
1124
  </tr>
@@ -1215,7 +1270,6 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
1215
  <option value="1"<?php if ( self::OPT_SHARE_TWITTER_API_JSOON === $this->share_base_twitter_api ) echo ' selected="selected"'; ?>><?php echo esc_html( 'widgetoon.js & count.jsoon' ); ?></option>
1216
  <option value="2"<?php if ( self::OPT_SHARE_TWITTER_API_OPENSHARECOUNT === $this->share_base_twitter_api ) echo ' selected="selected"'; ?>><?php echo esc_html( 'OpenShareCount' ); ?></option>
1217
  <option value="3"<?php if ( self::OPT_SHARE_TWITTER_API_TWITCOUNT === $this->share_base_twitter_api ) echo ' selected="selected"'; ?>><?php echo esc_html( 'TwitCount' ); ?></option>
1218
- <option value="4"<?php if ( self::OPT_SHARE_TWITTER_API_NEWSHARECOUNTS === $this->share_base_twitter_api ) echo ' selected="selected"'; ?>><?php echo esc_html( 'NewShareCounts' ); ?></option>
1219
  </select>
1220
  <span class="description"><?php esc_html_e( 'Default: widgetoon.js & count.jsoon' ); ?></span>
1221
  </td>
@@ -1230,8 +1284,6 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
1230
  echo '<a href="' . esc_url( 'https://opensharecount.com/' ) . '" target="_blank">' . esc_html( 'https://opensharecount.com/' ) . '</a>';
1231
  } elseif ( self::OPT_SHARE_TWITTER_API_TWITCOUNT === $this->share_base_twitter_api ) {
1232
  echo '<a href="' . esc_url( 'http://twitcount.com/' ) . '" target="_blank">' . esc_html( 'http://twitcount.com/' ) . '</a>';
1233
- } elseif ( self::OPT_SHARE_TWITTER_API_NEWSHARECOUNTS === $this->share_base_twitter_api ) {
1234
- echo '<a href="' . esc_url( 'http://newsharecounts.com/' ) . '" target="_blank">' . esc_html( 'http://newsharecounts.com/' ) . '</a>';
1235
  }
1236
  ?>
1237
  <br />
@@ -1275,14 +1327,14 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
1275
  <tr>
1276
  <th><label for="share_rush_check_interval"><?php esc_html_e( 'Interval cheking share count (sec)', self::DOMAIN ); ?></label></th>
1277
  <td>
1278
- <input type="text" id="share_rush_check_interval" class="text" name="share_rush_check_interval" size="20" value="<?php echo esc_attr( $this->share_rush_check_interval ); ?>" />
1279
  <span class="description"><?php esc_html_e( 'Default: 900', self::DOMAIN ); ?></span>
1280
  </td>
1281
  </tr>
1282
  <tr>
1283
  <th><label for="share_rush_posts_per_check"><?php esc_html_e( 'Number of contents to check at a time', self::DOMAIN ); ?></label></th>
1284
  <td>
1285
- <input type="text" id="share_rush_posts_per_check" class="text" name="share_rush_posts_per_check" size="20" value="<?php echo esc_attr( $this->share_rush_posts_per_check ); ?>" />
1286
  <span class="description"><?php esc_html_e( 'Default: 10', self::DOMAIN ); ?></span>
1287
  </td>
1288
  </tr>
@@ -1591,7 +1643,7 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
1591
  <tr>
1592
  <th><label for="follow_base_check_interval"><?php esc_html_e( 'Interval cheking follower count (sec)', self::DOMAIN ); ?></label></th>
1593
  <td>
1594
- <input type="text" class="text" id="follow_base_check_interval" name="follow_base_check_interval" size="20" value="<?php echo esc_attr( $this->follow_base_check_interval ); ?>" />
1595
  <span class="description"><?php esc_html_e( 'Default: 86400 Minimum: 3600', self::DOMAIN ); ?></span>
1596
  </td>
1597
  </tr>
@@ -2272,6 +2324,16 @@ if ( ! empty( $_POST['_wpnonce'] ) && check_admin_referer( __FILE__, '_wpnonce'
2272
  <span class="description"><?php esc_html_e( 'Default: On', self::DOMAIN ); ?></span>
2273
  </td>
2274
  </tr>
 
 
 
 
 
 
 
 
 
 
2275
  </table>
2276
  <div class="submit-button">
2277
  <input type="submit" class="button button-primary" name="update_all_options" value="<?php esc_html_e( 'Update All Options', self::DOMAIN ); ?>" />
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
74
  $settings[ self::DB_COMMON_FAULT_TOLERANCE_MODE ] = sanitize_text_field( wp_unslash( $_POST['fault_tolerance_mode'] ) );
75
  }
76
 
77
+ if ( ! empty( $_POST['crawl_throttling_mode'] ) ) {
78
+ $settings[ self::DB_COMMON_CRAWL_THROTTLING_MODE ] = sanitize_text_field( wp_unslash( $_POST['crawl_throttling_mode'] ) );
79
+ }
80
+
81
  if ( ! empty( $_POST['share_variation_analysis_mode'] ) ) {
82
  $settings[ self::DB_SHARE_VARIATION_ANALYSIS_MODE ] = sanitize_text_field( wp_unslash( $_POST['share_variation_analysis_mode'] ) );
83
  }
554
  $status = SCC_WP_Cron::test_cron_spawn();
555
 
556
  if ( is_wp_error( $status ) ) {
557
+ if ( 'scc_cron_info' === $status->get_error_code() ) {
558
+ echo '<div class="notice notice-info"><p>';
559
+ echo esc_html( $status->get_error_message() );
560
+ echo '</p></div>';
561
+ } else {
562
+ echo '<div class="notice notice-error"><p>';
563
+ esc_html_e( 'There was a problem spawning a call to the WP-Cron system on your site. This means WP-Cron jobs on your site may not work. The problem was: ', self::DOMAIN );
564
+ echo '<br><strong>' . esc_html( $status->get_error_message() ) . '</strong>';
565
+ echo '</p></div>';
566
+ }
567
  }
568
 
569
  if ( ! empty( $this->share_base_cache_target[ self::REF_SHARE_FACEBOOK ] ) ) {
655
  <div class="inside">
656
  <table class="tfloat view-table">
657
  <thead>
658
+ <tr class="thead">
659
+ <th class="dummy"></th>
660
  <th><?php esc_html_e( 'Capability', self::DOMAIN ); ?></th>
661
  <th><?php esc_html_e( 'Parameter', self::DOMAIN ); ?></th>
662
  <th><?php esc_html_e( 'Value', self::DOMAIN ); ?></th>
664
  </thead>
665
  <tbody>
666
  <tr>
667
+ <td class="dummy"></td>
668
  <td><?php esc_html_e( 'Share Base Cache', self::DOMAIN ); ?></td>
669
  <td><?php esc_html_e( 'Target SNS', self::DOMAIN ); ?></td>
670
  <td>
697
  </td>
698
  </tr>
699
  <tr>
700
+ <td class="dummy"></td>
701
  <td><?php esc_html_e( 'Share Base Cache', self::DOMAIN ); ?></td>
702
  <td><?php esc_html_e( 'Custom post types', self::DOMAIN ); ?></td>
703
  <td>
711
  </td>
712
  </tr>
713
  <tr>
714
+ <td class="dummy"></td>
715
  <td><?php esc_html_e( 'Share Base Cache', self::DOMAIN ); ?></td>
716
  <td><?php esc_html_e( 'Interval cheking share count (sec)', self::DOMAIN ); ?></td>
717
  <td><?php echo esc_html( $this->share_base_check_interval ) . ' ' . esc_html( __( 'seconds', self::DOMAIN ) ); ?></td>
718
  </tr>
719
  <tr>
720
+ <td class="dummy"></td>
721
  <td><?php esc_html_e( 'Share Base Cache', self::DOMAIN ); ?></td>
722
  <td><?php esc_html_e( 'Number of contents to check at a time', self::DOMAIN ) ?></td>
723
  <td><?php echo esc_html( $this->share_base_posts_per_check ) . ' ' . esc_html( __( 'contents', self::DOMAIN ) ); ?></td>
724
  </tr>
725
  <tr>
726
+ <td class="dummy"></td>
727
  <td><?php esc_html_e( 'Share Base Cache', self::DOMAIN ); ?></td>
728
  <td><?php esc_html_e( 'Scheme migration mode from http to https', self::DOMAIN ); ?></td>
729
  <td>
738
  </tr>
739
  <?php if ( $this->scheme_migration_mode ) { ?>
740
  <tr>
741
+ <td class="dummy"></td>
742
  <td><?php esc_html_e( 'Share Base Cache', self::DOMAIN ); ?></td>
743
  <td><?php esc_html_e( 'Scheme migration date from http to https', self::DOMAIN ); ?></td>
744
  <td>
754
  <?php } ?>
755
  <?php if ( isset( $this->share_base_cache_target[ self::REF_SHARE_TWITTER ] ) && $this->share_base_cache_target[ self::REF_SHARE_TWITTER ] ) { ?>
756
  <tr>
757
+ <td class="dummy"></td>
758
  <td><?php esc_html_e( 'Share Base Cache - Twitter', self::DOMAIN ); ?></td>
759
  <td><?php esc_html_e( 'Alternative Twitter API', self::DOMAIN ); ?></td>
760
  <td>
765
  echo '<a href="' . esc_url( 'https://opensharecount.com/' ) . '" target="_blank">' . esc_html( 'OpenShareCount' ) . '</a>';
766
  } elseif ( self::OPT_SHARE_TWITTER_API_TWITCOUNT === $this->share_base_twitter_api ) {
767
  echo '<a href="' . esc_url( 'http://twitcount.com/' ) . '" target="_blank">' . esc_html( 'TwitCount' ) . '</a>';
 
 
768
  }
769
  ?>
770
  </td>
771
  </tr>
772
  <?php } ?>
773
  <tr>
774
+ <td class="dummy"></td>
775
  <td><?php esc_html_e( 'Share Rush Cache', self::DOMAIN ); ?></td>
776
  <td><?php esc_html_e( 'Term considering posted content as new content', self::DOMAIN ); ?></td>
777
  <td>
785
  </td>
786
  </tr>
787
  <tr>
788
+ <td class="dummy"></td>
789
  <td><?php esc_html_e( 'Share Rush Cache', self::DOMAIN ); ?></td>
790
  <td><?php esc_html_e( 'Interval cheking share count (sec)', self::DOMAIN ); ?></td>
791
  <td>
794
  ?>
795
  </td>
796
  <tr>
797
+ <td class="dummy"></td>
798
  <td><?php esc_html_e( 'Share Rush Cache', self::DOMAIN ); ?></td>
799
  <td><?php esc_html_e( 'Number of contents to check at a time', self::DOMAIN ) ?></td>
800
  <td><?php echo esc_html( $this->share_rush_posts_per_check ) . ' ' . esc_html( __( 'contents', self::DOMAIN ) ); ?></td>
801
  </tr>
802
  </tr>
803
  <tr>
804
+ <td class="dummy"></td>
805
  <td><?php esc_html_e( 'Share Variation Analysis', self::DOMAIN ); ?></td>
806
  <td><?php esc_html_e( 'Method to update basis of comparison', self::DOMAIN ); ?></td><td>
807
  <?php
819
  esc_html_e( 'Disabled (None)', self::DOMAIN );
820
  }
821
  ?>
822
+ </td>
823
  </tr>
824
  <?php
825
  if ( self::OPT_SHARE_VARIATION_ANALYSIS_SCHEDULER === $this->share_variation_analysis_mode ) {
826
  ?>
827
  <tr>
828
+ <td class="dummy"></td>
829
  <td><?php esc_html_e( 'Share Variation Analysis', self::DOMAIN ); ?></td>
830
  <td><?php esc_html_e( 'Schedule', self::DOMAIN ); ?></td>
831
  <td><?php echo esc_html( $this->share_variation_analysis_schedule ); ?></td>
834
  }
835
  ?>
836
  <tr>
837
+ <td class="dummy"></td>
838
  <td><?php esc_html_e( 'Follow Base Cache', self::DOMAIN ); ?></td>
839
  <td><?php esc_html_e( 'Target SNS', self::DOMAIN ); ?></td>
840
  <td>
863
  </td>
864
  </tr>
865
  <tr>
866
+ <td class="dummy"></td>
867
  <td><?php esc_html_e( 'Follow Base Cache', self::DOMAIN ); ?></td>
868
  <td><?php esc_html_e( 'Interval cheking follower count (sec)', self::DOMAIN ); ?></td>
869
  <td><?php echo esc_html( $this->follow_base_check_interval ) . ' ' . esc_html( __( 'seconds', self::DOMAIN ) ); ?></td>
870
  </tr>
871
  <?php if ( $this->follow_base_cache_target[ self::REF_FOLLOW_FEEDLY ] ) { ?>
872
  <tr>
873
+ <td class="dummy"></td>
874
  <td><?php esc_html_e( 'Follow Base Cache - Feedly', self::DOMAIN ); ?></td>
875
  <td><?php esc_html_e( 'Target feed type', self::DOMAIN ); ?></td>
876
  <td>
898
  </td>
899
  </tr>
900
  <tr>
901
+ <td class="dummy"></td>
902
  <td><?php esc_html_e( 'Follow Base Cache - Feedly', self::DOMAIN ); ?></td>
903
  <td><?php esc_html_e( 'Target feed', self::DOMAIN ); ?></td>
904
  <td><a href="<?php echo esc_url( get_feed_link( $this->follow_feed_type ) ); ?>" target="_blank"><?php echo esc_html( get_feed_link( $this->follow_feed_type ) ); ?></a></td>
906
  <?php } ?>
907
  <?php if ( ! empty( $this->follow_base_cache_target[ self::REF_FOLLOW_TWITTER ] ) ) { ?>
908
  <tr>
909
+ <td class="dummy"></td>
910
  <td><?php esc_html_e( 'Follow Base Cache - Twitter', self::DOMAIN ); ?></td>
911
  <td><?php esc_html_e( 'Target screen name', self::DOMAIN ); ?></td>
912
  <td>
922
  <?php } ?>
923
  <?php if ( ! empty( $this->follow_base_cache_target[ self::REF_FOLLOW_FACEBOOK ] ) ) { ?>
924
  <tr>
925
+ <td class="dummy"></td>
926
  <td><?php esc_html_e( 'Follow Base Cache - Facebook', self::DOMAIN ); ?></td>
927
  <td><?php esc_html_e( 'Page ID', self::DOMAIN ); ?></td>
928
  <td>
937
  </tr>
938
  <?php } ?>
939
  <tr>
940
+ <td class="dummy"></td>
941
  <td><?php esc_html_e( 'Follow Variation Analysis', self::DOMAIN ); ?></td>
942
  <td><?php esc_html_e( 'Method to update basis of comparison', self::DOMAIN ); ?></td><td>
943
  <?php
962
  if ( self::OPT_FOLLOW_VARIATION_ANALYSIS_SCHEDULER === $this->follow_variation_analysis_mode ) {
963
  ?>
964
  <tr>
965
+ <td class="dummy"></td>
966
  <td><?php esc_html_e( 'Follow Variation Analysis', self::DOMAIN ); ?></td>
967
  <td><?php esc_html_e( 'Schedule', self::DOMAIN ); ?></td>
968
  <td><?php echo esc_html( $this->follow_variation_analysis_schedule ); ?></td>
971
  }
972
  ?>
973
  <tr>
974
+ <td class="dummy"></td>
975
  <td><?php esc_html_e( 'Dynamic Cache', self::DOMAIN); ?></td>
976
  <td><?php esc_html_e( 'Dynamic caching based on user access', self::DOMAIN ); ?></td><td>
977
  <?php
989
  </td>
990
  </tr>
991
  <tr>
992
+ <td class="dummy"></td>
993
  <td><?php esc_html_e( 'Fault Tolerance', self::DOMAIN ); ?></td>
994
  <td><?php esc_html_e( 'Fault tolerance of count retrieval', self::DOMAIN ); ?></td><td>
995
  <?php
1007
  </td>
1008
  </tr>
1009
  <tr>
1010
+ <td class="dummy"></td>
1011
  <td><?php esc_html_e( 'Data Crawler', self::DOMAIN ); ?></td>
1012
  <td><?php esc_html_e( 'Crawl method', self::DOMAIN ); ?></td>
1013
  <td>
1024
  </td>
1025
  </tr>
1026
  <tr>
1027
+ <td class="dummy"></td>
1028
  <td><?php esc_html_e( 'Data Crawler', self::DOMAIN ); ?></td>
1029
  <td><?php esc_html_e( 'Crawl retry limit', self::DOMAIN ); ?></td>
1030
  <td>
1053
  </td>
1054
  </tr>
1055
  <tr>
1056
+ <td class="dummy"></td>
1057
  <td><?php esc_html_e( 'Data Crawler', self::DOMAIN ); ?></td>
1058
  <td><?php esc_html_e( 'SSL verification', self::DOMAIN ); ?></td>
1059
  <td>
1064
  esc_html_e( 'Off', self::DOMAIN );
1065
  }
1066
  ?>
1067
+ </td>
1068
+ </tr>
1069
+ <tr>
1070
+ <td class="dummy"></td>
1071
+ <td><?php esc_html_e( 'Data Crawler', self::DOMAIN ); ?></td>
1072
+ <td><?php esc_html_e( 'Crawl throttling mode', self::DOMAIN ); ?></td>
1073
+ <td>
1074
+ <?php
1075
+ switch ( $this->crawl_throttling_mode ) {
1076
+ case self::OPT_COMMON_CRAWL_THROTTLING_MODE_OFF:
1077
+ esc_html_e( 'Disabled', self::DOMAIN );
1078
+ break;
1079
+ case self::OPT_COMMON_CRAWL_THROTTLING_MODE_ON:
1080
+ esc_html_e( 'Enabled', self::DOMAIN );
1081
+ break;
1082
+ default:
1083
+ esc_html_e( 'Enabled', self::DOMAIN );
1084
+ }
1085
+ ?>
1086
+ </td>
1087
  </tr>
1088
  <tr>
1089
+ <td class="dummy"></td>
1090
  <td><?php esc_html_e( 'Data Export', self::DOMAIN ); ?></td>
1091
  <td><?php esc_html_e( 'Method of data export', self::DOMAIN ); ?></td><td>
1092
  <?php
1105
  if ( self::OPT_COMMON_DATA_EXPORT_SCHEDULER === $this->data_export_mode ) {
1106
  ?>
1107
  <tr>
1108
+ <td class="dummy"></td>
1109
  <td><?php esc_html_e( 'Data Export', self::DOMAIN ); ?></td>
1110
  <td><?php esc_html_e( 'Interval exporting share count to a csv file', self::DOMAIN ); ?></td>
1111
  <td><?php echo esc_html( $this->data_export_interval / 3600 ) . ' ' . esc_html( __( 'hours', self::DOMAIN ) ); ?></td>
1166
  <tr>
1167
  <th><label for="share_base_check_interval"><?php esc_html_e( 'Interval cheking share count (sec)', self::DOMAIN ); ?></label></th>
1168
  <td>
1169
+ <input type="number" class="number" id="share_base_check_interval" name="share_base_check_interval" value="<?php echo esc_attr( $this->share_base_check_interval ); ?>" step="1" kl_vkbd_parsed="true" />
1170
  <span class="description"><?php esc_html_e( 'Default: 900', self::DOMAIN ); ?></span>
1171
  </td>
1172
  </tr>
1173
  <tr>
1174
  <th><label for="share_base_posts_per_check"><?php esc_html_e( 'Number of contents to check at a time', self::DOMAIN ); ?></label></th>
1175
  <td>
1176
+ <input type="number" class="number" id="share_base_posts_per_check" name="share_base_posts_per_check" value="<?php echo esc_attr( $this->share_base_posts_per_check ); ?>" step="1" kl_vkbd_parsed="true" />
1177
  <span class="description"><?php esc_html_e( 'Default: 15', self::DOMAIN ); ?></span>
1178
  </td>
1179
  </tr>
1270
  <option value="1"<?php if ( self::OPT_SHARE_TWITTER_API_JSOON === $this->share_base_twitter_api ) echo ' selected="selected"'; ?>><?php echo esc_html( 'widgetoon.js & count.jsoon' ); ?></option>
1271
  <option value="2"<?php if ( self::OPT_SHARE_TWITTER_API_OPENSHARECOUNT === $this->share_base_twitter_api ) echo ' selected="selected"'; ?>><?php echo esc_html( 'OpenShareCount' ); ?></option>
1272
  <option value="3"<?php if ( self::OPT_SHARE_TWITTER_API_TWITCOUNT === $this->share_base_twitter_api ) echo ' selected="selected"'; ?>><?php echo esc_html( 'TwitCount' ); ?></option>
 
1273
  </select>
1274
  <span class="description"><?php esc_html_e( 'Default: widgetoon.js & count.jsoon' ); ?></span>
1275
  </td>
1284
  echo '<a href="' . esc_url( 'https://opensharecount.com/' ) . '" target="_blank">' . esc_html( 'https://opensharecount.com/' ) . '</a>';
1285
  } elseif ( self::OPT_SHARE_TWITTER_API_TWITCOUNT === $this->share_base_twitter_api ) {
1286
  echo '<a href="' . esc_url( 'http://twitcount.com/' ) . '" target="_blank">' . esc_html( 'http://twitcount.com/' ) . '</a>';
 
 
1287
  }
1288
  ?>
1289
  <br />
1327
  <tr>
1328
  <th><label for="share_rush_check_interval"><?php esc_html_e( 'Interval cheking share count (sec)', self::DOMAIN ); ?></label></th>
1329
  <td>
1330
+ <input type="number" id="share_rush_check_interval" class="number" name="share_rush_check_interval" value="<?php echo esc_attr( $this->share_rush_check_interval ); ?>" step="1" kl_vkbd_parsed="true" />
1331
  <span class="description"><?php esc_html_e( 'Default: 900', self::DOMAIN ); ?></span>
1332
  </td>
1333
  </tr>
1334
  <tr>
1335
  <th><label for="share_rush_posts_per_check"><?php esc_html_e( 'Number of contents to check at a time', self::DOMAIN ); ?></label></th>
1336
  <td>
1337
+ <input type="number" id="share_rush_posts_per_check" class="number" name="share_rush_posts_per_check" value="<?php echo esc_attr( $this->share_rush_posts_per_check ); ?>" step="1" kl_vkbd_parsed="true" />
1338
  <span class="description"><?php esc_html_e( 'Default: 10', self::DOMAIN ); ?></span>
1339
  </td>
1340
  </tr>
1643
  <tr>
1644
  <th><label for="follow_base_check_interval"><?php esc_html_e( 'Interval cheking follower count (sec)', self::DOMAIN ); ?></label></th>
1645
  <td>
1646
+ <input type="number" class="number" id="follow_base_check_interval" name="follow_base_check_interval" value="<?php echo esc_attr( $this->follow_base_check_interval ); ?>" step="1" kl_vkbd_parsed="true" />
1647
  <span class="description"><?php esc_html_e( 'Default: 86400 Minimum: 3600', self::DOMAIN ); ?></span>
1648
  </td>
1649
  </tr>
2324
  <span class="description"><?php esc_html_e( 'Default: On', self::DOMAIN ); ?></span>
2325
  </td>
2326
  </tr>
2327
+ <tr>
2328
+ <th><label for="crawl_throttling_mode"><?php esc_html_e( 'Crawl throttling mode', self::DOMAIN ); ?></label></th>
2329
+ <td>
2330
+ <select id="crawl_throttling_mode" name="crawl_throttling_mode">
2331
+ <option value="1"<?php if ( self::OPT_COMMON_CRAWL_THROTTLING_MODE_OFF === $this->crawl_throttling_mode ) echo ' selected="selected"'; ?>><?php esc_html_e( 'Disabled', self::DOMAIN ); ?></option>
2332
+ <option value="2"<?php if ( self::OPT_COMMON_CRAWL_THROTTLING_MODE_ON === $this->crawl_throttling_mode ) echo ' selected="selected"'; ?>><?php esc_html_e( 'Enabled', self::DOMAIN ); ?></option>
2333
+ </select>
2334
+ <span class="description"><?php esc_html_e( 'Default: Enabled', self::DOMAIN ); ?></span>
2335
+ </td>
2336
+ </tr>
2337
  </table>
2338
  <div class="submit-button">
2339
  <input type="submit" class="button button-primary" name="update_all_options" value="<?php esc_html_e( 'Update All Options', self::DOMAIN ); ?>" />
includes/admin-share-count.php CHANGED
@@ -4,7 +4,7 @@ admin-share-count.php
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -111,7 +111,7 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
111
  ?>
112
  <table class="tfloat view-table">
113
  <thead>
114
- <tr>
115
  <th>No.</th>
116
  <th><?php esc_html_e( 'Content', self::DOMAIN ); ?></th>
117
  <?php
@@ -125,39 +125,12 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
125
 
126
  $sort_url = 'admin.php?page=scc-share-count&action=sort&key=' . $sort_key;
127
 
128
- $sns_name = '';
129
-
130
- switch ( $sns ) {
131
- case self::REF_SHARE_TWITTER:
132
- $sns_name = __( 'Twitter', self::DOMAIN );
133
- break;
134
- case self::REF_SHARE_FACEBOOK:
135
- $sns_name = __( 'Facebook', self::DOMAIN );
136
- break;
137
- case self::REF_SHARE_GPLUS:
138
- $sns_name = __( 'Google+', self::DOMAIN );
139
- break;
140
- case self::REF_SHARE_POCKET:
141
- $sns_name = __( 'Pocket', self::DOMAIN );
142
- break;
143
- case self::REF_SHARE_HATEBU:
144
- $sns_name = __( 'Hatebu', self::DOMAIN );
145
- break;
146
- case self::REF_SHARE_PINTEREST:
147
- $sns_name = __( 'Pinterest', self::DOMAIN );
148
- break;
149
- case self::REF_SHARE_LINKEDIN:
150
- $sns_name = __( 'Linkedin', self::DOMAIN );
151
- break;
152
- case self::REF_SHARE_TOTAL:
153
- $sns_name = __( 'Total', self::DOMAIN );
154
- break;
155
- }
156
 
157
  if ( $sns === $sort_exec_key ) {
158
- echo '<th><a class="sort-exec-key" href="' . esc_url( $sort_url ) . '">' . esc_html( $sns_name ) . '</th>';
159
  } else {
160
- echo '<th><a href="' . esc_url( $sort_url ) . '">' . esc_html( $sns_name ) . '</th>';
161
  }
162
  } // End if().
163
  } // End foreach().
@@ -172,7 +145,7 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
172
  ?>
173
  <tr class="home">
174
  <td><?php echo '-'; ?></td>
175
- <td><a href="<?php echo esc_url( home_url( '/' ) ); ?>" target="_blank"><?php echo esc_html( bloginfo( 'name' ) ); ?></a></td>
176
  <?php
177
  if ( self::OPT_SHARE_VARIATION_ANALYSIS_NONE !== $this->share_variation_analysis_mode ) {
178
  $transient_id = $this->cache_engines[ self::REF_SHARE_BASE ]->get_cache_key( 'home' );
@@ -187,8 +160,10 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
187
  if ( false !== $sns_deltas ) {
188
  foreach ( $share_base_cache_target as $sns => $active ) {
189
  if ( $active ) {
 
 
190
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
191
- echo '<td class="share-count">';
192
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
193
 
194
  if ( SCC_Cache::has_value( $sns_deltas[ $sns ] ) && 0 < $sns_deltas[ $sns ] ) {
@@ -199,7 +174,7 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
199
 
200
  echo '</td>';
201
  } else {
202
- echo '<td class="not-cached share-count">';
203
  esc_html_e( 'N/A', self::DOMAIN );
204
  echo '</td>';
205
  }
@@ -208,12 +183,14 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
208
  } else {
209
  foreach ( $share_base_cache_target as $sns => $active ) {
210
  if ( $active ) {
 
 
211
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
212
- echo '<td class="share-count">';
213
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
214
  echo '</td>';
215
  } else {
216
- echo '<td class="not-cached share-count">';
217
  esc_html_e( 'N/A', self::DOMAIN );
218
  echo '</td>';
219
  }
@@ -233,8 +210,10 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
233
  if ( false !== $sns_deltas ) {
234
  foreach ( $share_base_cache_target as $sns => $active ) {
235
  if ( $active ) {
 
 
236
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
237
- echo '<td class="share-count">';
238
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
239
 
240
  if ( SCC_Cache::has_value( $sns_deltas[ $sns ] ) && 0 < $sns_deltas[ $sns ] ) {
@@ -245,7 +224,7 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
245
 
246
  echo '</td>';
247
  } else {
248
- echo '<td class="not-cached share-count">';
249
  esc_html_e( 'N/A', self::DOMAIN );
250
  echo '</td>';
251
  }
@@ -254,12 +233,14 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
254
  } else {
255
  foreach ( $share_base_cache_target as $sns => $active ) {
256
  if ( $active ) {
 
 
257
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
258
- echo '<td class="share-count">';
259
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
260
  echo '</td>';
261
  } else {
262
- echo '<td class="not-cached share-count">';
263
  esc_html_e( 'N/A', self::DOMAIN );
264
  echo '</td>';
265
  }
@@ -269,7 +250,9 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
269
  } else {
270
  foreach ( $share_base_cache_target as $sns => $active ) {
271
  if ( $active ) {
272
- echo '<td class="not-cached share-count">';
 
 
273
  esc_html_e( 'N/A', self::DOMAIN );
274
  echo '</td>';
275
  }
@@ -289,8 +272,10 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
289
  if ( false !== $sns_deltas ) {
290
  foreach ( $share_base_cache_target as $sns => $active ) {
291
  if ( $active ) {
 
 
292
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
293
- echo '<td class="share-count">';
294
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
295
 
296
  if ( SCC_Cache::has_value( $sns_deltas[ $sns ] ) && 0 < $sns_deltas[ $sns ] ) {
@@ -301,7 +286,7 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
301
 
302
  echo '</td>';
303
  } else {
304
- echo '<td class="not-cached share-count">';
305
  esc_html_e( 'N/A', self::DOMAIN );
306
  echo '</td>';
307
  }
@@ -310,12 +295,15 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
310
  } else {
311
  foreach ( $share_base_cache_target as $sns => $active ) {
312
  if ( $active ) {
 
 
313
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
314
- echo '<td class="share-count">';
 
315
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
316
  echo '</td>';
317
  } else {
318
- echo '<td class="not-cached share-count">';
319
  esc_html_e( 'N/A', self::DOMAIN );
320
  echo '</td>';
321
  }
@@ -335,8 +323,10 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
335
  if ( false !== $sns_deltas ) {
336
  foreach ( $share_base_cache_target as $sns => $active ) {
337
  if ( $active ) {
 
 
338
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
339
- echo '<td class="share-count">';
340
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
341
 
342
  if ( SCC_Cache::has_value( $sns_deltas[ $sns ] ) && 0 < $sns_deltas[ $sns ] ) {
@@ -347,7 +337,7 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
347
 
348
  echo '</td>';
349
  } else {
350
- echo '<td class="not-cached share-count">';
351
  esc_html_e( 'N/A', self::DOMAIN );
352
  echo '</td>';
353
  }
@@ -356,12 +346,14 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
356
  } else {
357
  foreach ( $share_base_cache_target as $sns => $active ) {
358
  if ( $active ) {
 
 
359
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
360
- echo '<td class="share-count">';
361
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
362
  echo '</td>';
363
  } else {
364
- echo '<td class="not-cached share-count">';
365
  esc_html_e( 'N/A', self::DOMAIN );
366
  echo '</td>';
367
  }
@@ -371,7 +363,9 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
371
  } else {
372
  foreach ( $share_base_cache_target as $sns => $active ) {
373
  if ( $active ) {
374
- echo '<td class="not-cached share-count">';
 
 
375
  esc_html_e( 'N/A', self::DOMAIN );
376
  echo '</td>';
377
  }
@@ -381,15 +375,15 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
381
  } // End if().
382
  ?>
383
  </tr>
384
- <?php
385
  } // End if().
386
  if ( $posts_query->have_posts() ) {
387
  while ( $posts_query->have_posts() ) {
388
  $posts_query->the_post();
389
- ?>
390
  <tr>
391
  <td><?php echo esc_html( $count ); ?></td>
392
- <td><a href="<?php echo esc_url( get_permalink( get_the_ID() ) ); ?>" target="_blank"><?php echo esc_html( get_the_title( get_the_ID() ) ); ?></a></td>
393
  <?php
394
  $transient_id = $this->cache_engines[ self::REF_SHARE_BASE ]->get_cache_key( get_the_ID() );
395
 
@@ -398,8 +392,12 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
398
  if ( ! $sort_mode && false !== $sns_counts ) {
399
  foreach ( $share_base_cache_target as $sns => $active ) {
400
  if ( $active ) {
 
 
401
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
402
- echo '<td class="share-count">';
 
 
403
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
404
 
405
  if ( self::OPT_SHARE_VARIATION_ANALYSIS_NONE !== $this->share_variation_analysis_mode ) {
@@ -416,7 +414,7 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
416
 
417
  echo '</td>';
418
  } else {
419
- echo '<td class="not-cached share-count">';
420
  esc_html_e( 'N/A', self::DOMAIN );
421
  echo '</td>';
422
  }
@@ -425,12 +423,16 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
425
  } else {
426
  foreach ( $share_base_cache_target as $sns => $active ) {
427
  if ( $active ) {
 
 
428
  $meta_key = $this->cache_engines[ self::REF_SHARE_2ND ]->get_cache_key( $sns );
429
 
430
  $sns_counts[ $sns ] = get_post_meta( get_the_ID(), $meta_key, true );
431
 
432
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
433
- echo '<td class="share-count">';
 
 
434
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
435
 
436
  if ( self::OPT_SHARE_VARIATION_ANALYSIS_NONE !== $this->share_variation_analysis_mode ) {
@@ -447,7 +449,7 @@ unset( $share_base_cache_target[ self::REF_CRAWL_DATE ] );
447
 
448
  echo '</td>';
449
  } else {
450
- echo '<td class="not-cached share-count">';
451
  esc_html_e( 'N/A', self::DOMAIN );
452
  echo '</td>';
453
  }
4
 
5
  Description: Option page implementation
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
111
  ?>
112
  <table class="tfloat view-table">
113
  <thead>
114
+ <tr class="thead">
115
  <th>No.</th>
116
  <th><?php esc_html_e( 'Content', self::DOMAIN ); ?></th>
117
  <?php
125
 
126
  $sort_url = 'admin.php?page=scc-share-count&action=sort&key=' . $sort_key;
127
 
128
+ $sns_name = $this->get_sns_name( $sns );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
 
130
  if ( $sns === $sort_exec_key ) {
131
+ echo '<th style="white-space:nowrap"><a class="sort-exec-key" href="' . esc_url( $sort_url ) . '">' . esc_html( $sns_name ) . '</th>';
132
  } else {
133
+ echo '<th style="white-space:nowrap"><a href="' . esc_url( $sort_url ) . '">' . esc_html( $sns_name ) . '</th>';
134
  }
135
  } // End if().
136
  } // End foreach().
145
  ?>
146
  <tr class="home">
147
  <td><?php echo '-'; ?></td>
148
+ <td><a href="<?php echo esc_url( home_url( '/' ) ); ?>" target="_blank" class="title"><?php echo esc_html( bloginfo( 'name' ) ); ?></a></td>
149
  <?php
150
  if ( self::OPT_SHARE_VARIATION_ANALYSIS_NONE !== $this->share_variation_analysis_mode ) {
151
  $transient_id = $this->cache_engines[ self::REF_SHARE_BASE ]->get_cache_key( 'home' );
160
  if ( false !== $sns_deltas ) {
161
  foreach ( $share_base_cache_target as $sns => $active ) {
162
  if ( $active ) {
163
+ $sns_name = $this->get_sns_name( $sns );
164
+
165
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
166
+ echo '<td class="share-count" style="white-space:nowrap" data-label="' . esc_attr( $sns_name ) . '">';
167
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
168
 
169
  if ( SCC_Cache::has_value( $sns_deltas[ $sns ] ) && 0 < $sns_deltas[ $sns ] ) {
174
 
175
  echo '</td>';
176
  } else {
177
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
178
  esc_html_e( 'N/A', self::DOMAIN );
179
  echo '</td>';
180
  }
183
  } else {
184
  foreach ( $share_base_cache_target as $sns => $active ) {
185
  if ( $active ) {
186
+ $sns_name = $this->get_sns_name( $sns );
187
+
188
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
189
+ echo '<td class="share-count" style="white-space:nowrap" data-label="' . esc_attr( $sns_name ) . '">';
190
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
191
  echo '</td>';
192
  } else {
193
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
194
  esc_html_e( 'N/A', self::DOMAIN );
195
  echo '</td>';
196
  }
210
  if ( false !== $sns_deltas ) {
211
  foreach ( $share_base_cache_target as $sns => $active ) {
212
  if ( $active ) {
213
+ $sns_name = $this->get_sns_name( $sns );
214
+
215
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
216
+ echo '<td class="share-count" style="white-space:nowrap" data-label="' . esc_attr( $sns_name ) . '">';
217
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
218
 
219
  if ( SCC_Cache::has_value( $sns_deltas[ $sns ] ) && 0 < $sns_deltas[ $sns ] ) {
224
 
225
  echo '</td>';
226
  } else {
227
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
228
  esc_html_e( 'N/A', self::DOMAIN );
229
  echo '</td>';
230
  }
233
  } else {
234
  foreach ( $share_base_cache_target as $sns => $active ) {
235
  if ( $active ) {
236
+ $sns_name = $this->get_sns_name( $sns );
237
+
238
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
239
+ echo '<td class="share-count" style="white-space:nowrap" data-label="' . esc_attr( $sns_name ) . '">';
240
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
241
  echo '</td>';
242
  } else {
243
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
244
  esc_html_e( 'N/A', self::DOMAIN );
245
  echo '</td>';
246
  }
250
  } else {
251
  foreach ( $share_base_cache_target as $sns => $active ) {
252
  if ( $active ) {
253
+ $sns_name = $this->get_sns_name( $sns );
254
+
255
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
256
  esc_html_e( 'N/A', self::DOMAIN );
257
  echo '</td>';
258
  }
272
  if ( false !== $sns_deltas ) {
273
  foreach ( $share_base_cache_target as $sns => $active ) {
274
  if ( $active ) {
275
+ $sns_name = $this->get_sns_name( $sns );
276
+
277
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
278
+ echo '<td class="share-count" style="white-space:nowrap" data-label="' . esc_attr( $sns_name ) . '">';
279
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
280
 
281
  if ( SCC_Cache::has_value( $sns_deltas[ $sns ] ) && 0 < $sns_deltas[ $sns ] ) {
286
 
287
  echo '</td>';
288
  } else {
289
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
290
  esc_html_e( 'N/A', self::DOMAIN );
291
  echo '</td>';
292
  }
295
  } else {
296
  foreach ( $share_base_cache_target as $sns => $active ) {
297
  if ( $active ) {
298
+ $sns_name = $this->get_sns_name( $sns );
299
+
300
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
301
+
302
+ echo '<td class="share-count" style="white-space:nowrap" data-label="' . esc_attr( $sns_name ) . '">';
303
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
304
  echo '</td>';
305
  } else {
306
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
307
  esc_html_e( 'N/A', self::DOMAIN );
308
  echo '</td>';
309
  }
323
  if ( false !== $sns_deltas ) {
324
  foreach ( $share_base_cache_target as $sns => $active ) {
325
  if ( $active ) {
326
+ $sns_name = $this->get_sns_name( $sns );
327
+
328
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
329
+ echo '<td class="share-count" style="white-space:nowrap" data-label="' . esc_attr( $sns_name ) . '">';
330
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
331
 
332
  if ( SCC_Cache::has_value( $sns_deltas[ $sns ] ) && 0 < $sns_deltas[ $sns ] ) {
337
 
338
  echo '</td>';
339
  } else {
340
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
341
  esc_html_e( 'N/A', self::DOMAIN );
342
  echo '</td>';
343
  }
346
  } else {
347
  foreach ( $share_base_cache_target as $sns => $active ) {
348
  if ( $active ) {
349
+ $sns_name = $this->get_sns_name( $sns );
350
+
351
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
352
+ echo '<td class="share-count" style="white-space:nowrap" data-label="' . esc_attr( $sns_name ) . '">';
353
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
354
  echo '</td>';
355
  } else {
356
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
357
  esc_html_e( 'N/A', self::DOMAIN );
358
  echo '</td>';
359
  }
363
  } else {
364
  foreach ( $share_base_cache_target as $sns => $active ) {
365
  if ( $active ) {
366
+ $sns_name = $this->get_sns_name( $sns );
367
+
368
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
369
  esc_html_e( 'N/A', self::DOMAIN );
370
  echo '</td>';
371
  }
375
  } // End if().
376
  ?>
377
  </tr>
378
+ <?php
379
  } // End if().
380
  if ( $posts_query->have_posts() ) {
381
  while ( $posts_query->have_posts() ) {
382
  $posts_query->the_post();
383
+ ?>
384
  <tr>
385
  <td><?php echo esc_html( $count ); ?></td>
386
+ <td><a href="<?php echo esc_url( get_permalink( get_the_ID() ) ); ?>" target="_blank" class="title"><?php echo esc_html( get_the_title( get_the_ID() ) ); ?></a></td>
387
  <?php
388
  $transient_id = $this->cache_engines[ self::REF_SHARE_BASE ]->get_cache_key( get_the_ID() );
389
 
392
  if ( ! $sort_mode && false !== $sns_counts ) {
393
  foreach ( $share_base_cache_target as $sns => $active ) {
394
  if ( $active ) {
395
+ $sns_name = $this->get_sns_name( $sns );
396
+
397
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
398
+
399
+ echo '<td class="share-count" style="white-space:nowrap" data-label="' . esc_attr( $sns_name ) . '">';
400
+
401
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
402
 
403
  if ( self::OPT_SHARE_VARIATION_ANALYSIS_NONE !== $this->share_variation_analysis_mode ) {
414
 
415
  echo '</td>';
416
  } else {
417
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
418
  esc_html_e( 'N/A', self::DOMAIN );
419
  echo '</td>';
420
  }
423
  } else {
424
  foreach ( $share_base_cache_target as $sns => $active ) {
425
  if ( $active ) {
426
+ $sns_name = $this->get_sns_name( $sns );
427
+
428
  $meta_key = $this->cache_engines[ self::REF_SHARE_2ND ]->get_cache_key( $sns );
429
 
430
  $sns_counts[ $sns ] = get_post_meta( get_the_ID(), $meta_key, true );
431
 
432
  if ( SCC_Cache::has_value( $sns_counts[ $sns ] ) && 0 <= $sns_counts[ $sns ] ) {
433
+
434
+ echo '<td class="share-count" style="white-space:nowrap" data-label="' . esc_attr( $sns_name ) . '">';
435
+
436
  echo esc_html( number_format( (int) $sns_counts[ $sns ] ) );
437
 
438
  if ( self::OPT_SHARE_VARIATION_ANALYSIS_NONE !== $this->share_variation_analysis_mode ) {
449
 
450
  echo '</td>';
451
  } else {
452
+ echo '<td class="not-cached share-count" data-label="' . esc_attr( $sns_name ) . '">';
453
  esc_html_e( 'N/A', self::DOMAIN );
454
  echo '</td>';
455
  }
includes/class-scc-analytical-engline.php CHANGED
@@ -4,7 +4,7 @@ class-scc-analytical-engline.php
4
 
5
  Description: This class is a data analytical engine.
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a data analytical engine.
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-cache-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-cache-engine.php
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -65,7 +65,14 @@ abstract class SCC_Cache_Engine extends SCC_Engine {
65
  *
66
  * @var integer
67
  */
68
- protected $fault_tolerance = 1;
 
 
 
 
 
 
 
69
 
70
  /**
71
  * Get cache expiration based on current number of total post and page
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
65
  *
66
  * @var integer
67
  */
68
+ protected $fault_tolerance_mode = 1;
69
+
70
+ /**
71
+ * Crawl throttling mode
72
+ *
73
+ * @var integer
74
+ */
75
+ protected $crawl_throttling_mode = 1;
76
 
77
  /**
78
  * Get cache expiration based on current number of total post and page
includes/class-scc-cache.php CHANGED
@@ -4,7 +4,7 @@ class-scc-cache.php
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-common-data-export-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-common-data-export.php
4
 
5
  Description: This class is a data export engine whitch exports cached data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a data export engine whitch exports cached data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-common-job-reset-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-common-job-reset-engine.php
4
 
5
  Description: This class is a job reset engine whitch reset expired jobs
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a job reset engine whitch reset expired jobs
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-crawler.php CHANGED
@@ -4,7 +4,7 @@ class-scc-crawler.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -102,6 +102,13 @@ abstract class SCC_Crawler {
102
  */
103
  protected $target_sns = array();
104
 
 
 
 
 
 
 
 
105
  /**
106
  * Class constarctor
107
  * Hook onto all of the actions and filters needed by the plugin.
@@ -161,6 +168,14 @@ abstract class SCC_Crawler {
161
  */
162
  abstract public function initialize( $options = array() );
163
 
 
 
 
 
 
 
 
 
164
  /**
165
  * Get data
166
  *
@@ -222,6 +237,19 @@ abstract class SCC_Crawler {
222
  return $this->crawl_strategies[ $sns ]->check_configuration();
223
  }
224
 
 
 
 
 
 
 
 
 
 
 
 
 
 
225
  }
226
 
227
  ?>
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
102
  */
103
  protected $target_sns = array();
104
 
105
+ /**
106
+ * Instance for delegation
107
+ *
108
+ * @var SNS_Count_Cache
109
+ */
110
+ protected $delegate = null;
111
+
112
  /**
113
  * Class constarctor
114
  * Hook onto all of the actions and filters needed by the plugin.
168
  */
169
  abstract public function initialize( $options = array() );
170
 
171
+ /**
172
+ * Set option
173
+ *
174
+ * @param array $options Option.
175
+ * @return void
176
+ */
177
+ abstract public function set_option( $options = array() );
178
+
179
  /**
180
  * Get data
181
  *
237
  return $this->crawl_strategies[ $sns ]->check_configuration();
238
  }
239
 
240
+ /**
241
+ * Delegate order
242
+ *
243
+ * @param string $order Order.
244
+ * @param array $options Option.
245
+ * @return mixed Result of delegation
246
+ */
247
+ protected function delegate_order( $order, $options = array() ) {
248
+ if ( ! is_null( $this->delegate ) && ( $this->delegate instanceof SCC_Order ) && method_exists( $this->delegate, 'order' ) ) {
249
+ return $this->delegate->order( $this, $order, $options );
250
+ }
251
+ }
252
+
253
  }
254
 
255
  ?>
includes/class-scc-crypt.php CHANGED
@@ -1,13 +1,13 @@
1
  <?php
2
- /*
3
  class-scc-crypt.php
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
- */
11
 
12
  /*
13
  Copyright (C) 2014 - 2019 Daisuke Maruyama
1
  <?php
2
+ /**
3
  class-scc-crypt.php
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
+ */
11
 
12
  /*
13
  Copyright (C) 2014 - 2019 Daisuke Maruyama
includes/class-scc-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-engine.php
4
 
5
  Description: This class is a engine
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a engine
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-export-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-export-engine.php
4
 
5
  Description: This class is a data export engine whitch exports cached data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a data export engine whitch exports cached data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-file.php CHANGED
@@ -4,7 +4,7 @@ class-scc-file.php
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-follow-analytical-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-analytical-engine.php
4
 
5
  Description: This class is a data analytical engine.
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a data analytical engine.
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-follow-base-cache-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-base-cache-engine.php
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-follow-cache-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-cache-engine.php
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-follow-crawl-strategy-factory.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-crawl-strategy-factory.php
4
 
5
  Description: This class is a data crawler whitch get share count using given API and cURL
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a data crawler whitch get share count using given API and cURL
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-follow-crawler.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-crawler.php
4
 
5
  Description: This class is a data crawler whitch get share count using given API and cURL
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -76,6 +76,41 @@ class SCC_Follow_Crawler extends SCC_Crawler {
76
 
77
  }
78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  /**
80
  * Check configuration
81
  *
4
 
5
  Description: This class is a data crawler whitch get share count using given API and cURL
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
76
 
77
  }
78
 
79
+ /**
80
+ * Set option
81
+ *
82
+ * @param array $options Option.
83
+ * @return void
84
+ */
85
+ public function set_option( $options = array() ) {
86
+ SCC_Logger::log( '[' . __METHOD__ . '] (line=' . __LINE__ . ')' );
87
+
88
+ if ( isset( $options['target_sns'] ) ) {
89
+ $this->target_sns = $options['target_sns'];
90
+ }
91
+
92
+ if ( isset( $options['crawl_method'] ) ) {
93
+ $this->crawl_method = $options['crawl_method'];
94
+ }
95
+
96
+ if ( isset( $options['timeout'] ) ) {
97
+ $this->timeout = $options['timeout'];
98
+ }
99
+
100
+ if ( isset( $options['ssl_verification'] ) ) {
101
+ $this->ssl_verification = $options['ssl_verification'];
102
+ }
103
+
104
+ if ( isset( $options['crawl_retry'] ) ) {
105
+ $this->crawl_retry = $options['crawl_retry'];
106
+ }
107
+
108
+ if ( isset( $options['retry_limit'] ) ) {
109
+ $this->retry_limit = $options['retry_limit'];
110
+ }
111
+
112
+ }
113
+
114
  /**
115
  * Check configuration
116
  *
includes/class-scc-follow-facebook-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-facebook-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-follow-feedly-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-feedly-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-follow-instagram-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-instagram-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-follow-lazy-cache-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-lazy-cache-engine.php
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-follow-onesignal-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-onesignal-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-follow-push7-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-push7-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-follow-restore-cache-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-restore-cache-engine.php
4
 
5
  Description: This class is a data cache engine whitch restore cache data from second cache.
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a data cache engine whitch restore cache data from second cache.
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-follow-second-cache-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-second-cache-engine.php
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-follow-twitter-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-follow-twitter-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-format.php CHANGED
@@ -4,7 +4,7 @@ class-scc-format.php
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-hash.php CHANGED
@@ -4,7 +4,7 @@ class-scc-hash.php
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-http.php CHANGED
@@ -4,7 +4,7 @@ class-scc-http.php
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-logger.php CHANGED
@@ -4,7 +4,7 @@ class-scc-logger.php
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-memory.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ class-scc-memory.php
4
+
5
+ Description: This class is a common utility
6
+ Author: Daisuke Maruyama
7
+ Author URI: http://logicore.cc/
8
+ License: GPL2 or later
9
+ License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
+ */
11
+
12
+ /*
13
+ Copyright (C) 2014 - 2019 Daisuke Maruyama
14
+
15
+ This program is free software; you can redistribute it and/or
16
+ modify it under the terms of the GNU General Public License
17
+ as published by the Free Software Foundation; either version 2
18
+ of the License, or (at your option) any later version.
19
+
20
+ This program is distributed in the hope that it will be useful,
21
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
22
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
+ GNU General Public License for more details.
24
+
25
+ You should have received a copy of the GNU General Public License
26
+ along with this program; if not, write to the Free Software
27
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
28
+ */
29
+
30
+ class SCC_Memory {
31
+
32
+ /**
33
+ * Constructor
34
+ */
35
+ protected function __construct() {
36
+ SCC_Logger::log( '[' . __METHOD__ . '] (line=' . __LINE__ . ')' );
37
+ }
38
+
39
+ /**
40
+ * Get current usage
41
+ *
42
+ * @return integer
43
+ */
44
+ public static function get_current_usage() {
45
+ return round( memory_get_usage( true ) / 1024 / 1024, 2 );
46
+ }
47
+
48
+ /**
49
+ * Get peak usage
50
+ *
51
+ * @return integer
52
+ */
53
+ public static function get_peak_usage() {
54
+ return round( memory_get_peak_usage( true ) / 1024 / 1024, 2 );
55
+ }
56
+
57
+ }
58
+
59
+ ?>
includes/class-scc-oauth.php CHANGED
@@ -4,7 +4,7 @@ class-scc-oauth.php
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a common utility
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-share-analytical-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-analytical-engine.php
4
 
5
  Description: This class is a data analytical engine.
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a data analytical engine.
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-share-app-status-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-app-status-engine.php
4
 
5
  Description:
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -201,6 +201,12 @@ class SCC_Share_App_Status_Engine extends SCC_Engine {
201
  'title' => $target_title,
202
  );
203
 
 
 
 
 
 
 
204
  foreach ( $target_sns_base as $sns => $active ) {
205
  if ( $active ) {
206
  $this->crawler->set_crawl_strategy_parameters( $sns, $parameters );
@@ -223,6 +229,8 @@ class SCC_Share_App_Status_Engine extends SCC_Engine {
223
 
224
  $app_info = get_option( SNS_Count_Cache::DB_SHARE_APP_STATUS );
225
 
 
 
226
  if ( false !== $app_info ) {
227
  if ( ! empty( $app_info[ SNS_Count_Cache::REF_SHARE_FACEBOOK ][ strtolower( 'X-App-Usage' ) ]['call_count'] ) ) {
228
  $current_call_count = (int) $app_info[ SNS_Count_Cache::REF_SHARE_FACEBOOK ][ strtolower( 'X-App-Usage' ) ]['call_count'];
@@ -233,15 +241,31 @@ class SCC_Share_App_Status_Engine extends SCC_Engine {
233
  $threshold = 100;
234
 
235
  if ( $current_call_count + $expected_call_count > $threshold ) {
236
- return true;
237
  } else {
238
- return false;
239
  }
240
  } else {
241
- return true;
242
  }
243
  } else {
244
- return true;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
245
  }
246
  }
247
 
4
 
5
  Description:
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
201
  'title' => $target_title,
202
  );
203
 
204
+ $options = array(
205
+ 'app_status_check' => false,
206
+ );
207
+
208
+ $this->crawler->set_option( $options );
209
+
210
  foreach ( $target_sns_base as $sns => $active ) {
211
  if ( $active ) {
212
  $this->crawler->set_crawl_strategy_parameters( $sns, $parameters );
229
 
230
  $app_info = get_option( SNS_Count_Cache::DB_SHARE_APP_STATUS );
231
 
232
+ $need_throttle = array();
233
+
234
  if ( false !== $app_info ) {
235
  if ( ! empty( $app_info[ SNS_Count_Cache::REF_SHARE_FACEBOOK ][ strtolower( 'X-App-Usage' ) ]['call_count'] ) ) {
236
  $current_call_count = (int) $app_info[ SNS_Count_Cache::REF_SHARE_FACEBOOK ][ strtolower( 'X-App-Usage' ) ]['call_count'];
241
  $threshold = 100;
242
 
243
  if ( $current_call_count + $expected_call_count > $threshold ) {
244
+ $need_throttle[ SNS_Count_Cache::REF_SHARE_FACEBOOK ] = true;
245
  } else {
246
+ $need_throttle[ SNS_Count_Cache::REF_SHARE_FACEBOOK ] = false;
247
  }
248
  } else {
249
+ $need_throttle[ SNS_Count_Cache::REF_SHARE_FACEBOOK ] = true;
250
  }
251
  } else {
252
+ $need_throttle[ SNS_Count_Cache::REF_SHARE_FACEBOOK ] = true;
253
+ }
254
+
255
+ return $need_throttle;
256
+ }
257
+
258
+ /**
259
+ * Update aplication status
260
+ *
261
+ * @param array $app_info Aplication information.
262
+ * @return void
263
+ */
264
+ public function update_app_status( $app_info = array() ) {
265
+ SCC_Logger::log( '[' . __METHOD__ . '] (line=' . __LINE__ . ')' );
266
+
267
+ if ( ! empty( $app_info ) ) {
268
+ update_option( SNS_Count_Cache::DB_SHARE_APP_STATUS, $app_info );
269
  }
270
  }
271
 
includes/class-scc-share-base-cache-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-base-cache-engine.php
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -166,8 +166,12 @@ class SCC_Share_Base_Cache_Engine extends SCC_Share_Cache_Engine {
166
  $this->retry_limit = $options['retry_limit'];
167
  }
168
 
169
- if ( isset( $options['fault_tolerance'] ) ) {
170
- $this->fault_tolerance = $options['fault_tolerance'];
 
 
 
 
171
  }
172
 
173
  add_filter( 'cron_schedules', array( $this, 'schedule_check_interval' ) );
@@ -242,32 +246,33 @@ class SCC_Share_Base_Cache_Engine extends SCC_Share_Cache_Engine {
242
  SCC_Logger::log( '[' . __METHOD__ . '] check_interval: ' . $this->check_interval );
243
  SCC_Logger::log( '[' . __METHOD__ . '] posts_per_check: ' . $this->posts_per_check );
244
 
245
- $options = array();
246
 
247
- /*
248
- if ( $this->scheme_migration_mode ) {
249
- $options['expected_call_count'] = $this->posts_per_check * 2;
250
- } else {
251
- $options['expected_call_count'] = $this->posts_per_check;
252
- }
253
 
254
- $need_throttle = $this->delegate_order( SCC_Order::ORDER_CHECK_APP_STATUS, $options );
 
 
 
 
 
 
255
 
256
- SCC_Logger::log( '[' . __METHOD__ . '] need throttle: ' . $need_throttle );
257
 
258
- if ( $need_throttle ) {
259
 
260
- // SCC_WP_Cron::clear_scheduled_hook( $this->execute_cron );
261
 
262
- $option_key = $this->get_cache_key( $this->offset_suffix );
263
 
264
- update_option( $option_key, $posts_offset );
265
 
266
- SCC_Logger::log( '[' . __METHOD__ . '] Count retrieval was throttled to handle API rate limiting.' );
267
 
268
- return;
 
269
  }
270
- */
271
 
272
  $cache_expiration = $this->get_cache_expiration();
273
 
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
166
  $this->retry_limit = $options['retry_limit'];
167
  }
168
 
169
+ if ( isset( $options['fault_tolerance_mode'] ) ) {
170
+ $this->fault_tolerance_mode = $options['fault_tolerance_mode'];
171
+ }
172
+
173
+ if ( isset( $options['crawl_throttling_mode'] ) ) {
174
+ $this->crawl_throttling_mode = $options['crawl_throttling_mode'];
175
  }
176
 
177
  add_filter( 'cron_schedules', array( $this, 'schedule_check_interval' ) );
246
  SCC_Logger::log( '[' . __METHOD__ . '] check_interval: ' . $this->check_interval );
247
  SCC_Logger::log( '[' . __METHOD__ . '] posts_per_check: ' . $this->posts_per_check );
248
 
249
+ if ( SNS_Count_Cache::OPT_COMMON_CRAWL_THROTTLING_MODE_ON === $this->crawl_throttling_mode ) {
250
 
251
+ $options = array();
 
 
 
 
 
252
 
253
+ if ( $this->scheme_migration_mode ) {
254
+ $options['expected_call_count'] = $this->posts_per_check * 2;
255
+ } else {
256
+ $options['expected_call_count'] = $this->posts_per_check;
257
+ }
258
+
259
+ $need_throttle = $this->delegate_order( SCC_Order::ORDER_CHECK_APP_STATUS, $options );
260
 
261
+ SCC_Logger::log( '[' . __METHOD__ . '] need throttle: ' . $need_throttle );
262
 
263
+ if ( in_array( true, $need_throttle, true ) ) {
264
 
265
+ $option_key = $this->get_cache_key( $this->offset_suffix );
266
 
267
+ update_option( $option_key, $posts_offset );
268
 
269
+ SCC_Logger::log( '[' . __METHOD__ . '] Count retrieval was throttled to prevent or handle API rate limits.' );
270
 
271
+ SCC_WP_Cron::clear_scheduled_hook( $this->execute_cron );
272
 
273
+ return;
274
+ }
275
  }
 
276
 
277
  $cache_expiration = $this->get_cache_expiration();
278
 
includes/class-scc-share-cache-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-cache-engine.php
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -207,28 +207,43 @@ abstract class SCC_Share_Cache_Engine extends SCC_Cache_Engine {
207
  }
208
  } // End if().
209
 
210
- if ( SNS_Count_Cache::OPT_COMMON_FAULT_TOLERANCE_ON === $this->fault_tolerance ) {
 
 
211
 
212
  $target_sns_tmp = $target_sns;
 
213
  unset( $target_sns_tmp[ SNS_Count_Cache::REF_CRAWL_DATE ] );
214
  unset( $target_sns_tmp[ SNS_Count_Cache::REF_SHARE_TOTAL ] );
215
 
216
- $target_sns_tolerance = array();
 
 
 
217
 
218
  foreach ( $target_sns_tmp as $sns => $active ) {
219
  if ( $active ) {
220
- if ( ! isset( $sns_count[ $sns ] ) || -1 === $sns_count[ $sns ] ) {
221
  $target_sns_tolerance[ $sns ] = true;
 
 
 
222
  }
223
  }
224
  }
225
 
 
 
 
226
  if ( ! empty( $target_sns_tolerance ) ) {
227
  $current_sns_count = $this->get_cache( $options );
228
 
 
 
 
229
  foreach ( $target_sns_tolerance as $sns => $active ) {
230
  if ( $active ) {
231
- if ( isset( $current_sns_count[ $sns ] ) && 0 <= $current_sns_count[ $sns ] ) {
232
  $sns_count[ $sns ] = $current_sns_count[ $sns ];
233
  SCC_Logger::log( '[' . __METHOD__ . '] replaced by current count: ' . $sns );
234
  }
@@ -301,8 +316,8 @@ abstract class SCC_Share_Cache_Engine extends SCC_Cache_Engine {
301
  } // End if().
302
  */
303
 
304
- SCC_Logger::log( '[' . __METHOD__ . '] current memory usage: ' . round( memory_get_usage( true ) / 1024 / 1024, 2 ) . ' MB' );
305
- SCC_Logger::log( '[' . __METHOD__ . '] max memory usage: ' . round( memory_get_peak_usage( true ) / 1024 / 1024, 2 ) . ' MB' );
306
 
307
  return $sns_count;
308
  }
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
207
  }
208
  } // End if().
209
 
210
+ SCC_Logger::log( '[' . __METHOD__ . '] fault tolerance mode: ' . $this->fault_tolerance_mode );
211
+
212
+ if ( SNS_Count_Cache::OPT_COMMON_FAULT_TOLERANCE_ON === $this->fault_tolerance_mode ) {
213
 
214
  $target_sns_tmp = $target_sns;
215
+
216
  unset( $target_sns_tmp[ SNS_Count_Cache::REF_CRAWL_DATE ] );
217
  unset( $target_sns_tmp[ SNS_Count_Cache::REF_SHARE_TOTAL ] );
218
 
219
+ SCC_Logger::log( '[' . __METHOD__ . '] retrieved SNS count: ' );
220
+ SCC_Logger::log( $sns_count );
221
+
222
+ $target_sns_tolerance = array();
223
 
224
  foreach ( $target_sns_tmp as $sns => $active ) {
225
  if ( $active ) {
226
+ if ( ! SCC_Cache::has_value( $sns_count[ $sns ] ) || 0 > $sns_count[ $sns ] ) {
227
  $target_sns_tolerance[ $sns ] = true;
228
+ SCC_Logger::log( '[' . __METHOD__ . '] check count existence[ ' . $sns . ']: true' );
229
+ } else {
230
+ SCC_Logger::log( '[' . __METHOD__ . '] check count existence[ ' . $sns . ']: false' );
231
  }
232
  }
233
  }
234
 
235
+ SCC_Logger::log( '[' . __METHOD__ . '] checked result of count existence: ' );
236
+ SCC_Logger::log( $target_sns_tolerance );
237
+
238
  if ( ! empty( $target_sns_tolerance ) ) {
239
  $current_sns_count = $this->get_cache( $options );
240
 
241
+ SCC_Logger::log( '[' . __METHOD__ . '] current SNS count: ' );
242
+ SCC_Logger::log( $current_sns_count );
243
+
244
  foreach ( $target_sns_tolerance as $sns => $active ) {
245
  if ( $active ) {
246
+ if ( SCC_Cache::has_value( $current_sns_count[ $sns ] ) && 0 <= $current_sns_count[ $sns ] ) {
247
  $sns_count[ $sns ] = $current_sns_count[ $sns ];
248
  SCC_Logger::log( '[' . __METHOD__ . '] replaced by current count: ' . $sns );
249
  }
316
  } // End if().
317
  */
318
 
319
+ SCC_Logger::log( '[' . __METHOD__ . '] current memory usage: ' . SCC_Memory::get_current_usage() . ' MB' );
320
+ SCC_Logger::log( '[' . __METHOD__ . '] max memory usage: ' . SCC_Memory::get_peak_usage() . ' MB' );
321
 
322
  return $sns_count;
323
  }
includes/class-scc-share-crawl-strategy-factory.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-crawl-strategy-factory.php
4
 
5
  Description: This class is a data crawler whitch get share count using given API and cURL
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a data crawler whitch get share count using given API and cURL
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-share-crawler.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-crawler.php
4
 
5
  Description: This class is a data crawler whitch get share count using given API and cURL
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -32,6 +32,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
32
  */
33
  class SCC_Share_Crawler extends SCC_Crawler {
34
 
 
 
 
 
 
 
 
35
  /**
36
  * Initialization
37
  *
@@ -43,25 +50,38 @@ class SCC_Share_Crawler extends SCC_Crawler {
43
 
44
  //$this->throttle = new Sleep_Throttle( 0.9 );
45
 
 
 
 
 
46
  if ( isset( $options['target_sns'] ) ) {
47
  $this->target_sns = $options['target_sns'];
48
  }
 
49
  if ( isset( $options['crawl_method'] ) ) {
50
  $this->crawl_method = $options['crawl_method'];
51
  }
 
52
  if ( isset( $options['timeout'] ) ) {
53
  $this->timeout = $options['timeout'];
54
  }
 
55
  if ( isset( $options['ssl_verification'] ) ) {
56
  $this->ssl_verification = $options['ssl_verification'];
57
  }
 
58
  if ( isset( $options['crawl_retry'] ) ) {
59
  $this->crawl_retry = $options['crawl_retry'];
60
  }
 
61
  if ( isset( $options['retry_limit'] ) ) {
62
  $this->retry_limit = $options['retry_limit'];
63
  }
64
 
 
 
 
 
65
  $target_sns = $this->target_sns;
66
 
67
  unset( $target_sns[ SNS_Count_Cache::REF_CRAWL_DATE ] );
@@ -75,6 +95,49 @@ class SCC_Share_Crawler extends SCC_Crawler {
75
 
76
  }
77
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  /**
79
  * Check configuration
80
  *
@@ -119,6 +182,11 @@ class SCC_Share_Crawler extends SCC_Crawler {
119
  $valid_target_sns = $this->check_configurations( $target_sns );
120
  SCC_Logger::log( $valid_target_sns );
121
 
 
 
 
 
 
122
  $request_http_methods = $this->get_http_methods( $valid_target_sns );
123
  SCC_Logger::log( $request_http_methods );
124
 
@@ -420,6 +488,41 @@ class SCC_Share_Crawler extends SCC_Crawler {
420
  return $checked_target_sns;
421
  }
422
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
423
  }
424
 
425
  ?>
4
 
5
  Description: This class is a data crawler whitch get share count using given API and cURL
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
32
  */
33
  class SCC_Share_Crawler extends SCC_Crawler {
34
 
35
+ /**
36
+ * Application status check
37
+ *
38
+ * @var boolean
39
+ */
40
+ private $app_status_check = true;
41
+
42
  /**
43
  * Initialization
44
  *
50
 
51
  //$this->throttle = new Sleep_Throttle( 0.9 );
52
 
53
+ if ( isset( $options['delegate'] ) ) {
54
+ $this->delegate = $options['delegate'];
55
+ }
56
+
57
  if ( isset( $options['target_sns'] ) ) {
58
  $this->target_sns = $options['target_sns'];
59
  }
60
+
61
  if ( isset( $options['crawl_method'] ) ) {
62
  $this->crawl_method = $options['crawl_method'];
63
  }
64
+
65
  if ( isset( $options['timeout'] ) ) {
66
  $this->timeout = $options['timeout'];
67
  }
68
+
69
  if ( isset( $options['ssl_verification'] ) ) {
70
  $this->ssl_verification = $options['ssl_verification'];
71
  }
72
+
73
  if ( isset( $options['crawl_retry'] ) ) {
74
  $this->crawl_retry = $options['crawl_retry'];
75
  }
76
+
77
  if ( isset( $options['retry_limit'] ) ) {
78
  $this->retry_limit = $options['retry_limit'];
79
  }
80
 
81
+ if ( isset( $options['app_status_check'] ) ) {
82
+ $this->app_status_check = $options['app_status_check'];
83
+ }
84
+
85
  $target_sns = $this->target_sns;
86
 
87
  unset( $target_sns[ SNS_Count_Cache::REF_CRAWL_DATE ] );
95
 
96
  }
97
 
98
+ /**
99
+ * Set option
100
+ *
101
+ * @param array $options Option.
102
+ * @return void
103
+ */
104
+ public function set_option( $options = array() ) {
105
+ SCC_Logger::log( '[' . __METHOD__ . '] (line=' . __LINE__ . ')' );
106
+
107
+ if ( isset( $options['delegate'] ) ) {
108
+ $this->delegate = $options['delegate'];
109
+ }
110
+
111
+ if ( isset( $options['target_sns'] ) ) {
112
+ $this->target_sns = $options['target_sns'];
113
+ }
114
+
115
+ if ( isset( $options['crawl_method'] ) ) {
116
+ $this->crawl_method = $options['crawl_method'];
117
+ }
118
+
119
+ if ( isset( $options['timeout'] ) ) {
120
+ $this->timeout = $options['timeout'];
121
+ }
122
+
123
+ if ( isset( $options['ssl_verification'] ) ) {
124
+ $this->ssl_verification = $options['ssl_verification'];
125
+ }
126
+
127
+ if ( isset( $options['crawl_retry'] ) ) {
128
+ $this->crawl_retry = $options['crawl_retry'];
129
+ }
130
+
131
+ if ( isset( $options['retry_limit'] ) ) {
132
+ $this->retry_limit = $options['retry_limit'];
133
+ }
134
+
135
+ if ( isset( $options['app_status_check'] ) ) {
136
+ $this->app_status_check = $options['app_status_check'];
137
+ }
138
+
139
+ }
140
+
141
  /**
142
  * Check configuration
143
  *
182
  $valid_target_sns = $this->check_configurations( $target_sns );
183
  SCC_Logger::log( $valid_target_sns );
184
 
185
+ if ( $this->app_status_check ) {
186
+ $valid_target_sns = $this->check_app_status( $valid_target_sns );
187
+ SCC_Logger::log( $valid_target_sns );
188
+ }
189
+
190
  $request_http_methods = $this->get_http_methods( $valid_target_sns );
191
  SCC_Logger::log( $request_http_methods );
192
 
488
  return $checked_target_sns;
489
  }
490
 
491
+ /**
492
+ * Check aplication status
493
+ *
494
+ * @param array $target_sns Target SNS.
495
+ * @return array
496
+ */
497
+ private function check_app_status( $target_sns ) {
498
+ SCC_Logger::log( '[' . __METHOD__ . '] (line=' . __LINE__ . ')' );
499
+
500
+ unset( $target_sns[ SNS_Count_Cache::REF_CRAWL_DATE ] );
501
+ unset( $target_sns[ SNS_Count_Cache::REF_SHARE_TOTAL ] );
502
+
503
+ $checked_target_sns = array();
504
+
505
+ $options = array(
506
+ 'target_sns' => $target_sns,
507
+ 'expected_call_count' => 1,
508
+ );
509
+
510
+ $need_throttle = $this->delegate_order( SCC_Order::ORDER_CHECK_APP_STATUS, $options );
511
+
512
+ foreach ( $target_sns as $sns => $active ) {
513
+ if ( $active ) {
514
+ if ( isset( $need_throttle[ $sns ] ) ) {
515
+ SCC_Logger::log( '[' . __METHOD__ . '] need throttle[ ' . $sns . ' ]: ' . $need_throttle[ $sns ] );
516
+ $checked_target_sns[ $sns ] = ! $need_throttle[ $sns ];
517
+ } else {
518
+ $checked_target_sns[ $sns ] = true;
519
+ }
520
+ }
521
+ }
522
+
523
+ return $checked_target_sns;
524
+ }
525
+
526
  }
527
 
528
  ?>
includes/class-scc-share-facebook-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-facebook-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-share-google-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-google-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-share-hatebu-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-hatebu-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-share-lazy-cache-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-lazy-cache-engine.php
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -158,8 +158,12 @@ class SCC_Share_Lazy_Cache_Engine extends SCC_Share_Cache_Engine {
158
  $this->retry_limit = $options['retry_limit'];
159
  }
160
 
161
- if ( isset( $options['fault_tolerance'] ) ) {
162
- $this->fault_tolerance = $options['fault_tolerance'];
 
 
 
 
163
  }
164
 
165
  add_action( $this->execute_cron, array( $this, 'execute_cache' ), 10, 1 );
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
158
  $this->retry_limit = $options['retry_limit'];
159
  }
160
 
161
+ if ( isset( $options['fault_tolerance_mode'] ) ) {
162
+ $this->fault_tolerance_mode = $options['fault_tolerance_mode'];
163
+ }
164
+
165
+ if ( isset( $options['crawl_throttling_mode'] ) ) {
166
+ $this->crawl_throttling_mode = $options['crawl_throttling_mode'];
167
  }
168
 
169
  add_action( $this->execute_cron, array( $this, 'execute_cache' ), 10, 1 );
includes/class-scc-share-linkedin-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-linkedin-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-share-pinterest-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-pinterest-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-share-pocket-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-pocket-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-share-restore-cache-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-restore-cache-engine.php
4
 
5
  Description: This class is a data cache engine whitch restore cache data from second cache.
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -165,7 +165,11 @@ class SCC_Share_Restore_Cache_Engine extends SCC_Cache_Engine {
165
  SCC_Logger::log( '[' . __METHOD__ . '] check_latency: ' . $this->check_latency );
166
  SCC_Logger::log( '[' . __METHOD__ . '] next_exec_time: ' . $next_exec_time );
167
 
168
- wp_schedule_single_event( $next_exec_time, $this->execute_cron, array( $post_id ) );
 
 
 
 
169
  }
170
 
171
  /**
4
 
5
  Description: This class is a data cache engine whitch restore cache data from second cache.
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
165
  SCC_Logger::log( '[' . __METHOD__ . '] check_latency: ' . $this->check_latency );
166
  SCC_Logger::log( '[' . __METHOD__ . '] next_exec_time: ' . $next_exec_time );
167
 
168
+ if ( 'home' === $post_id ) {
169
+ wp_schedule_single_event( $next_exec_time, $this->execute_cron, array( $post_id ) );
170
+ } elseif ( is_numeric( $post_id ) ) {
171
+ wp_schedule_single_event( $next_exec_time, $this->execute_cron, array( (int) $post_id ) );
172
+ }
173
  }
174
 
175
  /**
includes/class-scc-share-rush-cache-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-rush-cache-engine.php
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -177,8 +177,12 @@ class SCC_Share_Rush_Cache_Engine extends SCC_Share_Cache_Engine {
177
  $this->retry_limit = $options['retry_limit'];
178
  }
179
 
180
- if ( isset( $options['fault_tolerance'] ) ) {
181
- $this->fault_tolerance = $options['fault_tolerance'];
 
 
 
 
182
  }
183
 
184
  add_filter( 'cron_schedules', array( $this, 'schedule_check_interval' ) );
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
177
  $this->retry_limit = $options['retry_limit'];
178
  }
179
 
180
+ if ( isset( $options['fault_tolerance_mode'] ) ) {
181
+ $this->fault_tolerance_mode = $options['fault_tolerance_mode'];
182
+ }
183
+
184
+ if ( isset( $options['crawl_throttling_mode'] ) ) {
185
+ $this->crawl_throttling_mode = $options['crawl_throttling_mode'];
186
  }
187
 
188
  add_filter( 'cron_schedules', array( $this, 'schedule_check_interval' ) );
includes/class-scc-share-second-cache-engine.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-second-cache-engine.php
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: This class is a data cache engine whitch get and cache data using wp-cron at regular intervals
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-share-twitter-crawl-strategy.php CHANGED
@@ -4,7 +4,7 @@ class-scc-share-twitter-crawl-strategy.php
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -114,8 +114,6 @@ class SCC_Share_Twitter_Crawl_Strategy extends SCC_Crawl_Strategy {
114
  $base_url = self::DEF_BASE_URL_OPENSHARECOUNT;
115
  } elseif ( SNS_Count_Cache::OPT_SHARE_TWITTER_API_TWITCOUNT === $this->twitter_api ) {
116
  $base_url = self::DEF_BASE_URL_TWITCOUNT;
117
- } elseif ( SNS_Count_Cache::OPT_SHARE_TWITTER_API_NEWSHARECOUNTS === $this->twitter_api ) {
118
- $base_url = self::DEF_BASE_URL_NEWSHARECOUNTS;
119
  }
120
  }
121
 
@@ -191,10 +189,6 @@ class SCC_Share_Twitter_Crawl_Strategy extends SCC_Crawl_Strategy {
191
  if ( 'url' === $key ) {
192
  $this->query_parameters[ $key ] = $value;
193
  }
194
- } elseif ( SNS_Count_Cache::OPT_SHARE_TWITTER_API_NEWSHARECOUNTS === $this->twitter_api ) {
195
- if ( 'url' === $key ) {
196
- $this->query_parameters[ $key ] = $value;
197
- }
198
  }
199
  } else {
200
  if ( 'url' === $key ) {
4
 
5
  Description: This class is abstract class of a data crawler
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
114
  $base_url = self::DEF_BASE_URL_OPENSHARECOUNT;
115
  } elseif ( SNS_Count_Cache::OPT_SHARE_TWITTER_API_TWITCOUNT === $this->twitter_api ) {
116
  $base_url = self::DEF_BASE_URL_TWITCOUNT;
 
 
117
  }
118
  }
119
 
189
  if ( 'url' === $key ) {
190
  $this->query_parameters[ $key ] = $value;
191
  }
 
 
 
 
192
  }
193
  } else {
194
  if ( 'url' === $key ) {
includes/class-scc-sleep-throttle.php CHANGED
@@ -4,7 +4,7 @@ class-scc-sleep-throttle.php
4
 
5
  Description: sleep utility
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
4
 
5
  Description: sleep utility
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
includes/class-scc-wp-cron.php CHANGED
@@ -4,7 +4,7 @@ class-scc-wp-cron.php
4
 
5
  Description: This class is a utility for WP-Cron
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -275,11 +275,13 @@ class SCC_WP_Cron {
275
  global $wp_version;
276
 
277
  if ( defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON ) {
278
- return new WP_Error( 'scc_wp_cron_info', sprintf( __( 'The %s constant is set to true. WP-Cron spawning is disabled.', 'wp-crontrol' ), 'DISABLE_WP_CRON' ) );
 
279
  }
280
 
281
  if ( defined( 'ALTERNATE_WP_CRON' ) && ALTERNATE_WP_CRON ) {
282
- return new WP_Error( 'scc_wp_cron_info', sprintf( __( 'The %s constant is set to true.', 'wp-crontrol' ), 'ALTERNATE_WP_CRON' ) );
 
283
  }
284
 
285
  $cached_status = get_transient( 'scc_wp_cron_test' );
@@ -307,8 +309,9 @@ class SCC_WP_Cron {
307
 
308
  if ( is_wp_error( $result ) ) {
309
  return $result;
310
- } else if ( wp_remote_retrieve_response_code( $result ) >= 300 ) {
311
  return new WP_Error( 'unexpected_http_response_code', sprintf(
 
312
  __( 'Unexpected HTTP response code: %s', 'wp-crontrol' ),
313
  intval( wp_remote_retrieve_response_code( $result ) )
314
  ) );
4
 
5
  Description: This class is a utility for WP-Cron
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
275
  global $wp_version;
276
 
277
  if ( defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON ) {
278
+ /* translators: 1: The name of the PHP constant that is set. */
279
+ return new WP_Error( 'scc_cron_info', sprintf( __( 'The %s constant is set to true. WP-Cron spawning is disabled.', SNS_Count_Cache::DOMAIN ), 'DISABLE_WP_CRON' ) );
280
  }
281
 
282
  if ( defined( 'ALTERNATE_WP_CRON' ) && ALTERNATE_WP_CRON ) {
283
+ /* translators: 1: The name of the PHP constant that is set. */
284
+ return new WP_Error( 'scc_cron_info', sprintf( __( 'The %s constant is set to true.', SNS_Count_Cache::DOMAIN ), 'ALTERNATE_WP_CRON' ) );
285
  }
286
 
287
  $cached_status = get_transient( 'scc_wp_cron_test' );
309
 
310
  if ( is_wp_error( $result ) ) {
311
  return $result;
312
+ } elseif ( wp_remote_retrieve_response_code( $result ) >= 300 ) {
313
  return new WP_Error( 'unexpected_http_response_code', sprintf(
314
+ /* translators: 1: The HTTP response code. */
315
  __( 'Unexpected HTTP response code: %s', 'wp-crontrol' ),
316
  intval( wp_remote_retrieve_response_code( $result ) )
317
  ) );
includes/download.php CHANGED
@@ -1,13 +1,13 @@
1
  <?php
2
- /*
3
  download.php
4
 
5
  Description: Download page implementation
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
- */
11
 
12
  /*
13
  Copyright (C) 2014 - 2019 Daisuke Maruyama
1
  <?php
2
+ /**
3
  download.php
4
 
5
  Description: Download page implementation
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
+ */
11
 
12
  /*
13
  Copyright (C) 2014 - 2019 Daisuke Maruyama
includes/interface-scc-order.php CHANGED
@@ -4,7 +4,7 @@ interface-scc-order.php
4
 
5
  Description: This is a interface
6
  Author: Daisuke Maruyama
7
- Author URI: http://marubon.info/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
@@ -52,6 +52,11 @@ interface SCC_Order {
52
  */
53
  const ORDER_CHECK_APP_STATUS = 'check_app_status';
54
 
 
 
 
 
 
55
  /**
56
  * Order
57
  *
4
 
5
  Description: This is a interface
6
  Author: Daisuke Maruyama
7
+ Author URI: https://logicore.cc/
8
  License: GPL2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
  */
52
  */
53
  const ORDER_CHECK_APP_STATUS = 'check_app_status';
54
 
55
+ /**
56
+ * Order update app status
57
+ */
58
+ const ORDER_UPDATE_APP_STATUS = 'update_app_status';
59
+
60
  /**
61
  * Order
62
  *
languages/sns-count-cache-ja.mo CHANGED
Binary file
languages/sns-count-cache-ja.po CHANGED
@@ -1,8 +1,8 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: SNS Count Cache\n"
4
- "POT-Creation-Date: 2019-05-05 20:13+0900\n"
5
- "PO-Revision-Date: 2019-05-05 20:16+0900\n"
6
  "Last-Translator: Daisuke Maruyama <marubon@gmail.com>\n"
7
  "Language-Team: Daisuke Maruyama <marubon@gmail.com>\n"
8
  "Language: ja\n"
@@ -23,54 +23,55 @@ msgstr ""
23
  #. Plugin Name of the plugin/theme
24
  #: includes/admin-cache-status.php:69 includes/admin-dashboard.php:45
25
  #: includes/admin-help.php:36 includes/admin-hot-content.php:70
26
- #: includes/admin-setting.php:528 includes/admin-share-count.php:69
27
- #: sns-count-cache.php:1949
28
  msgid "SNS Count Cache"
29
  msgstr "SNS Count Cache"
30
 
31
  #: includes/admin-cache-status.php:72 includes/admin-dashboard.php:49
32
  #: includes/admin-help.php:39 includes/admin-hot-content.php:73
33
- #: includes/admin-setting.php:629 includes/admin-share-count.php:72
34
- #: sns-count-cache.php:1950
35
  msgid "Dashboard"
36
  msgstr "ダッシュボード"
37
 
38
  #: includes/admin-cache-status.php:73 includes/admin-cache-status.php:84
39
  #: includes/admin-dashboard-widget.php:49
40
- #: includes/admin-dashboard-widget.php:152 includes/admin-dashboard.php:50
41
- #: includes/admin-dashboard.php:63 includes/admin-dashboard.php:171
42
  #: includes/admin-help.php:40 includes/admin-help.php:66
43
- #: includes/admin-hot-content.php:74 includes/admin-setting.php:630
44
- #: includes/admin-share-count.php:73 sns-count-cache.php:1951
45
  msgid "Cache Status"
46
  msgstr "キャッシュ状況"
47
 
48
- #: includes/admin-cache-status.php:74 includes/admin-dashboard-widget.php:84
49
- #: includes/admin-dashboard.php:51 includes/admin-dashboard.php:98
 
50
  #: includes/admin-help.php:41 includes/admin-hot-content.php:75
51
- #: includes/admin-setting.php:631 includes/admin-share-count.php:74
52
- #: includes/admin-share-count.php:84 sns-count-cache.php:1952
53
  msgid "Share Count"
54
  msgstr "シェア数"
55
 
56
  #: includes/admin-cache-status.php:76 includes/admin-dashboard.php:53
57
  #: includes/admin-help.php:43 includes/admin-hot-content.php:76
58
- #: includes/admin-hot-content.php:83 includes/admin-setting.php:633
59
- #: includes/admin-share-count.php:76 sns-count-cache.php:1955
60
  msgid "Hot Content"
61
  msgstr "話題のコンテンツ"
62
 
63
  #: includes/admin-cache-status.php:78 includes/admin-dashboard.php:55
64
  #: includes/admin-help.php:45 includes/admin-hot-content.php:77
65
- #: includes/admin-setting.php:635 includes/admin-share-count.php:78
66
- #: sns-count-cache.php:1958 sns-count-cache.php:1973
67
  msgid "Setting"
68
  msgstr "設定"
69
 
70
  #: includes/admin-cache-status.php:79 includes/admin-dashboard.php:56
71
  #: includes/admin-help.php:46 includes/admin-help.php:51
72
- #: includes/admin-hot-content.php:78 includes/admin-setting.php:636
73
- #: includes/admin-share-count.php:79 sns-count-cache.php:1959
74
  msgid "Help"
75
  msgstr "ヘルプ"
76
 
@@ -79,39 +80,45 @@ msgstr "ヘルプ"
79
  msgid "Content"
80
  msgstr "コンテンツ"
81
 
82
- #: includes/admin-cache-status.php:94 includes/admin-dashboard-widget.php:63
83
- #: includes/admin-dashboard-widget.php:166 includes/admin-dashboard.php:77
84
- #: includes/admin-dashboard.php:185
 
 
 
 
85
  msgid "Primary Cache"
86
  msgstr "一次キャッシュ"
87
 
88
- #: includes/admin-cache-status.php:95 includes/admin-dashboard-widget.php:73
89
- #: includes/admin-dashboard-widget.php:176 includes/admin-dashboard.php:87
90
- #: includes/admin-dashboard.php:195
 
 
 
91
  msgid "Secondary Cache"
92
  msgstr "二次キャッシュ"
93
 
94
- #: includes/admin-cache-status.php:96
 
 
95
  msgid "Crawl Date"
96
  msgstr "クロール日時"
97
 
98
  #: includes/admin-cache-status.php:137 includes/admin-cache-status.php:178
99
  #: includes/admin-cache-status.php:239 includes/admin-cache-status.php:271
100
- #: includes/admin-help.php:71
101
- msgid "full cache"
102
  msgstr "完全キャッシュ"
103
 
104
  #: includes/admin-cache-status.php:141 includes/admin-cache-status.php:182
105
  #: includes/admin-cache-status.php:243 includes/admin-cache-status.php:275
106
- #: includes/admin-help.php:72
107
- msgid "partial cache"
108
  msgstr "部分キャッシュ"
109
 
110
  #: includes/admin-cache-status.php:145 includes/admin-cache-status.php:151
111
  #: includes/admin-cache-status.php:186 includes/admin-cache-status.php:221
112
  #: includes/admin-cache-status.php:247 includes/admin-cache-status.php:279
113
- #: includes/admin-help.php:73
114
- msgid "no cache"
115
  msgstr "未キャッシュ"
116
 
117
  #: includes/admin-cache-status.php:196 includes/admin-cache-status.php:298
@@ -119,7 +126,7 @@ msgid "no data"
119
  msgstr "データなし"
120
 
121
  #: includes/admin-cache-status.php:203 includes/admin-cache-status.php:306
122
- #: includes/admin-setting.php:488 includes/admin-setting.php:1601
123
  msgid "Cache"
124
  msgstr "キャッシュ"
125
 
@@ -127,120 +134,88 @@ msgstr "キャッシュ"
127
  msgid "Share"
128
  msgstr "Share"
129
 
130
- #: includes/admin-dashboard-widget.php:53
131
- #: includes/admin-dashboard-widget.php:156 includes/admin-dashboard.php:67
132
- #: includes/admin-dashboard.php:175
133
  msgid "Cache Type"
134
  msgstr "キャッシュタイプ"
135
 
136
- #: includes/admin-dashboard-widget.php:54
137
- #: includes/admin-dashboard-widget.php:157 includes/admin-dashboard.php:68
138
- #: includes/admin-dashboard.php:176
 
 
 
 
 
 
139
  msgid "Cache Progress"
140
  msgstr "キャッシュ進捗"
141
 
142
- #: includes/admin-dashboard-widget.php:55
143
- #: includes/admin-dashboard-widget.php:158 includes/admin-dashboard.php:69
144
- #: includes/admin-dashboard.php:177
 
 
 
 
 
 
145
  msgid "Total Content"
146
  msgstr "総コンテンツ数"
147
 
148
- #: includes/admin-dashboard-widget.php:56
149
- #: includes/admin-dashboard-widget.php:159 includes/admin-dashboard.php:70
150
- #: includes/admin-dashboard.php:178
 
 
 
 
 
 
151
  msgid "State - Full Cache"
152
  msgstr "状態 - 完全キャッシュ"
153
 
154
- #: includes/admin-dashboard-widget.php:57
155
- #: includes/admin-dashboard-widget.php:160 includes/admin-dashboard.php:71
156
- #: includes/admin-dashboard.php:179
 
 
 
 
 
 
157
  msgid "State - Partial Cache"
158
  msgstr "状態 - 部分キャッシュ"
159
 
160
- #: includes/admin-dashboard-widget.php:58
161
- #: includes/admin-dashboard-widget.php:161 includes/admin-dashboard.php:72
162
- #: includes/admin-dashboard.php:180
 
 
 
 
 
 
163
  msgid "State - No Cache"
164
  msgstr "状態 - 未キャッシュ"
165
 
166
- #: includes/admin-dashboard-widget.php:98
167
- #: includes/admin-dashboard-widget.php:201 includes/admin-dashboard.php:112
168
- #: includes/admin-dashboard.php:220 includes/admin-hot-content.php:105
169
- #: includes/admin-setting.php:681 includes/admin-setting.php:1099
170
- #: includes/admin-setting.php:1587 includes/admin-share-count.php:132
171
- msgid "Twitter"
172
- msgstr "Twitter"
173
-
174
- #: includes/admin-dashboard-widget.php:101
175
- #: includes/admin-dashboard-widget.php:204 includes/admin-dashboard.php:115
176
- #: includes/admin-dashboard.php:223 includes/admin-hot-content.php:108
177
- #: includes/admin-setting.php:663 includes/admin-setting.php:1079
178
- #: includes/admin-setting.php:1567 includes/admin-share-count.php:135
179
- msgid "Facebook"
180
- msgstr "Facebook"
181
-
182
- #: includes/admin-dashboard-widget.php:104 includes/admin-dashboard.php:118
183
- #: includes/admin-hot-content.php:111 includes/admin-setting.php:666
184
- #: includes/admin-share-count.php:138
185
- msgid "Google+"
186
- msgstr "Google+"
187
-
188
- #: includes/admin-dashboard-widget.php:107 includes/admin-dashboard.php:121
189
- #: includes/admin-hot-content.php:114 includes/admin-setting.php:678
190
- #: includes/admin-setting.php:1095 includes/admin-share-count.php:141
191
- msgid "Pocket"
192
- msgstr "Pocket"
193
-
194
- #: includes/admin-dashboard-widget.php:110 includes/admin-dashboard.php:124
195
- #: includes/admin-hot-content.php:117 includes/admin-share-count.php:144
196
- msgid "Hatebu"
197
- msgstr "はてブ"
198
-
199
- #: includes/admin-dashboard-widget.php:113 includes/admin-dashboard.php:127
200
- #: includes/admin-hot-content.php:120 includes/admin-setting.php:675
201
- #: includes/admin-setting.php:1091 includes/admin-share-count.php:147
202
- msgid "Pinterest"
203
- msgstr "Pinterest"
204
-
205
- #: includes/admin-dashboard-widget.php:116 includes/admin-dashboard.php:130
206
- #: includes/admin-hot-content.php:123 includes/admin-setting.php:672
207
- #: includes/admin-setting.php:1087 includes/admin-share-count.php:150
208
- msgid "Linkedin"
209
- msgstr "Linkedin"
210
-
211
- #: includes/admin-dashboard-widget.php:119 includes/admin-dashboard.php:133
212
- #: includes/admin-hot-content.php:126 includes/admin-share-count.php:153
213
- msgid "Total"
214
- msgstr "合計"
215
 
216
- #: includes/admin-dashboard-widget.php:151 includes/admin-dashboard.php:169
217
  msgid "Follow"
218
  msgstr "Follow"
219
 
220
- #: includes/admin-dashboard-widget.php:187 includes/admin-dashboard.php:206
 
 
221
  msgid "Follower Count"
222
  msgstr "フォロワー数"
223
 
224
- #: includes/admin-dashboard-widget.php:207 includes/admin-dashboard.php:226
225
- #: includes/admin-setting.php:1571
226
- msgid "Feedly"
227
- msgstr "Feedly"
228
-
229
- #: includes/admin-dashboard-widget.php:210 includes/admin-dashboard.php:229
230
- #: includes/admin-setting.php:1575
231
- msgid "Instagram"
232
- msgstr "Instagram"
233
-
234
- #: includes/admin-dashboard-widget.php:213 includes/admin-dashboard.php:235
235
- #: includes/admin-setting.php:1583
236
- msgid "Push7"
237
- msgstr "Push7"
238
-
239
- #: includes/admin-dashboard-widget.php:216 includes/admin-dashboard.php:232
240
- #: includes/admin-setting.php:1579
241
- msgid "OneSignal"
242
- msgstr "OneSignal"
243
-
244
  #: includes/admin-help.php:53
245
  msgid "What is WordPress plugin SNS Cout Cache?"
246
  msgstr "WordPressプラグイン SNS Count Cacheとは何か?"
@@ -269,11 +244,11 @@ msgstr "シェア数を取得、キャッシュする頻度は?"
269
 
270
  #: includes/admin-help.php:56
271
  msgid ""
272
- "Although this plugin gets share count of 20 posts at a time every 10 minutes "
273
  "by default, you can modify the setting in the \"Setting\" tab in the "
274
  "administration page."
275
  msgstr ""
276
- "デフォルトで10分ごとに20記事のシェア数を取得しますが、管理ページの「設定」タ"
277
  "ブにてその取得間隔と一度に取得対象とする記事数を変更できます。"
278
 
279
  #: includes/admin-help.php:57
@@ -316,14 +291,26 @@ msgstr "以下は、そのキャッシュ状況に関する説明です。"
316
  msgid "Description"
317
  msgstr "説明"
318
 
 
 
 
 
319
  #: includes/admin-help.php:71
320
  msgid "Counts for configured all SNS are cached."
321
  msgstr "設定した全てのSNSのカウントがキャッシュされている。"
322
 
 
 
 
 
323
  #: includes/admin-help.php:72
324
  msgid "A subset of counts for configured SNS are cached."
325
  msgstr "設定したSNSの内、一部のSNSのカウントがキャッシュされている。"
326
 
 
 
 
 
327
  #: includes/admin-help.php:73
328
  msgid "Count for configured SNS are not cached at all."
329
  msgstr "設定したSNSのカウントが全くキャッシュされていない。"
@@ -502,59 +489,59 @@ msgstr "Linkedinのシェア数にアクセスするためのMeta Key"
502
  msgid "A meta key to access variation of total share count"
503
  msgstr "シェア数合計の増減数にアクセスするためのMeta Key"
504
 
505
- #: includes/admin-hot-content.php:273 includes/admin-hot-content.php:302
506
- #: includes/admin-hot-content.php:320 includes/admin-setting.php:695
507
- #: includes/admin-setting.php:732 includes/admin-setting.php:891
508
- #: includes/admin-setting.php:906 includes/admin-share-count.php:203
509
- #: includes/admin-share-count.php:217 includes/admin-share-count.php:249
510
- #: includes/admin-share-count.php:263 includes/admin-share-count.php:273
511
- #: includes/admin-share-count.php:305 includes/admin-share-count.php:319
512
- #: includes/admin-share-count.php:351 includes/admin-share-count.php:365
513
- #: includes/admin-share-count.php:375 includes/admin-share-count.php:420
514
- #: includes/admin-share-count.php:451
515
  msgid "N/A"
516
  msgstr "N/A"
517
 
518
- #: includes/admin-hot-content.php:316
519
  msgid "No hot content."
520
  msgstr "話題のコンテンツはありません。"
521
 
522
- #: includes/admin-setting.php:40 includes/admin-setting.php:1153
523
- #: includes/admin-setting.php:1200 includes/admin-setting.php:1243
524
- #: includes/admin-setting.php:1291 includes/admin-setting.php:1552
525
- #: includes/admin-setting.php:1600 includes/admin-setting.php:1678
526
- #: includes/admin-setting.php:1711 includes/admin-setting.php:1780
527
- #: includes/admin-setting.php:1820 includes/admin-setting.php:1849
528
- #: includes/admin-setting.php:1919 includes/admin-setting.php:2184
529
- #: includes/admin-setting.php:2206 includes/admin-setting.php:2227
530
- #: includes/admin-setting.php:2277 includes/admin-setting.php:2565
531
  msgid "Update All Options"
532
  msgstr "設定の更新"
533
 
534
- #: includes/admin-setting.php:427 includes/admin-setting.php:2620
535
  msgid "Reset"
536
  msgstr "リセット"
537
 
538
- #: includes/admin-setting.php:433 includes/admin-setting.php:2602
539
  msgid "Export"
540
  msgstr "エクスポート"
541
 
542
- #: includes/admin-setting.php:443 includes/admin-setting.php:453
543
- #: includes/admin-setting.php:1553 includes/admin-setting.php:2185
544
  msgid "Update Basis of Comparison"
545
  msgstr "比較基準の更新"
546
 
547
- #: includes/admin-setting.php:463 includes/admin-setting.php:476
548
- #: includes/admin-setting.php:1154 includes/admin-setting.php:1602
549
  msgid "Clear Cache"
550
  msgstr "キャッシュの消去"
551
 
552
- #: includes/admin-setting.php:498 includes/admin-setting.php:1893
553
- #: includes/admin-setting.php:1921
554
  msgid "Get Bearer Token"
555
  msgstr "Bearer Tokenの取得"
556
 
557
- #: includes/admin-setting.php:554
558
  msgid ""
559
  "There was a problem spawning a call to the WP-Cron system on your site. This "
560
  "means WP-Cron jobs on your site may not work. The problem was: "
@@ -562,7 +549,7 @@ msgstr ""
562
  "あなたのサイト上でWP-Cronシステムの呼び出し処理に問題が見つかりました。あなた"
563
  "のサイト上でWP-Cronジョブが動作しない可能性があります。問題は次の通りです。"
564
 
565
- #: includes/admin-setting.php:564
566
  msgid ""
567
  "Configuratin is not enough to get share count. Please set required "
568
  "parameters at "
@@ -570,13 +557,13 @@ msgstr ""
570
  "シェア数を取得するために必要な設定が不足しています。次のセクションで必要なパ"
571
  "ラメータを設定して下さい。"
572
 
573
- #: includes/admin-setting.php:565 includes/admin-setting.php:1161
574
  msgid "Share Base Cache - Facebook"
575
  msgstr "シェア基本キャッシュ - Facebook"
576
 
577
- #: includes/admin-setting.php:575 includes/admin-setting.php:586
578
- #: includes/admin-setting.php:597 includes/admin-setting.php:608
579
- #: includes/admin-setting.php:619
580
  msgid ""
581
  "Configuratin is not enough to get follower count. Please set required "
582
  "parameters at "
@@ -584,346 +571,384 @@ msgstr ""
584
  "フォロワー数を取得するために必要な設定が不足しています。次のセクションで必要"
585
  "なパラメータを設定して下さい。"
586
 
587
- #: includes/admin-setting.php:576 includes/admin-setting.php:1719
588
  msgid "Follow Base Cache - Instagram"
589
  msgstr "フォロー基本キャシュ機能 - Instagram"
590
 
591
- #: includes/admin-setting.php:587 includes/admin-setting.php:899
592
- #: includes/admin-setting.php:1609
593
  msgid "Follow Base Cache - Facebook"
594
  msgstr "フォロー基本キャッシュ機能 - Facebook"
595
 
596
- #: includes/admin-setting.php:598 includes/admin-setting.php:1828
597
  msgid "Follow Base Cache - Push7"
598
  msgstr "フォロー基本キャッシュ機能 - Push7"
599
 
600
- #: includes/admin-setting.php:609 includes/admin-setting.php:884
601
- #: includes/admin-setting.php:1857
602
  msgid "Follow Base Cache - Twitter"
603
  msgstr "フォロー基本キャッシュ機能 - Twitter"
604
 
605
- #: includes/admin-setting.php:620 includes/admin-setting.php:1791
606
  msgid "Follow Base Cache - OneSignal"
607
  msgstr "フォロー基本キャッシュ機能 - OneSignal"
608
 
609
- #: includes/admin-setting.php:639 includes/admin-setting.php:644
610
  msgid "Current Setting"
611
  msgstr "現在の設定"
612
 
613
- #: includes/admin-setting.php:639 includes/admin-setting.php:656
614
- #: includes/admin-setting.php:688 includes/admin-setting.php:701
615
- #: includes/admin-setting.php:706 includes/admin-setting.php:711
616
- #: includes/admin-setting.php:725 includes/admin-setting.php:1071
617
  msgid "Share Base Cache"
618
  msgstr "シェア基本キャッシュ機能"
619
 
620
- #: includes/admin-setting.php:639 includes/admin-setting.php:758
621
- #: includes/admin-setting.php:771 includes/admin-setting.php:779
622
- #: includes/admin-setting.php:1250
623
  msgid "Share Rush Cache"
624
  msgstr "シェア臨時キャッシュ機能"
625
 
626
- #: includes/admin-setting.php:639 includes/admin-setting.php:785
627
- #: includes/admin-setting.php:808 includes/admin-setting.php:1297
628
  msgid "Share Variation Analysis"
629
  msgstr "シェア変動分析機能"
630
 
631
- #: includes/admin-setting.php:639 includes/admin-setting.php:816
632
- #: includes/admin-setting.php:844 includes/admin-setting.php:1559
633
  msgid "Follow Base Cache"
634
  msgstr "フォロー基本キャッシュ機能"
635
 
636
- #: includes/admin-setting.php:639 includes/admin-setting.php:913
637
- #: includes/admin-setting.php:937 includes/admin-setting.php:1929
638
  msgid "Follow Variation Analysis"
639
  msgstr "フォロー変動分析機能"
640
 
641
- #: includes/admin-setting.php:639 includes/admin-setting.php:945
642
- #: includes/admin-setting.php:2191
643
  msgid "Dynamic Cache"
644
  msgstr "動的キャッシュ機能"
645
 
646
- #: includes/admin-setting.php:639 includes/admin-setting.php:962
647
- #: includes/admin-setting.php:2212
648
  msgid "Fault Tolerance"
649
  msgstr "フォールトトレランス機能"
650
 
651
- #: includes/admin-setting.php:639 includes/admin-setting.php:979
652
- #: includes/admin-setting.php:995 includes/admin-setting.php:1023
653
- #: includes/admin-setting.php:2233
654
  msgid "Data Crawler"
655
  msgstr "データクローラ機能"
656
 
657
- #: includes/admin-setting.php:639 includes/admin-setting.php:1036
658
- #: includes/admin-setting.php:1054 includes/admin-setting.php:2283
659
  msgid "Data Export"
660
  msgstr "データエクスポート機能"
661
 
662
- #: includes/admin-setting.php:639 includes/admin-setting.php:2574
663
  msgid "Exported File"
664
  msgstr "エクスポートされたファイル"
665
 
666
- #: includes/admin-setting.php:649
667
  msgid "Capability"
668
  msgstr "機能"
669
 
670
- #: includes/admin-setting.php:650
671
  msgid "Parameter"
672
  msgstr "パラメータ"
673
 
674
- #: includes/admin-setting.php:651
675
  msgid "Value"
676
  msgstr "値"
677
 
678
- #: includes/admin-setting.php:657 includes/admin-setting.php:817
679
- #: includes/admin-setting.php:1075 includes/admin-setting.php:1563
680
  msgid "Target SNS"
681
  msgstr "対象SNS"
682
 
683
- #: includes/admin-setting.php:669 includes/admin-setting.php:1083
 
 
 
 
 
 
 
 
 
 
684
  msgid "Hatena Bookmark"
685
  msgstr "はてなブックマーク"
686
 
687
- #: includes/admin-setting.php:689 includes/admin-setting.php:1104
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
688
  msgid "Custom post types"
689
  msgstr "カスタム投稿タイプ"
690
 
691
- #: includes/admin-setting.php:702 includes/admin-setting.php:772
692
- #: includes/admin-setting.php:1112 includes/admin-setting.php:1276
693
  msgid "Interval cheking share count (sec)"
694
  msgstr "シェア数のチェック間隔(秒)"
695
 
696
- #: includes/admin-setting.php:703 includes/admin-setting.php:775
697
- #: includes/admin-setting.php:846
698
  msgid "seconds"
699
  msgstr "秒"
700
 
701
- #: includes/admin-setting.php:707 includes/admin-setting.php:780
702
- #: includes/admin-setting.php:1119 includes/admin-setting.php:1283
703
  msgid "Number of contents to check at a time"
704
  msgstr "一度にチェックするコンテンツ数"
705
 
706
- #: includes/admin-setting.php:708 includes/admin-setting.php:781
707
  msgid "contents"
708
  msgstr "コンテンツ"
709
 
710
- #: includes/admin-setting.php:712 includes/admin-setting.php:1126
711
  msgid "Scheme migration mode from http to https"
712
  msgstr "HTTPからHTTPSへのスキーム移行モード"
713
 
714
- #: includes/admin-setting.php:716 includes/admin-setting.php:1028
715
- #: includes/admin-setting.php:1130 includes/admin-setting.php:2270
716
  msgid "On"
717
  msgstr "有効"
718
 
719
- #: includes/admin-setting.php:718 includes/admin-setting.php:1030
720
- #: includes/admin-setting.php:1129 includes/admin-setting.php:2269
721
  msgid "Off"
722
  msgstr "無効"
723
 
724
- #: includes/admin-setting.php:726 includes/admin-setting.php:1137
725
  msgid "Scheme migration date from http to https"
726
  msgstr "HTTPからHTTPSへのスキーム移行日"
727
 
728
- #: includes/admin-setting.php:740 includes/admin-setting.php:1208
729
  msgid "Share Base Cache - Twitter"
730
  msgstr "シェア基本キャッシュ機能 - Twitter"
731
 
732
- #: includes/admin-setting.php:741 includes/admin-setting.php:1212
733
  msgid "Alternative Twitter API"
734
  msgstr "代替Twitter API"
735
 
736
- #: includes/admin-setting.php:759 includes/admin-setting.php:1254
737
  msgid "Term considering posted content as new content"
738
  msgstr "投稿日からコンテンツを新着とみなす期間"
739
 
740
- #: includes/admin-setting.php:763
741
  msgid "day"
742
  msgstr "日"
743
 
744
- #: includes/admin-setting.php:765
745
  msgid "days"
746
  msgstr "日"
747
 
748
- #: includes/admin-setting.php:786 includes/admin-setting.php:914
749
- #: includes/admin-setting.php:1301 includes/admin-setting.php:1933
750
  msgid "Method to update basis of comparison"
751
  msgstr "比較基準の更新方式"
752
 
753
- #: includes/admin-setting.php:790 includes/admin-setting.php:799
754
- #: includes/admin-setting.php:918 includes/admin-setting.php:927
755
- #: includes/admin-setting.php:1304 includes/admin-setting.php:1936
756
  msgid "Disabled (None)"
757
  msgstr "無効(なし)"
758
 
759
- #: includes/admin-setting.php:793 includes/admin-setting.php:921
760
- #: includes/admin-setting.php:1305 includes/admin-setting.php:1937
761
  msgid "Enabled (Manual)"
762
  msgstr "有効(手動)"
763
 
764
- #: includes/admin-setting.php:796 includes/admin-setting.php:924
765
- #: includes/admin-setting.php:1306 includes/admin-setting.php:1938
766
  msgid "Enabled (Scheduler)"
767
  msgstr "有効(スケジューラ)"
768
 
769
- #: includes/admin-setting.php:809 includes/admin-setting.php:938
770
  msgid "Schedule"
771
  msgstr "スケジュール"
772
 
773
- #: includes/admin-setting.php:845 includes/admin-setting.php:1592
774
  msgid "Interval cheking follower count (sec)"
775
  msgstr "フォロワー数のチェック間隔(秒)"
776
 
777
- #: includes/admin-setting.php:850 includes/admin-setting.php:877
778
- #: includes/admin-setting.php:1689
779
  msgid "Follow Base Cache - Feedly"
780
  msgstr "フォロー基本キャッシュ機能 - Feedly"
781
 
782
- #: includes/admin-setting.php:851 includes/admin-setting.php:1693
783
  msgid "Target feed type"
784
  msgstr "対象フィードタイプ"
785
 
786
- #: includes/admin-setting.php:856 includes/admin-setting.php:871
787
- #: includes/admin-setting.php:1696
788
  msgid "Default"
789
  msgstr "デフォルト"
790
 
791
- #: includes/admin-setting.php:859 includes/admin-setting.php:1697
792
  msgid "RSS"
793
  msgstr "RSS"
794
 
795
- #: includes/admin-setting.php:862 includes/admin-setting.php:1698
796
  msgid "RSS2"
797
  msgstr "RSS2"
798
 
799
- #: includes/admin-setting.php:865 includes/admin-setting.php:1699
800
  msgid "RDF"
801
  msgstr "RDF"
802
 
803
- #: includes/admin-setting.php:868 includes/admin-setting.php:1700
804
  msgid "ATOM"
805
  msgstr "ATOM"
806
 
807
- #: includes/admin-setting.php:878 includes/admin-setting.php:1706
808
  msgid "Target feed"
809
  msgstr "対象フィード"
810
 
811
- #: includes/admin-setting.php:885
812
  msgid "Target screen name"
813
  msgstr "対象スクリーンネーム"
814
 
815
- #: includes/admin-setting.php:900 includes/admin-setting.php:1613
816
  msgid "Page ID"
817
  msgstr "対象ページID"
818
 
819
- #: includes/admin-setting.php:946 includes/admin-setting.php:2195
820
  msgid "Dynamic caching based on user access"
821
  msgstr "ユーザアクセスをトリガとする動的キャッシュ"
822
 
823
- #: includes/admin-setting.php:950 includes/admin-setting.php:956
824
- #: includes/admin-setting.php:967 includes/admin-setting.php:973
825
- #: includes/admin-setting.php:2198 includes/admin-setting.php:2219
 
826
  msgid "Disabled"
827
  msgstr "無効"
828
 
829
- #: includes/admin-setting.php:953 includes/admin-setting.php:970
830
- #: includes/admin-setting.php:2199 includes/admin-setting.php:2220
 
 
831
  msgid "Enabled"
832
  msgstr "有効"
833
 
834
- #: includes/admin-setting.php:963
835
  msgid "Fault tolerance of count retrieval"
836
  msgstr "カウント取得における障害耐性"
837
 
838
- #: includes/admin-setting.php:980 includes/admin-setting.php:2237
839
  msgid "Crawl method"
840
  msgstr "クロールの方式"
841
 
842
- #: includes/admin-setting.php:985 includes/admin-setting.php:2242
843
  msgid "Normal (Sequential Retrieval)"
844
  msgstr "標準(逐次検索)"
845
 
846
- #: includes/admin-setting.php:988 includes/admin-setting.php:2245
847
  msgid "Extended (Parallel Retrieval)"
848
  msgstr "拡張(並列検索)"
849
 
850
- #: includes/admin-setting.php:996 includes/admin-setting.php:2252
851
  msgid "Crawl retry limit"
852
  msgstr "クロールの再試行上限"
853
 
854
- #: includes/admin-setting.php:1001 includes/admin-setting.php:2255
855
  msgid "no retry"
856
  msgstr "再試行なし"
857
 
858
- #: includes/admin-setting.php:1004 includes/admin-setting.php:2256
859
  msgid "1 time"
860
  msgstr "1回"
861
 
862
- #: includes/admin-setting.php:1007 includes/admin-setting.php:1013
863
- #: includes/admin-setting.php:2257
864
  msgid "2 times"
865
  msgstr "2回"
866
 
867
- #: includes/admin-setting.php:1010 includes/admin-setting.php:2258
868
  msgid "3 times"
869
  msgstr "3回"
870
 
871
- #: includes/admin-setting.php:1016 includes/admin-setting.php:2260
872
  msgid "5 times"
873
  msgstr "5回"
874
 
875
- #: includes/admin-setting.php:1024 includes/admin-setting.php:2266
876
  msgid "SSL verification"
877
  msgstr "SSL証明書の検証"
878
 
879
- #: includes/admin-setting.php:1037 includes/admin-setting.php:2287
 
 
 
 
880
  msgid "Method of data export"
881
  msgstr "データのエクスポート方式"
882
 
883
- #: includes/admin-setting.php:1041 includes/admin-setting.php:2290
884
  msgid "Manual"
885
  msgstr "手動"
886
 
887
- #: includes/admin-setting.php:1044 includes/admin-setting.php:1341
888
- #: includes/admin-setting.php:1973 includes/admin-setting.php:2291
889
- #: includes/admin-setting.php:2326
890
  msgid "Scheduler"
891
  msgstr "スケジューラ"
892
 
893
- #: includes/admin-setting.php:1055
894
  msgid "Interval exporting share count to a csv file"
895
  msgstr "シェア数をCSVファイルにエクスポートする間隔"
896
 
897
- #: includes/admin-setting.php:1056
898
  msgid "hours"
899
  msgstr "時間"
900
 
901
- #: includes/admin-setting.php:1108
902
  msgid "e.g. aaa, bbb, ccc (comma-delimited)"
903
  msgstr "例. aaa, bbb, ccc(カンマ区切り)"
904
 
905
- #: includes/admin-setting.php:1115 includes/admin-setting.php:1279
906
  msgid "Default: 900"
907
  msgstr "既定値: 900"
908
 
909
- #: includes/admin-setting.php:1122
910
  msgid "Default: 15"
911
  msgstr "既定値: 15"
912
 
913
- #: includes/admin-setting.php:1132
914
  msgid "Default: Off"
915
  msgstr "既定値: 無効"
916
 
917
- #: includes/admin-setting.php:1140
918
  msgid "Default: N/A"
919
  msgstr "既定値: N/A"
920
 
921
- #: includes/admin-setting.php:1165 includes/admin-setting.php:1621
922
- #: includes/admin-setting.php:1723 includes/admin-setting.php:1870
923
  msgid "Developer page"
924
  msgstr "開発者向けページ"
925
 
926
- #: includes/admin-setting.php:1169 includes/admin-setting.php:1625
927
  msgid ""
928
  "Register a application in Facebook developer page to get the following App "
929
  "ID and App Secret."
@@ -931,41 +956,41 @@ msgstr ""
931
  "以下のApp IDとApp Secretを取得するために、Facebook開発者向けページでアプリ"
932
  "ケーションを登録して下さい。"
933
 
934
- #: includes/admin-setting.php:1173 includes/admin-setting.php:1629
935
  msgid "App ID"
936
  msgstr "App ID"
937
 
938
- #: includes/admin-setting.php:1177 includes/admin-setting.php:1633
939
  msgid "App ID for Facebook API"
940
  msgstr "Facebook API用のApp ID"
941
 
942
- #: includes/admin-setting.php:1181 includes/admin-setting.php:1637
943
  msgid "App Secret"
944
  msgstr "App Secret"
945
 
946
- #: includes/admin-setting.php:1185 includes/admin-setting.php:1641
947
  msgid "App Secret for Facebook API"
948
  msgstr "Facebook API用のApp Secret"
949
 
950
- #: includes/admin-setting.php:1190 includes/admin-setting.php:1654
951
- #: includes/admin-setting.php:1668 includes/admin-setting.php:1756
952
- #: includes/admin-setting.php:1770
953
  msgid "Access Token"
954
  msgstr "Access Token"
955
 
956
- #: includes/admin-setting.php:1194 includes/admin-setting.php:1672
957
  msgid "Access Token for Facebook API"
958
  msgstr "Facebook API用のAccess Token"
959
 
960
- #: includes/admin-setting.php:1220
961
  msgid "Default: widgetoon.js & count.jsoon"
962
  msgstr "既定値: widgetoon.js & count.jsoon"
963
 
964
- #: includes/admin-setting.php:1224
965
  msgid "Registration destination"
966
  msgstr "登録先"
967
 
968
- #: includes/admin-setting.php:1238
969
  msgid ""
970
  "You need to register information such as your domain with the above site in "
971
  "order to start counting."
@@ -973,315 +998,331 @@ msgstr ""
973
  "カウントを開始するためには、上記サイトにドメイン等の情報を登録する必要があり"
974
  "ます。"
975
 
976
- #: includes/admin-setting.php:1257
977
  msgid "1 day"
978
  msgstr "1日"
979
 
980
- #: includes/admin-setting.php:1258
981
  msgid "2 days"
982
  msgstr "2日"
983
 
984
- #: includes/admin-setting.php:1259
985
  msgid "3 days"
986
  msgstr "3日"
987
 
988
- #: includes/admin-setting.php:1260
989
  msgid "4 days"
990
  msgstr "4日"
991
 
992
- #: includes/admin-setting.php:1261
993
  msgid "5 days"
994
  msgstr "5日"
995
 
996
- #: includes/admin-setting.php:1262
997
  msgid "6 days"
998
  msgstr "6日"
999
 
1000
- #: includes/admin-setting.php:1263
1001
  msgid "7 days"
1002
  msgstr "7日"
1003
 
1004
- #: includes/admin-setting.php:1264
1005
  msgid "8 days"
1006
  msgstr "8日"
1007
 
1008
- #: includes/admin-setting.php:1265
1009
  msgid "9 days"
1010
  msgstr "9日"
1011
 
1012
- #: includes/admin-setting.php:1266
1013
  msgid "10 days"
1014
  msgstr "10日"
1015
 
1016
- #: includes/admin-setting.php:1267
1017
  msgid "11 days"
1018
  msgstr "11日"
1019
 
1020
- #: includes/admin-setting.php:1268
1021
  msgid "12 days"
1022
  msgstr "12日"
1023
 
1024
- #: includes/admin-setting.php:1269
1025
  msgid "13 days"
1026
  msgstr "13日"
1027
 
1028
- #: includes/admin-setting.php:1270
1029
  msgid "14 days"
1030
  msgstr "14日"
1031
 
1032
- #: includes/admin-setting.php:1272
1033
  msgid "Default: 3 days"
1034
  msgstr "既定値: 3日"
1035
 
1036
- #: includes/admin-setting.php:1286
1037
  msgid "Default: 10"
1038
  msgstr "既定値: 10"
1039
 
1040
- #: includes/admin-setting.php:1308 includes/admin-setting.php:1940
1041
  msgid "Default: Disabled (None)"
1042
  msgstr "既定値: 無効(なし)"
1043
 
1044
- #: includes/admin-setting.php:1346 includes/admin-setting.php:1978
1045
- #: includes/admin-setting.php:2331
1046
  msgid "Type"
1047
  msgstr "タイプ"
1048
 
1049
- #: includes/admin-setting.php:1351 includes/admin-setting.php:1983
1050
- #: includes/admin-setting.php:2336
1051
  msgid "Hour"
1052
  msgstr "時"
1053
 
1054
- #: includes/admin-setting.php:1354 includes/admin-setting.php:1986
1055
- #: includes/admin-setting.php:2339
1056
  msgid "Minute"
1057
  msgstr "分"
1058
 
1059
- #: includes/admin-setting.php:1360 includes/admin-setting.php:1992
1060
- #: includes/admin-setting.php:2345
1061
  msgid "monthly"
1062
  msgstr "毎月"
1063
 
1064
- #: includes/admin-setting.php:1371 includes/admin-setting.php:2003
1065
- #: includes/admin-setting.php:2356
1066
  msgid "on 1."
1067
  msgstr "1日"
1068
 
1069
- #: includes/admin-setting.php:1374 includes/admin-setting.php:2006
1070
- #: includes/admin-setting.php:2359
1071
  msgid "on 2."
1072
  msgstr "2日"
1073
 
1074
- #: includes/admin-setting.php:1377 includes/admin-setting.php:2009
1075
- #: includes/admin-setting.php:2362
1076
  msgid "on 3."
1077
  msgstr "3日"
1078
 
1079
- #: includes/admin-setting.php:1380 includes/admin-setting.php:2012
1080
- #: includes/admin-setting.php:2365
1081
  msgid "on 4."
1082
  msgstr "4日"
1083
 
1084
- #: includes/admin-setting.php:1383 includes/admin-setting.php:2015
1085
- #: includes/admin-setting.php:2368
1086
  msgid "on 5."
1087
  msgstr "5日"
1088
 
1089
- #: includes/admin-setting.php:1386 includes/admin-setting.php:2018
1090
- #: includes/admin-setting.php:2371
1091
  msgid "on 6."
1092
  msgstr "6日"
1093
 
1094
- #: includes/admin-setting.php:1389 includes/admin-setting.php:2021
1095
- #: includes/admin-setting.php:2374
1096
  msgid "on 7."
1097
  msgstr "7日"
1098
 
1099
- #: includes/admin-setting.php:1392 includes/admin-setting.php:2024
1100
- #: includes/admin-setting.php:2377
1101
  msgid "on 8."
1102
  msgstr "8日"
1103
 
1104
- #: includes/admin-setting.php:1395 includes/admin-setting.php:2027
1105
- #: includes/admin-setting.php:2380
1106
  msgid "on 9."
1107
  msgstr "9日"
1108
 
1109
- #: includes/admin-setting.php:1398 includes/admin-setting.php:2030
1110
- #: includes/admin-setting.php:2383
1111
  msgid "on 10."
1112
  msgstr "10日"
1113
 
1114
- #: includes/admin-setting.php:1401 includes/admin-setting.php:2033
1115
- #: includes/admin-setting.php:2386
1116
  msgid "on 11."
1117
  msgstr "11日"
1118
 
1119
- #: includes/admin-setting.php:1404 includes/admin-setting.php:2036
1120
- #: includes/admin-setting.php:2389
1121
  msgid "on 12."
1122
  msgstr "12日"
1123
 
1124
- #: includes/admin-setting.php:1407 includes/admin-setting.php:2039
1125
- #: includes/admin-setting.php:2392
1126
  msgid "on 13."
1127
  msgstr "13日"
1128
 
1129
- #: includes/admin-setting.php:1410 includes/admin-setting.php:2042
1130
- #: includes/admin-setting.php:2395
1131
  msgid "on 14."
1132
  msgstr "14日"
1133
 
1134
- #: includes/admin-setting.php:1413 includes/admin-setting.php:2045
1135
- #: includes/admin-setting.php:2398
1136
  msgid "on 15."
1137
  msgstr "15日"
1138
 
1139
- #: includes/admin-setting.php:1416 includes/admin-setting.php:2048
1140
- #: includes/admin-setting.php:2401
1141
  msgid "on 16."
1142
  msgstr "16日"
1143
 
1144
- #: includes/admin-setting.php:1419 includes/admin-setting.php:2051
1145
- #: includes/admin-setting.php:2404
1146
  msgid "on 17."
1147
  msgstr "17日"
1148
 
1149
- #: includes/admin-setting.php:1422 includes/admin-setting.php:2054
1150
- #: includes/admin-setting.php:2407
1151
  msgid "on 18."
1152
  msgstr "18日"
1153
 
1154
- #: includes/admin-setting.php:1425 includes/admin-setting.php:2057
1155
- #: includes/admin-setting.php:2410
1156
  msgid "on 19."
1157
  msgstr "19日"
1158
 
1159
- #: includes/admin-setting.php:1428 includes/admin-setting.php:2060
1160
- #: includes/admin-setting.php:2413
1161
  msgid "on 20."
1162
  msgstr "20日"
1163
 
1164
- #: includes/admin-setting.php:1431 includes/admin-setting.php:2063
1165
- #: includes/admin-setting.php:2416
1166
  msgid "on 21."
1167
  msgstr "21日"
1168
 
1169
- #: includes/admin-setting.php:1434 includes/admin-setting.php:2066
1170
- #: includes/admin-setting.php:2419
1171
  msgid "on 22."
1172
  msgstr "22日"
1173
 
1174
- #: includes/admin-setting.php:1437 includes/admin-setting.php:2069
1175
- #: includes/admin-setting.php:2422
1176
  msgid "on 23."
1177
  msgstr "23日"
1178
 
1179
- #: includes/admin-setting.php:1440 includes/admin-setting.php:2072
1180
- #: includes/admin-setting.php:2425
1181
  msgid "on 24."
1182
  msgstr "24日"
1183
 
1184
- #: includes/admin-setting.php:1443 includes/admin-setting.php:2075
1185
- #: includes/admin-setting.php:2428
1186
  msgid "on 25."
1187
  msgstr "25日"
1188
 
1189
- #: includes/admin-setting.php:1446 includes/admin-setting.php:2078
1190
- #: includes/admin-setting.php:2431
1191
  msgid "on 26."
1192
  msgstr "26日"
1193
 
1194
- #: includes/admin-setting.php:1449 includes/admin-setting.php:2081
1195
- #: includes/admin-setting.php:2434
1196
  msgid "on 27."
1197
  msgstr "27日"
1198
 
1199
- #: includes/admin-setting.php:1452 includes/admin-setting.php:2084
1200
- #: includes/admin-setting.php:2437
1201
  msgid "on 28."
1202
  msgstr "28日"
1203
 
1204
- #: includes/admin-setting.php:1455 includes/admin-setting.php:2087
1205
- #: includes/admin-setting.php:2440
1206
  msgid "on 29."
1207
  msgstr "29日"
1208
 
1209
- #: includes/admin-setting.php:1458 includes/admin-setting.php:2090
1210
- #: includes/admin-setting.php:2443
1211
  msgid "on 30."
1212
  msgstr "30日"
1213
 
1214
- #: includes/admin-setting.php:1461 includes/admin-setting.php:2093
1215
- #: includes/admin-setting.php:2446
1216
  msgid "on 31."
1217
  msgstr "31日"
1218
 
1219
- #: includes/admin-setting.php:1488 includes/admin-setting.php:2120
1220
- #: includes/admin-setting.php:2477
1221
  msgid "weekly"
1222
  msgstr "毎週"
1223
 
1224
- #: includes/admin-setting.php:1494 includes/admin-setting.php:2126
1225
- #: includes/admin-setting.php:2483
1226
  msgid "Sunday"
1227
  msgstr "日曜日"
1228
 
1229
- #: includes/admin-setting.php:1495 includes/admin-setting.php:2127
1230
- #: includes/admin-setting.php:2484
1231
  msgid "Monday"
1232
  msgstr "月曜日"
1233
 
1234
- #: includes/admin-setting.php:1496 includes/admin-setting.php:2128
1235
- #: includes/admin-setting.php:2485
1236
  msgid "Tuesday"
1237
  msgstr "火曜日"
1238
 
1239
- #: includes/admin-setting.php:1497 includes/admin-setting.php:2129
1240
- #: includes/admin-setting.php:2486
1241
  msgid "Wednesday"
1242
  msgstr "水曜日"
1243
 
1244
- #: includes/admin-setting.php:1498 includes/admin-setting.php:2130
1245
- #: includes/admin-setting.php:2487
1246
  msgid "Thursday"
1247
  msgstr "木曜日"
1248
 
1249
- #: includes/admin-setting.php:1499 includes/admin-setting.php:2131
1250
- #: includes/admin-setting.php:2488
1251
  msgid "Friday"
1252
  msgstr "金曜日"
1253
 
1254
- #: includes/admin-setting.php:1500 includes/admin-setting.php:2132
1255
- #: includes/admin-setting.php:2489
1256
  msgid "Saturday"
1257
  msgstr "土曜日"
1258
 
1259
- #: includes/admin-setting.php:1522 includes/admin-setting.php:2154
1260
- #: includes/admin-setting.php:2515
1261
  msgid "daily"
1262
  msgstr "毎日"
1263
 
1264
- #: includes/admin-setting.php:1595
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1265
  msgid "Default: 86400 Minimum: 3600"
1266
  msgstr "既定値: 86400 最小値: 3600"
1267
 
1268
- #: includes/admin-setting.php:1617
1269
  msgid "Facebook page ID that you want to get follower count"
1270
  msgstr "フォロワー数取得対象のFacebookページID"
1271
 
1272
- #: includes/admin-setting.php:1645 includes/admin-setting.php:1747
1273
  msgid "Redirect URI"
1274
  msgstr "Redirect URI"
1275
 
1276
- #: includes/admin-setting.php:1647 includes/admin-setting.php:1657
1277
- #: includes/admin-setting.php:1749 includes/admin-setting.php:1759
1278
- #: includes/admin-setting.php:1898
1279
  msgid "To copy, click the field then press Ctrl + C (PC) or Cmd + C (Mac)."
1280
  msgstr ""
1281
  "フィールドをクリック後、Ctrl + C (PC)、またはCmd + C (Mac)を押下しコピーして"
1282
  "下さい。"
1283
 
1284
- #: includes/admin-setting.php:1649
1285
  msgid ""
1286
  "Copy and set this to the field of \"Valid OAuth redirect URIs\" in "
1287
  "application management page of Facebook developer page."
@@ -1289,20 +1330,20 @@ msgstr ""
1289
  "Facebook開発者向けページ内のアプリケーション管理ページにて「有効なOAuthリダイ"
1290
  "レクトURI」フィールドにこのURIを設定して下さい。"
1291
 
1292
- #: includes/admin-setting.php:1659 includes/admin-setting.php:1761
1293
- #: includes/admin-setting.php:1900
1294
  msgid "Copy and pase this into the fields below."
1295
  msgstr "以下のフィールドにコピー&ペーストして下さい。"
1296
 
1297
- #: includes/admin-setting.php:1680 includes/admin-setting.php:1782
1298
  msgid "Get Access Token"
1299
  msgstr "Access Tokenの取得"
1300
 
1301
- #: includes/admin-setting.php:1702
1302
  msgid "Default: Default"
1303
  msgstr "既定値: デフォルト"
1304
 
1305
- #: includes/admin-setting.php:1727
1306
  msgid ""
1307
  "Register a client in Instagram developer page to get the following Client ID "
1308
  "and Client Secret."
@@ -1310,23 +1351,23 @@ msgstr ""
1310
  "以下のClient IDとClient Secretを取得するために、Instagram開発者向けページでク"
1311
  "ライアントを登録して下さい。"
1312
 
1313
- #: includes/admin-setting.php:1731
1314
  msgid "Client ID"
1315
  msgstr "Client ID"
1316
 
1317
- #: includes/admin-setting.php:1735
1318
  msgid "Client ID for Instagram API"
1319
  msgstr "Instagram API用のClient ID"
1320
 
1321
- #: includes/admin-setting.php:1739
1322
  msgid "Client Secret"
1323
  msgstr "Client Secret"
1324
 
1325
- #: includes/admin-setting.php:1743
1326
  msgid "Client Secret for Instagram API"
1327
  msgstr "Instagram API用のClient Secret"
1328
 
1329
- #: includes/admin-setting.php:1751
1330
  msgid ""
1331
  "Copy and set this to the field of \"Valid redirect URIs\" in the client "
1332
  "management page of Instagram developer page."
@@ -1334,15 +1375,15 @@ msgstr ""
1334
  "Instagram開発者向けページ内のクライアント管理ページにて「Valid redirect "
1335
  "URIs」フィールドにこのURIを設定して下さい。"
1336
 
1337
- #: includes/admin-setting.php:1774
1338
  msgid "Access Token for Instagram API"
1339
  msgstr "Instagram API用のAccess Token"
1340
 
1341
- #: includes/admin-setting.php:1795
1342
  msgid "Home page"
1343
  msgstr "ホームページ"
1344
 
1345
- #: includes/admin-setting.php:1799
1346
  msgid ""
1347
  "Register a application in OneSignal page to get the following App ID and "
1348
  "User Auth Key."
@@ -1350,49 +1391,49 @@ msgstr ""
1350
  "以下のApp IDとUser Auth Keyを取得するために、OneSignalページでアプリケーショ"
1351
  "ンを登録して下さい。"
1352
 
1353
- #: includes/admin-setting.php:1803
1354
  msgid "OneSignal App ID"
1355
  msgstr "OneSignal App ID"
1356
 
1357
- #: includes/admin-setting.php:1807
1358
  msgid "OneSignal app ID that you want to get follower count"
1359
  msgstr "フォロワー数取得対象のOneSignal App ID"
1360
 
1361
- #: includes/admin-setting.php:1811
1362
  msgid "REST API Key"
1363
  msgstr "REST API Key"
1364
 
1365
- #: includes/admin-setting.php:1815
1366
  msgid "REST API Key for OneSignal API"
1367
  msgstr "OneSignal API用のREST API Key"
1368
 
1369
- #: includes/admin-setting.php:1832
1370
  msgid "Push7 page"
1371
  msgstr "Push7ページ"
1372
 
1373
- #: includes/admin-setting.php:1836
1374
  msgid "Register a application in Push7 page to get the following App Number."
1375
  msgstr ""
1376
  "以下のApp Numberを取得するために、Push7のページでアプリケーションを登録して下"
1377
  "さい。"
1378
 
1379
- #: includes/admin-setting.php:1840
1380
  msgid "App Number"
1381
  msgstr "App Number"
1382
 
1383
- #: includes/admin-setting.php:1844
1384
  msgid "App Number for Push7 API"
1385
  msgstr "Push7 API用のApp Number"
1386
 
1387
- #: includes/admin-setting.php:1861
1388
  msgid "Screen Name"
1389
  msgstr "スクリーン名"
1390
 
1391
- #: includes/admin-setting.php:1866
1392
  msgid "Twitter screen name that you want to get follower count"
1393
  msgstr "フォロワー数を取得するTwitterのスクリーン名"
1394
 
1395
- #: includes/admin-setting.php:1874
1396
  msgid ""
1397
  "Register a application in Twitter developer page to get the following "
1398
  "Consumer Key and Consumer Secret."
@@ -1400,156 +1441,168 @@ msgstr ""
1400
  "以下のConsumer KeyとConsumer Secretを取得するために、Twitter開発者向けページ"
1401
  "でアプリケーションを登録して下さい。"
1402
 
1403
- #: includes/admin-setting.php:1878
1404
  msgid "API Key"
1405
  msgstr "API Key"
1406
 
1407
- #: includes/admin-setting.php:1882
1408
  msgid "API key for Twitter API"
1409
  msgstr "Twitter API用のAPI Key"
1410
 
1411
- #: includes/admin-setting.php:1886
1412
  msgid "API Secret Key"
1413
  msgstr "API Secret Key"
1414
 
1415
- #: includes/admin-setting.php:1890
1416
  msgid "API Secret Key for Twitter API"
1417
  msgstr "Twitter API用のAPI Secret Key"
1418
 
1419
- #: includes/admin-setting.php:1895 includes/admin-setting.php:1909
1420
  msgid "Bearer Token"
1421
  msgstr "Bearer Token"
1422
 
1423
- #: includes/admin-setting.php:1913
1424
  msgid "Bearer Token for Twitter API"
1425
  msgstr "Twitter API用のBearer Token"
1426
 
1427
- #: includes/admin-setting.php:2201 includes/admin-setting.php:2222
1428
  msgid "Default: Disabled"
1429
  msgstr "既定値: 無効"
1430
 
1431
- #: includes/admin-setting.php:2216
1432
  msgid "Fault tolerant mode of count retrieval"
1433
  msgstr "カウント取得における耐障害モード"
1434
 
1435
- #: includes/admin-setting.php:2259
1436
  msgid "4 times"
1437
  msgstr "4回"
1438
 
1439
- #: includes/admin-setting.php:2262
1440
  msgid "Default: no retry"
1441
  msgstr "既定値: 再試行なし"
1442
 
1443
- #: includes/admin-setting.php:2272
1444
  msgid "Default: On"
1445
  msgstr "既定値: 有効"
1446
 
1447
- #: includes/admin-setting.php:2293
 
 
 
 
1448
  msgid "Default: Manual"
1449
  msgstr "既定値: 手動"
1450
 
1451
- #: includes/admin-setting.php:2542
1452
  msgid "hourly"
1453
  msgstr "毎時"
1454
 
1455
- #: includes/admin-setting.php:2579
1456
  msgid "Disk usage of exported file"
1457
  msgstr "エクスポートされたファイルのディスク使用量"
1458
 
1459
- #: includes/admin-setting.php:2588
1460
  msgid "No exported file"
1461
  msgstr "エクスポートされたファイルは存在しません。"
1462
 
1463
- #: includes/admin-setting.php:2600
1464
  msgid "Manual export"
1465
  msgstr "手動エクスポート"
1466
 
1467
- #: includes/admin-setting.php:2604
1468
  msgid "Export share count to a csv file."
1469
  msgstr "シェア数をCSVファイルにエクスポートします。"
1470
 
1471
- #: includes/admin-setting.php:2618
1472
  msgid "Reset of exported file"
1473
  msgstr "エクスポートされたファイルのリセット"
1474
 
1475
- #: includes/admin-setting.php:2622
1476
  msgid "Clear exported csv file."
1477
  msgstr "エクスポートされたCSVファイルを削除します。"
1478
 
1479
- #: includes/admin-setting.php:2633
1480
  msgid "Download of exported file"
1481
  msgstr "エクスポートされたファイルのダウンロード"
1482
 
1483
- #: includes/admin-setting.php:2635 includes/download.php:40
1484
  msgid "Download"
1485
  msgstr "ダウンロード"
1486
 
1487
- #: includes/admin-setting.php:2637
1488
  msgid "Download the exported csv file."
1489
  msgstr "エクスポートされたCSVファイルをダウンロードします。"
1490
 
1491
- #: includes/class-scc-wp-cron.php:278
1492
  #, php-format
1493
  msgid "The %s constant is set to true. WP-Cron spawning is disabled."
1494
- msgstr ""
1495
 
1496
- #: includes/class-scc-wp-cron.php:282
1497
  #, php-format
1498
  msgid "The %s constant is set to true."
1499
- msgstr ""
1500
 
1501
- #: includes/class-scc-wp-cron.php:312
1502
  #, php-format
1503
  msgid "Unexpected HTTP response code: %s"
1504
- msgstr ""
1505
 
1506
  #: includes/download.php:70 includes/download.php:73 index.php:42 index.php:50
1507
- #: index.php:53 index.php:56 index.php:59 sns-count-cache.php:1997
1508
- #: sns-count-cache.php:2010 sns-count-cache.php:2022 sns-count-cache.php:2034
1509
- #: sns-count-cache.php:2046 sns-count-cache.php:2058 sns-count-cache.php:2070
1510
- #: sns-count-cache.php:2082
1511
  msgid "You do not have sufficient permissions to access this page."
1512
  msgstr "このページにアクセスするために必要な権限がありません。"
1513
 
1514
- #: sns-count-cache.php:1950
1515
  msgid "Dashboard | SNS Count Cache"
1516
  msgstr "ダッシュボード | SNS Count Cache"
1517
 
1518
- #: sns-count-cache.php:1951
1519
  msgid "Cache Status | SNS Count Cache"
1520
  msgstr "キャッシュ状況 | SNS Count Cache"
1521
 
1522
- #: sns-count-cache.php:1952
1523
  msgid "Share Count | SNS Count Cache"
1524
  msgstr "シェア数 | SNS Count Cache"
1525
 
1526
- #: sns-count-cache.php:1955
1527
  msgid "Hot Content | SNS Count Cache"
1528
  msgstr "話題のコンテンツ | SNS Count Cache"
1529
 
1530
- #: sns-count-cache.php:1958
1531
  msgid "Setting | SNS Count Cache"
1532
  msgstr "設定 | SNS Count Cache"
1533
 
1534
- #: sns-count-cache.php:1959
1535
  msgid "Help | SNS Count Cache"
1536
  msgstr "ヘルプ | SNS Count Cache"
1537
 
1538
- #: sns-count-cache.php:2533 sns-count-cache.php:2541 sns-count-cache.php:2713
1539
- #: sns-count-cache.php:2721
1540
  msgid "Completed"
1541
  msgstr "完了"
1542
 
1543
- #: sns-count-cache.php:2535 sns-count-cache.php:2543 sns-count-cache.php:2715
1544
- #: sns-count-cache.php:2723
1545
  msgid "Partially Completed"
1546
  msgstr "部分完了"
1547
 
1548
- #: sns-count-cache.php:2537 sns-count-cache.php:2545 sns-count-cache.php:2717
1549
- #: sns-count-cache.php:2725
1550
  msgid "Ongoing"
1551
  msgstr "進行中"
1552
 
 
 
 
 
 
 
 
 
1553
  #. Plugin URI of the plugin/theme
1554
  msgid "https://wordpress.org/plugins/sns-count-cache/"
1555
  msgstr "https://wordpress.org/plugins/sns-count-cache/"
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: SNS Count Cache\n"
4
+ "POT-Creation-Date: 2019-05-11 12:12+0900\n"
5
+ "PO-Revision-Date: 2019-05-11 12:13+0900\n"
6
  "Last-Translator: Daisuke Maruyama <marubon@gmail.com>\n"
7
  "Language-Team: Daisuke Maruyama <marubon@gmail.com>\n"
8
  "Language: ja\n"
23
  #. Plugin Name of the plugin/theme
24
  #: includes/admin-cache-status.php:69 includes/admin-dashboard.php:45
25
  #: includes/admin-help.php:36 includes/admin-hot-content.php:70
26
+ #: includes/admin-setting.php:532 includes/admin-share-count.php:69
27
+ #: sns-count-cache.php:2009
28
  msgid "SNS Count Cache"
29
  msgstr "SNS Count Cache"
30
 
31
  #: includes/admin-cache-status.php:72 includes/admin-dashboard.php:49
32
  #: includes/admin-help.php:39 includes/admin-hot-content.php:73
33
+ #: includes/admin-setting.php:639 includes/admin-share-count.php:72
34
+ #: sns-count-cache.php:2010
35
  msgid "Dashboard"
36
  msgstr "ダッシュボード"
37
 
38
  #: includes/admin-cache-status.php:73 includes/admin-cache-status.php:84
39
  #: includes/admin-dashboard-widget.php:49
40
+ #: includes/admin-dashboard-widget.php:134 includes/admin-dashboard.php:50
41
+ #: includes/admin-dashboard.php:63 includes/admin-dashboard.php:153
42
  #: includes/admin-help.php:40 includes/admin-help.php:66
43
+ #: includes/admin-hot-content.php:74 includes/admin-setting.php:640
44
+ #: includes/admin-share-count.php:73 sns-count-cache.php:2011
45
  msgid "Cache Status"
46
  msgstr "キャッシュ状況"
47
 
48
+ #: includes/admin-cache-status.php:74 includes/admin-dashboard-widget.php:87
49
+ #: includes/admin-dashboard-widget.php:110 includes/admin-dashboard.php:51
50
+ #: includes/admin-dashboard.php:101 includes/admin-dashboard.php:124
51
  #: includes/admin-help.php:41 includes/admin-hot-content.php:75
52
+ #: includes/admin-setting.php:641 includes/admin-share-count.php:74
53
+ #: includes/admin-share-count.php:84 sns-count-cache.php:2012
54
  msgid "Share Count"
55
  msgstr "シェア数"
56
 
57
  #: includes/admin-cache-status.php:76 includes/admin-dashboard.php:53
58
  #: includes/admin-help.php:43 includes/admin-hot-content.php:76
59
+ #: includes/admin-hot-content.php:83 includes/admin-setting.php:643
60
+ #: includes/admin-share-count.php:76 sns-count-cache.php:2015
61
  msgid "Hot Content"
62
  msgstr "話題のコンテンツ"
63
 
64
  #: includes/admin-cache-status.php:78 includes/admin-dashboard.php:55
65
  #: includes/admin-help.php:45 includes/admin-hot-content.php:77
66
+ #: includes/admin-setting.php:645 includes/admin-share-count.php:78
67
+ #: sns-count-cache.php:2018 sns-count-cache.php:2033
68
  msgid "Setting"
69
  msgstr "設定"
70
 
71
  #: includes/admin-cache-status.php:79 includes/admin-dashboard.php:56
72
  #: includes/admin-help.php:46 includes/admin-help.php:51
73
+ #: includes/admin-hot-content.php:78 includes/admin-setting.php:646
74
+ #: includes/admin-share-count.php:79 sns-count-cache.php:2019
75
  msgid "Help"
76
  msgstr "ヘルプ"
77
 
80
  msgid "Content"
81
  msgstr "コンテンツ"
82
 
83
+ #: includes/admin-cache-status.php:94 includes/admin-cache-status.php:136
84
+ #: includes/admin-cache-status.php:140 includes/admin-cache-status.php:144
85
+ #: includes/admin-cache-status.php:150 includes/admin-cache-status.php:220
86
+ #: includes/admin-cache-status.php:238 includes/admin-cache-status.php:242
87
+ #: includes/admin-cache-status.php:246 includes/admin-dashboard-widget.php:65
88
+ #: includes/admin-dashboard-widget.php:150 includes/admin-dashboard.php:79
89
+ #: includes/admin-dashboard.php:169
90
  msgid "Primary Cache"
91
  msgstr "一次キャッシュ"
92
 
93
+ #: includes/admin-cache-status.php:95 includes/admin-cache-status.php:177
94
+ #: includes/admin-cache-status.php:181 includes/admin-cache-status.php:185
95
+ #: includes/admin-cache-status.php:270 includes/admin-cache-status.php:274
96
+ #: includes/admin-cache-status.php:278 includes/admin-dashboard-widget.php:76
97
+ #: includes/admin-dashboard-widget.php:161 includes/admin-dashboard.php:90
98
+ #: includes/admin-dashboard.php:180
99
  msgid "Secondary Cache"
100
  msgstr "二次キャッシュ"
101
 
102
+ #: includes/admin-cache-status.php:96 includes/admin-cache-status.php:191
103
+ #: includes/admin-cache-status.php:195 includes/admin-cache-status.php:284
104
+ #: includes/admin-cache-status.php:293 includes/admin-cache-status.php:297
105
  msgid "Crawl Date"
106
  msgstr "クロール日時"
107
 
108
  #: includes/admin-cache-status.php:137 includes/admin-cache-status.php:178
109
  #: includes/admin-cache-status.php:239 includes/admin-cache-status.php:271
110
+ msgid "Full cache"
 
111
  msgstr "完全キャッシュ"
112
 
113
  #: includes/admin-cache-status.php:141 includes/admin-cache-status.php:182
114
  #: includes/admin-cache-status.php:243 includes/admin-cache-status.php:275
115
+ msgid "Partial cache"
 
116
  msgstr "部分キャッシュ"
117
 
118
  #: includes/admin-cache-status.php:145 includes/admin-cache-status.php:151
119
  #: includes/admin-cache-status.php:186 includes/admin-cache-status.php:221
120
  #: includes/admin-cache-status.php:247 includes/admin-cache-status.php:279
121
+ msgid "No cache"
 
122
  msgstr "未キャッシュ"
123
 
124
  #: includes/admin-cache-status.php:196 includes/admin-cache-status.php:298
126
  msgstr "データなし"
127
 
128
  #: includes/admin-cache-status.php:203 includes/admin-cache-status.php:306
129
+ #: includes/admin-setting.php:492 includes/admin-setting.php:1653
130
  msgid "Cache"
131
  msgstr "キャッシュ"
132
 
134
  msgid "Share"
135
  msgstr "Share"
136
 
137
+ #: includes/admin-dashboard-widget.php:54
138
+ #: includes/admin-dashboard-widget.php:139 includes/admin-dashboard.php:68
139
+ #: includes/admin-dashboard.php:158
140
  msgid "Cache Type"
141
  msgstr "キャッシュタイプ"
142
 
143
+ #: includes/admin-dashboard-widget.php:55
144
+ #: includes/admin-dashboard-widget.php:66
145
+ #: includes/admin-dashboard-widget.php:77
146
+ #: includes/admin-dashboard-widget.php:140
147
+ #: includes/admin-dashboard-widget.php:151
148
+ #: includes/admin-dashboard-widget.php:162 includes/admin-dashboard.php:69
149
+ #: includes/admin-dashboard.php:80 includes/admin-dashboard.php:91
150
+ #: includes/admin-dashboard.php:159 includes/admin-dashboard.php:170
151
+ #: includes/admin-dashboard.php:181
152
  msgid "Cache Progress"
153
  msgstr "キャッシュ進捗"
154
 
155
+ #: includes/admin-dashboard-widget.php:56
156
+ #: includes/admin-dashboard-widget.php:69
157
+ #: includes/admin-dashboard-widget.php:80
158
+ #: includes/admin-dashboard-widget.php:141
159
+ #: includes/admin-dashboard-widget.php:154
160
+ #: includes/admin-dashboard-widget.php:165 includes/admin-dashboard.php:70
161
+ #: includes/admin-dashboard.php:83 includes/admin-dashboard.php:94
162
+ #: includes/admin-dashboard.php:160 includes/admin-dashboard.php:173
163
+ #: includes/admin-dashboard.php:184
164
  msgid "Total Content"
165
  msgstr "総コンテンツ数"
166
 
167
+ #: includes/admin-dashboard-widget.php:57
168
+ #: includes/admin-dashboard-widget.php:70
169
+ #: includes/admin-dashboard-widget.php:81
170
+ #: includes/admin-dashboard-widget.php:142
171
+ #: includes/admin-dashboard-widget.php:155
172
+ #: includes/admin-dashboard-widget.php:166 includes/admin-dashboard.php:71
173
+ #: includes/admin-dashboard.php:84 includes/admin-dashboard.php:95
174
+ #: includes/admin-dashboard.php:161 includes/admin-dashboard.php:174
175
+ #: includes/admin-dashboard.php:185
176
  msgid "State - Full Cache"
177
  msgstr "状態 - 完全キャッシュ"
178
 
179
+ #: includes/admin-dashboard-widget.php:58
180
+ #: includes/admin-dashboard-widget.php:71
181
+ #: includes/admin-dashboard-widget.php:82
182
+ #: includes/admin-dashboard-widget.php:143
183
+ #: includes/admin-dashboard-widget.php:156
184
+ #: includes/admin-dashboard-widget.php:167 includes/admin-dashboard.php:72
185
+ #: includes/admin-dashboard.php:85 includes/admin-dashboard.php:96
186
+ #: includes/admin-dashboard.php:162 includes/admin-dashboard.php:175
187
+ #: includes/admin-dashboard.php:186
188
  msgid "State - Partial Cache"
189
  msgstr "状態 - 部分キャッシュ"
190
 
191
+ #: includes/admin-dashboard-widget.php:59
192
+ #: includes/admin-dashboard-widget.php:72
193
+ #: includes/admin-dashboard-widget.php:83
194
+ #: includes/admin-dashboard-widget.php:144
195
+ #: includes/admin-dashboard-widget.php:157
196
+ #: includes/admin-dashboard-widget.php:168 includes/admin-dashboard.php:73
197
+ #: includes/admin-dashboard.php:86 includes/admin-dashboard.php:97
198
+ #: includes/admin-dashboard.php:163 includes/admin-dashboard.php:176
199
+ #: includes/admin-dashboard.php:187
200
  msgid "State - No Cache"
201
  msgstr "状態 - 未キャッシュ"
202
 
203
+ #: includes/admin-dashboard-widget.php:92
204
+ #: includes/admin-dashboard-widget.php:177 includes/admin-dashboard.php:106
205
+ #: includes/admin-dashboard.php:196
206
+ msgid "SNS"
207
+ msgstr "SNS"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
 
209
+ #: includes/admin-dashboard-widget.php:133 includes/admin-dashboard.php:151
210
  msgid "Follow"
211
  msgstr "Follow"
212
 
213
+ #: includes/admin-dashboard-widget.php:172
214
+ #: includes/admin-dashboard-widget.php:195 includes/admin-dashboard.php:191
215
+ #: includes/admin-dashboard.php:214
216
  msgid "Follower Count"
217
  msgstr "フォロワー数"
218
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
219
  #: includes/admin-help.php:53
220
  msgid "What is WordPress plugin SNS Cout Cache?"
221
  msgstr "WordPressプラグイン SNS Count Cacheとは何か?"
244
 
245
  #: includes/admin-help.php:56
246
  msgid ""
247
+ "Although this plugin gets share count of 15 posts at a time every 15 minutes "
248
  "by default, you can modify the setting in the \"Setting\" tab in the "
249
  "administration page."
250
  msgstr ""
251
+ "デフォルトで15分ごとに15記事のシェア数を取得しますが、管理ページの「設定」タ"
252
  "ブにてその取得間隔と一度に取得対象とする記事数を変更できます。"
253
 
254
  #: includes/admin-help.php:57
291
  msgid "Description"
292
  msgstr "説明"
293
 
294
+ #: includes/admin-help.php:71
295
+ msgid "full cache"
296
+ msgstr "完全キャッシュ"
297
+
298
  #: includes/admin-help.php:71
299
  msgid "Counts for configured all SNS are cached."
300
  msgstr "設定した全てのSNSのカウントがキャッシュされている。"
301
 
302
+ #: includes/admin-help.php:72
303
+ msgid "partial cache"
304
+ msgstr "部分キャッシュ"
305
+
306
  #: includes/admin-help.php:72
307
  msgid "A subset of counts for configured SNS are cached."
308
  msgstr "設定したSNSの内、一部のSNSのカウントがキャッシュされている。"
309
 
310
+ #: includes/admin-help.php:73
311
+ msgid "no cache"
312
+ msgstr "未キャッシュ"
313
+
314
  #: includes/admin-help.php:73
315
  msgid "Count for configured SNS are not cached at all."
316
  msgstr "設定したSNSのカウントが全くキャッシュされていない。"
489
  msgid "A meta key to access variation of total share count"
490
  msgstr "シェア数合計の増減数にアクセスするためのMeta Key"
491
 
492
+ #: includes/admin-hot-content.php:248 includes/admin-hot-content.php:279
493
+ #: includes/admin-hot-content.php:299 includes/admin-setting.php:708
494
+ #: includes/admin-setting.php:749 includes/admin-setting.php:917
495
+ #: includes/admin-setting.php:933 includes/admin-share-count.php:178
496
+ #: includes/admin-share-count.php:194 includes/admin-share-count.php:228
497
+ #: includes/admin-share-count.php:244 includes/admin-share-count.php:256
498
+ #: includes/admin-share-count.php:290 includes/admin-share-count.php:307
499
+ #: includes/admin-share-count.php:341 includes/admin-share-count.php:357
500
+ #: includes/admin-share-count.php:369 includes/admin-share-count.php:418
501
+ #: includes/admin-share-count.php:453
502
  msgid "N/A"
503
  msgstr "N/A"
504
 
505
+ #: includes/admin-hot-content.php:293
506
  msgid "No hot content."
507
  msgstr "話題のコンテンツはありません。"
508
 
509
+ #: includes/admin-setting.php:40 includes/admin-setting.php:1208
510
+ #: includes/admin-setting.php:1255 includes/admin-setting.php:1295
511
+ #: includes/admin-setting.php:1343 includes/admin-setting.php:1604
512
+ #: includes/admin-setting.php:1652 includes/admin-setting.php:1730
513
+ #: includes/admin-setting.php:1763 includes/admin-setting.php:1832
514
+ #: includes/admin-setting.php:1872 includes/admin-setting.php:1901
515
+ #: includes/admin-setting.php:1971 includes/admin-setting.php:2236
516
+ #: includes/admin-setting.php:2258 includes/admin-setting.php:2279
517
+ #: includes/admin-setting.php:2339 includes/admin-setting.php:2627
518
  msgid "Update All Options"
519
  msgstr "設定の更新"
520
 
521
+ #: includes/admin-setting.php:431 includes/admin-setting.php:2682
522
  msgid "Reset"
523
  msgstr "リセット"
524
 
525
+ #: includes/admin-setting.php:437 includes/admin-setting.php:2664
526
  msgid "Export"
527
  msgstr "エクスポート"
528
 
529
+ #: includes/admin-setting.php:447 includes/admin-setting.php:457
530
+ #: includes/admin-setting.php:1605 includes/admin-setting.php:2237
531
  msgid "Update Basis of Comparison"
532
  msgstr "比較基準の更新"
533
 
534
+ #: includes/admin-setting.php:467 includes/admin-setting.php:480
535
+ #: includes/admin-setting.php:1209 includes/admin-setting.php:1654
536
  msgid "Clear Cache"
537
  msgstr "キャッシュの消去"
538
 
539
+ #: includes/admin-setting.php:502 includes/admin-setting.php:1945
540
+ #: includes/admin-setting.php:1973
541
  msgid "Get Bearer Token"
542
  msgstr "Bearer Tokenの取得"
543
 
544
+ #: includes/admin-setting.php:563
545
  msgid ""
546
  "There was a problem spawning a call to the WP-Cron system on your site. This "
547
  "means WP-Cron jobs on your site may not work. The problem was: "
549
  "あなたのサイト上でWP-Cronシステムの呼び出し処理に問題が見つかりました。あなた"
550
  "のサイト上でWP-Cronジョブが動作しない可能性があります。問題は次の通りです。"
551
 
552
+ #: includes/admin-setting.php:574
553
  msgid ""
554
  "Configuratin is not enough to get share count. Please set required "
555
  "parameters at "
557
  "シェア数を取得するために必要な設定が不足しています。次のセクションで必要なパ"
558
  "ラメータを設定して下さい。"
559
 
560
+ #: includes/admin-setting.php:575 includes/admin-setting.php:1216
561
  msgid "Share Base Cache - Facebook"
562
  msgstr "シェア基本キャッシュ - Facebook"
563
 
564
+ #: includes/admin-setting.php:585 includes/admin-setting.php:596
565
+ #: includes/admin-setting.php:607 includes/admin-setting.php:618
566
+ #: includes/admin-setting.php:629
567
  msgid ""
568
  "Configuratin is not enough to get follower count. Please set required "
569
  "parameters at "
571
  "フォロワー数を取得するために必要な設定が不足しています。次のセクションで必要"
572
  "なパラメータを設定して下さい。"
573
 
574
+ #: includes/admin-setting.php:586 includes/admin-setting.php:1771
575
  msgid "Follow Base Cache - Instagram"
576
  msgstr "フォロー基本キャシュ機能 - Instagram"
577
 
578
+ #: includes/admin-setting.php:597 includes/admin-setting.php:926
579
+ #: includes/admin-setting.php:1661
580
  msgid "Follow Base Cache - Facebook"
581
  msgstr "フォロー基本キャッシュ機能 - Facebook"
582
 
583
+ #: includes/admin-setting.php:608 includes/admin-setting.php:1880
584
  msgid "Follow Base Cache - Push7"
585
  msgstr "フォロー基本キャッシュ機能 - Push7"
586
 
587
+ #: includes/admin-setting.php:619 includes/admin-setting.php:910
588
+ #: includes/admin-setting.php:1909
589
  msgid "Follow Base Cache - Twitter"
590
  msgstr "フォロー基本キャッシュ機能 - Twitter"
591
 
592
+ #: includes/admin-setting.php:630 includes/admin-setting.php:1843
593
  msgid "Follow Base Cache - OneSignal"
594
  msgstr "フォロー基本キャッシュ機能 - OneSignal"
595
 
596
+ #: includes/admin-setting.php:649 includes/admin-setting.php:654
597
  msgid "Current Setting"
598
  msgstr "現在の設定"
599
 
600
+ #: includes/admin-setting.php:649 includes/admin-setting.php:668
601
+ #: includes/admin-setting.php:701 includes/admin-setting.php:715
602
+ #: includes/admin-setting.php:721 includes/admin-setting.php:727
603
+ #: includes/admin-setting.php:742 includes/admin-setting.php:1126
604
  msgid "Share Base Cache"
605
  msgstr "シェア基本キャッシュ機能"
606
 
607
+ #: includes/admin-setting.php:649 includes/admin-setting.php:775
608
+ #: includes/admin-setting.php:789 includes/admin-setting.php:798
609
+ #: includes/admin-setting.php:1302
610
  msgid "Share Rush Cache"
611
  msgstr "シェア臨時キャッシュ機能"
612
 
613
+ #: includes/admin-setting.php:649 includes/admin-setting.php:805
614
+ #: includes/admin-setting.php:829 includes/admin-setting.php:1349
615
  msgid "Share Variation Analysis"
616
  msgstr "シェア変動分析機能"
617
 
618
+ #: includes/admin-setting.php:649 includes/admin-setting.php:838
619
+ #: includes/admin-setting.php:867 includes/admin-setting.php:1611
620
  msgid "Follow Base Cache"
621
  msgstr "フォロー基本キャッシュ機能"
622
 
623
+ #: includes/admin-setting.php:649 includes/admin-setting.php:941
624
+ #: includes/admin-setting.php:966 includes/admin-setting.php:1981
625
  msgid "Follow Variation Analysis"
626
  msgstr "フォロー変動分析機能"
627
 
628
+ #: includes/admin-setting.php:649 includes/admin-setting.php:975
629
+ #: includes/admin-setting.php:2243
630
  msgid "Dynamic Cache"
631
  msgstr "動的キャッシュ機能"
632
 
633
+ #: includes/admin-setting.php:649 includes/admin-setting.php:993
634
+ #: includes/admin-setting.php:2264
635
  msgid "Fault Tolerance"
636
  msgstr "フォールトトレランス機能"
637
 
638
+ #: includes/admin-setting.php:649 includes/admin-setting.php:1011
639
+ #: includes/admin-setting.php:1028 includes/admin-setting.php:1057
640
+ #: includes/admin-setting.php:1071 includes/admin-setting.php:2285
641
  msgid "Data Crawler"
642
  msgstr "データクローラ機能"
643
 
644
+ #: includes/admin-setting.php:649 includes/admin-setting.php:1090
645
+ #: includes/admin-setting.php:1109 includes/admin-setting.php:2345
646
  msgid "Data Export"
647
  msgstr "データエクスポート機能"
648
 
649
+ #: includes/admin-setting.php:649 includes/admin-setting.php:2636
650
  msgid "Exported File"
651
  msgstr "エクスポートされたファイル"
652
 
653
+ #: includes/admin-setting.php:660
654
  msgid "Capability"
655
  msgstr "機能"
656
 
657
+ #: includes/admin-setting.php:661
658
  msgid "Parameter"
659
  msgstr "パラメータ"
660
 
661
+ #: includes/admin-setting.php:662
662
  msgid "Value"
663
  msgstr "値"
664
 
665
+ #: includes/admin-setting.php:669 includes/admin-setting.php:839
666
+ #: includes/admin-setting.php:1130 includes/admin-setting.php:1615
667
  msgid "Target SNS"
668
  msgstr "対象SNS"
669
 
670
+ #: includes/admin-setting.php:675 includes/admin-setting.php:1134
671
+ #: includes/admin-setting.php:1619 sns-count-cache.php:2826
672
+ #: sns-count-cache.php:2850
673
+ msgid "Facebook"
674
+ msgstr "Facebook"
675
+
676
+ #: includes/admin-setting.php:678 sns-count-cache.php:2829
677
+ msgid "Google+"
678
+ msgstr "Google+"
679
+
680
+ #: includes/admin-setting.php:681 includes/admin-setting.php:1138
681
  msgid "Hatena Bookmark"
682
  msgstr "はてなブックマーク"
683
 
684
+ #: includes/admin-setting.php:684 includes/admin-setting.php:1142
685
+ #: sns-count-cache.php:2841
686
+ msgid "Linkedin"
687
+ msgstr "Linkedin"
688
+
689
+ #: includes/admin-setting.php:687 includes/admin-setting.php:1146
690
+ #: sns-count-cache.php:2838
691
+ msgid "Pinterest"
692
+ msgstr "Pinterest"
693
+
694
+ #: includes/admin-setting.php:690 includes/admin-setting.php:1150
695
+ #: sns-count-cache.php:2832
696
+ msgid "Pocket"
697
+ msgstr "Pocket"
698
+
699
+ #: includes/admin-setting.php:693 includes/admin-setting.php:1154
700
+ #: includes/admin-setting.php:1639 sns-count-cache.php:2823
701
+ #: sns-count-cache.php:2847
702
+ msgid "Twitter"
703
+ msgstr "Twitter"
704
+
705
+ #: includes/admin-setting.php:702 includes/admin-setting.php:1159
706
  msgid "Custom post types"
707
  msgstr "カスタム投稿タイプ"
708
 
709
+ #: includes/admin-setting.php:716 includes/admin-setting.php:790
710
+ #: includes/admin-setting.php:1167 includes/admin-setting.php:1328
711
  msgid "Interval cheking share count (sec)"
712
  msgstr "シェア数のチェック間隔(秒)"
713
 
714
+ #: includes/admin-setting.php:717 includes/admin-setting.php:793
715
+ #: includes/admin-setting.php:869
716
  msgid "seconds"
717
  msgstr "秒"
718
 
719
+ #: includes/admin-setting.php:722 includes/admin-setting.php:799
720
+ #: includes/admin-setting.php:1174 includes/admin-setting.php:1335
721
  msgid "Number of contents to check at a time"
722
  msgstr "一度にチェックするコンテンツ数"
723
 
724
+ #: includes/admin-setting.php:723 includes/admin-setting.php:800
725
  msgid "contents"
726
  msgstr "コンテンツ"
727
 
728
+ #: includes/admin-setting.php:728 includes/admin-setting.php:1181
729
  msgid "Scheme migration mode from http to https"
730
  msgstr "HTTPからHTTPSへのスキーム移行モード"
731
 
732
+ #: includes/admin-setting.php:732 includes/admin-setting.php:1062
733
+ #: includes/admin-setting.php:1185 includes/admin-setting.php:2322
734
  msgid "On"
735
  msgstr "有効"
736
 
737
+ #: includes/admin-setting.php:734 includes/admin-setting.php:1064
738
+ #: includes/admin-setting.php:1184 includes/admin-setting.php:2321
739
  msgid "Off"
740
  msgstr "無効"
741
 
742
+ #: includes/admin-setting.php:743 includes/admin-setting.php:1192
743
  msgid "Scheme migration date from http to https"
744
  msgstr "HTTPからHTTPSへのスキーム移行日"
745
 
746
+ #: includes/admin-setting.php:758 includes/admin-setting.php:1263
747
  msgid "Share Base Cache - Twitter"
748
  msgstr "シェア基本キャッシュ機能 - Twitter"
749
 
750
+ #: includes/admin-setting.php:759 includes/admin-setting.php:1267
751
  msgid "Alternative Twitter API"
752
  msgstr "代替Twitter API"
753
 
754
+ #: includes/admin-setting.php:776 includes/admin-setting.php:1306
755
  msgid "Term considering posted content as new content"
756
  msgstr "投稿日からコンテンツを新着とみなす期間"
757
 
758
+ #: includes/admin-setting.php:780
759
  msgid "day"
760
  msgstr "日"
761
 
762
+ #: includes/admin-setting.php:782
763
  msgid "days"
764
  msgstr "日"
765
 
766
+ #: includes/admin-setting.php:806 includes/admin-setting.php:942
767
+ #: includes/admin-setting.php:1353 includes/admin-setting.php:1985
768
  msgid "Method to update basis of comparison"
769
  msgstr "比較基準の更新方式"
770
 
771
+ #: includes/admin-setting.php:810 includes/admin-setting.php:819
772
+ #: includes/admin-setting.php:946 includes/admin-setting.php:955
773
+ #: includes/admin-setting.php:1356 includes/admin-setting.php:1988
774
  msgid "Disabled (None)"
775
  msgstr "無効(なし)"
776
 
777
+ #: includes/admin-setting.php:813 includes/admin-setting.php:949
778
+ #: includes/admin-setting.php:1357 includes/admin-setting.php:1989
779
  msgid "Enabled (Manual)"
780
  msgstr "有効(手動)"
781
 
782
+ #: includes/admin-setting.php:816 includes/admin-setting.php:952
783
+ #: includes/admin-setting.php:1358 includes/admin-setting.php:1990
784
  msgid "Enabled (Scheduler)"
785
  msgstr "有効(スケジューラ)"
786
 
787
+ #: includes/admin-setting.php:830 includes/admin-setting.php:967
788
  msgid "Schedule"
789
  msgstr "スケジュール"
790
 
791
+ #: includes/admin-setting.php:868 includes/admin-setting.php:1644
792
  msgid "Interval cheking follower count (sec)"
793
  msgstr "フォロワー数のチェック間隔(秒)"
794
 
795
+ #: includes/admin-setting.php:874 includes/admin-setting.php:902
796
+ #: includes/admin-setting.php:1741
797
  msgid "Follow Base Cache - Feedly"
798
  msgstr "フォロー基本キャッシュ機能 - Feedly"
799
 
800
+ #: includes/admin-setting.php:875 includes/admin-setting.php:1745
801
  msgid "Target feed type"
802
  msgstr "対象フィードタイプ"
803
 
804
+ #: includes/admin-setting.php:880 includes/admin-setting.php:895
805
+ #: includes/admin-setting.php:1748
806
  msgid "Default"
807
  msgstr "デフォルト"
808
 
809
+ #: includes/admin-setting.php:883 includes/admin-setting.php:1749
810
  msgid "RSS"
811
  msgstr "RSS"
812
 
813
+ #: includes/admin-setting.php:886 includes/admin-setting.php:1750
814
  msgid "RSS2"
815
  msgstr "RSS2"
816
 
817
+ #: includes/admin-setting.php:889 includes/admin-setting.php:1751
818
  msgid "RDF"
819
  msgstr "RDF"
820
 
821
+ #: includes/admin-setting.php:892 includes/admin-setting.php:1752
822
  msgid "ATOM"
823
  msgstr "ATOM"
824
 
825
+ #: includes/admin-setting.php:903 includes/admin-setting.php:1758
826
  msgid "Target feed"
827
  msgstr "対象フィード"
828
 
829
+ #: includes/admin-setting.php:911
830
  msgid "Target screen name"
831
  msgstr "対象スクリーンネーム"
832
 
833
+ #: includes/admin-setting.php:927 includes/admin-setting.php:1665
834
  msgid "Page ID"
835
  msgstr "対象ページID"
836
 
837
+ #: includes/admin-setting.php:976 includes/admin-setting.php:2247
838
  msgid "Dynamic caching based on user access"
839
  msgstr "ユーザアクセスをトリガとする動的キャッシュ"
840
 
841
+ #: includes/admin-setting.php:980 includes/admin-setting.php:986
842
+ #: includes/admin-setting.php:998 includes/admin-setting.php:1004
843
+ #: includes/admin-setting.php:1077 includes/admin-setting.php:2250
844
+ #: includes/admin-setting.php:2271 includes/admin-setting.php:2331
845
  msgid "Disabled"
846
  msgstr "無効"
847
 
848
+ #: includes/admin-setting.php:983 includes/admin-setting.php:1001
849
+ #: includes/admin-setting.php:1080 includes/admin-setting.php:1083
850
+ #: includes/admin-setting.php:2251 includes/admin-setting.php:2272
851
+ #: includes/admin-setting.php:2332
852
  msgid "Enabled"
853
  msgstr "有効"
854
 
855
+ #: includes/admin-setting.php:994
856
  msgid "Fault tolerance of count retrieval"
857
  msgstr "カウント取得における障害耐性"
858
 
859
+ #: includes/admin-setting.php:1012 includes/admin-setting.php:2289
860
  msgid "Crawl method"
861
  msgstr "クロールの方式"
862
 
863
+ #: includes/admin-setting.php:1017 includes/admin-setting.php:2294
864
  msgid "Normal (Sequential Retrieval)"
865
  msgstr "標準(逐次検索)"
866
 
867
+ #: includes/admin-setting.php:1020 includes/admin-setting.php:2297
868
  msgid "Extended (Parallel Retrieval)"
869
  msgstr "拡張(並列検索)"
870
 
871
+ #: includes/admin-setting.php:1029 includes/admin-setting.php:2304
872
  msgid "Crawl retry limit"
873
  msgstr "クロールの再試行上限"
874
 
875
+ #: includes/admin-setting.php:1034 includes/admin-setting.php:2307
876
  msgid "no retry"
877
  msgstr "再試行なし"
878
 
879
+ #: includes/admin-setting.php:1037 includes/admin-setting.php:2308
880
  msgid "1 time"
881
  msgstr "1回"
882
 
883
+ #: includes/admin-setting.php:1040 includes/admin-setting.php:1046
884
+ #: includes/admin-setting.php:2309
885
  msgid "2 times"
886
  msgstr "2回"
887
 
888
+ #: includes/admin-setting.php:1043 includes/admin-setting.php:2310
889
  msgid "3 times"
890
  msgstr "3回"
891
 
892
+ #: includes/admin-setting.php:1049 includes/admin-setting.php:2312
893
  msgid "5 times"
894
  msgstr "5回"
895
 
896
+ #: includes/admin-setting.php:1058 includes/admin-setting.php:2318
897
  msgid "SSL verification"
898
  msgstr "SSL証明書の検証"
899
 
900
+ #: includes/admin-setting.php:1072 includes/admin-setting.php:2328
901
+ msgid "Crawl throttling mode"
902
+ msgstr "クロールスロットリングモード"
903
+
904
+ #: includes/admin-setting.php:1091 includes/admin-setting.php:2349
905
  msgid "Method of data export"
906
  msgstr "データのエクスポート方式"
907
 
908
+ #: includes/admin-setting.php:1095 includes/admin-setting.php:2352
909
  msgid "Manual"
910
  msgstr "手動"
911
 
912
+ #: includes/admin-setting.php:1098 includes/admin-setting.php:1393
913
+ #: includes/admin-setting.php:2025 includes/admin-setting.php:2353
914
+ #: includes/admin-setting.php:2388
915
  msgid "Scheduler"
916
  msgstr "スケジューラ"
917
 
918
+ #: includes/admin-setting.php:1110
919
  msgid "Interval exporting share count to a csv file"
920
  msgstr "シェア数をCSVファイルにエクスポートする間隔"
921
 
922
+ #: includes/admin-setting.php:1111
923
  msgid "hours"
924
  msgstr "時間"
925
 
926
+ #: includes/admin-setting.php:1163
927
  msgid "e.g. aaa, bbb, ccc (comma-delimited)"
928
  msgstr "例. aaa, bbb, ccc(カンマ区切り)"
929
 
930
+ #: includes/admin-setting.php:1170 includes/admin-setting.php:1331
931
  msgid "Default: 900"
932
  msgstr "既定値: 900"
933
 
934
+ #: includes/admin-setting.php:1177
935
  msgid "Default: 15"
936
  msgstr "既定値: 15"
937
 
938
+ #: includes/admin-setting.php:1187
939
  msgid "Default: Off"
940
  msgstr "既定値: 無効"
941
 
942
+ #: includes/admin-setting.php:1195
943
  msgid "Default: N/A"
944
  msgstr "既定値: N/A"
945
 
946
+ #: includes/admin-setting.php:1220 includes/admin-setting.php:1673
947
+ #: includes/admin-setting.php:1775 includes/admin-setting.php:1922
948
  msgid "Developer page"
949
  msgstr "開発者向けページ"
950
 
951
+ #: includes/admin-setting.php:1224 includes/admin-setting.php:1677
952
  msgid ""
953
  "Register a application in Facebook developer page to get the following App "
954
  "ID and App Secret."
956
  "以下のApp IDとApp Secretを取得するために、Facebook開発者向けページでアプリ"
957
  "ケーションを登録して下さい。"
958
 
959
+ #: includes/admin-setting.php:1228 includes/admin-setting.php:1681
960
  msgid "App ID"
961
  msgstr "App ID"
962
 
963
+ #: includes/admin-setting.php:1232 includes/admin-setting.php:1685
964
  msgid "App ID for Facebook API"
965
  msgstr "Facebook API用のApp ID"
966
 
967
+ #: includes/admin-setting.php:1236 includes/admin-setting.php:1689
968
  msgid "App Secret"
969
  msgstr "App Secret"
970
 
971
+ #: includes/admin-setting.php:1240 includes/admin-setting.php:1693
972
  msgid "App Secret for Facebook API"
973
  msgstr "Facebook API用のApp Secret"
974
 
975
+ #: includes/admin-setting.php:1245 includes/admin-setting.php:1706
976
+ #: includes/admin-setting.php:1720 includes/admin-setting.php:1808
977
+ #: includes/admin-setting.php:1822
978
  msgid "Access Token"
979
  msgstr "Access Token"
980
 
981
+ #: includes/admin-setting.php:1249 includes/admin-setting.php:1724
982
  msgid "Access Token for Facebook API"
983
  msgstr "Facebook API用のAccess Token"
984
 
985
+ #: includes/admin-setting.php:1274
986
  msgid "Default: widgetoon.js & count.jsoon"
987
  msgstr "既定値: widgetoon.js & count.jsoon"
988
 
989
+ #: includes/admin-setting.php:1278
990
  msgid "Registration destination"
991
  msgstr "登録先"
992
 
993
+ #: includes/admin-setting.php:1290
994
  msgid ""
995
  "You need to register information such as your domain with the above site in "
996
  "order to start counting."
998
  "カウントを開始するためには、上記サイトにドメイン等の情報を登録する必要があり"
999
  "ます。"
1000
 
1001
+ #: includes/admin-setting.php:1309
1002
  msgid "1 day"
1003
  msgstr "1日"
1004
 
1005
+ #: includes/admin-setting.php:1310
1006
  msgid "2 days"
1007
  msgstr "2日"
1008
 
1009
+ #: includes/admin-setting.php:1311
1010
  msgid "3 days"
1011
  msgstr "3日"
1012
 
1013
+ #: includes/admin-setting.php:1312
1014
  msgid "4 days"
1015
  msgstr "4日"
1016
 
1017
+ #: includes/admin-setting.php:1313
1018
  msgid "5 days"
1019
  msgstr "5日"
1020
 
1021
+ #: includes/admin-setting.php:1314
1022
  msgid "6 days"
1023
  msgstr "6日"
1024
 
1025
+ #: includes/admin-setting.php:1315
1026
  msgid "7 days"
1027
  msgstr "7日"
1028
 
1029
+ #: includes/admin-setting.php:1316
1030
  msgid "8 days"
1031
  msgstr "8日"
1032
 
1033
+ #: includes/admin-setting.php:1317
1034
  msgid "9 days"
1035
  msgstr "9日"
1036
 
1037
+ #: includes/admin-setting.php:1318
1038
  msgid "10 days"
1039
  msgstr "10日"
1040
 
1041
+ #: includes/admin-setting.php:1319
1042
  msgid "11 days"
1043
  msgstr "11日"
1044
 
1045
+ #: includes/admin-setting.php:1320
1046
  msgid "12 days"
1047
  msgstr "12日"
1048
 
1049
+ #: includes/admin-setting.php:1321
1050
  msgid "13 days"
1051
  msgstr "13日"
1052
 
1053
+ #: includes/admin-setting.php:1322
1054
  msgid "14 days"
1055
  msgstr "14日"
1056
 
1057
+ #: includes/admin-setting.php:1324
1058
  msgid "Default: 3 days"
1059
  msgstr "既定値: 3日"
1060
 
1061
+ #: includes/admin-setting.php:1338
1062
  msgid "Default: 10"
1063
  msgstr "既定値: 10"
1064
 
1065
+ #: includes/admin-setting.php:1360 includes/admin-setting.php:1992
1066
  msgid "Default: Disabled (None)"
1067
  msgstr "既定値: 無効(なし)"
1068
 
1069
+ #: includes/admin-setting.php:1398 includes/admin-setting.php:2030
1070
+ #: includes/admin-setting.php:2393
1071
  msgid "Type"
1072
  msgstr "タイプ"
1073
 
1074
+ #: includes/admin-setting.php:1403 includes/admin-setting.php:2035
1075
+ #: includes/admin-setting.php:2398
1076
  msgid "Hour"
1077
  msgstr "時"
1078
 
1079
+ #: includes/admin-setting.php:1406 includes/admin-setting.php:2038
1080
+ #: includes/admin-setting.php:2401
1081
  msgid "Minute"
1082
  msgstr "分"
1083
 
1084
+ #: includes/admin-setting.php:1412 includes/admin-setting.php:2044
1085
+ #: includes/admin-setting.php:2407
1086
  msgid "monthly"
1087
  msgstr "毎月"
1088
 
1089
+ #: includes/admin-setting.php:1423 includes/admin-setting.php:2055
1090
+ #: includes/admin-setting.php:2418
1091
  msgid "on 1."
1092
  msgstr "1日"
1093
 
1094
+ #: includes/admin-setting.php:1426 includes/admin-setting.php:2058
1095
+ #: includes/admin-setting.php:2421
1096
  msgid "on 2."
1097
  msgstr "2日"
1098
 
1099
+ #: includes/admin-setting.php:1429 includes/admin-setting.php:2061
1100
+ #: includes/admin-setting.php:2424
1101
  msgid "on 3."
1102
  msgstr "3日"
1103
 
1104
+ #: includes/admin-setting.php:1432 includes/admin-setting.php:2064
1105
+ #: includes/admin-setting.php:2427
1106
  msgid "on 4."
1107
  msgstr "4日"
1108
 
1109
+ #: includes/admin-setting.php:1435 includes/admin-setting.php:2067
1110
+ #: includes/admin-setting.php:2430
1111
  msgid "on 5."
1112
  msgstr "5日"
1113
 
1114
+ #: includes/admin-setting.php:1438 includes/admin-setting.php:2070
1115
+ #: includes/admin-setting.php:2433
1116
  msgid "on 6."
1117
  msgstr "6日"
1118
 
1119
+ #: includes/admin-setting.php:1441 includes/admin-setting.php:2073
1120
+ #: includes/admin-setting.php:2436
1121
  msgid "on 7."
1122
  msgstr "7日"
1123
 
1124
+ #: includes/admin-setting.php:1444 includes/admin-setting.php:2076
1125
+ #: includes/admin-setting.php:2439
1126
  msgid "on 8."
1127
  msgstr "8日"
1128
 
1129
+ #: includes/admin-setting.php:1447 includes/admin-setting.php:2079
1130
+ #: includes/admin-setting.php:2442
1131
  msgid "on 9."
1132
  msgstr "9日"
1133
 
1134
+ #: includes/admin-setting.php:1450 includes/admin-setting.php:2082
1135
+ #: includes/admin-setting.php:2445
1136
  msgid "on 10."
1137
  msgstr "10日"
1138
 
1139
+ #: includes/admin-setting.php:1453 includes/admin-setting.php:2085
1140
+ #: includes/admin-setting.php:2448
1141
  msgid "on 11."
1142
  msgstr "11日"
1143
 
1144
+ #: includes/admin-setting.php:1456 includes/admin-setting.php:2088
1145
+ #: includes/admin-setting.php:2451
1146
  msgid "on 12."
1147
  msgstr "12日"
1148
 
1149
+ #: includes/admin-setting.php:1459 includes/admin-setting.php:2091
1150
+ #: includes/admin-setting.php:2454
1151
  msgid "on 13."
1152
  msgstr "13日"
1153
 
1154
+ #: includes/admin-setting.php:1462 includes/admin-setting.php:2094
1155
+ #: includes/admin-setting.php:2457
1156
  msgid "on 14."
1157
  msgstr "14日"
1158
 
1159
+ #: includes/admin-setting.php:1465 includes/admin-setting.php:2097
1160
+ #: includes/admin-setting.php:2460
1161
  msgid "on 15."
1162
  msgstr "15日"
1163
 
1164
+ #: includes/admin-setting.php:1468 includes/admin-setting.php:2100
1165
+ #: includes/admin-setting.php:2463
1166
  msgid "on 16."
1167
  msgstr "16日"
1168
 
1169
+ #: includes/admin-setting.php:1471 includes/admin-setting.php:2103
1170
+ #: includes/admin-setting.php:2466
1171
  msgid "on 17."
1172
  msgstr "17日"
1173
 
1174
+ #: includes/admin-setting.php:1474 includes/admin-setting.php:2106
1175
+ #: includes/admin-setting.php:2469
1176
  msgid "on 18."
1177
  msgstr "18日"
1178
 
1179
+ #: includes/admin-setting.php:1477 includes/admin-setting.php:2109
1180
+ #: includes/admin-setting.php:2472
1181
  msgid "on 19."
1182
  msgstr "19日"
1183
 
1184
+ #: includes/admin-setting.php:1480 includes/admin-setting.php:2112
1185
+ #: includes/admin-setting.php:2475
1186
  msgid "on 20."
1187
  msgstr "20日"
1188
 
1189
+ #: includes/admin-setting.php:1483 includes/admin-setting.php:2115
1190
+ #: includes/admin-setting.php:2478
1191
  msgid "on 21."
1192
  msgstr "21日"
1193
 
1194
+ #: includes/admin-setting.php:1486 includes/admin-setting.php:2118
1195
+ #: includes/admin-setting.php:2481
1196
  msgid "on 22."
1197
  msgstr "22日"
1198
 
1199
+ #: includes/admin-setting.php:1489 includes/admin-setting.php:2121
1200
+ #: includes/admin-setting.php:2484
1201
  msgid "on 23."
1202
  msgstr "23日"
1203
 
1204
+ #: includes/admin-setting.php:1492 includes/admin-setting.php:2124
1205
+ #: includes/admin-setting.php:2487
1206
  msgid "on 24."
1207
  msgstr "24日"
1208
 
1209
+ #: includes/admin-setting.php:1495 includes/admin-setting.php:2127
1210
+ #: includes/admin-setting.php:2490
1211
  msgid "on 25."
1212
  msgstr "25日"
1213
 
1214
+ #: includes/admin-setting.php:1498 includes/admin-setting.php:2130
1215
+ #: includes/admin-setting.php:2493
1216
  msgid "on 26."
1217
  msgstr "26日"
1218
 
1219
+ #: includes/admin-setting.php:1501 includes/admin-setting.php:2133
1220
+ #: includes/admin-setting.php:2496
1221
  msgid "on 27."
1222
  msgstr "27日"
1223
 
1224
+ #: includes/admin-setting.php:1504 includes/admin-setting.php:2136
1225
+ #: includes/admin-setting.php:2499
1226
  msgid "on 28."
1227
  msgstr "28日"
1228
 
1229
+ #: includes/admin-setting.php:1507 includes/admin-setting.php:2139
1230
+ #: includes/admin-setting.php:2502
1231
  msgid "on 29."
1232
  msgstr "29日"
1233
 
1234
+ #: includes/admin-setting.php:1510 includes/admin-setting.php:2142
1235
+ #: includes/admin-setting.php:2505
1236
  msgid "on 30."
1237
  msgstr "30日"
1238
 
1239
+ #: includes/admin-setting.php:1513 includes/admin-setting.php:2145
1240
+ #: includes/admin-setting.php:2508
1241
  msgid "on 31."
1242
  msgstr "31日"
1243
 
1244
+ #: includes/admin-setting.php:1540 includes/admin-setting.php:2172
1245
+ #: includes/admin-setting.php:2539
1246
  msgid "weekly"
1247
  msgstr "毎週"
1248
 
1249
+ #: includes/admin-setting.php:1546 includes/admin-setting.php:2178
1250
+ #: includes/admin-setting.php:2545
1251
  msgid "Sunday"
1252
  msgstr "日曜日"
1253
 
1254
+ #: includes/admin-setting.php:1547 includes/admin-setting.php:2179
1255
+ #: includes/admin-setting.php:2546
1256
  msgid "Monday"
1257
  msgstr "月曜日"
1258
 
1259
+ #: includes/admin-setting.php:1548 includes/admin-setting.php:2180
1260
+ #: includes/admin-setting.php:2547
1261
  msgid "Tuesday"
1262
  msgstr "火曜日"
1263
 
1264
+ #: includes/admin-setting.php:1549 includes/admin-setting.php:2181
1265
+ #: includes/admin-setting.php:2548
1266
  msgid "Wednesday"
1267
  msgstr "水曜日"
1268
 
1269
+ #: includes/admin-setting.php:1550 includes/admin-setting.php:2182
1270
+ #: includes/admin-setting.php:2549
1271
  msgid "Thursday"
1272
  msgstr "木曜日"
1273
 
1274
+ #: includes/admin-setting.php:1551 includes/admin-setting.php:2183
1275
+ #: includes/admin-setting.php:2550
1276
  msgid "Friday"
1277
  msgstr "金曜日"
1278
 
1279
+ #: includes/admin-setting.php:1552 includes/admin-setting.php:2184
1280
+ #: includes/admin-setting.php:2551
1281
  msgid "Saturday"
1282
  msgstr "土曜日"
1283
 
1284
+ #: includes/admin-setting.php:1574 includes/admin-setting.php:2206
1285
+ #: includes/admin-setting.php:2577
1286
  msgid "daily"
1287
  msgstr "毎日"
1288
 
1289
+ #: includes/admin-setting.php:1623 sns-count-cache.php:2853
1290
+ msgid "Feedly"
1291
+ msgstr "Feedly"
1292
+
1293
+ #: includes/admin-setting.php:1627 sns-count-cache.php:2856
1294
+ msgid "Instagram"
1295
+ msgstr "Instagram"
1296
+
1297
+ #: includes/admin-setting.php:1631 sns-count-cache.php:2859
1298
+ msgid "OneSignal"
1299
+ msgstr "OneSignal"
1300
+
1301
+ #: includes/admin-setting.php:1635 sns-count-cache.php:2862
1302
+ msgid "Push7"
1303
+ msgstr "Push7"
1304
+
1305
+ #: includes/admin-setting.php:1647
1306
  msgid "Default: 86400 Minimum: 3600"
1307
  msgstr "既定値: 86400 最小値: 3600"
1308
 
1309
+ #: includes/admin-setting.php:1669
1310
  msgid "Facebook page ID that you want to get follower count"
1311
  msgstr "フォロワー数取得対象のFacebookページID"
1312
 
1313
+ #: includes/admin-setting.php:1697 includes/admin-setting.php:1799
1314
  msgid "Redirect URI"
1315
  msgstr "Redirect URI"
1316
 
1317
+ #: includes/admin-setting.php:1699 includes/admin-setting.php:1709
1318
+ #: includes/admin-setting.php:1801 includes/admin-setting.php:1811
1319
+ #: includes/admin-setting.php:1950
1320
  msgid "To copy, click the field then press Ctrl + C (PC) or Cmd + C (Mac)."
1321
  msgstr ""
1322
  "フィールドをクリック後、Ctrl + C (PC)、またはCmd + C (Mac)を押下しコピーして"
1323
  "下さい。"
1324
 
1325
+ #: includes/admin-setting.php:1701
1326
  msgid ""
1327
  "Copy and set this to the field of \"Valid OAuth redirect URIs\" in "
1328
  "application management page of Facebook developer page."
1330
  "Facebook開発者向けページ内のアプリケーション管理ページにて「有効なOAuthリダイ"
1331
  "レクトURI」フィールドにこのURIを設定して下さい。"
1332
 
1333
+ #: includes/admin-setting.php:1711 includes/admin-setting.php:1813
1334
+ #: includes/admin-setting.php:1952
1335
  msgid "Copy and pase this into the fields below."
1336
  msgstr "以下のフィールドにコピー&ペーストして下さい。"
1337
 
1338
+ #: includes/admin-setting.php:1732 includes/admin-setting.php:1834
1339
  msgid "Get Access Token"
1340
  msgstr "Access Tokenの取得"
1341
 
1342
+ #: includes/admin-setting.php:1754
1343
  msgid "Default: Default"
1344
  msgstr "既定値: デフォルト"
1345
 
1346
+ #: includes/admin-setting.php:1779
1347
  msgid ""
1348
  "Register a client in Instagram developer page to get the following Client ID "
1349
  "and Client Secret."
1351
  "以下のClient IDとClient Secretを取得するために、Instagram開発者向けページでク"
1352
  "ライアントを登録して下さい。"
1353
 
1354
+ #: includes/admin-setting.php:1783
1355
  msgid "Client ID"
1356
  msgstr "Client ID"
1357
 
1358
+ #: includes/admin-setting.php:1787
1359
  msgid "Client ID for Instagram API"
1360
  msgstr "Instagram API用のClient ID"
1361
 
1362
+ #: includes/admin-setting.php:1791
1363
  msgid "Client Secret"
1364
  msgstr "Client Secret"
1365
 
1366
+ #: includes/admin-setting.php:1795
1367
  msgid "Client Secret for Instagram API"
1368
  msgstr "Instagram API用のClient Secret"
1369
 
1370
+ #: includes/admin-setting.php:1803
1371
  msgid ""
1372
  "Copy and set this to the field of \"Valid redirect URIs\" in the client "
1373
  "management page of Instagram developer page."
1375
  "Instagram開発者向けページ内のクライアント管理ページにて「Valid redirect "
1376
  "URIs」フィールドにこのURIを設定して下さい。"
1377
 
1378
+ #: includes/admin-setting.php:1826
1379
  msgid "Access Token for Instagram API"
1380
  msgstr "Instagram API用のAccess Token"
1381
 
1382
+ #: includes/admin-setting.php:1847
1383
  msgid "Home page"
1384
  msgstr "ホームページ"
1385
 
1386
+ #: includes/admin-setting.php:1851
1387
  msgid ""
1388
  "Register a application in OneSignal page to get the following App ID and "
1389
  "User Auth Key."
1391
  "以下のApp IDとUser Auth Keyを取得するために、OneSignalページでアプリケーショ"
1392
  "ンを登録して下さい。"
1393
 
1394
+ #: includes/admin-setting.php:1855
1395
  msgid "OneSignal App ID"
1396
  msgstr "OneSignal App ID"
1397
 
1398
+ #: includes/admin-setting.php:1859
1399
  msgid "OneSignal app ID that you want to get follower count"
1400
  msgstr "フォロワー数取得対象のOneSignal App ID"
1401
 
1402
+ #: includes/admin-setting.php:1863
1403
  msgid "REST API Key"
1404
  msgstr "REST API Key"
1405
 
1406
+ #: includes/admin-setting.php:1867
1407
  msgid "REST API Key for OneSignal API"
1408
  msgstr "OneSignal API用のREST API Key"
1409
 
1410
+ #: includes/admin-setting.php:1884
1411
  msgid "Push7 page"
1412
  msgstr "Push7ページ"
1413
 
1414
+ #: includes/admin-setting.php:1888
1415
  msgid "Register a application in Push7 page to get the following App Number."
1416
  msgstr ""
1417
  "以下のApp Numberを取得するために、Push7のページでアプリケーションを登録して下"
1418
  "さい。"
1419
 
1420
+ #: includes/admin-setting.php:1892
1421
  msgid "App Number"
1422
  msgstr "App Number"
1423
 
1424
+ #: includes/admin-setting.php:1896
1425
  msgid "App Number for Push7 API"
1426
  msgstr "Push7 API用のApp Number"
1427
 
1428
+ #: includes/admin-setting.php:1913
1429
  msgid "Screen Name"
1430
  msgstr "スクリーン名"
1431
 
1432
+ #: includes/admin-setting.php:1918
1433
  msgid "Twitter screen name that you want to get follower count"
1434
  msgstr "フォロワー数を取得するTwitterのスクリーン名"
1435
 
1436
+ #: includes/admin-setting.php:1926
1437
  msgid ""
1438
  "Register a application in Twitter developer page to get the following "
1439
  "Consumer Key and Consumer Secret."
1441
  "以下のConsumer KeyとConsumer Secretを取得するために、Twitter開発者向けページ"
1442
  "でアプリケーションを登録して下さい。"
1443
 
1444
+ #: includes/admin-setting.php:1930
1445
  msgid "API Key"
1446
  msgstr "API Key"
1447
 
1448
+ #: includes/admin-setting.php:1934
1449
  msgid "API key for Twitter API"
1450
  msgstr "Twitter API用のAPI Key"
1451
 
1452
+ #: includes/admin-setting.php:1938
1453
  msgid "API Secret Key"
1454
  msgstr "API Secret Key"
1455
 
1456
+ #: includes/admin-setting.php:1942
1457
  msgid "API Secret Key for Twitter API"
1458
  msgstr "Twitter API用のAPI Secret Key"
1459
 
1460
+ #: includes/admin-setting.php:1947 includes/admin-setting.php:1961
1461
  msgid "Bearer Token"
1462
  msgstr "Bearer Token"
1463
 
1464
+ #: includes/admin-setting.php:1965
1465
  msgid "Bearer Token for Twitter API"
1466
  msgstr "Twitter API用のBearer Token"
1467
 
1468
+ #: includes/admin-setting.php:2253 includes/admin-setting.php:2274
1469
  msgid "Default: Disabled"
1470
  msgstr "既定値: 無効"
1471
 
1472
+ #: includes/admin-setting.php:2268
1473
  msgid "Fault tolerant mode of count retrieval"
1474
  msgstr "カウント取得における耐障害モード"
1475
 
1476
+ #: includes/admin-setting.php:2311
1477
  msgid "4 times"
1478
  msgstr "4回"
1479
 
1480
+ #: includes/admin-setting.php:2314
1481
  msgid "Default: no retry"
1482
  msgstr "既定値: 再試行なし"
1483
 
1484
+ #: includes/admin-setting.php:2324
1485
  msgid "Default: On"
1486
  msgstr "既定値: 有効"
1487
 
1488
+ #: includes/admin-setting.php:2334
1489
+ msgid "Default: Enabled"
1490
+ msgstr "既定値: 有効"
1491
+
1492
+ #: includes/admin-setting.php:2355
1493
  msgid "Default: Manual"
1494
  msgstr "既定値: 手動"
1495
 
1496
+ #: includes/admin-setting.php:2604
1497
  msgid "hourly"
1498
  msgstr "毎時"
1499
 
1500
+ #: includes/admin-setting.php:2641
1501
  msgid "Disk usage of exported file"
1502
  msgstr "エクスポートされたファイルのディスク使用量"
1503
 
1504
+ #: includes/admin-setting.php:2650
1505
  msgid "No exported file"
1506
  msgstr "エクスポートされたファイルは存在しません。"
1507
 
1508
+ #: includes/admin-setting.php:2662
1509
  msgid "Manual export"
1510
  msgstr "手動エクスポート"
1511
 
1512
+ #: includes/admin-setting.php:2666
1513
  msgid "Export share count to a csv file."
1514
  msgstr "シェア数をCSVファイルにエクスポートします。"
1515
 
1516
+ #: includes/admin-setting.php:2680
1517
  msgid "Reset of exported file"
1518
  msgstr "エクスポートされたファイルのリセット"
1519
 
1520
+ #: includes/admin-setting.php:2684
1521
  msgid "Clear exported csv file."
1522
  msgstr "エクスポートされたCSVファイルを削除します。"
1523
 
1524
+ #: includes/admin-setting.php:2695
1525
  msgid "Download of exported file"
1526
  msgstr "エクスポートされたファイルのダウンロード"
1527
 
1528
+ #: includes/admin-setting.php:2697 includes/download.php:40
1529
  msgid "Download"
1530
  msgstr "ダウンロード"
1531
 
1532
+ #: includes/admin-setting.php:2699
1533
  msgid "Download the exported csv file."
1534
  msgstr "エクスポートされたCSVファイルをダウンロードします。"
1535
 
1536
+ #: includes/class-scc-wp-cron.php:279
1537
  #, php-format
1538
  msgid "The %s constant is set to true. WP-Cron spawning is disabled."
1539
+ msgstr "%s定数がtrueに設定されています。WP-Cronの実行が無効になります。"
1540
 
1541
+ #: includes/class-scc-wp-cron.php:284
1542
  #, php-format
1543
  msgid "The %s constant is set to true."
1544
+ msgstr "%s定数がtrueに設定されています。"
1545
 
1546
+ #: includes/class-scc-wp-cron.php:315
1547
  #, php-format
1548
  msgid "Unexpected HTTP response code: %s"
1549
+ msgstr "予期しないHTTPレスポンスコード: %s"
1550
 
1551
  #: includes/download.php:70 includes/download.php:73 index.php:42 index.php:50
1552
+ #: index.php:53 index.php:56 index.php:59 sns-count-cache.php:2057
1553
+ #: sns-count-cache.php:2070 sns-count-cache.php:2082 sns-count-cache.php:2094
1554
+ #: sns-count-cache.php:2106 sns-count-cache.php:2118 sns-count-cache.php:2130
1555
+ #: sns-count-cache.php:2142
1556
  msgid "You do not have sufficient permissions to access this page."
1557
  msgstr "このページにアクセスするために必要な権限がありません。"
1558
 
1559
+ #: sns-count-cache.php:2010
1560
  msgid "Dashboard | SNS Count Cache"
1561
  msgstr "ダッシュボード | SNS Count Cache"
1562
 
1563
+ #: sns-count-cache.php:2011
1564
  msgid "Cache Status | SNS Count Cache"
1565
  msgstr "キャッシュ状況 | SNS Count Cache"
1566
 
1567
+ #: sns-count-cache.php:2012
1568
  msgid "Share Count | SNS Count Cache"
1569
  msgstr "シェア数 | SNS Count Cache"
1570
 
1571
+ #: sns-count-cache.php:2015
1572
  msgid "Hot Content | SNS Count Cache"
1573
  msgstr "話題のコンテンツ | SNS Count Cache"
1574
 
1575
+ #: sns-count-cache.php:2018
1576
  msgid "Setting | SNS Count Cache"
1577
  msgstr "設定 | SNS Count Cache"
1578
 
1579
+ #: sns-count-cache.php:2019
1580
  msgid "Help | SNS Count Cache"
1581
  msgstr "ヘルプ | SNS Count Cache"
1582
 
1583
+ #: sns-count-cache.php:2598 sns-count-cache.php:2606 sns-count-cache.php:2778
1584
+ #: sns-count-cache.php:2786
1585
  msgid "Completed"
1586
  msgstr "完了"
1587
 
1588
+ #: sns-count-cache.php:2600 sns-count-cache.php:2608 sns-count-cache.php:2780
1589
+ #: sns-count-cache.php:2788
1590
  msgid "Partially Completed"
1591
  msgstr "部分完了"
1592
 
1593
+ #: sns-count-cache.php:2602 sns-count-cache.php:2610 sns-count-cache.php:2782
1594
+ #: sns-count-cache.php:2790
1595
  msgid "Ongoing"
1596
  msgstr "進行中"
1597
 
1598
+ #: sns-count-cache.php:2835
1599
+ msgid "Hatebu"
1600
+ msgstr "はてブ"
1601
+
1602
+ #: sns-count-cache.php:2844
1603
+ msgid "Total"
1604
+ msgstr "合計"
1605
+
1606
  #. Plugin URI of the plugin/theme
1607
  msgid "https://wordpress.org/plugins/sns-count-cache/"
1608
  msgstr "https://wordpress.org/plugins/sns-count-cache/"
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link:
4
  Tags: performance, SNS, social, cache, share, follower
5
  Requires at least: 3.7
6
  Tested up to: 5.2
7
- Stable tag: 1.0.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -14,8 +14,8 @@ This plugin gets and caches SNS counts in the background, and help you to shorte
14
 
15
  SNS Count Cache is a plugin which helps you to shorten page loading time displaying share and follower counts through the use of cache mechanism.
16
 
17
- Notice:
18
- In this version, Reregistration of information such as client ID, client secret, and access token is needed in the setting page.
19
 
20
  The plugin gets share counts for the following SNS and caches these counts in the background.
21
 
@@ -31,7 +31,6 @@ Note: You can select alternative Twitter API for share count retrieval from the
31
  - widgetoon.js & count.jsoon
32
  - OpenShareCount
33
  - TwitCount
34
- - NewShareCounts
35
 
36
  The plugin also caches follower counts for the following SNS in the same way.
37
 
@@ -190,9 +189,16 @@ There are no questions.
190
  * Fixed: Facebook share count is not retrieved and cached.
191
  * Removed: Function to retrieve Google+ share count because the count is no longer provided.
192
  * Fixed: Facebook access token can not be obtained in the setting page.
 
 
 
 
 
 
 
193
 
194
  == Upgrade Notice ==
195
- Reregistration of information such as client ID, client secret, and access token is needed in the setting page.
196
 
197
  The following describes meta keys are deprecated.
198
 
4
  Tags: performance, SNS, social, cache, share, follower
5
  Requires at least: 3.7
6
  Tested up to: 5.2
7
+ Stable tag: 1.1.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
14
 
15
  SNS Count Cache is a plugin which helps you to shorten page loading time displaying share and follower counts through the use of cache mechanism.
16
 
17
+ Notice:
18
+ In the upgrade from Ver. 0.11.1 or below, Reregistration of information such as client ID, client secret, and access token is needed in the setting page.
19
 
20
  The plugin gets share counts for the following SNS and caches these counts in the background.
21
 
31
  - widgetoon.js & count.jsoon
32
  - OpenShareCount
33
  - TwitCount
 
34
 
35
  The plugin also caches follower counts for the following SNS in the same way.
36
 
189
  * Fixed: Facebook share count is not retrieved and cached.
190
  * Removed: Function to retrieve Google+ share count because the count is no longer provided.
191
  * Fixed: Facebook access token can not be obtained in the setting page.
192
+ * Changed: Encription and decription method for access token and so on.
193
+
194
+ = 1.1.0 =
195
+ * Added: Throttling mechanism of Facebook API call to handle rate limits.
196
+ * Improved: Dashboard was re-implemented based on responsive web design.
197
+ * Fixed: Fault tolerance mode does not work.
198
+ * Removed: Function to retrieve Twittr share count from NewShareCounts because the count is no longer provided by the site.
199
 
200
  == Upgrade Notice ==
201
+ In the upgrade from Ver. 0.11.1 or below, Reregistration of information such as client ID, client secret, and access token is needed in the setting page.
202
 
203
  The following describes meta keys are deprecated.
204
 
screenshot-1.png CHANGED
Binary file
screenshot-2.png CHANGED
Binary file
screenshot-3.png CHANGED
Binary file
screenshot-4.png CHANGED
Binary file
screenshot-5.png CHANGED
Binary file
screenshot-6.png CHANGED
Binary file
sns-count-cache.php CHANGED
@@ -2,10 +2,10 @@
2
  /**
3
  Plugin Name: SNS Count Cache
4
  Description: SNS Count Cache gets share count for Twitter and Facebook, Pocket, Pinterest, Linkedin, Hatena Bookmark and caches these count in the background. This plugin may help you to shorten page loading time because the share count can be retrieved not through network but through the cache using given functions.
5
- Version: 1.0.0
6
  Plugin URI: https://wordpress.org/plugins/sns-count-cache/
7
  Author: Daisuke Maruyama
8
- Author URI: https://marubon.info/
9
  License: GPL2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
11
  Text Domain: sns-count-cache
@@ -91,6 +91,7 @@ require_once( dirname( __FILE__ ) . '/includes/class-scc-follow-instagram-crawl-
91
  require_once( dirname( __FILE__ ) . '/includes/class-scc-follow-onesignal-crawl-strategy.php' );
92
 
93
  require_once( dirname( __FILE__ ) . '/includes/class-scc-share-app-status-engine.php' );
 
94
 
95
 
96
 
@@ -170,11 +171,6 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
170
  */
171
  const OPT_SHARE_TWITTER_API_TWITCOUNT = 3;
172
 
173
- /**
174
- * Twitter alternative API (NewShareCounts)
175
- */
176
- const OPT_SHARE_TWITTER_API_NEWSHARECOUNTS = 4;
177
-
178
  /**
179
  * Interval cheking and caching share count for follow base cache
180
  */
@@ -266,6 +262,16 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
266
  */
267
  const OPT_COMMON_FAULT_TOLERANCE_ON = 2;
268
 
 
 
 
 
 
 
 
 
 
 
269
  /**
270
  * Type of scheme migration mode
271
  */
@@ -556,6 +562,11 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
556
  */
557
  const DB_FOLLOW_ONESIGNAL_APP_ID = 'follow_onesignal_app_id';
558
 
 
 
 
 
 
559
  /**
560
  * Option key of app status
561
  */
@@ -725,7 +736,7 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
725
  * Plugin version, used for cache-busting of style and script file references.
726
  * @var string
727
  */
728
- private $version = '1.0.0';
729
 
730
  /**
731
  * Instances of crawler
@@ -1109,6 +1120,13 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
1109
  */
1110
  private $crawler_ssl_verification = true;
1111
 
 
 
 
 
 
 
 
1112
  /**
1113
  * Instance
1114
  *
@@ -1188,6 +1206,29 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
1188
  public function initialize() {
1189
  SCC_Logger::log( '[' . __METHOD__ . '] (line=' . __LINE__ . ')' );
1190
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1191
  $settings = get_option( self::DB_SETTINGS );
1192
 
1193
  if ( ! empty( $settings[ self::DB_SHARE_BASE_CHECK_INTERVAL ] ) ) {
@@ -1223,6 +1264,12 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
1223
  $this->fault_tolerance_mode = self::OPT_COMMON_FAULT_TOLERANCE_OFF;
1224
  }
1225
 
 
 
 
 
 
 
1226
  if ( ! empty( $settings[ self::DB_SHARE_RUSH_CHECK_INTERVAL ] ) ) {
1227
  $this->share_rush_check_interval = (int) $settings[ self::DB_SHARE_RUSH_CHECK_INTERVAL ];
1228
  } else {
@@ -1442,8 +1489,19 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
1442
  $this->follow_onesignal_rest_api_key = trim( SCC_Crypt::decrypt( $settings[ self::DB_FOLLOW_ONESIGNAL_REST_API_KEY ], AUTH_KEY ) );
1443
  }
1444
 
 
 
 
 
 
 
 
 
 
 
1445
  // Share Crawler
1446
  $options = array(
 
1447
  'target_sns' => $this->share_base_cache_target,
1448
  'crawl_method' => $this->crawler_method,
1449
  'timeout' => self::OPT_COMMON_CRAWLER_TIMEOUT,
@@ -1567,6 +1625,15 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
1567
 
1568
  $this->crawlers[ self::REF_FOLLOW ]->set_crawl_strategy_parameters( self::REF_FOLLOW_ONESIGNAL, $parameters );
1569
  }
 
 
 
 
 
 
 
 
 
1570
 
1571
  // Share base cache engine
1572
  $options = array(
@@ -1579,7 +1646,8 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
1579
  'scheme_migration_mode' => $this->scheme_migration_mode,
1580
  'scheme_migration_date' => $this->scheme_migration_date,
1581
  'scheme_migration_exclude_keys' => $this->scheme_migration_exclude_keys,
1582
- 'fault_tolerance' => $this->fault_tolerance_mode,
 
1583
  );
1584
 
1585
  $this->cache_engines[ self::REF_SHARE_BASE ] = SCC_Share_Base_Cache_Engine::get_instance();
@@ -1597,7 +1665,8 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
1597
  'scheme_migration_mode' => $this->scheme_migration_mode,
1598
  'scheme_migration_date' => $this->scheme_migration_date,
1599
  'scheme_migration_exclude_keys' => $this->scheme_migration_exclude_keys,
1600
- 'fault_tolerance' => $this->fault_tolerance_mode,
 
1601
  );
1602
 
1603
  $this->cache_engines[ self::REF_SHARE_RUSH ] = SCC_Share_Rush_Cache_Engine::get_instance();
@@ -1614,7 +1683,8 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
1614
  'scheme_migration_mode' => $this->scheme_migration_mode,
1615
  'scheme_migration_date' => $this->scheme_migration_date,
1616
  'scheme_migration_exclude_keys' => $this->scheme_migration_exclude_keys,
1617
- 'fault_tolerance' => $this->fault_tolerance_mode,
 
1618
  );
1619
 
1620
  $this->cache_engines[ self::REF_SHARE_LAZY ] = SCC_Share_Lazy_Cache_Engine::get_instance();
@@ -1774,16 +1844,6 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
1774
  $this->status_engines[ self::REF_SHARE ] = SCC_Share_App_Status_Engine::get_instance();
1775
  $this->status_engines[ self::REF_SHARE ]->initialize( $options );
1776
 
1777
- $tmp_max_execution_time = ini_get( 'max_execution_time' );
1778
-
1779
- if ( isset( $tmp_max_execution_time ) && 0 < $tmp_max_execution_time ) {
1780
- $this->original_max_execution_time = $tmp_max_execution_time;
1781
- } else {
1782
- $this->original_max_execution_time = 30;
1783
- }
1784
-
1785
- $this->loading_img_url = plugins_url( '/images/loading.gif', __FILE__ );
1786
-
1787
  }
1788
 
1789
  /**
@@ -1873,7 +1933,7 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
1873
  $this->export_engines[ self::REF_COMMON_EXPORT ]->register_schedule();
1874
  }
1875
 
1876
- // $this->status_engines[ self::REF_SHARE ]->register_schedule();
1877
 
1878
  set_time_limit( $this->original_max_execution_time );
1879
  }
@@ -2087,15 +2147,20 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
2087
  /**
2088
  * Method call between one cache engine and another
2089
  *
2090
- * @param SCC_Cache_Engine $engine Instance.
2091
  * @param string $order Order.
2092
  * @param array $options Option.
2093
  * @return mixed
2094
  */
2095
- public function order( SCC_Cache_Engine $engine, $order, $options = array() ) {
2096
  SCC_Logger::log( '[' . __METHOD__ . '] (line=' . __LINE__ . ')' );
2097
 
2098
- switch ( get_class( $engine ) ) {
 
 
 
 
 
2099
  case 'SCC_Share_Lazy_Cache_Engine':
2100
  if ( SCC_Order::ORDER_DO_SECOND_CACHE === $order ) {
2101
  $this->cache_engines[ self::REF_SHARE_2ND ]->cache( $options );
@@ -2744,6 +2809,63 @@ if ( ! class_exists( 'SNS_Count_Cache' ) ) {
2744
  die();
2745
  }
2746
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2747
  /**
2748
  * Return share count
2749
  *
2
  /**
3
  Plugin Name: SNS Count Cache
4
  Description: SNS Count Cache gets share count for Twitter and Facebook, Pocket, Pinterest, Linkedin, Hatena Bookmark and caches these count in the background. This plugin may help you to shorten page loading time because the share count can be retrieved not through network but through the cache using given functions.
5
+ Version: 1.1.0
6
  Plugin URI: https://wordpress.org/plugins/sns-count-cache/
7
  Author: Daisuke Maruyama
8
+ Author URI: https://logicore.cc/
9
  License: GPL2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.txt
11
  Text Domain: sns-count-cache
91
  require_once( dirname( __FILE__ ) . '/includes/class-scc-follow-onesignal-crawl-strategy.php' );
92
 
93
  require_once( dirname( __FILE__ ) . '/includes/class-scc-share-app-status-engine.php' );
94
+ require_once( dirname( __FILE__ ) . '/includes/class-scc-memory.php' );
95
 
96
 
97
 
171
  */
172
  const OPT_SHARE_TWITTER_API_TWITCOUNT = 3;
173
 
 
 
 
 
 
174
  /**
175
  * Interval cheking and caching share count for follow base cache
176
  */
262
  */
263
  const OPT_COMMON_FAULT_TOLERANCE_ON = 2;
264
 
265
+ /**
266
+ * Type of crawl throttling mode
267
+ */
268
+ const OPT_COMMON_CRAWL_THROTTLING_MODE_OFF = 1;
269
+
270
+ /**
271
+ * Type of crawl throttling mode
272
+ */
273
+ const OPT_COMMON_CRAWL_THROTTLING_MODE_ON = 2;
274
+
275
  /**
276
  * Type of scheme migration mode
277
  */
562
  */
563
  const DB_FOLLOW_ONESIGNAL_APP_ID = 'follow_onesignal_app_id';
564
 
565
+ /**
566
+ * Option key of crawl throttling mode
567
+ */
568
+ const DB_COMMON_CRAWL_THROTTLING_MODE = 'common_crawl_throttling_mode';
569
+
570
  /**
571
  * Option key of app status
572
  */
736
  * Plugin version, used for cache-busting of style and script file references.
737
  * @var string
738
  */
739
+ private $version = '1.1.0';
740
 
741
  /**
742
  * Instances of crawler
1120
  */
1121
  private $crawler_ssl_verification = true;
1122
 
1123
+ /**
1124
+ * Crawl throttling mode
1125
+ *
1126
+ * @var integer
1127
+ */
1128
+ private $crawl_throttling_mode = 1;
1129
+
1130
  /**
1131
  * Instance
1132
  *
1206
  public function initialize() {
1207
  SCC_Logger::log( '[' . __METHOD__ . '] (line=' . __LINE__ . ')' );
1208
 
1209
+ $this->initialize_setting();
1210
+ $this->initialize_crawler();
1211
+ $this->initialize_engine();
1212
+
1213
+ $tmp_max_execution_time = ini_get( 'max_execution_time' );
1214
+
1215
+ if ( isset( $tmp_max_execution_time ) && 0 < $tmp_max_execution_time ) {
1216
+ $this->original_max_execution_time = $tmp_max_execution_time;
1217
+ } else {
1218
+ $this->original_max_execution_time = 30;
1219
+ }
1220
+
1221
+ $this->loading_img_url = plugins_url( '/images/loading.gif', __FILE__ );
1222
+ }
1223
+
1224
+ /**
1225
+ * Initialize setting
1226
+ *
1227
+ * @return void
1228
+ */
1229
+ private function initialize_setting() {
1230
+ SCC_Logger::log( '[' . __METHOD__ . '] (line=' . __LINE__ . ')' );
1231
+
1232
  $settings = get_option( self::DB_SETTINGS );
1233
 
1234
  if ( ! empty( $settings[ self::DB_SHARE_BASE_CHECK_INTERVAL ] ) ) {
1264
  $this->fault_tolerance_mode = self::OPT_COMMON_FAULT_TOLERANCE_OFF;
1265
  }
1266
 
1267
+ if ( ! empty( $settings[ self::DB_COMMON_CRAWL_THROTTLING_MODE ] ) ) {
1268
+ $this->crawl_throttling_mode = (int) $settings[ self::DB_COMMON_CRAWL_THROTTLING_MODE ];
1269
+ } else {
1270
+ $this->crawl_throttling_mode = self::OPT_COMMON_CRAWL_THROTTLING_MODE_ON;
1271
+ }
1272
+
1273
  if ( ! empty( $settings[ self::DB_SHARE_RUSH_CHECK_INTERVAL ] ) ) {
1274
  $this->share_rush_check_interval = (int) $settings[ self::DB_SHARE_RUSH_CHECK_INTERVAL ];
1275
  } else {
1489
  $this->follow_onesignal_rest_api_key = trim( SCC_Crypt::decrypt( $settings[ self::DB_FOLLOW_ONESIGNAL_REST_API_KEY ], AUTH_KEY ) );
1490
  }
1491
 
1492
+ }
1493
+
1494
+ /**
1495
+ * Initialize crawler
1496
+ *
1497
+ * @return void
1498
+ */
1499
+ private function initialize_crawler() {
1500
+ SCC_Logger::log( '[' . __METHOD__ . '] (line=' . __LINE__ . ')' );
1501
+
1502
  // Share Crawler
1503
  $options = array(
1504
+ 'delegate' => $this,
1505
  'target_sns' => $this->share_base_cache_target,
1506
  'crawl_method' => $this->crawler_method,
1507
  'timeout' => self::OPT_COMMON_CRAWLER_TIMEOUT,
1625
 
1626
  $this->crawlers[ self::REF_FOLLOW ]->set_crawl_strategy_parameters( self::REF_FOLLOW_ONESIGNAL, $parameters );
1627
  }
1628
+ }
1629
+
1630
+ /**
1631
+ * Initialize engine
1632
+ *
1633
+ * @return void
1634
+ */
1635
+ private function initialize_engine() {
1636
+ SCC_Logger::log( '[' . __METHOD__ . '] (line=' . __LINE__ . ')' );
1637
 
1638
  // Share base cache engine
1639
  $options = array(
1646
  'scheme_migration_mode' => $this->scheme_migration_mode,
1647
  'scheme_migration_date' => $this->scheme_migration_date,
1648
  'scheme_migration_exclude_keys' => $this->scheme_migration_exclude_keys,
1649
+ 'fault_tolerance_mode' => $this->fault_tolerance_mode,
1650
+ 'crawl_throttling_mode' => $this->crawl_throttling_mode,
1651
  );
1652
 
1653
  $this->cache_engines[ self::REF_SHARE_BASE ] = SCC_Share_Base_Cache_Engine::get_instance();
1665
  'scheme_migration_mode' => $this->scheme_migration_mode,
1666
  'scheme_migration_date' => $this->scheme_migration_date,
1667
  'scheme_migration_exclude_keys' => $this->scheme_migration_exclude_keys,
1668
+ 'fault_tolerance_mode' => $this->fault_tolerance_mode,
1669
+ 'crawl_throttling_mode' => $this->crawl_throttling_mode,
1670
  );
1671
 
1672
  $this->cache_engines[ self::REF_SHARE_RUSH ] = SCC_Share_Rush_Cache_Engine::get_instance();
1683
  'scheme_migration_mode' => $this->scheme_migration_mode,
1684
  'scheme_migration_date' => $this->scheme_migration_date,
1685
  'scheme_migration_exclude_keys' => $this->scheme_migration_exclude_keys,
1686
+ 'fault_tolerance_mode' => $this->fault_tolerance_mode,
1687
+ 'crawl_throttling_mode' => $this->crawl_throttling_mode,
1688
  );
1689
 
1690
  $this->cache_engines[ self::REF_SHARE_LAZY ] = SCC_Share_Lazy_Cache_Engine::get_instance();
1844
  $this->status_engines[ self::REF_SHARE ] = SCC_Share_App_Status_Engine::get_instance();
1845
  $this->status_engines[ self::REF_SHARE ]->initialize( $options );
1846
 
 
 
 
 
 
 
 
 
 
 
1847
  }
1848
 
1849
  /**
1933
  $this->export_engines[ self::REF_COMMON_EXPORT ]->register_schedule();
1934
  }
1935
 
1936
+ $this->status_engines[ self::REF_SHARE ]->register_schedule();
1937
 
1938
  set_time_limit( $this->original_max_execution_time );
1939
  }
2147
  /**
2148
  * Method call between one cache engine and another
2149
  *
2150
+ * @param mixed $source Source Instance.
2151
  * @param string $order Order.
2152
  * @param array $options Option.
2153
  * @return mixed
2154
  */
2155
+ public function order( $source, $order, $options = array() ) {
2156
  SCC_Logger::log( '[' . __METHOD__ . '] (line=' . __LINE__ . ')' );
2157
 
2158
+ switch ( get_class( $source ) ) {
2159
+ case 'SCC_Share_Crawler':
2160
+ if ( SCC_Order::ORDER_CHECK_APP_STATUS === $order ) {
2161
+ return $this->status_engines[ self::REF_SHARE ]->need_throttle( $options );
2162
+ }
2163
+ break;
2164
  case 'SCC_Share_Lazy_Cache_Engine':
2165
  if ( SCC_Order::ORDER_DO_SECOND_CACHE === $order ) {
2166
  $this->cache_engines[ self::REF_SHARE_2ND ]->cache( $options );
2809
  die();
2810
  }
2811
 
2812
+ /**
2813
+ * Get SNS name
2814
+ *
2815
+ * @param string $sns SNS.
2816
+ * @return string
2817
+ */
2818
+ private function get_sns_name( $sns ) {
2819
+ $sns_name = '';
2820
+
2821
+ switch ( $sns ) {
2822
+ case self::REF_SHARE_TWITTER:
2823
+ $sns_name = __( 'Twitter', self::DOMAIN );
2824
+ break;
2825
+ case self::REF_SHARE_FACEBOOK:
2826
+ $sns_name = __( 'Facebook', self::DOMAIN );
2827
+ break;
2828
+ case self::REF_SHARE_GPLUS:
2829
+ $sns_name = __( 'Google+', self::DOMAIN );
2830
+ break;
2831
+ case self::REF_SHARE_POCKET:
2832
+ $sns_name = __( 'Pocket', self::DOMAIN );
2833
+ break;
2834
+ case self::REF_SHARE_HATEBU:
2835
+ $sns_name = __( 'Hatebu', self::DOMAIN );
2836
+ break;
2837
+ case self::REF_SHARE_PINTEREST:
2838
+ $sns_name = __( 'Pinterest', self::DOMAIN );
2839
+ break;
2840
+ case self::REF_SHARE_LINKEDIN:
2841
+ $sns_name = __( 'Linkedin', self::DOMAIN );
2842
+ break;
2843
+ case self::REF_SHARE_TOTAL:
2844
+ $sns_name = __( 'Total', self::DOMAIN );
2845
+ break;
2846
+ case self::REF_FOLLOW_TWITTER:
2847
+ $sns_name = __( 'Twitter', self::DOMAIN );
2848
+ break;
2849
+ case self::REF_FOLLOW_FACEBOOK:
2850
+ $sns_name = __( 'Facebook', self::DOMAIN );
2851
+ break;
2852
+ case self::REF_FOLLOW_FEEDLY:
2853
+ $sns_name = __( 'Feedly', self::DOMAIN );
2854
+ break;
2855
+ case self::REF_FOLLOW_INSTAGRAM:
2856
+ $sns_name = __( 'Instagram', self::DOMAIN );
2857
+ break;
2858
+ case self::REF_FOLLOW_ONESIGNAL;
2859
+ $sns_name = __( 'OneSignal', self::DOMAIN );
2860
+ break;
2861
+ case self::REF_FOLLOW_PUSH7:
2862
+ $sns_name = __( 'Push7', self::DOMAIN );
2863
+ break;
2864
+ }
2865
+
2866
+ return $sns_name;
2867
+ }
2868
+
2869
  /**
2870
  * Return share count
2871
  *