Add force pull functionality and improve post content handling
This commit is contained in:
@@ -257,6 +257,18 @@ add_action( 'admin_post_oribi_sync_pull', function () {
|
||||
exit;
|
||||
} );
|
||||
|
||||
add_action( 'admin_post_oribi_sync_force_pull', function () {
|
||||
if ( ! current_user_can( 'manage_options' ) ) wp_die( 'Permission denied.' );
|
||||
check_admin_referer( 'oribi_sync_force_pull' );
|
||||
|
||||
$result = oribi_sync_run( false, true );
|
||||
|
||||
set_transient( 'oribi_sync_result', $result, 60 );
|
||||
|
||||
wp_redirect( add_query_arg( 'oribi_sync_done', 'force_pull', admin_url( 'options-general.php?page=oribi-sync' ) ) );
|
||||
exit;
|
||||
} );
|
||||
|
||||
add_action( 'admin_post_oribi_sync_clear_pat', function () {
|
||||
if ( ! current_user_can( 'manage_options' ) ) wp_die( 'Permission denied.' );
|
||||
check_admin_referer( 'oribi_sync_clear_pat' );
|
||||
@@ -330,9 +342,10 @@ function oribi_sync_settings_page() {
|
||||
<?php if ( $sync_result ): ?>
|
||||
<div class="notice <?php echo $sync_result['ok'] ? 'notice-success' : 'notice-error'; ?> is-dismissible">
|
||||
<p><strong><?php
|
||||
if ( $done === 'dry' ) echo 'Dry-run results';
|
||||
elseif ( $done === 'pull' ) echo 'Pull complete';
|
||||
else echo 'Sync complete';
|
||||
if ( $done === 'dry' ) echo 'Dry-run results';
|
||||
elseif ( $done === 'pull' ) echo 'Pull complete';
|
||||
elseif ( $done === 'force_pull' ) echo 'Force Pull complete';
|
||||
else echo 'Sync complete';
|
||||
?></strong></p>
|
||||
<?php oribi_sync_render_result_list( $sync_result ); ?>
|
||||
</div>
|
||||
@@ -469,6 +482,11 @@ function oribi_sync_settings_page() {
|
||||
onclick="return confirm('Pull content from the repo (no push). Continue?');">
|
||||
Pull Only
|
||||
</a>
|
||||
<a href="<?php echo esc_url( wp_nonce_url( admin_url( 'admin-post.php?action=oribi_sync_force_pull' ), 'oribi_sync_force_pull' ) ); ?>"
|
||||
class="button"
|
||||
onclick="return confirm('Force re-pull ALL content from the repo, bypassing change detection. Continue?');">
|
||||
Force Pull
|
||||
</a>
|
||||
<a href="<?php echo esc_url( wp_nonce_url( admin_url( 'admin-post.php?action=oribi_sync_push_all' ), 'oribi_sync_push_all' ) ); ?>"
|
||||
class="button"
|
||||
onclick="return confirm('Push all synced pages to the repo (no pull). Continue?');">
|
||||
|
||||
Reference in New Issue
Block a user