升级至 1.3.0 稳定版本

This commit is contained in:
文派备案 2025-04-06 10:15:34 +08:00
parent dd0566d744
commit 82023ed8d0
7 changed files with 548 additions and 45 deletions

View file

@ -10,7 +10,9 @@
#wp-admin-bar-archiver.archiver-failure .ab-item {
color: #dc3232!important
}
#wp-admin-bar-archiver .ab-icon.dashicons.dashicons-backup {
top: 2px;
}
#wp-admin-bar-archiver-trigger .ab-icon {
display: inline-block;
float: right!important;
@ -44,9 +46,29 @@
}
}
.wrap.archiver-settings {
max-width: 1200px
.nav-tab {
border: 0px solid #c3c4c7;
background: #ffffff;
}
.nav-tab.nav-tab-active {
border-bottom: 2px solid #007cba;
font-weight: 600;
background: #f0f0f1;
}
.nav-tab:hover:not(.active) {
background: #f0f0f1;
border-bottom-color: #dcdcde;
}
.card {
background: #fff;
border: 1px solid #ccd0d4;
border-radius: 4px;
max-width: unset;
margin-top: 20px;
padding: 20px;
}
.postbox {
border: 0 solid #c3c4c7;

View file

@ -1 +1 @@
#wp-admin-bar-archiver .ab-item{transition:all .3s ease;color:#72aee6}#wp-admin-bar-archiver.archiver-success .ab-item{color:#46b450!important}#wp-admin-bar-archiver.archiver-failure .ab-item{color:#dc3232!important}#wp-admin-bar-archiver-trigger .ab-icon{display:inline-block;float:right!important;margin:0 0 0 6px;opacity:0;transition:opacity .3s ease;vertical-align:middle}#wp-admin-bar-archiver-trigger .ab-icon::before{content:"\f463";font-family:dashicons;font-size:18px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wp-admin-bar-archiver-trigger.archiver-active .ab-icon{opacity:1;animation:archiver-spin 1s infinite linear}@keyframes archiver-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.wrap.archiver-settings{max-width:1200px}.postbox{border:0 solid #c3c4c7;background:#ffffff00}.archiver-stats-container{display:flex;gap:20px;margin:0 0 20px}.archiver-stat-card{flex:1;background:#fff;border:1px solid #ccd0d4;border-radius:4px;padding:15px;text-align:center;box-shadow:0 1px 1px rgba(0,0,0,.04)}.archiver-stat-card h3{margin:0 0 10px;font-size:14px;font-weight:500;color:#646970}.archiver-stat-card .stat-value{font-size:18px;font-weight:600;color:#1d2327}.archiver-pending-list{max-height:300px;overflow-y:auto;border:1px solid #ddd;padding:10px;background:#f9f9f9;margin:0 0 20px}.archiver-pending-list ul{margin:0;padding:0;list-style:none}.archiver-pending-list li{padding:5px 0;border-bottom:1px solid #eee;word-break:break-all}.archiver-pending-list li:last-child{border-bottom:none}@media (max-width:782px){.archiver-stats-container{flex-direction:column}.archiver-stat-card{width:100%}}#archiver_post,#archiver_terms{background:#fff;border-radius:4px}#archiver-snapshots ul{margin:0;padding:0;list-style:none}#archiver-snapshots li{padding:5px 0;border-bottom:1px solid #eee}#archiver-snapshots li:last-child{border-bottom:none}#archiver-snapshots a{text-decoration:none;color:#2271b1}#archiver-snapshots a:hover{text-decoration:underline}#archiver-status{vertical-align:middle;color:#646970}#archiver-status .dashicons{vertical-align:middle;margin-right:3px}#archiver-immediate-snapshot{margin-top:10px}
#wp-admin-bar-archiver .ab-item{transition:all .3s ease;color:#72aee6}#wp-admin-bar-archiver.archiver-success .ab-item{color:#46b450!important}#wp-admin-bar-archiver.archiver-failure .ab-item{color:#dc3232!important}#wp-admin-bar-archiver .ab-icon.dashicons.dashicons-backup{top:2px}#wp-admin-bar-archiver-trigger .ab-icon{display:inline-block;float:right!important;margin:0 0 0 6px;opacity:0;transition:opacity .3s ease;vertical-align:middle}#wp-admin-bar-archiver-trigger .ab-icon::before{content:"\f463";font-family:dashicons;font-size:18px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wp-admin-bar-archiver-trigger.archiver-active .ab-icon{opacity:1;animation:archiver-spin 1s infinite linear}@keyframes archiver-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.nav-tab{border:0 solid #c3c4c7;background:#fff}.nav-tab.nav-tab-active{border-bottom:2px solid #007cba;font-weight:600;background:#f0f0f1}.nav-tab:hover:not(.active){background:#f0f0f1;border-bottom-color:#dcdcde}.card{background:#fff;border:1px solid #ccd0d4;border-radius:4px;max-width:unset;margin-top:20px;padding:20px}.postbox{border:0 solid #c3c4c7;background:#ffffff00}.archiver-stats-container{display:flex;gap:20px;margin:0 0 20px}.archiver-stat-card{flex:1;background:#fff;border:1px solid #ccd0d4;border-radius:4px;padding:15px;text-align:center;box-shadow:0 1px 1px rgba(0,0,0,.04)}.archiver-stat-card h3{margin:0 0 10px;font-size:14px;font-weight:500;color:#646970}.archiver-stat-card .stat-value{font-size:18px;font-weight:600;color:#1d2327}.archiver-pending-list{max-height:300px;overflow-y:auto;border:1px solid #ddd;padding:10px;background:#f9f9f9;margin:0 0 20px}.archiver-pending-list ul{margin:0;padding:0;list-style:none}.archiver-pending-list li{padding:5px 0;border-bottom:1px solid #eee;word-break:break-all}.archiver-pending-list li:last-child{border-bottom:none}@media (max-width:782px){.archiver-stats-container{flex-direction:column}.archiver-stat-card{width:100%}}#archiver_post,#archiver_terms{background:#fff;border-radius:4px}#archiver-snapshots ul{margin:0;padding:0;list-style:none}#archiver-snapshots li{padding:5px 0;border-bottom:1px solid #eee}#archiver-snapshots li:last-child{border-bottom:none}#archiver-snapshots a{text-decoration:none;color:#2271b1}#archiver-snapshots a:hover{text-decoration:underline}#archiver-status{vertical-align:middle;color:#646970}#archiver-status .dashicons{vertical-align:middle;margin-right:3px}#archiver-immediate-snapshot{margin-top:10px}

View file

@ -38,10 +38,48 @@ class Archiver_Admin {
$selected_post_types = get_option('archiver_post_types', array('post', 'page'));
?>
<div class="wrap">
<h1><?php echo esc_html(get_admin_page_title()); ?></h1>
<h1><?php echo esc_html(get_admin_page_title()); ?>
<span style="font-size: 13px; padding-left: 10px;"><?php printf(esc_html__('Version: %s', 'archiver'), esc_html(ARCHIVER_VERSION)); ?></span>
<a href="https://sharecms.com/document/wp-archiver" target="_blank" class="button button-secondary" style="margin-left: 10px;"><?php esc_html_e('Document', 'archiver'); ?></a>
<a href="https://sharecms.com/forums/" target="_blank" class="button button-secondary"><?php esc_html_e('Support', 'archiver'); ?></a>
</h1>
<div class="card">
<h3><?php _e('Archive Statistics', 'archiver'); ?></h3>
<p><?php _e('View statistics and records of Archive.', 'archiver'); ?></p>
<div class="archiver-stats-container">
<div class="archiver-stat-card">
<h3><?php _e('Pending URLs', 'archiver'); ?></h3>
<div class="stat-value"><?php echo number_format(count(get_option('archiver_urls_to_update', array()))); ?></div>
</div>
<div class="archiver-stat-card">
<h3><?php _e('Total Archived', 'archiver'); ?></h3>
<div class="stat-value"><?php echo number_format((int) get_option('archiver_total_archived', 0)); ?></div>
</div>
<div class="archiver-stat-card">
<h3><?php _e('Failed Snapshots', 'archiver'); ?></h3>
<div class="stat-value"><?php echo number_format((int) get_option('archiver_failed_snapshots', 0)); ?></div>
</div>
<div class="archiver-stat-card">
<h3><?php _e('Last Run', 'archiver'); ?></h3>
<div class="stat-value"><?php echo esc_html(get_option('archiver_last_run', __('Never', 'archiver'))); ?></div>
</div>
<div class="archiver-stat-card">
<h3><?php _e('Next Run', 'archiver'); ?></h3>
<div class="stat-value"><?php
$next_run = wp_next_scheduled('archiver_process_urls');
echo $next_run ? esc_html(date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $next_run)) : __('Not scheduled', 'archiver');
?></div>
</div>
</div>
</div>
<div class="card">
<h2 class="nav-tab-wrapper">
<a href="#general" class="nav-tab nav-tab-active" data-tab="general"><?php _e('General Settings', 'archiver'); ?></a>
<a href="#tools" class="nav-tab" data-tab="tools"><?php _e('Tools', 'archiver'); ?></a>
<a href="#tools" class="nav-tab" data-tab="tools"><?php _e('Snapshot Tools', 'archiver'); ?></a>
<a href="#about" class="nav-tab" data-tab="about"><?php _e('About', 'archiver'); ?></a>
</h2>
<?php settings_errors('archiver_messages'); ?>
@ -71,6 +109,8 @@ class Archiver_Admin {
</tr>
</table>
<h3><?php _e('Update Frequency', 'archiver'); ?></h3>
<p><?php _e('Adjust the update frequency to avoid excessive requests.', 'archiver'); ?></p>
<table class="form-table">
<tr>
<th scope="row"><?php _e('Frequency', 'archiver'); ?></th>
@ -102,32 +142,6 @@ class Archiver_Admin {
<div id="tools" class="archiver-tab-content" style="display: none;">
<div class="postbox">
<div class="inside">
<h3><?php _e('Archive Statistics', 'archiver'); ?></h3>
<div class="archiver-stats-container">
<div class="archiver-stat-card">
<h3><?php _e('Pending URLs', 'archiver'); ?></h3>
<div class="stat-value"><?php echo number_format(count(get_option('archiver_urls_to_update', array()))); ?></div>
</div>
<div class="archiver-stat-card">
<h3><?php _e('Total Archived', 'archiver'); ?></h3>
<div class="stat-value"><?php echo number_format((int) get_option('archiver_total_archived', 0)); ?></div>
</div>
<div class="archiver-stat-card">
<h3><?php _e('Failed Snapshots', 'archiver'); ?></h3>
<div class="stat-value"><?php echo number_format((int) get_option('archiver_failed_snapshots', 0)); ?></div>
</div>
<div class="archiver-stat-card">
<h3><?php _e('Last Run', 'archiver'); ?></h3>
<div class="stat-value"><?php echo esc_html(get_option('archiver_last_run', __('Never', 'archiver'))); ?></div>
</div>
<div class="archiver-stat-card">
<h3><?php _e('Next Run', 'archiver'); ?></h3>
<div class="stat-value"><?php
$next_run = wp_next_scheduled('archiver_process_urls');
echo $next_run ? esc_html(date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $next_run)) : __('Not scheduled', 'archiver');
?></div>
</div>
</div>
<h3><?php _e('Pending Updates', 'archiver'); ?></h3>
<?php $this->display_pending_updates(); ?>
<form method="post" action="">
@ -168,8 +182,42 @@ class Archiver_Admin {
</div>
</div>
</div>
<div id="about" class="archiver-tab-content" style="display: none;">
<div class="postbox">
<div class="inside">
<h3><?php _e('About Internet Archive', 'archiver'); ?></h3>
<p><?php _e('The Internet Archive is a non-profit digital library that preserves web pages, books, audio recordings, videos, and software for future generations. One of its most well-known services is the Wayback Machine, which allows users to view archived versions of web pages across time.', 'archiver'); ?></p>
<h4><?php _e('Why Archive Your Website?', 'archiver'); ?></h4>
<ul style="list-style: decimal; padding: inherit;">
<li><?php _e('Preserve your content against accidental deletion or server failures', 'archiver'); ?></li>
<li><?php _e('Maintain a public record of your published work', 'archiver'); ?></li>
<li><?php _e('Protect against link rot (when external links stop working)', 'archiver'); ?></li>
<li><?php _e('Establish historical context and content provenance', 'archiver'); ?></li>
</ul>
<h3><?php _e('About WP Archiver', 'archiver'); ?></h3>
<p><?php _e('This plugin automatically archives your WordPress content to the Internet Archive whenever you publish or update posts, pages, or other content types. It helps ensure your valuable content is preserved for the long term.', 'archiver'); ?></p>
<h3><?php _e('Best Practices', 'archiver'); ?></h3>
<ul style="list-style: decimal; padding: inherit;">
<li><?php _e('Archive important content immediately after publication', 'archiver'); ?></li>
<li><?php _e('For large sites, use weekly archiving to avoid overwhelming the service', 'archiver'); ?></li>
<li><?php _e('Regularly check your archived content to ensure it was captured correctly', 'archiver'); ?></li>
<li><?php _e('Consider manually archiving key pages after major updates', 'archiver'); ?></li>
</ul>
<p><?php _e('Thank you for helping preserve the web by archiving your content!', 'archiver'); ?></p>
</div>
</div>
</div>
</div>
</div>
</div>
<?php
}
@ -298,7 +346,7 @@ private function clear_cache() {
return;
}
echo '<p>' . sprintf(__('Total pending URLs: %d', 'archiver'), count($urls_to_update)) . '</p>';
echo '<div style="max-height: 300px; overflow-y: scroll; border: 1px solid #ddd; padding: 10px; background: #f9f9f9;">';
echo '<div style="max-height: 300px; overflow-y: scroll; border: 1px solid #ddd; border-radius: 6px; padding: 10px; background: #f9f9f9;">';
echo '<ul>';
foreach (array_slice($urls_to_update, 0, 50) as $url) {
echo '<li style="word-break: break-all;">' . esc_html($url) . '</li>';

View file

@ -10,7 +10,7 @@ class Archiver {
protected $snapshot_max_count;
protected $wayback_machine_url_save = 'https://web.wenpai.net/save/';
protected $wayback_machine_url_fetch_archives = 'https://web.wenpai.net/cdx/';
protected $wayback_machine_url_view = 'https://web.archive.org/web/';
protected $wayback_machine_url_view = 'https://web.wenpai.net/web/';
protected $current_permalink = '';
protected static $instance = null;
@ -149,7 +149,7 @@ class Archiver {
$time_format = get_option('time_format');
echo '<ul>';
foreach ($snapshots as $snapshot) {
$date_time = date('Y-m-d H:i:s', strtotime($snapshot['timestamp']));
$date_time = date('Y.m.d H:i', strtotime($snapshot['timestamp']));
$adjusted_date = get_date_from_gmt($date_time);
$snapshot_url = $this->wayback_machine_url_view . $snapshot['timestamp'] . '/' . $snapshot['original'];
$date_time = date_i18n($date_format . ' @ ' . $time_format, strtotime($adjusted_date));
@ -220,9 +220,9 @@ class Archiver {
}
$wp_admin_bar->add_node([
'id' => 'archiver',
'title' => '<span class="ab-icon dashicons dashicons-archive"></span><span class="ab-label">' . __('Archiver', 'archiver') . '</span>',
'href' => $this->wayback_machine_url_view . '*/' . $url,
'meta' => ['target' => '_blank']
'title' => '<span class="ab-icon dashicons dashicons-backup"></span><span class="ab-label">' . __('Archiver', 'archiver') . '</span>',
'href' => admin_url('tools.php?page=archiver-settings'),
'meta' => ['target' => '_self']
]);
$snapshots = $this->get_post_snapshots();
$snapshot_count = is_wp_error($snapshots) ? 0 : count($snapshots);
@ -663,13 +663,32 @@ public function process_urls_for_update() {
}
public function reschedule_cron_task($frequency) {
$timestamp = wp_next_scheduled('archiver_process_urls');
if ($timestamp) {
wp_unschedule_event($timestamp, 'archiver_process_urls');
}
wp_schedule_event(time(), $frequency, 'archiver_process_urls');
$timestamp = wp_next_scheduled('archiver_process_urls');
if ($timestamp) {
wp_unschedule_event($timestamp, 'archiver_process_urls');
error_log("Archiver: Cleared previous cron task scheduled at " . date('Y.m.d H:i', $timestamp));
}
$last_run = get_option('archiver_last_run'); // e.g., "2025-04-05 10:33:46"
$start_time = time(); // Default to now
if ($last_run && $frequency === 'hourly') {
$last_run_timestamp = strtotime($last_run); // Convert to UTC timestamp
$next_hour = strtotime('+1 hour', $last_run_timestamp); // Next hourly slot
if ($next_hour > time()) {
$start_time = $next_hour; // Schedule from next hour after last run
}
}
$result = wp_schedule_event($start_time, $frequency, 'archiver_process_urls');
if ($result === false) {
error_log("Archiver: Failed to schedule cron task with frequency $frequency");
} else {
$next_run = wp_next_scheduled('archiver_process_urls');
error_log("Archiver: Cron task rescheduled to $frequency, next run: " . date('Y.m.d H:i', $next_run) . " (Timezone: " . wp_timezone_string() . ")");
}
}
public static function deactivate() {
$timestamp = wp_next_scheduled('archiver_process_urls');
if ($timestamp) {

BIN
languages/archiver-zh_CN.mo Normal file

Binary file not shown.

414
languages/archiver-zh_CN.po Normal file
View file

@ -0,0 +1,414 @@
msgid ""
msgstr ""
"Project-Id-Version: WP Archiver\n"
"POT-Creation-Date: 2025-04-06 09:41+0800\n"
"PO-Revision-Date: 2025-04-06 09:41+0800\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.6\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-Flags-xgettext: --add-comments=translators:\n"
"X-Poedit-WPHeader: archiver.php\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: "
"__;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SearchPathExcluded-0: *.min.js\n"
#: includes/class-archiver-admin.php:25
msgid "Archiver Settings"
msgstr ""
#: includes/class-archiver-admin.php:26 includes/class-archiver.php:25
#: includes/class-archiver.php:223
msgid "Archiver"
msgstr ""
#: includes/class-archiver-admin.php:35
msgid "You do not have sufficient permissions to access this page."
msgstr ""
#: includes/class-archiver-admin.php:42
#, php-format
msgid "Version: %s"
msgstr ""
#: includes/class-archiver-admin.php:43
msgid "Document"
msgstr ""
#: includes/class-archiver-admin.php:44
msgid "Support"
msgstr ""
#: includes/class-archiver-admin.php:48
msgid "Archive Statistics"
msgstr ""
#: includes/class-archiver-admin.php:49
msgid "View statistics and records of Archive."
msgstr ""
#: includes/class-archiver-admin.php:53
msgid "Pending URLs"
msgstr ""
#: includes/class-archiver-admin.php:57
msgid "Total Archived"
msgstr ""
#: includes/class-archiver-admin.php:61
msgid "Failed Snapshots"
msgstr ""
#: includes/class-archiver-admin.php:65
msgid "Last Run"
msgstr ""
#: includes/class-archiver-admin.php:66
msgid "Never"
msgstr ""
#: includes/class-archiver-admin.php:69
msgid "Next Run"
msgstr ""
#: includes/class-archiver-admin.php:72
msgid "Not scheduled"
msgstr ""
#: includes/class-archiver-admin.php:80
msgid "General Settings"
msgstr ""
#: includes/class-archiver-admin.php:81
msgid "Snapshot Tools"
msgstr ""
#: includes/class-archiver-admin.php:82
msgid "About"
msgstr ""
#: includes/class-archiver-admin.php:92
msgid "Content Types to Archive"
msgstr ""
#: includes/class-archiver-admin.php:93
msgid ""
"Select which content types should be automatically archived when published "
"or updated."
msgstr ""
#: includes/class-archiver-admin.php:96
msgid "Post Types"
msgstr ""
#: includes/class-archiver-admin.php:111
msgid "Update Frequency"
msgstr ""
#: includes/class-archiver-admin.php:112
msgid "Adjust the update frequency to avoid excessive requests."
msgstr ""
#: includes/class-archiver-admin.php:116
msgid "Frequency"
msgstr ""
#: includes/class-archiver-admin.php:120
msgid "Hourly"
msgstr ""
#: includes/class-archiver-admin.php:123
msgid "Twice Daily"
msgstr ""
#: includes/class-archiver-admin.php:126
msgid "Daily"
msgstr ""
#: includes/class-archiver-admin.php:129
msgid "Weekly"
msgstr ""
#: includes/class-archiver-admin.php:132
msgid "How often should the plugin check for new archives?"
msgstr ""
#: includes/class-archiver-admin.php:136
msgid "Save Settings"
msgstr ""
#: includes/class-archiver-admin.php:145
msgid "Pending Updates"
msgstr ""
#: includes/class-archiver-admin.php:152
msgid "Run Manual Update Now"
msgstr ""
#: includes/class-archiver-admin.php:153
msgid "Process all pending URLs immediately."
msgstr ""
#: includes/class-archiver-admin.php:156
msgid "Bulk Actions"
msgstr ""
#: includes/class-archiver-admin.php:161
msgid "Select bulk action..."
msgstr ""
#: includes/class-archiver-admin.php:162
msgid "Archive all published posts"
msgstr ""
#: includes/class-archiver-admin.php:163
msgid "Clear pending queue"
msgstr ""
#: includes/class-archiver-admin.php:169
msgid "Apply"
msgstr ""
#: includes/class-archiver-admin.php:172
msgid "Debug Tools"
msgstr ""
#: includes/class-archiver-admin.php:178
msgid "Clear Cache"
msgstr ""
#: includes/class-archiver-admin.php:179
msgid "Clear all cached snapshot data."
msgstr ""
#: includes/class-archiver-admin.php:189
msgid "About Internet Archive"
msgstr ""
#: includes/class-archiver-admin.php:191
msgid ""
"The Internet Archive is a non-profit digital library that preserves web "
"pages, books, audio recordings, videos, and software for future generations. "
"One of its most well-known services is the Wayback Machine, which allows "
"users to view archived versions of web pages across time."
msgstr ""
#: includes/class-archiver-admin.php:193
msgid "Why Archive Your Website?"
msgstr ""
#: includes/class-archiver-admin.php:195
msgid "Preserve your content against accidental deletion or server failures"
msgstr ""
#: includes/class-archiver-admin.php:196
msgid "Maintain a public record of your published work"
msgstr ""
#: includes/class-archiver-admin.php:197
msgid "Protect against link rot (when external links stop working)"
msgstr ""
#: includes/class-archiver-admin.php:198
msgid "Establish historical context and content provenance"
msgstr ""
#: includes/class-archiver-admin.php:201
msgid "About WP Archiver"
msgstr ""
#: includes/class-archiver-admin.php:202
msgid ""
"This plugin automatically archives your WordPress content to the Internet "
"Archive whenever you publish or update posts, pages, or other content types. "
"It helps ensure your valuable content is preserved for the long term."
msgstr ""
#: includes/class-archiver-admin.php:204
msgid "Best Practices"
msgstr ""
#: includes/class-archiver-admin.php:206
msgid "Archive important content immediately after publication"
msgstr ""
#: includes/class-archiver-admin.php:207
msgid "For large sites, use weekly archiving to avoid overwhelming the service"
msgstr ""
#: includes/class-archiver-admin.php:208
msgid ""
"Regularly check your archived content to ensure it was captured correctly"
msgstr ""
#: includes/class-archiver-admin.php:209
msgid "Consider manually archiving key pages after major updates"
msgstr ""
#: includes/class-archiver-admin.php:212
msgid "Thank you for helping preserve the web by archiving your content!"
msgstr ""
#: includes/class-archiver-admin.php:233
msgid "Manual update triggered. The update will run in the background."
msgstr ""
#: includes/class-archiver-admin.php:250
msgid "Please select at least one post type to archive."
msgstr ""
#: includes/class-archiver-admin.php:261
msgid "Invalid post types selected."
msgstr ""
#: includes/class-archiver-admin.php:276
msgid "Settings saved successfully."
msgstr ""
#: includes/class-archiver-admin.php:292
msgid "Pending queue has been cleared."
msgstr ""
#: includes/class-archiver-admin.php:300
msgid "Please select a valid bulk action."
msgstr ""
#: includes/class-archiver-admin.php:322
#, php-format
msgid "%d posts have been added to the archive queue."
msgstr ""
#: includes/class-archiver-admin.php:337
msgid "All cached data has been cleared."
msgstr ""
#: includes/class-archiver-admin.php:345
msgid "No pending updates."
msgstr ""
#: includes/class-archiver-admin.php:348
#, php-format
msgid "Total pending URLs: %d"
msgstr ""
#: includes/class-archiver-admin.php:355
msgid "more"
msgstr ""
#: includes/class-archiver.php:89 includes/class-archiver.php:105
#: includes/class-archiver.php:124
msgid "Archives"
msgstr ""
#: includes/class-archiver.php:142
msgid ""
"No archives yet. A snapshot request has been scheduled and will be processed "
"soon."
msgstr ""
#: includes/class-archiver.php:144
msgid "There are no archives of this URL."
msgstr ""
#: includes/class-archiver.php:164
msgid "See all snapshots ↗"
msgstr ""
#: includes/class-archiver.php:167
msgid "Archive Now"
msgstr ""
#: includes/class-archiver.php:175
msgid "Security check failed. Please try again."
msgstr ""
#: includes/class-archiver.php:180
msgid "You do not have permission to perform this action."
msgstr ""
#: includes/class-archiver.php:186
msgid "Invalid URL provided."
msgstr ""
#: includes/class-archiver.php:203
msgid "Snapshot created successfully!"
msgstr ""
#: includes/class-archiver.php:208
msgid "Failed to retrieve snapshots."
msgstr ""
#: includes/class-archiver.php:235
msgid "Snapshots"
msgstr ""
#: includes/class-archiver.php:242
msgid "Trigger Snapshot"
msgstr ""
#: includes/class-archiver.php:445
msgid "Triggering snapshot..."
msgstr ""
#: includes/class-archiver.php:446
msgid "Snapshot triggered successfully!"
msgstr ""
#: includes/class-archiver.php:447 includes/class-archiver.php:661
msgid "Failed to trigger snapshot."
msgstr ""
#: includes/class-archiver.php:475
msgid ""
"Archiver is currently disabled via the <code>archiver_can_run</code> filter."
msgstr ""
#: includes/class-archiver.php:491
msgid "You do not have permissions to trigger snapshots."
msgstr ""
#: includes/class-archiver.php:495
msgid "Invalid URL parameter."
msgstr ""
#: includes/class-archiver.php:500
msgid "Snapshot request recorded and will be processed soon."
msgstr ""
#: includes/class-archiver.php:643
msgid "URL cannot be empty."
msgstr ""
#: includes/class-archiver.php:647
msgid "Snapshot already taken recently."
msgstr ""
#: js/archiver.js:36
msgid "Unknown error occurred"
msgstr ""
#. Plugin Name of the plugin/theme
msgid "WP Archiver"
msgstr ""
#. Plugin URI of the plugin/theme
msgid "http://wenpai.org/plugins/wp-archiver"
msgstr ""
#. Description of the plugin/theme
msgid "Archive your content using the Wayback Machine."
msgstr ""
#. Author of the plugin/theme
msgid "WenPai.org"
msgstr ""
#. Author URI of the plugin/theme
msgid "https://wenpai.org/"
msgstr ""

View file

@ -3,7 +3,7 @@
* Plugin Name: WP Archiver
* Plugin URI: http://wenpai.org/plugins/wp-archiver
* Description: Archive your content using the Wayback Machine.
* Version: 1.3.0
* Version: 1.3.1
* Author: WenPai.org
* Author URI: https://wenpai.org/
* License: GPL-2.0+
@ -17,7 +17,7 @@ if (!defined('WPINC')) {
die;
}
define('ARCHIVER_VERSION', '1.3.0');
define('ARCHIVER_VERSION', '1.3.1');
define('ARCHIVER_PLUGIN_DIR_URL', plugin_dir_url(__FILE__));
define('ARCHIVER_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));
define('ARCHIVER_PLUGIN_BASENAME', plugin_basename(__FILE__));