Plugin Directory

Changeset 2928566


Ignore:
Timestamp:
06/20/2023 11:47:25 AM (3 years ago)
Author:
localsync
Message:

release 1.1.3

Location:
local-sync/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • local-sync/trunk/README.txt

    r2796922 r2928566  
    44Tags: clone, migrate, wp duplicate, wpduplicate, copy site, local sync, local site, dev site, duplicate site, duplicator, cloning, migration, simple cloning, easiest cloning, free cloning
    55Requires at least: 3.0.1
    6 Tested up to: 6.0.2
    7 Stable tag: 1.1.2
     6Tested up to: 6.2.2
     7Stable tag: 1.1.3
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    5151
    5252== Changelog ==
     53= 1.1.3 =
     54*Release Date - 20 Jun 2023*
     55
     56* Fix : The migration process failed in a few cases.
     57* Fix : Relative URLs did not work on the duplicate site.
     58
     59* Improvement : Tested upto WordPress 6.2.2.
    5360
    5461= 1.1.2 =
  • local-sync/trunk/admin/class-local-sync-admin.php

    r2796922 r2928566  
    10481048        }
    10491049
     1050        $content = $this->replace_relative_url($content);
    10501051        // return $content;
    10511052       
     
    10651066        // local_sync_log($content, "--------modified_posts_content--------");
    10661067       
     1068        return $content;
     1069    }
     1070
     1071    public function replace_relative_url($content){
     1072        if(empty($content)){
     1073            return $content;
     1074        }
     1075
     1076        global $LOCAL_SYNC_PROD_URL;
     1077        global $LOCAL_SYNC_LOCAL_URL;
     1078       
     1079        $prod_site_base_paths = explode("/", $LOCAL_SYNC_PROD_URL);
     1080        $prod_site_origin_url = $prod_site_base_paths[0] . '//' . $prod_site_base_paths[2];
     1081
     1082        $prod_site_base_path = str_replace($prod_site_origin_url, '', $LOCAL_SYNC_PROD_URL);
     1083
     1084        if(empty($prod_site_base_path)){
     1085            $prod_site_base_path = '';
     1086        }
     1087
     1088        $prod_site_base_path = ltrim($prod_site_base_path, '/');
     1089     
     1090        $content = str_replace('href="/' . $prod_site_base_path, 'href="' . $LOCAL_SYNC_LOCAL_URL . '/', $content);
    10671091        return $content;
    10681092    }
  • local-sync/trunk/admin/class-local-sync-app-functions.php

    r2749602 r2928566  
    130130        $result = check_ajax_referer( 'ls_revmakx', 'security', false );
    131131
    132         local_sync_log($result, "-----check_ajax_referer---result--------");
     132        // local_sync_log($result, "-----check_ajax_referer---result--------");
    133133
    134134        if(empty($result) || $result == -1){
  • local-sync/trunk/admin/class-local-sync-replace-db-links.php

    r2796922 r2928566  
    834834        $lines = @file($meta['new_path'] . '/wp-config.php');
    835835
     836        $is_outside_config = $this->is_outside_config($lines, $type);
    836837        if(empty($lines)){
     838            $lines = @file($meta['new_path'] . '/wp-config-sample.php');
     839        }
     840
     841        if (empty($lines) && $is_outside_config) {
     842            wptc_log(array(), '--------preparing self config sample file------------');
     843           
     844            $config_sample_file_contents_enc = 'PD9waHANCi8qKg0KICogVGhlIGJhc2UgY29uZmlndXJhdGlvbiBmb3IgV29yZFByZXNzDQogKg0KICogVGhlIHdwLWNvbmZpZy5waHAgY3JlYXRpb24gc2NyaXB0IHVzZXMgdGhpcyBmaWxlIGR1cmluZyB0aGUgaW5zdGFsbGF0aW9uLg0KICogWW91IGRvbid0IGhhdmUgdG8gdXNlIHRoZSB3ZWIgc2l0ZSwgeW91IGNhbiBjb3B5IHRoaXMgZmlsZSB0byAid3AtY29uZmlnLnBocCINCiAqIGFuZCBmaWxsIGluIHRoZSB2YWx1ZXMuDQogKg0KICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgY29uZmlndXJhdGlvbnM6DQogKg0KICogKiBEYXRhYmFzZSBzZXR0aW5ncw0KICogKiBTZWNyZXQga2V5cw0KICogKiBEYXRhYmFzZSB0YWJsZSBwcmVmaXgNCiAqICogQUJTUEFUSA0KICoNCiAqIEBsaW5rIGh0dHBzOi8vd29yZHByZXNzLm9yZy9kb2N1bWVudGF0aW9uL2FydGljbGUvZWRpdGluZy13cC1jb25maWctcGhwLw0KICoNCiAqIEBwYWNrYWdlIFdvcmRQcmVzcw0KICovDQoNCi8vICoqIERhdGFiYXNlIHNldHRpbmdzIC0gWW91IGNhbiBnZXQgdGhpcyBpbmZvIGZyb20geW91ciB3ZWIgaG9zdCAqKiAvLw0KLyoqIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSBmb3IgV29yZFByZXNzICovDQpkZWZpbmUoICdEQl9OQU1FJywgJ2RhdGFiYXNlX25hbWVfaGVyZScgKTsNCg0KLyoqIERhdGFiYXNlIHVzZXJuYW1lICovDQpkZWZpbmUoICdEQl9VU0VSJywgJ3VzZXJuYW1lX2hlcmUnICk7DQoNCi8qKiBEYXRhYmFzZSBwYXNzd29yZCAqLw0KZGVmaW5lKCAnREJfUEFTU1dPUkQnLCAncGFzc3dvcmRfaGVyZScgKTsNCg0KLyoqIERhdGFiYXNlIGhvc3RuYW1lICovDQpkZWZpbmUoICdEQl9IT1NUJywgJ2xvY2FsaG9zdCcgKTsNCg0KLyoqIERhdGFiYXNlIGNoYXJzZXQgdG8gdXNlIGluIGNyZWF0aW5nIGRhdGFiYXNlIHRhYmxlcy4gKi8NCmRlZmluZSggJ0RCX0NIQVJTRVQnLCAndXRmOCcgKTsNCg0KLyoqIFRoZSBkYXRhYmFzZSBjb2xsYXRlIHR5cGUuIERvbid0IGNoYW5nZSB0aGlzIGlmIGluIGRvdWJ0LiAqLw0KZGVmaW5lKCAnREJfQ09MTEFURScsICcnICk7DQoNCi8qKiNAKw0KICogQXV0aGVudGljYXRpb24gdW5pcXVlIGtleXMgYW5kIHNhbHRzLg0KICoNCiAqIENoYW5nZSB0aGVzZSB0byBkaWZmZXJlbnQgdW5pcXVlIHBocmFzZXMhIFlvdSBjYW4gZ2VuZXJhdGUgdGhlc2UgdXNpbmcNCiAqIHRoZSB7QGxpbmsgaHR0cHM6Ly9hcGkud29yZHByZXNzLm9yZy9zZWNyZXQta2V5LzEuMS9zYWx0LyBXb3JkUHJlc3Mub3JnIHNlY3JldC1rZXkgc2VydmljZX0uDQogKg0KICogWW91IGNhbiBjaGFuZ2UgdGhlc2UgYXQgYW55IHBvaW50IGluIHRpbWUgdG8gaW52YWxpZGF0ZSBhbGwgZXhpc3RpbmcgY29va2llcy4NCiAqIFRoaXMgd2lsbCBmb3JjZSBhbGwgdXNlcnMgdG8gaGF2ZSB0byBsb2cgaW4gYWdhaW4uDQogKg0KICogQHNpbmNlIDIuNi4wDQogKi8NCmRlZmluZSggJ0FVVEhfS0VZJywgICAgICAgICAnc2pkYWpzYmRoYWpiZHNoamFiMzIzaGpiamgnICk7DQpkZWZpbmUoICdTRUNVUkVfQVVUSF9LRVknLCAgJ21udm5qc25ha2o3ODc4eTIzeWdlcXV3ZGhxJyApOw0KZGVmaW5lKCAnTE9HR0VEX0lOX0tFWScsICAgICduY21ua2FqbnNqdTI4OTc4Z2Ric2FqYmhpcycgKTsNCmRlZmluZSggJ05PTkNFX0tFWScsICAgICAgICAnY2poYWl1c2hmaXUzODdkaGJjaGJzamlpMmgnICk7DQpkZWZpbmUoICdBVVRIX1NBTFQnLCAgICAgICAgJ29pd3VqZGJkamFoc2ppandpdWl1dTczNzNoJyApOw0KZGVmaW5lKCAnU0VDVVJFX0FVVEhfU0FMVCcsICdobmJjdWl3OHliY2JzYWhpODJianNoYmloaScgKTsNCmRlZmluZSggJ0xPR0dFRF9JTl9TQUxUJywgICAneXdndnNjc2Fqc2tqaGFpbmNzamJ1Mjh1NzMnICk7DQpkZWZpbmUoICdOT05DRV9TQUxUJywgICAgICAgJ2Jja2l1MjgyNjdoc2hiY2Jqc2lhODI3YmJiJyApOw0KDQovKiojQC0qLw0KDQovKioNCiAqIFdvcmRQcmVzcyBkYXRhYmFzZSB0YWJsZSBwcmVmaXguDQogKg0KICogWW91IGNhbiBoYXZlIG11bHRpcGxlIGluc3RhbGxhdGlvbnMgaW4gb25lIGRhdGFiYXNlIGlmIHlvdSBnaXZlIGVhY2gNCiAqIGEgdW5pcXVlIHByZWZpeC4gT25seSBudW1iZXJzLCBsZXR0ZXJzLCBhbmQgdW5kZXJzY29yZXMgcGxlYXNlIQ0KICovDQokdGFibGVfcHJlZml4ID0gJ3dwXyc7DQoNCi8qKg0KICogRm9yIGRldmVsb3BlcnM6IFdvcmRQcmVzcyBkZWJ1Z2dpbmcgbW9kZS4NCiAqDQogKiBDaGFuZ2UgdGhpcyB0byB0cnVlIHRvIGVuYWJsZSB0aGUgZGlzcGxheSBvZiBub3RpY2VzIGR1cmluZyBkZXZlbG9wbWVudC4NCiAqIEl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRoYXQgcGx1Z2luIGFuZCB0aGVtZSBkZXZlbG9wZXJzIHVzZSBXUF9ERUJVRw0KICogaW4gdGhlaXIgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzLg0KICoNCiAqIEZvciBpbmZvcm1hdGlvbiBvbiBvdGhlciBjb25zdGFudHMgdGhhdCBjYW4gYmUgdXNlZCBmb3IgZGVidWdnaW5nLA0KICogdmlzaXQgdGhlIGRvY3VtZW50YXRpb24uDQogKg0KICogQGxpbmsgaHR0cHM6Ly93b3JkcHJlc3Mub3JnL2RvY3VtZW50YXRpb24vYXJ0aWNsZS9kZWJ1Z2dpbmctaW4td29yZHByZXNzLw0KICovDQpkZWZpbmUoICdXUF9ERUJVRycsIGZhbHNlICk7DQoNCi8qIEFkZCBhbnkgY3VzdG9tIHZhbHVlcyBiZXR3ZWVuIHRoaXMgbGluZSBhbmQgdGhlICJzdG9wIGVkaXRpbmciIGxpbmUuICovDQoNCg0KDQovKiBUaGF0J3MgYWxsLCBzdG9wIGVkaXRpbmchIEhhcHB5IHB1Ymxpc2hpbmcuICovDQoNCi8qKiBBYnNvbHV0ZSBwYXRoIHRvIHRoZSBXb3JkUHJlc3MgZGlyZWN0b3J5LiAqLw0KaWYgKCAhIGRlZmluZWQoICdBQlNQQVRIJyApICkgew0KCWRlZmluZSggJ0FCU1BBVEgnLCBfX0RJUl9fIC4gJy8nICk7DQp9DQoNCi8qKiBTZXRzIHVwIFdvcmRQcmVzcyB2YXJzIGFuZCBpbmNsdWRlZCBmaWxlcy4gKi8NCnJlcXVpcmVfb25jZSBBQlNQQVRIIC4gJ3dwLXNldHRpbmdzLnBocCc7DQo';
     845           
     846            $file_contents = base64_decode($config_sample_file_contents_enc);
     847
     848            wptc_log($file_contents, '--------file contents to write------------');
     849
     850            if(file_put_contents($meta['new_path'] . '/wp-config-sample.php', $file_contents) === FALSE){
     851                wptc_log(array(), '---------WP CONFIG SAMPLE NOT WRITABLE------------');
     852            }
    837853            $lines = @file($meta['new_path'] . '/wp-config-sample.php');
    838854        }
     
    905921        $this->reset_Wordfence_config($meta);
    906922
     923    }
     924
     925    private function is_outside_config($lines, $type){
     926        //outside config fix
     927
     928        return false;
     929
     930        $got_db_name = false;
     931
     932        foreach ($lines as $line) {
     933
     934            if (strstr($line, 'DB_NAME')){
     935                $got_db_name = true;
     936
     937                break;
     938            }
     939
     940        }
     941
     942        return !$got_db_name;
    907943    }
    908944
  • local-sync/trunk/admin/class-local-sync-restore-op.php

    r2796922 r2928566  
    534534
    535535    public function set_local_sync_sql_mode_variables() {
    536         local_sync_log('', "--------altering foreign key mode--------");
    537         // $this->wpdb->query("SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0");
    538         $this->wpdb->query("SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=OFF;");
    539         local_sync_log($this->wpdb->last_error,'-----------$last_error----set_local_sync_sql_mode_variables------------');
    540         $this->wpdb->query("SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO';");
     536        try{
     537            local_sync_log('', "--------altering foreign key mode--------");
     538            // $this->wpdb->query("SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0");
     539            $this->wpdb->query("SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=OFF;");
     540            local_sync_log($this->wpdb->last_error,'-----------$last_error----set_local_sync_sql_mode_variables------------');
     541            $this->wpdb->query("SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO';");
     542        } catch(Exception $e){
     543            local_sync_log($e->getMessage(), "--------set_local_sync_sql_mode_variables----exception----");
     544        }
    541545
    542546    }
    543547
    544548    public function reset_local_sync_sql_mode_variables() {
    545         local_sync_log('', "--------resetting foreign key mode--------");
    546         // $this->wpdb->query("SET UNIQUE_CHECKS=@@OLD_UNIQUE_CHECKS");
    547         $this->wpdb->query("SET FOREIGN_KEY_CHECKS=@@OLD_FOREIGN_KEY_CHECKS");
    548         $this->wpdb->query("SET SQL_MODE=@@OLD_SQL_MODE");
     549        try{
     550            local_sync_log('', "--------resetting foreign key mode--------");
     551            // $this->wpdb->query("SET UNIQUE_CHECKS=@@OLD_UNIQUE_CHECKS");
     552            $this->wpdb->query("SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS");
     553            $this->wpdb->query("SET SQL_MODE=@OLD_SQL_MODE");
     554        } catch(Exception $e){
     555            local_sync_log($e->getMessage(), "--------set_local_sync_sql_mode_variables----exception----");
     556        }
    549557    }
    550558
     
    901909
    902910            elseif ( is_object( $data ) ) {
    903                 $_tmp = $data;
    904                 $props = get_object_vars( $data );
    905                 foreach ( $props as $key => $value ) {
    906                     $_tmp->$key = $this->findAndReplace( $from, $to, $value, false );
    907                 }
    908 
    909                 $data = $_tmp;
    910                 unset( $_tmp );
     911                if( get_class($data) != '__PHP_Incomplete_Class' ){
     912                    $_tmp = $data;
     913                    $props = get_object_vars( $data );
     914                    foreach ( $props as $key => $value ) {
     915
     916                        //If some objects has \0 in the key it creates the fatal error so skip such contents
     917                        if (is_string($key) && strstr($key, "\0") !== false ) {
     918                            continue;
     919                        }
     920                        if (is_string($value) && strstr($value, "\0") !== false ) {
     921                            continue;
     922                        }
     923
     924                        $_tmp->$key = $this->findAndReplace( $from, $to, $value, false );
     925                    }
     926
     927                    $data = $_tmp;
     928                    unset( $_tmp );
     929                }
    911930            }
    912931
     
    11731192        $this->replace_links_obj->replace_htaccess(
    11741193            array(
     1194                'old_url'    => $this->old_url,
    11751195                'new_url'    => $this->new_url,
    11761196                'new_path'   => $this->new_dir,
  • local-sync/trunk/includes/class-local-sync-options.php

    r2749602 r2928566  
    55    public $all_configs;
    66    public $files_to_be_skipped_during_full_copy;
     7    public $options_table_name;
     8    public $wpdb;
     9    public $fs;
     10    public $backup_dir;
    711
    812    public function __construct() {
  • local-sync/trunk/local-sync-constants.php

    r2796922 r2928566  
    7575
    7676    public function versions(){
    77         $this->define( 'LOCAL_SYNC_VERSION', '1.1.2' );
     77        $this->define( 'LOCAL_SYNC_VERSION', '1.1.3' );
    7878        $this->define( 'LOCAL_SYNC_DATABASE_VERSION', '1.0' );
    7979    }
  • local-sync/trunk/local-sync.php

    r2796922 r2928566  
    1212 * Plugin URI:        https://localsync.io
    1313 * Description:       Easily migrate your WordPress Site from one host to another.
    14  * Version:           1.1.2
     14 * Version:           1.1.3
    1515 * Author:            Revmakx
    1616 * Author URI:        https://revmakx.com
Note: See TracChangeset for help on using the changeset viewer.