Version Description
- Fixes the taxonomy filter for Custom Post Types.
- Updates summary table structure and indexes.
- Adds back ability to use custom wpp.css from theme.
- Dashboard: adds a Debug screen to help with support inquiries.
- Other minor bug fixes and improvements.
Download this release
Release Info
Developer | hcabrera |
Plugin | WordPress Popular Posts |
Version | 4.0.5 |
Comparing to | |
See all releases |
Code changes from version 4.0.3 to 4.0.5
- admin/class-wordpress-popular-posts-admin.php +15 -21
- admin/partials/admin.php +37 -14
- includes/class-wordpress-popular-posts-activator.php +3 -4
- includes/class-wordpress-popular-posts-query.php +5 -2
- includes/class-wordpress-popular-posts-template.php +1 -1
- includes/class-wordpress-popular-posts.php +1 -1
- includes/widget-form.php +1 -1
- languages/wordpress-popular-posts-es_ES.mo +0 -0
- languages/wordpress-popular-posts-es_ES.po +30 -31
- languages/wordpress-popular-posts-es_VE.mo +0 -0
- languages/wordpress-popular-posts-es_VE.po +30 -31
- languages/wordpress-popular-posts.pot +27 -29
- public/class-wordpress-popular-posts-public.php +12 -4
- readme.txt +11 -3
- wordpress-popular-posts.php +1 -1
admin/class-wordpress-popular-posts-admin.php
CHANGED
@@ -429,10 +429,10 @@ class WPP_Admin {
|
|
429 |
}
|
430 |
|
431 |
if ( $dates ) {
|
432 |
-
return $where . " AND v.
|
433 |
}
|
434 |
|
435 |
-
return $where . " AND v.
|
436 |
|
437 |
}
|
438 |
|
@@ -1173,27 +1173,21 @@ class WPP_Admin {
|
|
1173 |
// Validate the structure of the tables, create missing tables / fields if necessary
|
1174 |
WPP_Activator::track_new_site();
|
1175 |
|
1176 |
-
//
|
1177 |
-
|
1178 |
-
|
1179 |
-
|
1180 |
-
|
1181 |
-
|
1182 |
-
$sql = "
|
1183 |
-
INSERT INTO {$prefix}summary (postid, pageviews, view_date, last_viewed)
|
1184 |
-
SELECT id, pageviews, day_no_time, day
|
1185 |
-
FROM {$prefix}datacache
|
1186 |
-
GROUP BY day_no_time, id
|
1187 |
-
ORDER BY day_no_time DESC";
|
1188 |
-
|
1189 |
-
$result = $wpdb->query( $sql );
|
1190 |
-
|
1191 |
}
|
|
|
1192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1193 |
}
|
1194 |
-
|
1195 |
-
// Deletes old caching tables, if found
|
1196 |
-
$wpdb->query( "DROP TABLE IF EXISTS {$prefix}datacache, {$prefix}datacache_backup;" );
|
1197 |
|
1198 |
// Check storage engine
|
1199 |
$storage_engine_data = $wpdb->get_var( "SELECT `ENGINE` FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA`='{$wpdb->dbname}' AND `TABLE_NAME`='{$prefix}data';" );
|
@@ -1268,7 +1262,7 @@ class WPP_Admin {
|
|
1268 |
unset($_GET['activate']);
|
1269 |
|
1270 |
printf(
|
1271 |
-
__('<div class="error"><p>%1$s</p><p><i>%2$s</i> has been <strong>deactivated</strong>.</p></div>', 'wordpress-popular-posts'),
|
1272 |
join( '</p><p>', $errors ),
|
1273 |
'WordPress Popular Posts'
|
1274 |
);
|
429 |
}
|
430 |
|
431 |
if ( $dates ) {
|
432 |
+
return $where . " AND v.view_datetime BETWEEN '{$dates[0]} 00:00:00' AND '{$dates[1]} 23:59:59' AND p.post_password = '' AND p.post_status = 'publish' ";
|
433 |
}
|
434 |
|
435 |
+
return $where . " AND v.view_datetime > DATE_SUB('{$now}', INTERVAL {$interval}) AND p.post_password = '' AND p.post_status = 'publish' ";
|
436 |
|
437 |
}
|
438 |
|
1173 |
// Validate the structure of the tables, create missing tables / fields if necessary
|
1174 |
WPP_Activator::track_new_site();
|
1175 |
|
1176 |
+
// Update summary table structure and indexes
|
1177 |
+
$summaryFields = $wpdb->get_results( "SHOW FIELDS FROM {$prefix}summary;" );
|
1178 |
+
foreach ( $summaryFields as $column ) {
|
1179 |
+
if ( "last_viewed" == $column->Field ) {
|
1180 |
+
$wpdb->query( "ALTER TABLE {$prefix}summary CHANGE last_viewed view_datetime datetime NOT NULL DEFAULT '0000-00-00 00:00:00', ADD KEY view_datetime (view_datetime);" );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1181 |
}
|
1182 |
+
}
|
1183 |
|
1184 |
+
$summaryIndexes = $wpdb->get_results( "SHOW INDEX FROM {$prefix}summary;" );
|
1185 |
+
foreach( $summaryIndexes as $index ) {
|
1186 |
+
if ( 'ID_date' == $index->Key_name ) {
|
1187 |
+
$wpdb->query( "ALTER TABLE {$prefix}summary DROP INDEX ID_date, DROP INDEX last_viewed;" );
|
1188 |
+
break;
|
1189 |
+
}
|
1190 |
}
|
|
|
|
|
|
|
1191 |
|
1192 |
// Check storage engine
|
1193 |
$storage_engine_data = $wpdb->get_var( "SELECT `ENGINE` FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA`='{$wpdb->dbname}' AND `TABLE_NAME`='{$prefix}data';" );
|
1262 |
unset($_GET['activate']);
|
1263 |
|
1264 |
printf(
|
1265 |
+
__('<div class="notice notice-error"><p>%1$s</p><p><i>%2$s</i> has been <strong>deactivated</strong>.</p></div>', 'wordpress-popular-posts'),
|
1266 |
join( '</p><p>', $errors ),
|
1267 |
'WordPress Popular Posts'
|
1268 |
);
|
admin/partials/admin.php
CHANGED
@@ -2,8 +2,15 @@
|
|
2 |
if ( basename($_SERVER['SCRIPT_NAME']) == basename(__FILE__) )
|
3 |
exit( 'Please do not load this page directly' );
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
// Set active tab
|
6 |
-
if ( isset( $_GET['tab'] ) )
|
7 |
$current = $_GET['tab'];
|
8 |
else
|
9 |
$current = 'stats';
|
@@ -23,7 +30,7 @@ if ( isset($_POST['section']) ) {
|
|
23 |
$this->options['stats']['freshness'] = empty( $_POST['stats_freshness'] ) ? false : $_POST['stats_freshness'];
|
24 |
|
25 |
update_site_option( 'wpp_settings_config', $this->options );
|
26 |
-
echo "<div class=\"
|
27 |
|
28 |
}
|
29 |
|
@@ -38,7 +45,7 @@ if ( isset($_POST['section']) ) {
|
|
38 |
$this->options['tools']['css'] = $_POST['css'];
|
39 |
|
40 |
update_site_option( 'wpp_settings_config', $this->options );
|
41 |
-
echo "<div class=\"
|
42 |
|
43 |
}
|
44 |
}
|
@@ -62,7 +69,7 @@ if ( isset($_POST['section']) ) {
|
|
62 |
$this->options['tools']['thumbnail']['responsive'] = $_POST['thumb_responsive'];
|
63 |
|
64 |
update_site_option( 'wpp_settings_config', $this->options );
|
65 |
-
echo "<div class=\"
|
66 |
|
67 |
}
|
68 |
|
@@ -103,7 +110,7 @@ if ( isset($_POST['section']) ) {
|
|
103 |
: 100;
|
104 |
|
105 |
update_site_option( 'wpp_settings_config', $this->options );
|
106 |
-
echo "<div class=\"
|
107 |
|
108 |
}
|
109 |
}
|
@@ -251,14 +258,6 @@ if ( !$wpp_rand = get_site_option("wpp_rand") ) {
|
|
251 |
</ul>
|
252 |
</nav>
|
253 |
|
254 |
-
<?php
|
255 |
-
$tabs = array(
|
256 |
-
'stats' => __( 'Stats', 'wordpress-popular-posts' ),
|
257 |
-
'tools' => __( 'Tools', 'wordpress-popular-posts' ),
|
258 |
-
'params' => __( 'Parameters', 'wordpress-popular-posts' ),
|
259 |
-
'about' => __( 'About', 'wordpress-popular-posts' )
|
260 |
-
);
|
261 |
-
?>
|
262 |
<div class="wpp-wrapper wpp-section-<?php echo $current; ?>">
|
263 |
|
264 |
<div class="wpp-header">
|
@@ -585,7 +584,7 @@ $tabs = array(
|
|
585 |
|
586 |
<label for="log_expire_time"<?php echo ($this->options['tools']['log']['limit'] == 0) ? ' style="display:none;"' : ''; ?>><input type="text" id="log_expire_time" name="log_expire_time" value="<?php echo esc_attr( $this->options['tools']['log']['expires_after'] ); ?>" size="3" /> <?php _e("day(s)", 'wordpress-popular-posts'); ?></label>
|
587 |
|
588 |
-
<p class="description"<?php echo ($this->options['tools']['log']['limit'] == 0) ? ' style="display:none;"' : ''; ?>><?php _e("Data
|
589 |
|
590 |
<br<?php echo ($this->options['tools']['log']['limit'] == 1) ? ' style="display:none;"' : ''; ?> />
|
591 |
</td>
|
@@ -967,4 +966,28 @@ $tabs = array(
|
|
967 |
</div>
|
968 |
<!-- End params -->
|
969 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
970 |
</div>
|
2 |
if ( basename($_SERVER['SCRIPT_NAME']) == basename(__FILE__) )
|
3 |
exit( 'Please do not load this page directly' );
|
4 |
|
5 |
+
$tabs = array(
|
6 |
+
'stats' => __( 'Stats', 'wordpress-popular-posts' ),
|
7 |
+
'tools' => __( 'Tools', 'wordpress-popular-posts' ),
|
8 |
+
'params' => __( 'Parameters', 'wordpress-popular-posts' ),
|
9 |
+
'debug' => 'Debug'
|
10 |
+
);
|
11 |
+
|
12 |
// Set active tab
|
13 |
+
if ( isset( $_GET['tab'] ) && isset( $tabs[$_GET['tab']] ) )
|
14 |
$current = $_GET['tab'];
|
15 |
else
|
16 |
$current = 'stats';
|
30 |
$this->options['stats']['freshness'] = empty( $_POST['stats_freshness'] ) ? false : $_POST['stats_freshness'];
|
31 |
|
32 |
update_site_option( 'wpp_settings_config', $this->options );
|
33 |
+
echo "<div class=\"notice notice-success is-dismissible\"><p><strong>" . __( 'Settings saved.', 'wordpress-popular-posts' ) . "</strong></p></div>";
|
34 |
|
35 |
}
|
36 |
|
45 |
$this->options['tools']['css'] = $_POST['css'];
|
46 |
|
47 |
update_site_option( 'wpp_settings_config', $this->options );
|
48 |
+
echo "<div class=\"notice notice-success is-dismissible\"><p><strong>" . __( 'Settings saved.', 'wordpress-popular-posts' ) . "</strong></p></div>";
|
49 |
|
50 |
}
|
51 |
}
|
69 |
$this->options['tools']['thumbnail']['responsive'] = $_POST['thumb_responsive'];
|
70 |
|
71 |
update_site_option( 'wpp_settings_config', $this->options );
|
72 |
+
echo "<div class=\"notice notice-success is-dismissible\"><p><strong>" . __( 'Settings saved.', 'wordpress-popular-posts' ) . "</strong></p></div>";
|
73 |
|
74 |
}
|
75 |
|
110 |
: 100;
|
111 |
|
112 |
update_site_option( 'wpp_settings_config', $this->options );
|
113 |
+
echo "<div class=\"notice notice-success is-dismissible\"><p><strong>" . __( 'Settings saved.', 'wordpress-popular-posts' ) . "</strong></p></div>";
|
114 |
|
115 |
}
|
116 |
}
|
258 |
</ul>
|
259 |
</nav>
|
260 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
261 |
<div class="wpp-wrapper wpp-section-<?php echo $current; ?>">
|
262 |
|
263 |
<div class="wpp-header">
|
584 |
|
585 |
<label for="log_expire_time"<?php echo ($this->options['tools']['log']['limit'] == 0) ? ' style="display:none;"' : ''; ?>><input type="text" id="log_expire_time" name="log_expire_time" value="<?php echo esc_attr( $this->options['tools']['log']['expires_after'] ); ?>" size="3" /> <?php _e("day(s)", 'wordpress-popular-posts'); ?></label>
|
586 |
|
587 |
+
<p class="description"<?php echo ($this->options['tools']['log']['limit'] == 0) ? ' style="display:none;"' : ''; ?>><?php _e("Data older than the specified time frame will be automatically discarded", 'wordpress-popular-posts'); ?>.</p>
|
588 |
|
589 |
<br<?php echo ($this->options['tools']['log']['limit'] == 1) ? ' style="display:none;"' : ''; ?> />
|
590 |
</td>
|
966 |
</div>
|
967 |
<!-- End params -->
|
968 |
|
969 |
+
<!-- Start debug -->
|
970 |
+
<?php
|
971 |
+
global $wpdb, $wp_version;
|
972 |
+
|
973 |
+
$my_theme = wp_get_theme();
|
974 |
+
|
975 |
+
$site_plugins = get_plugins();
|
976 |
+
$plugin_names = array();
|
977 |
+
|
978 |
+
foreach( $site_plugins as $main_file => $plugin_meta ) :
|
979 |
+
$plugin_names[] = sanitize_text_field( $plugin_meta['Name'] . ' ' . $plugin_meta['Version'] );
|
980 |
+
endforeach;
|
981 |
+
?>
|
982 |
+
<div id="wpp_debug" <?php echo ( "debug" == $current ) ? '' : ' style="display: none;"'; ?>>
|
983 |
+
<p><strong>PHP version:</strong> <?php echo phpversion(); ?></p>
|
984 |
+
<p><strong>PHP extensions:</strong> <?php echo implode( ', ', get_loaded_extensions() ); ?></p>
|
985 |
+
<p><strong>Database version:</strong> <?php echo $wpdb->get_var( "SELECT VERSION();" ); ?></p>
|
986 |
+
<p><strong>InnoDB availability:</strong> <?php echo $wpdb->get_var( "SELECT SUPPORT FROM INFORMATION_SCHEMA.ENGINES WHERE ENGINE = 'InnoDB';" ); ?></p>
|
987 |
+
<p><strong>WordPress version:</strong> <?php echo $wp_version; ?></p>
|
988 |
+
<p><strong>Installed plugins:</strong> <?php echo implode( ', ', $plugin_names ); ?></p>
|
989 |
+
<p><strong>Theme:</strong> <?php echo $my_theme->get( 'Name' ) . ' (' . $my_theme->get( 'Version' ) . ') by ' . $my_theme->get( 'Author' ); ?></p>
|
990 |
+
</div>
|
991 |
+
<!-- End debug -->
|
992 |
+
|
993 |
</div>
|
includes/class-wordpress-popular-posts-activator.php
CHANGED
@@ -81,7 +81,7 @@ class WPP_Activator {
|
|
81 |
$prefix = $wpdb->prefix . "popularposts";
|
82 |
|
83 |
// fresh setup
|
84 |
-
if ( $prefix != $wpdb->get_var("SHOW TABLES LIKE '{$prefix}data'") ) {
|
85 |
self::do_db_tables( $prefix );
|
86 |
}
|
87 |
|
@@ -118,12 +118,11 @@ class WPP_Activator {
|
|
118 |
postid bigint(20) NOT NULL,
|
119 |
pageviews bigint(20) NOT NULL DEFAULT 1,
|
120 |
view_date date NOT NULL DEFAULT '0000-00-00',
|
121 |
-
|
122 |
PRIMARY KEY (ID),
|
123 |
-
UNIQUE KEY ID_date (postid,view_date),
|
124 |
KEY postid (postid),
|
125 |
KEY view_date (view_date),
|
126 |
-
KEY
|
127 |
) {$charset_collate} ENGINE=InnoDB;";
|
128 |
|
129 |
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
81 |
$prefix = $wpdb->prefix . "popularposts";
|
82 |
|
83 |
// fresh setup
|
84 |
+
if ( "{$prefix}data" != $wpdb->get_var("SHOW TABLES LIKE '{$prefix}data'") ) {
|
85 |
self::do_db_tables( $prefix );
|
86 |
}
|
87 |
|
118 |
postid bigint(20) NOT NULL,
|
119 |
pageviews bigint(20) NOT NULL DEFAULT 1,
|
120 |
view_date date NOT NULL DEFAULT '0000-00-00',
|
121 |
+
view_datetime datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
122 |
PRIMARY KEY (ID),
|
|
|
123 |
KEY postid (postid),
|
124 |
KEY view_date (view_date),
|
125 |
+
KEY view_datetime (view_datetime)
|
126 |
) {$charset_collate} ENGINE=InnoDB;";
|
127 |
|
128 |
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
includes/class-wordpress-popular-posts-query.php
CHANGED
@@ -94,6 +94,8 @@ class WPP_Query {
|
|
94 |
}
|
95 |
|
96 |
// Get entries from these post types
|
|
|
|
|
97 |
if ( isset($this->options['post_type']) && !empty($this->options['post_type']) ) {
|
98 |
|
99 |
$post_types = explode( ",", $this->options['post_type'] );
|
@@ -188,6 +190,7 @@ class WPP_Query {
|
|
188 |
|
189 |
$post_ids = get_posts(
|
190 |
array(
|
|
|
191 |
'posts_per_page' => -1,
|
192 |
'tax_query' => array(
|
193 |
array(
|
@@ -342,7 +345,7 @@ class WPP_Query {
|
|
342 |
|
343 |
$table = "`{$wpdb->prefix}popularpostssummary` v";
|
344 |
$join = "LEFT JOIN `{$wpdb->posts}` p ON v.postid = p.ID";
|
345 |
-
$where .= " AND v.
|
346 |
$groupby = "GROUP BY v.postid";
|
347 |
|
348 |
// Order by views
|
@@ -390,7 +393,7 @@ class WPP_Query {
|
|
390 |
// Display views count, too
|
391 |
if ( isset($this->options['stats_tag']['views']) && $this->options['stats_tag']['views'] ) {
|
392 |
$fields .= ", IFNULL(v.pageviews, 0) AS pageviews";
|
393 |
-
$join .= " LEFT JOIN (SELECT postid, SUM(pageviews) AS pageviews FROM `{$wpdb->prefix}popularpostssummary` WHERE
|
394 |
}
|
395 |
|
396 |
}
|
94 |
}
|
95 |
|
96 |
// Get entries from these post types
|
97 |
+
$post_types = array( 'post', 'page' );
|
98 |
+
|
99 |
if ( isset($this->options['post_type']) && !empty($this->options['post_type']) ) {
|
100 |
|
101 |
$post_types = explode( ",", $this->options['post_type'] );
|
190 |
|
191 |
$post_ids = get_posts(
|
192 |
array(
|
193 |
+
'post_type' => $post_types,
|
194 |
'posts_per_page' => -1,
|
195 |
'tax_query' => array(
|
196 |
array(
|
345 |
|
346 |
$table = "`{$wpdb->prefix}popularpostssummary` v";
|
347 |
$join = "LEFT JOIN `{$wpdb->posts}` p ON v.postid = p.ID";
|
348 |
+
$where .= " AND v.view_datetime > DATE_SUB('{$now}', INTERVAL {$interval})";
|
349 |
$groupby = "GROUP BY v.postid";
|
350 |
|
351 |
// Order by views
|
393 |
// Display views count, too
|
394 |
if ( isset($this->options['stats_tag']['views']) && $this->options['stats_tag']['views'] ) {
|
395 |
$fields .= ", IFNULL(v.pageviews, 0) AS pageviews";
|
396 |
+
$join .= " LEFT JOIN (SELECT postid, SUM(pageviews) AS pageviews FROM `{$wpdb->prefix}popularpostssummary` WHERE view_datetime > DATE_SUB('{$now}', INTERVAL {$interval}) GROUP BY postid) v ON p.ID = v.postid";
|
397 |
}
|
398 |
|
399 |
}
|
includes/class-wordpress-popular-posts-template.php
CHANGED
@@ -51,7 +51,7 @@ function wpp_get_views($id = NULL, $range = NULL, $number_format = true) {
|
|
51 |
|
52 |
$now = current_time('mysql');
|
53 |
|
54 |
-
$query = "SELECT SUM(pageviews) FROM {$table_name}summary WHERE postid = '{$id}' AND
|
55 |
}
|
56 |
|
57 |
$result = $wpdb->get_var($query);
|
51 |
|
52 |
$now = current_time('mysql');
|
53 |
|
54 |
+
$query = "SELECT SUM(pageviews) FROM {$table_name}summary WHERE postid = '{$id}' AND view_datetime > DATE_SUB('{$now}', INTERVAL {$interval}) LIMIT 1;";
|
55 |
}
|
56 |
|
57 |
$result = $wpdb->get_var($query);
|
includes/class-wordpress-popular-posts.php
CHANGED
@@ -28,7 +28,7 @@ class WordPressPopularPosts {
|
|
28 |
public function __construct(){
|
29 |
|
30 |
$this->plugin_name = 'wordpress-popular-posts';
|
31 |
-
$this->version = '4.0.
|
32 |
|
33 |
$this->load_dependencies();
|
34 |
$this->set_locale();
|
28 |
public function __construct(){
|
29 |
|
30 |
$this->plugin_name = 'wordpress-popular-posts';
|
31 |
+
$this->version = '4.0.5';
|
32 |
|
33 |
$this->load_dependencies();
|
34 |
$this->set_locale();
|
includes/widget-form.php
CHANGED
@@ -53,7 +53,7 @@
|
|
53 |
<label for="<?php echo $this->get_field_id( 'pid' ); ?>"><?php _e('Post ID(s) to exclude', 'wordpress-popular-posts'); ?>:</label>
|
54 |
<input type="text" id="<?php echo $this->get_field_id( 'pid' ); ?>" name="<?php echo $this->get_field_name( 'pid' ); ?>" value="<?php echo $instance['pid']; ?>" class="widefat" /><br /><br />
|
55 |
|
56 |
-
<label for="<?php echo $this->get_field_id( 'tax_id' ); ?>"><?php _e('Taxonomy', 'wordpress-popular-posts'); ?>:</label> <small>[<a href="https://github.com/cabrerahector/wordpress-popular-posts/wiki/5.-FAQ#what-is-
|
57 |
<?php
|
58 |
// Taxonomy filter
|
59 |
if ( $taxonomies = get_taxonomies( array('public' => true), 'objects' ) ) {
|
53 |
<label for="<?php echo $this->get_field_id( 'pid' ); ?>"><?php _e('Post ID(s) to exclude', 'wordpress-popular-posts'); ?>:</label>
|
54 |
<input type="text" id="<?php echo $this->get_field_id( 'pid' ); ?>" name="<?php echo $this->get_field_name( 'pid' ); ?>" value="<?php echo $instance['pid']; ?>" class="widefat" /><br /><br />
|
55 |
|
56 |
+
<label for="<?php echo $this->get_field_id( 'tax_id' ); ?>"><?php _e('Taxonomy', 'wordpress-popular-posts'); ?>:</label> <small>[<a href="https://github.com/cabrerahector/wordpress-popular-posts/wiki/5.-FAQ#what-is-taxonomy-for" title="<?php _e('What is this?', 'wordpress-popular-posts'); ?>" target="_blank">?</a>]</small><br />
|
57 |
<?php
|
58 |
// Taxonomy filter
|
59 |
if ( $taxonomies = get_taxonomies( array('public' => true), 'objects' ) ) {
|
languages/wordpress-popular-posts-es_ES.mo
CHANGED
Binary file
|
languages/wordpress-popular-posts-es_ES.po
CHANGED
@@ -4,8 +4,8 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: WordPress Popular Posts\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wordpress-popular-posts\n"
|
7 |
-
"POT-Creation-Date: 2017-09-
|
8 |
-
"PO-Revision-Date: 2017-09-
|
9 |
"Last-Translator: \n"
|
10 |
"Language-Team: Héctor Cabrera <me@cabrerahector.com>\n"
|
11 |
"Language: es_ES\n"
|
@@ -69,49 +69,49 @@ msgstr ""
|
|
69 |
"\"%1$s\">Documentación</a></li><li><a href=\"%2$s\">Soporte</a></li></"
|
70 |
"ul>"
|
71 |
|
72 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
73 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
74 |
#: ../admin/partials/admin.php:412 ../admin/partials/admin.php:459
|
75 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
76 |
#, php-format
|
77 |
msgid "1 view"
|
78 |
msgid_plural "%s views"
|
79 |
msgstr[0] "1 vista"
|
80 |
msgstr[1] "%s vistas"
|
81 |
|
82 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
83 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
84 |
#: ../admin/partials/admin.php:412 ../admin/partials/admin.php:459
|
85 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
86 |
#, php-format
|
87 |
msgid "1 comment"
|
88 |
msgid_plural "%s comments"
|
89 |
msgstr[0] "1 comentario"
|
90 |
msgstr[1] "%s comentarios"
|
91 |
|
92 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
93 |
#: ../includes/widget-form.php:17
|
94 |
msgid "Comments"
|
95 |
msgstr "Comentarios"
|
96 |
|
97 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
98 |
msgid "Views"
|
99 |
msgstr "Vistas"
|
100 |
|
101 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
102 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
103 |
#: ../admin/partials/admin.php:413 ../admin/partials/admin.php:460
|
104 |
msgid "View"
|
105 |
msgstr "Vista"
|
106 |
|
107 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
108 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
109 |
#: ../admin/partials/admin.php:413 ../admin/partials/admin.php:460
|
110 |
msgid "Edit"
|
111 |
msgstr "Editar"
|
112 |
|
113 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
114 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
115 |
#: ../admin/partials/admin.php:424 ../admin/partials/admin.php:471
|
116 |
msgid ""
|
117 |
"Looks like traffic to your site is a little light right now. <br />Spread "
|
@@ -120,11 +120,11 @@ msgstr ""
|
|
120 |
"Parece que el tráfico hacia tu sitio web está un poco ligero. "
|
121 |
"<br />¡Haz un poco de promoción y regresa luego!"
|
122 |
|
123 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
124 |
msgid "Settings"
|
125 |
msgstr "Configuración"
|
126 |
|
127 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
128 |
#, php-format
|
129 |
msgid ""
|
130 |
"Your PHP installation is too old. WordPress Popular Posts requires at least "
|
@@ -136,7 +136,7 @@ msgstr ""
|
|
136 |
"contacta a tu proveedor de hosting y solicita que se actualice PHP a %1$s o "
|
137 |
"mejor."
|
138 |
|
139 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
140 |
#, php-format
|
141 |
msgid ""
|
142 |
"Your WordPress version is too old. WordPress Popular Posts requires at least "
|
@@ -147,7 +147,7 @@ msgstr ""
|
|
147 |
"Posts requiere al menos la versión %1$s para funcionar correctamente. "
|
148 |
"Por favor actualiza tu blog via Escritorio > Actualizaciones."
|
149 |
|
150 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
151 |
#, php-format
|
152 |
msgid ""
|
153 |
"<div class=\"error\"><p>%1$s</p><p><i>%2$s</i> has been <strong>deactivated</"
|
@@ -452,11 +452,10 @@ msgstr "día(s)"
|
|
452 |
|
453 |
#: ../admin/partials/admin.php:588
|
454 |
msgid ""
|
455 |
-
"Data
|
456 |
-
"will be automatically discarded"
|
457 |
msgstr ""
|
458 |
-
"
|
459 |
-
"
|
460 |
|
461 |
#: ../admin/partials/admin.php:594
|
462 |
msgid "Ajaxify widget"
|
@@ -1052,38 +1051,38 @@ msgstr ""
|
|
1052 |
msgid "displays post/page date, requires stats_date=1"
|
1053 |
msgstr "muestra la fecha de la entrada/página, requiere stats_date=1"
|
1054 |
|
1055 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1056 |
msgid "Sorry. No data so far."
|
1057 |
msgstr "Lo lamentamos. No hay nada que mostrar aún."
|
1058 |
|
1059 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1060 |
#, php-format
|
1061 |
msgid "%s ago"
|
1062 |
msgstr "hace %s"
|
1063 |
|
1064 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1065 |
#, php-format
|
1066 |
msgid "1 view per day"
|
1067 |
msgid_plural "%s views per day"
|
1068 |
msgstr[0] "1 vista por día"
|
1069 |
msgstr[1] "%s vistas por día"
|
1070 |
|
1071 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1072 |
#, php-format
|
1073 |
msgid "by %s"
|
1074 |
msgstr "por %s"
|
1075 |
|
1076 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1077 |
#, php-format
|
1078 |
msgid "posted %s"
|
1079 |
msgstr "publicado %s"
|
1080 |
|
1081 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1082 |
#, php-format
|
1083 |
msgid "posted on %s"
|
1084 |
msgstr "publicado el %s"
|
1085 |
|
1086 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1087 |
#, php-format
|
1088 |
msgid "under %s"
|
1089 |
msgstr "bajo %s"
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: WordPress Popular Posts\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wordpress-popular-posts\n"
|
7 |
+
"POT-Creation-Date: 2017-09-26 13:17-0400\n"
|
8 |
+
"PO-Revision-Date: 2017-09-26 13:18-0400\n"
|
9 |
"Last-Translator: \n"
|
10 |
"Language-Team: Héctor Cabrera <me@cabrerahector.com>\n"
|
11 |
"Language: es_ES\n"
|
69 |
"\"%1$s\">Documentación</a></li><li><a href=\"%2$s\">Soporte</a></li></"
|
70 |
"ul>"
|
71 |
|
72 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:633
|
73 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:752
|
74 |
#: ../admin/partials/admin.php:412 ../admin/partials/admin.php:459
|
75 |
+
#: ../includes/class-wordpress-popular-posts-output.php:720
|
76 |
#, php-format
|
77 |
msgid "1 view"
|
78 |
msgid_plural "%s views"
|
79 |
msgstr[0] "1 vista"
|
80 |
msgstr[1] "%s vistas"
|
81 |
|
82 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:633
|
83 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:807
|
84 |
#: ../admin/partials/admin.php:412 ../admin/partials/admin.php:459
|
85 |
+
#: ../includes/class-wordpress-popular-posts-output.php:701
|
86 |
#, php-format
|
87 |
msgid "1 comment"
|
88 |
msgid_plural "%s comments"
|
89 |
msgstr[0] "1 comentario"
|
90 |
msgstr[1] "%s comentarios"
|
91 |
|
92 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:665
|
93 |
#: ../includes/widget-form.php:17
|
94 |
msgid "Comments"
|
95 |
msgstr "Comentarios"
|
96 |
|
97 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:669
|
98 |
msgid "Views"
|
99 |
msgstr "Vistas"
|
100 |
|
101 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:753
|
102 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:808
|
103 |
#: ../admin/partials/admin.php:413 ../admin/partials/admin.php:460
|
104 |
msgid "View"
|
105 |
msgstr "Vista"
|
106 |
|
107 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:753
|
108 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:808
|
109 |
#: ../admin/partials/admin.php:413 ../admin/partials/admin.php:460
|
110 |
msgid "Edit"
|
111 |
msgstr "Editar"
|
112 |
|
113 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:764
|
114 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:819
|
115 |
#: ../admin/partials/admin.php:424 ../admin/partials/admin.php:471
|
116 |
msgid ""
|
117 |
"Looks like traffic to your site is a little light right now. <br />Spread "
|
120 |
"Parece que el tráfico hacia tu sitio web está un poco ligero. "
|
121 |
"<br />¡Haz un poco de promoción y regresa luego!"
|
122 |
|
123 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:887
|
124 |
msgid "Settings"
|
125 |
msgstr "Configuración"
|
126 |
|
127 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:1239
|
128 |
#, php-format
|
129 |
msgid ""
|
130 |
"Your PHP installation is too old. WordPress Popular Posts requires at least "
|
136 |
"contacta a tu proveedor de hosting y solicita que se actualice PHP a %1$s o "
|
137 |
"mejor."
|
138 |
|
139 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:1246
|
140 |
#, php-format
|
141 |
msgid ""
|
142 |
"Your WordPress version is too old. WordPress Popular Posts requires at least "
|
147 |
"Posts requiere al menos la versión %1$s para funcionar correctamente. "
|
148 |
"Por favor actualiza tu blog via Escritorio > Actualizaciones."
|
149 |
|
150 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:1271
|
151 |
#, php-format
|
152 |
msgid ""
|
153 |
"<div class=\"error\"><p>%1$s</p><p><i>%2$s</i> has been <strong>deactivated</"
|
452 |
|
453 |
#: ../admin/partials/admin.php:588
|
454 |
msgid ""
|
455 |
+
"Data older than the specified time frame will be automatically discarded"
|
|
|
456 |
msgstr ""
|
457 |
+
"La data que sea más antigua que el tiempo especificado serán "
|
458 |
+
"automáticamente descartada"
|
459 |
|
460 |
#: ../admin/partials/admin.php:594
|
461 |
msgid "Ajaxify widget"
|
1051 |
msgid "displays post/page date, requires stats_date=1"
|
1052 |
msgstr "muestra la fecha de la entrada/página, requiere stats_date=1"
|
1053 |
|
1054 |
+
#: ../includes/class-wordpress-popular-posts-output.php:126
|
1055 |
msgid "Sorry. No data so far."
|
1056 |
msgstr "Lo lamentamos. No hay nada que mostrar aún."
|
1057 |
|
1058 |
+
#: ../includes/class-wordpress-popular-posts-output.php:497
|
1059 |
#, php-format
|
1060 |
msgid "%s ago"
|
1061 |
msgstr "hace %s"
|
1062 |
|
1063 |
+
#: ../includes/class-wordpress-popular-posts-output.php:714
|
1064 |
#, php-format
|
1065 |
msgid "1 view per day"
|
1066 |
msgid_plural "%s views per day"
|
1067 |
msgstr[0] "1 vista por día"
|
1068 |
msgstr[1] "%s vistas por día"
|
1069 |
|
1070 |
+
#: ../includes/class-wordpress-popular-posts-output.php:743
|
1071 |
#, php-format
|
1072 |
msgid "by %s"
|
1073 |
msgstr "por %s"
|
1074 |
|
1075 |
+
#: ../includes/class-wordpress-popular-posts-output.php:749
|
1076 |
#, php-format
|
1077 |
msgid "posted %s"
|
1078 |
msgstr "publicado %s"
|
1079 |
|
1080 |
+
#: ../includes/class-wordpress-popular-posts-output.php:749
|
1081 |
#, php-format
|
1082 |
msgid "posted on %s"
|
1083 |
msgstr "publicado el %s"
|
1084 |
|
1085 |
+
#: ../includes/class-wordpress-popular-posts-output.php:758
|
1086 |
#, php-format
|
1087 |
msgid "under %s"
|
1088 |
msgstr "bajo %s"
|
languages/wordpress-popular-posts-es_VE.mo
CHANGED
Binary file
|
languages/wordpress-popular-posts-es_VE.po
CHANGED
@@ -4,8 +4,8 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: WordPress Popular Posts\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wordpress-popular-posts\n"
|
7 |
-
"POT-Creation-Date: 2017-09-
|
8 |
-
"PO-Revision-Date: 2017-09-
|
9 |
"Last-Translator: \n"
|
10 |
"Language-Team: Héctor Cabrera <me@cabrerahector.com>\n"
|
11 |
"Language: es_VE\n"
|
@@ -69,49 +69,49 @@ msgstr ""
|
|
69 |
"\"%1$s\">Documentación</a></li><li><a href=\"%2$s\">Soporte</a></li></"
|
70 |
"ul>"
|
71 |
|
72 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
73 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
74 |
#: ../admin/partials/admin.php:412 ../admin/partials/admin.php:459
|
75 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
76 |
#, php-format
|
77 |
msgid "1 view"
|
78 |
msgid_plural "%s views"
|
79 |
msgstr[0] "1 vista"
|
80 |
msgstr[1] "%s vistas"
|
81 |
|
82 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
83 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
84 |
#: ../admin/partials/admin.php:412 ../admin/partials/admin.php:459
|
85 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
86 |
#, php-format
|
87 |
msgid "1 comment"
|
88 |
msgid_plural "%s comments"
|
89 |
msgstr[0] "1 comentario"
|
90 |
msgstr[1] "%s comentarios"
|
91 |
|
92 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
93 |
#: ../includes/widget-form.php:17
|
94 |
msgid "Comments"
|
95 |
msgstr "Comentarios"
|
96 |
|
97 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
98 |
msgid "Views"
|
99 |
msgstr "Vistas"
|
100 |
|
101 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
102 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
103 |
#: ../admin/partials/admin.php:413 ../admin/partials/admin.php:460
|
104 |
msgid "View"
|
105 |
msgstr "Vista"
|
106 |
|
107 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
108 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
109 |
#: ../admin/partials/admin.php:413 ../admin/partials/admin.php:460
|
110 |
msgid "Edit"
|
111 |
msgstr "Editar"
|
112 |
|
113 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
114 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
115 |
#: ../admin/partials/admin.php:424 ../admin/partials/admin.php:471
|
116 |
msgid ""
|
117 |
"Looks like traffic to your site is a little light right now. <br />Spread "
|
@@ -120,11 +120,11 @@ msgstr ""
|
|
120 |
"Parece que el tráfico hacia tu sitio web está un poco ligero. "
|
121 |
"<br />¡Haz un poco de promoción y regresa luego!"
|
122 |
|
123 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
124 |
msgid "Settings"
|
125 |
msgstr "Configuración"
|
126 |
|
127 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
128 |
#, php-format
|
129 |
msgid ""
|
130 |
"Your PHP installation is too old. WordPress Popular Posts requires at least "
|
@@ -136,7 +136,7 @@ msgstr ""
|
|
136 |
"contacta a tu proveedor de hosting y solicita que se actualice PHP a %1$s o "
|
137 |
"mejor."
|
138 |
|
139 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
140 |
#, php-format
|
141 |
msgid ""
|
142 |
"Your WordPress version is too old. WordPress Popular Posts requires at least "
|
@@ -147,7 +147,7 @@ msgstr ""
|
|
147 |
"Posts requiere al menos la versión %1$s para funcionar correctamente. "
|
148 |
"Por favor actualiza tu blog via Escritorio > Actualizaciones."
|
149 |
|
150 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
151 |
#, php-format
|
152 |
msgid ""
|
153 |
"<div class=\"error\"><p>%1$s</p><p><i>%2$s</i> has been <strong>deactivated</"
|
@@ -452,11 +452,10 @@ msgstr "día(s)"
|
|
452 |
|
453 |
#: ../admin/partials/admin.php:588
|
454 |
msgid ""
|
455 |
-
"Data
|
456 |
-
"will be automatically discarded"
|
457 |
msgstr ""
|
458 |
-
"
|
459 |
-
"
|
460 |
|
461 |
#: ../admin/partials/admin.php:594
|
462 |
msgid "Ajaxify widget"
|
@@ -1052,38 +1051,38 @@ msgstr ""
|
|
1052 |
msgid "displays post/page date, requires stats_date=1"
|
1053 |
msgstr "muestra la fecha de la entrada/página, requiere stats_date=1"
|
1054 |
|
1055 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1056 |
msgid "Sorry. No data so far."
|
1057 |
msgstr "Lo lamentamos. No hay nada que mostrar aún."
|
1058 |
|
1059 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1060 |
#, php-format
|
1061 |
msgid "%s ago"
|
1062 |
msgstr "hace %s"
|
1063 |
|
1064 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1065 |
#, php-format
|
1066 |
msgid "1 view per day"
|
1067 |
msgid_plural "%s views per day"
|
1068 |
msgstr[0] "1 vista por día"
|
1069 |
msgstr[1] "%s vistas por día"
|
1070 |
|
1071 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1072 |
#, php-format
|
1073 |
msgid "by %s"
|
1074 |
msgstr "por %s"
|
1075 |
|
1076 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1077 |
#, php-format
|
1078 |
msgid "posted %s"
|
1079 |
msgstr "publicado %s"
|
1080 |
|
1081 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1082 |
#, php-format
|
1083 |
msgid "posted on %s"
|
1084 |
msgstr "publicado el %s"
|
1085 |
|
1086 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
1087 |
#, php-format
|
1088 |
msgid "under %s"
|
1089 |
msgstr "bajo %s"
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: WordPress Popular Posts\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wordpress-popular-posts\n"
|
7 |
+
"POT-Creation-Date: 2017-09-26 13:18-0400\n"
|
8 |
+
"PO-Revision-Date: 2017-09-26 13:19-0400\n"
|
9 |
"Last-Translator: \n"
|
10 |
"Language-Team: Héctor Cabrera <me@cabrerahector.com>\n"
|
11 |
"Language: es_VE\n"
|
69 |
"\"%1$s\">Documentación</a></li><li><a href=\"%2$s\">Soporte</a></li></"
|
70 |
"ul>"
|
71 |
|
72 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:633
|
73 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:752
|
74 |
#: ../admin/partials/admin.php:412 ../admin/partials/admin.php:459
|
75 |
+
#: ../includes/class-wordpress-popular-posts-output.php:720
|
76 |
#, php-format
|
77 |
msgid "1 view"
|
78 |
msgid_plural "%s views"
|
79 |
msgstr[0] "1 vista"
|
80 |
msgstr[1] "%s vistas"
|
81 |
|
82 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:633
|
83 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:807
|
84 |
#: ../admin/partials/admin.php:412 ../admin/partials/admin.php:459
|
85 |
+
#: ../includes/class-wordpress-popular-posts-output.php:701
|
86 |
#, php-format
|
87 |
msgid "1 comment"
|
88 |
msgid_plural "%s comments"
|
89 |
msgstr[0] "1 comentario"
|
90 |
msgstr[1] "%s comentarios"
|
91 |
|
92 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:665
|
93 |
#: ../includes/widget-form.php:17
|
94 |
msgid "Comments"
|
95 |
msgstr "Comentarios"
|
96 |
|
97 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:669
|
98 |
msgid "Views"
|
99 |
msgstr "Vistas"
|
100 |
|
101 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:753
|
102 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:808
|
103 |
#: ../admin/partials/admin.php:413 ../admin/partials/admin.php:460
|
104 |
msgid "View"
|
105 |
msgstr "Vista"
|
106 |
|
107 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:753
|
108 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:808
|
109 |
#: ../admin/partials/admin.php:413 ../admin/partials/admin.php:460
|
110 |
msgid "Edit"
|
111 |
msgstr "Editar"
|
112 |
|
113 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:764
|
114 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:819
|
115 |
#: ../admin/partials/admin.php:424 ../admin/partials/admin.php:471
|
116 |
msgid ""
|
117 |
"Looks like traffic to your site is a little light right now. <br />Spread "
|
120 |
"Parece que el tráfico hacia tu sitio web está un poco ligero. "
|
121 |
"<br />¡Haz un poco de promoción y regresa luego!"
|
122 |
|
123 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:887
|
124 |
msgid "Settings"
|
125 |
msgstr "Configuración"
|
126 |
|
127 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:1239
|
128 |
#, php-format
|
129 |
msgid ""
|
130 |
"Your PHP installation is too old. WordPress Popular Posts requires at least "
|
136 |
"contacta a tu proveedor de hosting y solicita que se actualice PHP a %1$s o "
|
137 |
"mejor."
|
138 |
|
139 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:1246
|
140 |
#, php-format
|
141 |
msgid ""
|
142 |
"Your WordPress version is too old. WordPress Popular Posts requires at least "
|
147 |
"Posts requiere al menos la versión %1$s para funcionar correctamente. "
|
148 |
"Por favor actualiza tu blog via Escritorio > Actualizaciones."
|
149 |
|
150 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:1271
|
151 |
#, php-format
|
152 |
msgid ""
|
153 |
"<div class=\"error\"><p>%1$s</p><p><i>%2$s</i> has been <strong>deactivated</"
|
452 |
|
453 |
#: ../admin/partials/admin.php:588
|
454 |
msgid ""
|
455 |
+
"Data older than the specified time frame will be automatically discarded"
|
|
|
456 |
msgstr ""
|
457 |
+
"La data que sea más antigua que el tiempo especificado serán "
|
458 |
+
"automáticamente descartada"
|
459 |
|
460 |
#: ../admin/partials/admin.php:594
|
461 |
msgid "Ajaxify widget"
|
1051 |
msgid "displays post/page date, requires stats_date=1"
|
1052 |
msgstr "muestra la fecha de la entrada/página, requiere stats_date=1"
|
1053 |
|
1054 |
+
#: ../includes/class-wordpress-popular-posts-output.php:126
|
1055 |
msgid "Sorry. No data so far."
|
1056 |
msgstr "Lo lamentamos. No hay nada que mostrar aún."
|
1057 |
|
1058 |
+
#: ../includes/class-wordpress-popular-posts-output.php:497
|
1059 |
#, php-format
|
1060 |
msgid "%s ago"
|
1061 |
msgstr "hace %s"
|
1062 |
|
1063 |
+
#: ../includes/class-wordpress-popular-posts-output.php:714
|
1064 |
#, php-format
|
1065 |
msgid "1 view per day"
|
1066 |
msgid_plural "%s views per day"
|
1067 |
msgstr[0] "1 vista por día"
|
1068 |
msgstr[1] "%s vistas por día"
|
1069 |
|
1070 |
+
#: ../includes/class-wordpress-popular-posts-output.php:743
|
1071 |
#, php-format
|
1072 |
msgid "by %s"
|
1073 |
msgstr "por %s"
|
1074 |
|
1075 |
+
#: ../includes/class-wordpress-popular-posts-output.php:749
|
1076 |
#, php-format
|
1077 |
msgid "posted %s"
|
1078 |
msgstr "publicado %s"
|
1079 |
|
1080 |
+
#: ../includes/class-wordpress-popular-posts-output.php:749
|
1081 |
#, php-format
|
1082 |
msgid "posted on %s"
|
1083 |
msgstr "publicado el %s"
|
1084 |
|
1085 |
+
#: ../includes/class-wordpress-popular-posts-output.php:758
|
1086 |
#, php-format
|
1087 |
msgid "under %s"
|
1088 |
msgstr "bajo %s"
|
languages/wordpress-popular-posts.pot
CHANGED
@@ -5,7 +5,7 @@ msgid ""
|
|
5 |
msgstr ""
|
6 |
"Project-Id-Version: WordPress Popular Posts\n"
|
7 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wordpress-popular-posts\n"
|
8 |
-
"POT-Creation-Date: 2017-09-
|
9 |
"PO-Revision-Date: 2015-04-24 13:30-0430\n"
|
10 |
"Last-Translator: Héctor Cabrera <hcabrerab@gmail.com>\n"
|
11 |
"Language-Team: Héctor Cabrera <me@cabrerahector.com>\n"
|
@@ -57,59 +57,59 @@ msgid ""
|
|
57 |
"a></li><li><a href=\"%2$s\">Support</a></li></ul>"
|
58 |
msgstr ""
|
59 |
|
60 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
61 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
62 |
#: ../admin/partials/admin.php:459
|
63 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
64 |
#, php-format
|
65 |
msgid "1 view"
|
66 |
msgid_plural "%s views"
|
67 |
msgstr[0] ""
|
68 |
msgstr[1] ""
|
69 |
|
70 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
71 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
72 |
#: ../admin/partials/admin.php:459
|
73 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
74 |
#, php-format
|
75 |
msgid "1 comment"
|
76 |
msgid_plural "%s comments"
|
77 |
msgstr[0] ""
|
78 |
msgstr[1] ""
|
79 |
|
80 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
81 |
msgid "Comments"
|
82 |
msgstr ""
|
83 |
|
84 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
85 |
msgid "Views"
|
86 |
msgstr ""
|
87 |
|
88 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
89 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
90 |
#: ../admin/partials/admin.php:460
|
91 |
msgid "View"
|
92 |
msgstr ""
|
93 |
|
94 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
95 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
96 |
#: ../admin/partials/admin.php:460
|
97 |
msgid "Edit"
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
101 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
102 |
#: ../admin/partials/admin.php:471
|
103 |
msgid ""
|
104 |
"Looks like traffic to your site is a little light right now. <br />Spread the word and "
|
105 |
"come back later!"
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
109 |
msgid "Settings"
|
110 |
msgstr ""
|
111 |
|
112 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
113 |
#, php-format
|
114 |
msgid ""
|
115 |
"Your PHP installation is too old. WordPress Popular Posts requires at least PHP "
|
@@ -117,14 +117,14 @@ msgid ""
|
|
117 |
"to upgrade PHP to %1$s or higher."
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
121 |
#, php-format
|
122 |
msgid ""
|
123 |
"Your WordPress version is too old. WordPress Popular Posts requires at least WordPress "
|
124 |
"version %1$s to function correctly. Please update your blog via Dashboard > Update."
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: ../admin/class-wordpress-popular-posts-admin.php:
|
128 |
#, php-format
|
129 |
msgid ""
|
130 |
"<div class=\"error\"><p>%1$s</p><p><i>%2$s</i> has been <strong>deactivated</strong>.</"
|
@@ -402,9 +402,7 @@ msgid "day(s)"
|
|
402 |
msgstr ""
|
403 |
|
404 |
#: ../admin/partials/admin.php:588
|
405 |
-
msgid ""
|
406 |
-
"Data from entries that haven't been viewed within the specified time frame will be "
|
407 |
-
"automatically discarded"
|
408 |
msgstr ""
|
409 |
|
410 |
#: ../admin/partials/admin.php:594
|
@@ -881,38 +879,38 @@ msgstr ""
|
|
881 |
msgid "displays post/page date, requires stats_date=1"
|
882 |
msgstr ""
|
883 |
|
884 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
885 |
msgid "Sorry. No data so far."
|
886 |
msgstr ""
|
887 |
|
888 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
889 |
#, php-format
|
890 |
msgid "%s ago"
|
891 |
msgstr ""
|
892 |
|
893 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
894 |
#, php-format
|
895 |
msgid "1 view per day"
|
896 |
msgid_plural "%s views per day"
|
897 |
msgstr[0] ""
|
898 |
msgstr[1] ""
|
899 |
|
900 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
901 |
#, php-format
|
902 |
msgid "by %s"
|
903 |
msgstr ""
|
904 |
|
905 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
906 |
#, php-format
|
907 |
msgid "posted %s"
|
908 |
msgstr ""
|
909 |
|
910 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
911 |
#, php-format
|
912 |
msgid "posted on %s"
|
913 |
msgstr ""
|
914 |
|
915 |
-
#: ../includes/class-wordpress-popular-posts-output.php:
|
916 |
#, php-format
|
917 |
msgid "under %s"
|
918 |
msgstr ""
|
5 |
msgstr ""
|
6 |
"Project-Id-Version: WordPress Popular Posts\n"
|
7 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wordpress-popular-posts\n"
|
8 |
+
"POT-Creation-Date: 2017-09-26 13:16-0400\n"
|
9 |
"PO-Revision-Date: 2015-04-24 13:30-0430\n"
|
10 |
"Last-Translator: Héctor Cabrera <hcabrerab@gmail.com>\n"
|
11 |
"Language-Team: Héctor Cabrera <me@cabrerahector.com>\n"
|
57 |
"a></li><li><a href=\"%2$s\">Support</a></li></ul>"
|
58 |
msgstr ""
|
59 |
|
60 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:633
|
61 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:752 ../admin/partials/admin.php:412
|
62 |
#: ../admin/partials/admin.php:459
|
63 |
+
#: ../includes/class-wordpress-popular-posts-output.php:720
|
64 |
#, php-format
|
65 |
msgid "1 view"
|
66 |
msgid_plural "%s views"
|
67 |
msgstr[0] ""
|
68 |
msgstr[1] ""
|
69 |
|
70 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:633
|
71 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:807 ../admin/partials/admin.php:412
|
72 |
#: ../admin/partials/admin.php:459
|
73 |
+
#: ../includes/class-wordpress-popular-posts-output.php:701
|
74 |
#, php-format
|
75 |
msgid "1 comment"
|
76 |
msgid_plural "%s comments"
|
77 |
msgstr[0] ""
|
78 |
msgstr[1] ""
|
79 |
|
80 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:665 ../includes/widget-form.php:17
|
81 |
msgid "Comments"
|
82 |
msgstr ""
|
83 |
|
84 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:669
|
85 |
msgid "Views"
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:753
|
89 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:808 ../admin/partials/admin.php:413
|
90 |
#: ../admin/partials/admin.php:460
|
91 |
msgid "View"
|
92 |
msgstr ""
|
93 |
|
94 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:753
|
95 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:808 ../admin/partials/admin.php:413
|
96 |
#: ../admin/partials/admin.php:460
|
97 |
msgid "Edit"
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:764
|
101 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:819 ../admin/partials/admin.php:424
|
102 |
#: ../admin/partials/admin.php:471
|
103 |
msgid ""
|
104 |
"Looks like traffic to your site is a little light right now. <br />Spread the word and "
|
105 |
"come back later!"
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:887
|
109 |
msgid "Settings"
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:1239
|
113 |
#, php-format
|
114 |
msgid ""
|
115 |
"Your PHP installation is too old. WordPress Popular Posts requires at least PHP "
|
117 |
"to upgrade PHP to %1$s or higher."
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:1246
|
121 |
#, php-format
|
122 |
msgid ""
|
123 |
"Your WordPress version is too old. WordPress Popular Posts requires at least WordPress "
|
124 |
"version %1$s to function correctly. Please update your blog via Dashboard > Update."
|
125 |
msgstr ""
|
126 |
|
127 |
+
#: ../admin/class-wordpress-popular-posts-admin.php:1271
|
128 |
#, php-format
|
129 |
msgid ""
|
130 |
"<div class=\"error\"><p>%1$s</p><p><i>%2$s</i> has been <strong>deactivated</strong>.</"
|
402 |
msgstr ""
|
403 |
|
404 |
#: ../admin/partials/admin.php:588
|
405 |
+
msgid "Data older than the specified time frame will be automatically discarded"
|
|
|
|
|
406 |
msgstr ""
|
407 |
|
408 |
#: ../admin/partials/admin.php:594
|
879 |
msgid "displays post/page date, requires stats_date=1"
|
880 |
msgstr ""
|
881 |
|
882 |
+
#: ../includes/class-wordpress-popular-posts-output.php:126
|
883 |
msgid "Sorry. No data so far."
|
884 |
msgstr ""
|
885 |
|
886 |
+
#: ../includes/class-wordpress-popular-posts-output.php:497
|
887 |
#, php-format
|
888 |
msgid "%s ago"
|
889 |
msgstr ""
|
890 |
|
891 |
+
#: ../includes/class-wordpress-popular-posts-output.php:714
|
892 |
#, php-format
|
893 |
msgid "1 view per day"
|
894 |
msgid_plural "%s views per day"
|
895 |
msgstr[0] ""
|
896 |
msgstr[1] ""
|
897 |
|
898 |
+
#: ../includes/class-wordpress-popular-posts-output.php:743
|
899 |
#, php-format
|
900 |
msgid "by %s"
|
901 |
msgstr ""
|
902 |
|
903 |
+
#: ../includes/class-wordpress-popular-posts-output.php:749
|
904 |
#, php-format
|
905 |
msgid "posted %s"
|
906 |
msgstr ""
|
907 |
|
908 |
+
#: ../includes/class-wordpress-popular-posts-output.php:749
|
909 |
#, php-format
|
910 |
msgid "posted on %s"
|
911 |
msgstr ""
|
912 |
|
913 |
+
#: ../includes/class-wordpress-popular-posts-output.php:758
|
914 |
#, php-format
|
915 |
msgid "under %s"
|
916 |
msgstr ""
|
public/class-wordpress-popular-posts-public.php
CHANGED
@@ -69,8 +69,16 @@ class WPP_Public {
|
|
69 |
* @since 4.0.0
|
70 |
*/
|
71 |
public function enqueue_styles() {
|
72 |
-
if ( $this->admin_options['tools']['css'] )
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
}
|
75 |
|
76 |
/**
|
@@ -201,8 +209,8 @@ class WPP_Public {
|
|
201 |
// Update range (summary) table
|
202 |
$result2 = $wpdb->query( $wpdb->prepare(
|
203 |
"INSERT INTO {$table}summary
|
204 |
-
(postid, pageviews, view_date,
|
205 |
-
ON DUPLICATE KEY UPDATE pageviews = pageviews + %d,
|
206 |
$post_ID,
|
207 |
$views,
|
208 |
$curdate,
|
69 |
* @since 4.0.0
|
70 |
*/
|
71 |
public function enqueue_styles() {
|
72 |
+
if ( $this->admin_options['tools']['css'] ) {
|
73 |
+
$theme_file = get_stylesheet_directory() . '/wpp.css';
|
74 |
+
|
75 |
+
if ( @is_file( $theme_file ) ) {
|
76 |
+
wp_enqueue_style( 'wordpress-popular-posts-css', get_stylesheet_directory_uri() . "/wpp.css", array(), $this->version, 'all' );
|
77 |
+
} // Load stock stylesheet
|
78 |
+
else {
|
79 |
+
wp_enqueue_style( 'wordpress-popular-posts-css', plugin_dir_url( __FILE__ ) . 'css/wpp.css', array(), $this->version, 'all' );
|
80 |
+
}
|
81 |
+
}
|
82 |
}
|
83 |
|
84 |
/**
|
209 |
// Update range (summary) table
|
210 |
$result2 = $wpdb->query( $wpdb->prepare(
|
211 |
"INSERT INTO {$table}summary
|
212 |
+
(postid, pageviews, view_date, view_datetime) VALUES (%d, %d, %s, %s)
|
213 |
+
ON DUPLICATE KEY UPDATE pageviews = pageviews + %d, view_datetime = %s;",
|
214 |
$post_ID,
|
215 |
$views,
|
216 |
$curdate,
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=hcabr
|
|
4 |
Tags: popular, posts, widget, popularity, top
|
5 |
Requires at least: 4.1
|
6 |
Tested up to: 4.8.2
|
7 |
-
Stable tag: 4.0.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -23,7 +23,7 @@ WordPress Popular Posts is a highly customizable widget that displays your most
|
|
23 |
* **Sorting options** - Order your popular list by comments, views (default) or average views per day!
|
24 |
* **Use your own layout!** - WPP is flexible enough to let you customize the look and feel of your popular posts! (see [customizing WPP's HTML markup](https://github.com/cabrerahector/wordpress-popular-posts/wiki/5.-FAQ#how-can-i-use-my-own-html-markup-with-your-plugin) and [How to style WordPress Popular Posts](https://github.com/cabrerahector/wordpress-popular-posts/wiki/6.-Styling-the-list) for more.)
|
25 |
* **Disqus support** - Sort your popular posts by Disqus comments count!
|
26 |
-
* **WPML support!**
|
27 |
* **WordPress Multisite support** - Each site on the network can have its own popular posts!
|
28 |
|
29 |
= Other Features =
|
@@ -82,6 +82,14 @@ The FAQ section has been moved [here](https://github.com/cabrerahector/wordpress
|
|
82 |
4. WordPress Popular Posts Stats panel.
|
83 |
|
84 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
= 4.0.3 =
|
86 |
|
87 |
**This is a hotfix release.**
|
@@ -114,7 +122,7 @@ The FAQ section has been moved [here](https://github.com/cabrerahector/wordpress
|
|
114 |
- Adds ability to pick a Custom Time Range!
|
115 |
- Adds ability to filter posts by other taxonomies than just categories!
|
116 |
- Adds Relative Date Format.
|
117 |
-
- Fixes
|
118 |
- Improves PHP7+ compatibility.
|
119 |
- Improves compatibility with WP-SpamShield, WooCommerce, Polylang and WPML.
|
120 |
- Drops qTranslate support (that plugin has been long removed from WordPress.org anyways.)
|
4 |
Tags: popular, posts, widget, popularity, top
|
5 |
Requires at least: 4.1
|
6 |
Tested up to: 4.8.2
|
7 |
+
Stable tag: 4.0.5
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
23 |
* **Sorting options** - Order your popular list by comments, views (default) or average views per day!
|
24 |
* **Use your own layout!** - WPP is flexible enough to let you customize the look and feel of your popular posts! (see [customizing WPP's HTML markup](https://github.com/cabrerahector/wordpress-popular-posts/wiki/5.-FAQ#how-can-i-use-my-own-html-markup-with-your-plugin) and [How to style WordPress Popular Posts](https://github.com/cabrerahector/wordpress-popular-posts/wiki/6.-Styling-the-list) for more.)
|
25 |
* **Disqus support** - Sort your popular posts by Disqus comments count!
|
26 |
+
* **Polylang & WPML support!**
|
27 |
* **WordPress Multisite support** - Each site on the network can have its own popular posts!
|
28 |
|
29 |
= Other Features =
|
82 |
4. WordPress Popular Posts Stats panel.
|
83 |
|
84 |
== Changelog ==
|
85 |
+
= 4.0.5 =
|
86 |
+
|
87 |
+
- Fixes the taxonomy filter for Custom Post Types.
|
88 |
+
- Updates summary table structure and indexes.
|
89 |
+
- Adds back ability to use custom wpp.css from theme.
|
90 |
+
- Dashboard: adds a Debug screen to help with support inquiries.
|
91 |
+
- Other minor bug fixes and improvements.
|
92 |
+
|
93 |
= 4.0.3 =
|
94 |
|
95 |
**This is a hotfix release.**
|
122 |
- Adds ability to pick a Custom Time Range!
|
123 |
- Adds ability to filter posts by other taxonomies than just categories!
|
124 |
- Adds Relative Date Format.
|
125 |
+
- Fixes broken views tracking caused by changeset 41508 https://core.trac.wordpress.org/changeset/41508 (props hykw!)
|
126 |
- Improves PHP7+ compatibility.
|
127 |
- Improves compatibility with WP-SpamShield, WooCommerce, Polylang and WPML.
|
128 |
- Drops qTranslate support (that plugin has been long removed from WordPress.org anyways.)
|
wordpress-popular-posts.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
* Plugin Name: WordPress Popular Posts
|
17 |
* Plugin URI: https://wordpress.org/plugins/wordpress-popular-posts/
|
18 |
* Description: A highly customizable widget that displays the most popular posts on your blog.
|
19 |
-
* Version: 4.0.
|
20 |
* Author: Hector Cabrera
|
21 |
* Author URI: http://cabrerahector.com/
|
22 |
* License: GPL-2.0+
|
16 |
* Plugin Name: WordPress Popular Posts
|
17 |
* Plugin URI: https://wordpress.org/plugins/wordpress-popular-posts/
|
18 |
* Description: A highly customizable widget that displays the most popular posts on your blog.
|
19 |
+
* Version: 4.0.5
|
20 |
* Author: Hector Cabrera
|
21 |
* Author URI: http://cabrerahector.com/
|
22 |
* License: GPL-2.0+
|