/** * Create a new visitor account for the current visitor and store its ID * in a cookie * * @access public * @since 3.8.9 * @return string Customer ID */ function _wpsc_create_customer_id() { do_action('_wpsc_create_customer_id'); if (_wpsc_is_bot_user()) { $visitor_id = WPSC_BOT_VISITOR_ID; wpsc_get_current_customer_id($visitor_id); $fake_setting_cookie = true; } else { $fake_setting_cookie = false; $args = array(); if (is_user_logged_in()) { $args['user_id'] = get_current_user_id(); } $visitor_id = wpsc_create_visitor($args); if ($visitor_id === false) { // can't create a new visitor, just use the BOT visitor id $visitor_id = WPSC_BOT_VISITOR_ID; $fake_setting_cookie = true; } wpsc_get_current_customer_id($visitor_id); _wpsc_create_customer_id_cookie($visitor_id, $fake_setting_cookie); do_action('wpsc_create_customer', $visitor_id); } return $visitor_id; }
/** * Create a new visitor account for the current visitor and store its ID * in a cookie * * @access public * @since 3.8.9 * @return string Customer ID */ function _wpsc_create_customer_id() { // only allow one customer id per request static $customer_id = false; if ($customer_id) { return $customer_id; } do_action('_wpsc_create_customer_id'); if (_wpsc_is_bot_user()) { $customer_id = WPSC_BOT_VISITOR_ID; wpsc_get_current_customer_id($customer_id); } else { $fake_setting_cookie = false; $args = array(); if (is_user_logged_in()) { $args['user_id'] = get_current_user_id(); } $customer_id = wpsc_create_visitor($args); if (!$customer_id) { // can't create a new visitor, just use the BOT visitor id $customer_id = WPSC_BOT_VISITOR_ID; $fake_setting_cookie = true; } wpsc_get_current_customer_id($customer_id); _wpsc_create_customer_id_cookie($customer_id, $fake_setting_cookie); do_action('wpsc_create_customer', $customer_id); } return $customer_id; }
/** * Gets a valid WPEC visitor id associated with a WordPress user * @access private * @since 3.8.14 * @param unknown $wp_user */ function _wpsc_get_wp_user_visitor_id($wp_user_id = null) { if (!_wpsc_visitor_database_ready()) { return false; } $visitor_id = false; if (empty($wp_user_id)) { $wp_user_id = get_current_user_id(); } if (!empty($wp_user_id)) { $visitor_id = get_user_meta($wp_user_id, _wpsc_get_user_meta_key('visitor_id'), true); if (empty($visitor_id)) { $visitor_id = wpsc_create_visitor(array('user_id' => $wp_user_id)); } } return $visitor_id; }