Plugin Directory

Changeset 1947298


Ignore:
Timestamp:
09/26/2018 11:37:43 AM (8 years ago)
Author:
spotim
Message:

Added force sync button
Bump version to 4.3.7

Location:
spotim-comments
Files:
47 added
8 edited

Legend:

Unmodified
Added
Removed
  • spotim-comments/trunk/assets/javascripts/admin.js

    r1786408 r1947298  
    55
    66    // Import
    7     $( '#import_button' ).on( 'click', function( event ) {
     7    $( '.sync-button' ).on( 'click', function( event ) {
    88        var $importButton = $(this),
    99            $parentElement = $importButton.parent(),
     
    2222
    2323        // Disable the import button
    24         $importButton.attr( 'disabled', true );
     24        $( '.sync-button' ).attr( 'disabled', true );
    2525
    2626        var data = {
     
    3535        };
    3636
    37         importCommentsToWP( data, $importButton, $messageField, $errorsField );
     37        if($importButton.hasClass('force'))
     38            data.force = true;
     39
     40        importCommentsToWP( data, $( '.sync-button' ), $messageField, $errorsField );
    3841
    3942        event.preventDefault();
     
    8083            }
    8184
     85            delete params.force;
     86
    8287            switch( response.status ) {
     88                case 'refresh':
     89                    importCommentsToWP( params, $importButton, $messageField, $errorsField );
     90                    break;
    8391                case 'continue':
    8492                    params.spotim_page_number = params.spotim_page_number + 1;
    85 
    8693                    importCommentsToWP( params, $importButton, $messageField, $errorsField );
    8794                    break;
  • spotim-comments/trunk/assets/stylesheets/admin.css

    r1734915 r1947298  
    4242    display: none;
    4343}
    44 .spotim-page-wrap #import_button[disabled] {
     44.spotim-page-wrap #force_import_button{
     45    margin:0 10px;
     46    color:black;
     47    background-color: #EDEDED;
     48    text-shadow: none;
     49    border:none;
     50    box-shadow: none;
     51}
     52.spotim-page-wrap #force_import_button[disabled] {
    4553    position: relative;
    4654}
    47 .spotim-page-wrap #import_button[disabled]:after {
     55.spotim-page-wrap #force_import_button[disabled]:after {
    4856    background-image: url('../images/ajax-loader.gif');
    4957    background-position: 0 0;
  • spotim-comments/trunk/inc/class-spotim-admin.php

    r1944095 r1947298  
    214214            $import_token = sanitize_text_field( $_POST['spotim_import_token'] );
    215215            $page_number = isset( $_POST['spotim_page_number'] ) ? absint( $_POST['spotim_page_number'] ) : 0;
    216 
    217             if($page_number === 0)
    218                 update_option("wp-spotim-settings_total_changed_posts", null);
     216            $force = isset( $_POST['force'] ) ? true : false;
    219217
    220218            if ( isset( $_POST['spotim_posts_per_request'] ) ) {
     
    225223            }
    226224
    227             $import->start( $spot_id, $import_token, $page_number, $posts_per_request );
     225            $import->start( $spot_id, $import_token, $page_number, $posts_per_request, $force );
    228226        }
    229227    }
     
    245243        update_option("wp-spotim-settings_total_changed_posts", null);
    246244        self::$options->update( 'page_number', $page_number );
     245        self::$options->reset('is_force_sync');
    247246
    248247        $import->response( array(
  • spotim-comments/trunk/inc/class-spotim-import.php

    r1944128 r1947298  
    3434    private $needto_load_more_changed_posts = 0;
    3535
     36    private $is_force_sync = false;
    3637    /**
    3738     * Posts Per Request
     
    107108     * @return void
    108109     */
    109     public function start( $spot_id, $import_token, $page_number = 0, $posts_per_request = 1 ) {
     110    public function start( $spot_id, $import_token, $page_number = 0, $posts_per_request = 1, $force = false ) {
    110111
    111112        // If not run in return mode, update these options
     
    119120                'page_number', absint( $page_number )
    120121            );
    121    
     122
    122123            $this->posts_per_request = $this->options->update(
    123124                'posts_per_request', absint( $posts_per_request )
    124125            );
    125 
     126            $this->is_force_sync = $this->options->get(
     127                'is_force_sync', false
     128            );
    126129            $this->total_changed_posts = get_option("wp-spotim-settings_total_changed_posts", []);
    127130            $this->needto_load_more_changed_posts = $this->options->get('needto_load_more_changed_posts',0);
     
    131134        }
    132135
     136        if($force){
     137           $this->reset_params();
     138           $this->is_force_sync = $this->options->update(
     139               'is_force_sync', true
     140           );
     141        }
     142
    133143//        $post_ids = $this->get_post_ids( $this->posts_per_request, $this->page_number );
    134144        if(!is_array($this->total_changed_posts) || empty($this->total_changed_posts) || $this->needto_load_more_changed_posts > 0)
     
    142152    }
    143153
     154
     155    private function reset_params(){
     156        $this->total_changed_posts = [];
     157        $this->page_number = $this->options->update('page_number', 0);
     158        $this->needto_load_more_changed_posts = $this->options->update("needto_load_more_changed_posts", 0);
     159        $this->options->update("spotim_last_sync_timestamp", null);
     160    }
    144161    /**
    145162     * Pull Comments
     
    187204
    188205            $post_id = $post_ids[$i];
    189             $post_etag = get_post_meta( $post_id, 'spotim_etag', true );
     206            $post_etag = $this->is_force_sync ? 0 : get_post_meta( $post_id, 'spotim_etag', true );
    190207
    191208            $stream = $this->request( array(
     
    287304
    288305        if ( 0 === $total_posts_count ) {
     306            $this->options->reset('is_force_sync', false );
    289307            $response_args['status'] = 'success';
    290308            $response_args['message'] = esc_html__("Your website doesn't have any posts to sync.", 'spotim-comments');
     
    295313            );
    296314
    297             $response_args['status'] = 'continue';
     315            $response_args['status'] = 'refresh';
    298316            $response_args['message'] = $parsed_message;
    299317
     
    319337
    320338            $this->options->update("spotim_last_sync_timestamp", time());
     339            $this->options->reset('is_force_sync', false );
    321340
    322341            if ( ! $this->return ) {
     
    396415            $offset += $limit;
    397416
    398             if(count($body) >= 1){
     417            if(count($body) > 0){
    399418                $this->needto_load_more_changed_posts = $this->options->update('needto_load_more_changed_posts', $offset);
    400419                $this->finish();
     
    521540     */
    522541    public function response( $args = array() ) {
    523         $statuses_list = array( 'continue', 'success', 'cancel', 'error' );
     542        $statuses_list = array( 'continue', 'refresh', 'success', 'cancel', 'error' );
    524543
    525544        $defaults = array(
  • spotim-comments/trunk/inc/class-spotim-settings-fields.php

    r1942443 r1947298  
    397397                    'text' => esc_html__( 'Sync Now', 'spotim-comments' )
    398398                ),
     399                'force_import_button' => array(
     400                    'id' => 'force_import_button',
     401                    'text' => esc_html__( 'Reset + Sync Now', 'spotim-comments' ),
     402                    'description' => esc_html__( 'Use Sync Now to sync data starting from the last sync time.', 'spotim-comments' )."<br />".esc_html__('Use Reset + Sync Now to clear any old synced data and start a fresh sync.', 'spotim-comments')
     403                ),
    399404                'cancel_import_link' => array(
    400405                    'id' => 'cancel_import_link',
  • spotim-comments/trunk/inc/helpers/class-spotim-form.php

    r1734915 r1947298  
    281281        // Import button
    282282        $template = sprintf(
    283             '<button id="%1$s" class="button button-primary" data-import-token="%2$s" data-spot-id="%3$s" data-posts-per-request="%4$s">%5$s</button>',
     283            '<button id="%1$s" class="button button-primary sync-button" data-import-token="%2$s" data-spot-id="%3$s" data-posts-per-request="%4$s">%5$s</button>',
    284284            esc_attr( $args['import_button']['id'] ), // Button's id.
    285285            esc_attr( $spotim->options->get( 'import_token' ) ), // Import token
     
    289289        );
    290290
     291        // Force re-import (Delete import cache)
     292        $template .= sprintf(
     293            '<button id="%1$s" style="margin:0 10px;" class="button button-primary sync-button force" data-import-token="%2$s" data-spot-id="%3$s" data-posts-per-request="%4$s" data-force="true">%5$s</button>',
     294            esc_attr( $args['force_import_button']['id'] ), // Button's id.
     295            esc_attr( $spotim->options->get( 'import_token' ) ), // Import token
     296            esc_attr( $spotim->options->get( 'spot_id' ) ), // Spot ID
     297            esc_attr( $spotim->options->get( 'posts_per_request' ) ), // Posts per request
     298            esc_attr( $args['force_import_button']['text'] ) // Button's text.
     299        );
     300
     301        $template .= "<br />".$args['force_import_button']['description'];
     302
    291303        // Cancel import
    292304        $template .= sprintf(
  • spotim-comments/trunk/readme.txt

    r1944110 r1947298  
    204204== Changelog ==
    205205
    206 = 4.3.6 =
    207 * Improve sync mechanism
     206= 4.3.7 =
     207* Added force sync button
    208208
    209209= 4.3.0 =
     
    220220* Adding comments number feature
    221221* Under the hood features
     222* Improve sync mechanism
    222223
    223224= 4.2.0 =
  • spotim-comments/trunk/spotim-comments.php

    r1944110 r1947298  
    44 * Plugin URI:          https://wordpress.org/plugins/spotim-comments/
    55 * Description:         Real-time comments widget turns your site into its own content-circulating ecosystem.
    6  * Version:             4.3.6
     6 * Version:             4.3.7
    77 * Author:              Spot.IM
    88 * Author URI:          https://github.com/SpotIM
Note: See TracChangeset for help on using the changeset viewer.