@@ -46,101 +46,52 @@ protected function get_product_counts()
46
46
*/
47
47
protected function get_vendor_counts ()
48
48
{
49
- return get_option ('_wcfmmg_vendor_count ' , 0 );
50
- }
49
+ $ vendors = $ this ->get_all_vendors ();
50
+
51
+ return is_array ($ vendors ) ? count ($ vendors ) : 0 ;
52
+ }
53
+
54
+ private function get_all_vendors ()
55
+ {
56
+ global $ WCFM ;
57
+
58
+ $ wcfm_all_vendors = $ WCFM ->wcfm_vendor_support ->wcfm_get_vendor_list ( true , '' , '' , '' );
59
+
60
+ unset($ wcfm_all_vendors [0 ]);
61
+
62
+ return $ wcfm_all_vendors ;
63
+ }
51
64
52
65
public function migrate ()
53
66
{
54
- return ' Success ' ;
67
+ $ this -> migrate_vendor ( 5 ) ;
55
68
}
56
69
57
70
function dokan_allwoed_vendor_user_roles ( $ user_roles ) {
58
71
return array ( 'seller ' );
59
72
}
60
73
61
- public function store_setting_migrate ( $ vendor_id ) {
62
- global $ WCFM , $ WCFMmg ;
63
-
64
- if ( !$ vendor_id ) return false ;
65
-
66
- $ vendor_data = array ();
67
-
74
+ /**
75
+ * Migrate a vendor to dokan vendor
76
+ *
77
+ * @param int $vendor_id
78
+ * @return void
79
+ */
80
+ public function migrate_vendor ( $ vendor_id ) {
81
+ if ( !$ vendor_id ) {
82
+ return false ;
83
+ }
84
+
68
85
$ vendor_user = get_userdata ( $ vendor_id );
69
-
70
- $ vendor_data = get_user_meta ( $ vendor_id , 'dokan_profile_settings ' , true );
71
-
72
- if ( !$ vendor_data || ( $ vendor_data && !is_array ( $ vendor_data ) ) ) $ vendor_data = array ();
73
-
74
- $ vendor_data ['banner_type ' ] = 'single_img ' ;
75
- $ vendor_data ['list_banner ' ] = isset ( $ vendor_data ['banner ' ] ) ? $ vendor_data ['banner ' ] : '' ;
76
- $ vendor_data ['store_name ' ] = isset ( $ vendor_data ['store_name ' ] ) ? $ vendor_data ['store_name ' ] : $ vendor_user ->display_name ;
77
- $ vendor_data ['email ' ] = $ vendor_user ->user_email ;
78
-
79
- // Store Location
80
- $ vendor_data ['find_address ' ] = isset ( $ vendor_data ['find_address ' ] ) ? esc_attr ( $ vendor_data ['find_address ' ] ) : '' ;
81
- $ vendor_data ['store_location ' ] = isset ( $ vendor_data ['location ' ] ) ? esc_attr ( $ vendor_data ['location ' ] ) : '' ;
82
- $ vendor_data ['store_lat ' ] = 0 ;
83
- $ vendor_data ['store_lng ' ] = 0 ;
84
-
85
- // Customer Support
86
- $ vendor_data ['customer_support ' ] = array ();
87
- $ vendor_data ['customer_support ' ]['phone ' ] = isset ( $ vendor_data ['phone ' ] ) ? esc_attr ( $ vendor_data ['phone ' ] ) : '' ;
88
- $ vendor_data ['customer_support ' ]['email ' ] = $ vendor_user ->user_email ;
89
- $ vendor_data ['customer_support ' ]['address1 ' ] = isset ( $ vendor_data ['address ' ]['street_1 ' ] ) ? $ vendor_data ['address ' ]['street_1 ' ] : '' ;
90
- $ vendor_data ['customer_support ' ]['address2 ' ] = isset ( $ vendor_data ['address ' ]['street_2 ' ] ) ? $ vendor_data ['address ' ]['street_2 ' ] : '' ;
91
- $ vendor_data ['customer_support ' ]['country ' ] = isset ( $ vendor_data ['address ' ]['country ' ] ) ? $ vendor_data ['address ' ]['country ' ] : '' ;
92
- $ vendor_data ['customer_support ' ]['city ' ] = isset ( $ vendor_data ['address ' ]['city ' ] ) ? $ vendor_data ['address ' ]['city ' ] : '' ;
93
- $ vendor_data ['customer_support ' ]['state ' ] = isset ( $ vendor_data ['address ' ]['state ' ] ) ? $ vendor_data ['address ' ]['state ' ] : '' ;
94
- $ vendor_data ['customer_support ' ]['zip ' ] = isset ( $ vendor_data ['address ' ]['zip ' ] ) ? $ vendor_data ['address ' ]['zip ' ] : '' ;
95
-
96
- // Store Policy
97
- $ wcfm_policy_vendor_options = array ();
98
- $ wcfm_policy_vendor_options ['policy_tab_title ' ] = '' ;
99
- $ wcfm_policy_vendor_options ['shipping_policy ' ] = get_user_meta ( $ vendor_id , '_dps_ship_policy ' , true );
100
- $ wcfm_policy_vendor_options ['refund_policy ' ] = get_user_meta ( $ vendor_id , '_dps_refund_policy ' , true );
101
- $ wcfm_policy_vendor_options ['cancellation_policy ' ] = get_user_meta ( $ vendor_id , '_dps_refund_policy ' , true );
102
- update_user_meta ( $ vendor_id , 'wcfm_policy_vendor_options ' , $ wcfm_policy_vendor_options );
103
-
104
- // Store SEO
105
- $ vendor_data ['store_seo ' ]['wcfmmp-seo-meta-title ' ] = isset ( $ vendor_data ['store_seo ' ]['dokan-seo-meta-title ' ] ) ? $ vendor_data ['store_seo ' ]['dokan-seo-meta-title ' ] : '' ;
106
- $ vendor_data ['store_seo ' ]['wcfmmp-seo-meta-desc ' ] = isset ( $ vendor_data ['store_seo ' ]['dokan-seo-meta-desc ' ] ) ? $ vendor_data ['store_seo ' ]['dokan-seo-meta-desc ' ] : '' ;
107
- $ vendor_data ['store_seo ' ]['wcfmmp-seo-meta-keywords ' ] = isset ( $ vendor_data ['store_seo ' ]['dokan-seo-meta-keywords ' ] ) ? $ vendor_data ['store_seo ' ]['dokan-seo-meta-keywords ' ] : '' ;
108
- $ vendor_data ['store_seo ' ]['wcfmmp-seo-og-title ' ] = isset ( $ vendor_data ['store_seo ' ]['dokan-seo-og-title ' ] ) ? $ vendor_data ['store_seo ' ]['dokan-seo-og-title ' ] : '' ;
109
- $ vendor_data ['store_seo ' ]['wcfmmp-seo-og-desc ' ] = isset ( $ vendor_data ['store_seo ' ]['dokan-seo-og-desc ' ] ) ? $ vendor_data ['store_seo ' ]['dokan-seo-og-desc ' ] : '' ;
110
- $ vendor_data ['store_seo ' ]['wcfmmp-seo-og-image ' ] = isset ( $ vendor_data ['store_seo ' ]['dokan-seo-og-image ' ] ) ? $ vendor_data ['store_seo ' ]['dokan-seo-og-image ' ] : 0 ;
111
- $ vendor_data ['store_seo ' ]['wcfmmp-seo-twitter-title ' ] = isset ( $ vendor_data ['store_seo ' ]['dokan-seo-twitter-title ' ] ) ? $ vendor_data ['store_seo ' ]['dokan-seo-twitter-title ' ] : '' ;
112
- $ vendor_data ['store_seo ' ]['wcfmmp-seo-twitter-desc ' ] = isset ( $ vendor_data ['store_seo ' ]['dokan-seo-twitter-desc ' ] ) ? $ vendor_data ['store_seo ' ]['dokan-seo-twitter-desc ' ] : '' ;
113
- $ vendor_data ['store_seo ' ]['wcfmmp-seo-twitter-image ' ] = isset ( $ vendor_data ['store_seo ' ]['dokan-seo-twitter-image ' ] ) ? $ vendor_data ['store_seo ' ]['dokan-seo-twitter-image ' ] : 0 ;
114
-
115
- // Set Store name
116
- update_user_meta ( $ vendor_id , 'store_name ' , $ vendor_data ['store_name ' ] );
117
- update_user_meta ( $ vendor_id , 'wcfmmp_store_name ' , $ vendor_data ['store_name ' ] );
118
-
119
- // Set Vendor Shipping
120
- $ wcfmmp_shipping = array ( '_wcfmmp_user_shipping_enable ' => 'yes ' , '_wcfmmp_user_shipping_type ' => 'by_zone ' );
121
- update_user_meta ( $ vendor_id , '_wcfmmp_shipping ' , $ wcfmmp_shipping );
122
-
123
- // Store Commission
124
- $ vendor_data ['commission ' ] = array ();
125
- $ commission_type = get_user_meta ( $ vendor_id , 'dokan_admin_percentage_type ' , true );
126
- $ commission_value = get_user_meta ( $ vendor_id , 'dokan_admin_percentage ' , true );
127
-
128
- $ vendor_data ['commission ' ]['commission_mode ' ] = 'global ' ;
129
- if ( $ commission_value ) {
130
- if ( $ commission_type == 'percent ' ) {
131
- $ vendor_data ['commission ' ]['commission_mode ' ] = $ commission_type ;
132
- $ vendor_data ['commission ' ]['commission_percent ' ] = $ commission_value ;
133
- } else {
134
- $ vendor_data ['commission ' ]['commission_mode ' ] = $ commission_type ;
135
- $ vendor_data ['commission ' ]['commission_fixed ' ] = $ commission_value ;
136
- }
86
+
87
+ $ vendor_user ->set_role ('seller ' );
88
+
89
+ $ vendor_meta = $ this ->map_vendor_meta ( $ vendor_id );
90
+
91
+ foreach ( $ vendor_meta as $ key => $ value ) {
92
+ update_user_meta ( $ vendor_id , $ key , $ value );
137
93
}
138
- $ vendor_data ['commission ' ]['get_shipping ' ] = 'yes ' ;
139
- $ vendor_data ['commission ' ]['get_tax ' ] = 'yes ' ;
140
-
141
- // Store Genral Setting
142
- update_user_meta ( $ vendor_id , 'wcfmmp_profile_settings ' , $ vendor_data );
143
-
94
+
144
95
return true ;
145
96
}
146
97
@@ -425,7 +376,7 @@ public function store_order_migrate( $vendor_id ) {
425
376
if ( $ commission_id ) {
426
377
427
378
// Commission Ledger Update
428
- $ reference_details = sprintf ( __ ( 'Commission for %s order. ' , 'wc-multivendor-marketplace-migration ' ), '<b > ' . get_the_title ( $ product_id ) . '</b > ' );
379
+ $ reference_details = sprintf ( __ ( 'Commission for %s order. ' , 'wc-multivendor-marketplace-migration ' ), '<br > ' . get_the_title ( $ product_id ) . '</br > ' );
429
380
try {
430
381
$ wpdb ->query (
431
382
$ wpdb ->prepare (
@@ -763,4 +714,69 @@ public function store_vendor_migrate( $vendor_id ) {
763
714
764
715
return true ;
765
716
}
717
+
718
+ public function map_vendor_settings ( $ vendor_settings )
719
+ {
720
+ $ dokan_settings = array ();
721
+
722
+ $ dokan_settings ['store_name ' ] = $ vendor_settings ['store_name ' ];
723
+ $ dokan_settings ['social ' ] = $ vendor_settings ['social ' ];
724
+ $ dokan_settings ['social ' ]['flickr ' ] = $ vendor_settings ['' ];
725
+ $ dokan_settings ['payment ' ]['bank ' ] = $ vendor_settings ['payment ' ]['bank ' ];
726
+ $ dokan_settings ['payment ' ]['paypal ' ] = $ vendor_settings ['payment ' ]['paypal ' ];
727
+ $ dokan_settings ['phone ' ] = $ vendor_settings ['phone ' ];
728
+ $ dokan_settings ['show_email ' ] = $ vendor_settings ['' ];
729
+ $ dokan_settings ['address ' ] = $ vendor_settings ['address ' ];
730
+ $ dokan_settings ['location ' ] = $ vendor_settings ['' ];
731
+ $ dokan_settings ['banner ' ] = $ vendor_settings ['banner ' ];
732
+ $ dokan_settings ['icon ' ] = $ vendor_settings ['' ];
733
+ $ dokan_settings ['gravatar ' ] = $ vendor_settings ['gravatar ' ];
734
+ $ dokan_settings ['show_more_ptab ' ] = 'yes ' ;
735
+ $ dokan_settings ['store_ppp ' ] = $ vendor_settings ['store_ppp ' ];
736
+ $ dokan_settings ['enable_tnc ' ] = 'off ' ;
737
+ $ dokan_settings ['store_tnc ' ] = $ vendor_settings ['' ];
738
+ $ dokan_settings ['show_min_order_discount ' ] = 'no ' ;
739
+ $ dokan_settings ['store_seo ' ]['dokan-seo-meta-title ' ] = $ vendor_settings ['store_seo ' ]['wcfmmp-seo-meta-title ' ];
740
+ $ dokan_settings ['store_seo ' ]['dokan-seo-meta-desc ' ] = $ vendor_settings ['store_seo ' ]['wcfmmp-seo-meta-desc ' ];
741
+ $ dokan_settings ['store_seo ' ]['dokan-seo-meta-keywords ' ] = $ vendor_settings ['store_seo ' ]['wcfmmp-seo-meta-keywords ' ];
742
+ $ dokan_settings ['store_seo ' ]['dokan-seo-og-title ' ] = $ vendor_settings ['store_seo ' ]['wcfmmp-seo-og-title ' ];
743
+ $ dokan_settings ['store_seo ' ]['dokan-seo-og-desc ' ] = $ vendor_settings ['store_seo ' ]['wcfmmp-seo-og-desc ' ];
744
+ $ dokan_settings ['store_seo ' ]['dokan-seo-og-image ' ] = $ vendor_settings ['store_seo ' ]['wcfmmp-seo-og-image ' ];
745
+ $ dokan_settings ['store_seo ' ]['dokan-seo-twitter-title ' ] = $ vendor_settings ['store_seo ' ]['wcfmmp-seo-twitter-title ' ];
746
+ $ dokan_settings ['store_seo ' ]['dokan-seo-twitter-desc ' ] = $ vendor_settings ['store_seo ' ]['wcfmmp-seo-twitter-desc ' ];
747
+ $ dokan_settings ['store_seo ' ]['dokan-seo-twitter-image ' ] = $ vendor_settings ['store_seo ' ]['wcfmmp-seo-twitter-image ' ];
748
+ $ dokan_settings ['dokan_store_time_enabled ' ] = 'yes ' ;
749
+ $ dokan_settings ['dokan_store_open_notice ' ] = $ vendor_settings ['' ];
750
+ $ dokan_settings ['dokan_store_close_notice ' ] = $ vendor_settings ['' ];
751
+ $ dokan_settings ['dokan_store_time ' ] = $ vendor_settings ['wcfm_store_hours ' ];
752
+
753
+ return $ dokan_settings ;
754
+ }
755
+
756
+ public function map_vendor_meta ( $ vendor_id )
757
+ {
758
+ $ vendor_meta = array ();
759
+ $ wcfm_settings = get_user_meta ( $ vendor_id , 'wcfmmp_profile_settings ' , true );
760
+
761
+ $ vendor_meta ['dokan_store_name ' ] = get_user_meta ( $ vendor_id , 'wcfmmp_store_name ' ) ?: get_user_meta ( $ vendor_id , 'store_name ' );
762
+ $ vendor_meta ['dokan_enable_selling ' ] = user_can ( $ vendor_id , 'wcfm_vendor ' );
763
+ $ vendor_meta ['dokan_publishing ' ] = 'no ' ;
764
+ $ vendor_meta ['dokan_profile_settings ' ] = $ this ->map_vendor_settings ( $ wcfm_settings );
765
+ $ vendor_meta ['dokan_feature_seller ' ] = 'no ' ;
766
+
767
+ if (isset ($ wcfm_settings ['commission ' ])) {
768
+ $ commission_type = $ wcfm_settings ['commission ' ]['commission_mode ' ];
769
+ $ commission_value = 0 ;
770
+ if ($ commission_type == 'percent ' ) {
771
+ $ commission_value = $ wcfm_settings ['commission ' ]['commission_percent ' ];
772
+ } else if (isset ($ wcfm_settings ['commission ' ]['commission_fixed ' ])) {
773
+ $ commission_value = $ wcfm_settings ['commission ' ]['commission_fixed ' ];
774
+ }
775
+
776
+ $ vendor_meta ['dokan_admin_percentage ' ] = $ commission_value ;
777
+ $ vendor_meta ['dokan_admin_percentage_type ' ] = $ commission_type ;
778
+ }
779
+
780
+ return $ vendor_meta ;
781
+ }
766
782
}
0 commit comments