Advertisement
palsushobhan

wcfm-vendor-force-setup-wizard-completion.php

Sep 21st, 2021
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.48 KB | None | 0 0
  1. add_action('wp_login', function ($user_login, $user) {
  2.     $user_id = $user->ID;
  3.     if (in_array( 'wcfm_vendor', (array) $user->roles ) && check_profile_completeness_percent($user_id)<100) {
  4.         delete_user_meta($user_id, '_store_setup');
  5.     }
  6. }, 10, 2);
  7.  
  8. function check_profile_completeness_percent($user_id) {
  9.     $vendor_data = get_user_meta($user_id, 'wcfmmp_profile_settings', true);
  10.     $profile_complete_components = apply_filters('vendor_profile_complete_components', array(
  11.         'banner'     => 'wcfm_profile_componenet_banner',
  12.         'gravatar'   => 'wcfm_profile_componenet_logo',
  13.         'store_name' => 'wcfm_profile_componenet_name',
  14.         'phone'      => 'wcfm_profile_componenet_phone',
  15.         'about'      => 'wcfm_profile_componenet_description',
  16.         'address'    => 'wcfm_profile_componenet_address',
  17.         'location'   => 'wcfm_profile_componenet_location',
  18.         'payment'    => 'wcfm_profile_componenet_payment',
  19.         'policy'     => 'wcfm_profile_componenet_policy',
  20.         'support'    => 'wcfm_profile_componenet_support',
  21.         'seo'        => 'wcfm_profile_componenet_vseo',
  22.         'shipping'   => 'wcfm_profile_componenet_vshipping'
  23.     ));
  24.     $component = $completed = 0;
  25.     foreach($profile_complete_components as $componenet => $callback) {
  26.         if(is_callable($callback)) {
  27.             $result = call_user_func($callback, $user_id, $vendor_data);
  28.             if( $result !== -1 ) {
  29.                $component++;
  30.                $completed += $result;
  31.             }
  32.         }
  33.     }
  34.     return ($completed / $component) * 100;
  35. }
  36.  
  37. function wcfm_profile_componenet_banner($user_id, $vendor_data) {
  38.     if(apply_filters( 'wcfm_is_allow_store_banner', true )) {
  39.         if(isset( $vendor_data['banner'] ) && absint( $vendor_data['banner'] )) {
  40.             return 1;
  41.         }
  42.         return 0;
  43.     }
  44.     return -1;
  45. }
  46.  
  47. function wcfm_profile_componenet_logo($user_id, $vendor_data) {
  48.     if(apply_filters( 'wcfm_is_allow_store_logo', true )) {
  49.         if(isset( $vendor_data['gravatar'] ) && absint( $vendor_data['gravatar'] )) {
  50.             return 1;
  51.         }
  52.         return 0;
  53.     }
  54.     return -1;
  55. }
  56.  
  57. function wcfm_profile_componenet_name($user_id, $vendor_data) {
  58.     if(apply_filters( 'wcfm_is_allow_store_name', true )) {
  59.         if(isset( $vendor_data['store_name'] ) && esc_attr( $vendor_data['store_name'] )) {
  60.             return 1;
  61.         }
  62.         return 0;
  63.     }
  64.     return -1;
  65. }
  66.  
  67. function wcfm_profile_componenet_phone($user_id, $vendor_data) {
  68.     if(apply_filters( 'wcfm_is_allow_store_phone', true )) {
  69.         if(isset( $vendor_data['phone'] ) && !is_array( $vendor_data['phone'] ) && esc_attr( $vendor_data['phone'] )) {
  70.             return 1;
  71.         }
  72.         return 0;
  73.     }
  74.     return -1;
  75. }
  76.  
  77. function wcfm_profile_componenet_description($user_id, $vendor_data) {
  78.     if(apply_filters( 'wcfm_is_allow_store_description', true )) {
  79.         if(wcfm_get_user_meta( $user_id, '_store_description', true )) {
  80.             return 1;
  81.         }
  82.         return 0;
  83.     }
  84.     return -1;
  85. }
  86.  
  87. function wcfm_profile_componenet_address($user_id, $vendor_data) {
  88.     if(apply_filters( 'wcfm_is_allow_store_address', true )) {
  89.         $street_1 = isset( $vendor_data['address']['street_1'] ) ? $vendor_data['address']['street_1'] : '';
  90.         $country = isset( $vendor_data['address']['country'] ) ? $vendor_data['address']['country'] : '';
  91.         if($street_1 && $country) {
  92.             return 1;
  93.         }
  94.         return 0;
  95.     }
  96.     return -1;
  97. }
  98.  
  99. function wcfm_profile_componenet_location($user_id, $vendor_data) {
  100.     global $WCFMmp;
  101.     if(apply_filters( 'wcfm_is_allow_store_address', true ) && apply_filters( 'wcfm_is_allow_store_map_location', true )) {
  102.         $api_key = isset( $WCFMmp->wcfmmp_marketplace_options['wcfm_google_map_api'] ) ? $WCFMmp->wcfmmp_marketplace_options['wcfm_google_map_api'] : '';
  103.         $wcfm_map_lib = isset( $WCFMmp->wcfmmp_marketplace_options['wcfm_map_lib'] ) ? $WCFMmp->wcfmmp_marketplace_options['wcfm_map_lib'] : '';
  104.         if( !$wcfm_map_lib && $api_key ) {
  105.             $wcfm_map_lib = 'google';
  106.         } elseif( !$wcfm_map_lib && !$api_key ) {
  107.             $wcfm_map_lib = 'leaftlet';
  108.         }
  109.         if( ( ( $wcfm_map_lib == 'google' && !empty( $api_key ) ) || $wcfm_map_lib == 'leaflet' ) &&
  110.         isset( $vendor_data['store_location'] ) && esc_attr( $vendor_data['store_location'] )
  111.         ) {
  112.             return 1;
  113.         }
  114.         return 0;
  115.     }
  116.     return -1;
  117. }
  118.  
  119. function wcfm_profile_componenet_payment($user_id, $vendor_data) {
  120.     if(apply_filters( 'wcfm_is_pref_withdrawal', true ) && apply_filters( 'wcfm_is_allow_billing_settings', true )) {
  121.         $payment_mode = isset( $vendor_data['payment']['method'] ) ? esc_attr( $vendor_data['payment']['method'] ) : '' ;
  122.         $paypal = isset( $vendor_data['payment']['paypal']['email'] ) ? esc_attr( $vendor_data['payment']['paypal']['email'] ) : '' ;
  123.         $skrill = isset( $vendor_data['payment']['skrill']['email'] ) ? esc_attr( $vendor_data['payment']['skrill']['email'] ) : '' ;
  124.         $ac_number = isset( $vendor_data['payment']['bank']['ac_number'] ) ? esc_attr( $vendor_data['payment']['bank']['ac_number'] ) : '';
  125.         if( $payment_mode && ( $paypal || $skrill || $ac_number || $payment_mode == 'stripe' || $payment_mode == 'by_cash' ) ) {
  126.             return 1;
  127.         }
  128.         return 0;
  129.     }
  130.     return -1;
  131. }
  132.  
  133. function wcfm_profile_componenet_policy($user_id, $vendor_data) {
  134.     if(apply_filters( 'wcfm_is_pref_policies', true ) && apply_filters( 'wcfm_is_allow_policy_settings', true )) {
  135.         $wcfm_policy_vendor_options = (array) get_user_meta( $user_id, 'wcfm_policy_vendor_options', true );
  136.         $_wcfm_vendor_policy_tab_title = isset( $wcfm_policy_vendor_options['policy_tab_title'] ) ? $wcfm_policy_vendor_options['policy_tab_title'] : '';
  137.         $_wcfm_vendor_shipping_policy = isset( $wcfm_policy_vendor_options['shipping_policy'] ) ? $wcfm_policy_vendor_options['shipping_policy'] : '';
  138.         $_wcfm_vendor_refund_policy = isset( $wcfm_policy_vendor_options['refund_policy'] ) ? $wcfm_policy_vendor_options['refund_policy'] : '';
  139.         $_wcfm_vendor_cancellation_policy = isset( $wcfm_policy_vendor_options['cancellation_policy'] ) ? $wcfm_policy_vendor_options['cancellation_policy'] : '';
  140.         if( $_wcfm_vendor_policy_tab_title && $_wcfm_vendor_shipping_policy && $_wcfm_vendor_refund_policy && $_wcfm_vendor_cancellation_policy ) {
  141.             return 1;
  142.         }
  143.         return 0;
  144.     }
  145.     return -1;
  146. }
  147.  
  148. function wcfm_profile_componenet_support($user_id, $vendor_data) {
  149.     if(apply_filters( 'wcfm_is_allow_customer_support_settings', true ) && apply_filters( 'wcfm_is_allow_customer_support', true )) {
  150.         $vendor_customer_phone = isset( $vendor_data['customer_support']['phone'] ) ? $vendor_data['customer_support']['phone'] : '';
  151.         $vendor_customer_email = isset( $vendor_data['customer_support']['email'] ) ? $vendor_data['customer_support']['email'] : '';
  152.         $vendor_csd_return_address1 = isset( $vendor_data['customer_support']['address1'] ) ? $vendor_data['customer_support']['address1'] : '';
  153.         $vendor_csd_return_country = isset( $vendor_data['customer_support']['country'] ) ? $vendor_data['customer_support']['country'] : '';
  154.        
  155.         if( $vendor_customer_phone && $vendor_customer_email && $vendor_csd_return_address1 && $vendor_csd_return_country ) {
  156.             return 1;
  157.         }
  158.         return 0;
  159.     }
  160.     return -1;
  161. }
  162.  
  163. function wcfm_profile_componenet_vseo($user_id, $vendor_data) {
  164.     if(apply_filters( 'wcfm_is_allow_vseo_settings', true )) {
  165.         $wcfmmp_seo_meta_title = isset( $vendor_data['store_seo']['wcfmmp-seo-meta-title'] ) ? $vendor_data['store_seo']['wcfmmp-seo-meta-title'] : '';
  166.         $wcfmmp_seo_meta_desc = isset( $vendor_data['store_seo']['wcfmmp-seo-meta-desc'] ) ? $vendor_data['store_seo']['wcfmmp-seo-meta-desc'] : '';
  167.         $wcfmmp_seo_meta_keywords    = isset( $vendor_data['store_seo']['wcfmmp-seo-meta-keywords'] ) ? $vendor_data['store_seo']['wcfmmp-seo-meta-keywords'] : '';
  168.         if( $wcfmmp_seo_meta_title && $wcfmmp_seo_meta_desc && $wcfmmp_seo_meta_keywords ) {
  169.             return 1;
  170.         }
  171.         return 0;
  172.     }
  173.     return -1;
  174. }
  175.  
  176. function wcfm_profile_componenet_vshipping($user_id, $vendor_data) {
  177.     if(apply_filters( 'wcfm_is_allow_shipping', true ) && apply_filters( 'wcfm_is_allow_vshipping_settings', true )) {
  178.         return 1;
  179.     }
  180.     return -1;
  181. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement