Give_Payment::setup_user_info PHP Method

setup_user_info() private method

Setup the user info
Since: 1.5
private setup_user_info ( ) : array
return array The user info associated with the payment
    private function setup_user_info()
    {
        $defaults = array('first_name' => $this->first_name, 'last_name' => $this->last_name);
        $user_info = isset($this->payment_meta['user_info']) ? maybe_unserialize($this->payment_meta['user_info']) : array();
        $user_info = wp_parse_args($user_info, $defaults);
        if (empty($user_info)) {
            // Get the customer, but only if it's been created
            $customer = new Give_Customer($this->customer_id);
            if ($customer->id > 0) {
                $name = explode(' ', $customer->name, 2);
                $user_info = array('first_name' => $name[0], 'last_name' => $name[1], 'email' => $customer->email, 'discount' => 'none');
            }
        } else {
            // Get the customer, but only if it's been created
            $customer = new Give_Customer($this->customer_id);
            if ($customer->id > 0) {
                foreach ($user_info as $key => $value) {
                    if (!empty($value)) {
                        continue;
                    }
                    switch ($key) {
                        case 'first_name':
                            $name = explode(' ', $customer->name, 2);
                            $user_info[$key] = $name[0];
                            break;
                        case 'last_name':
                            $name = explode(' ', $customer->name, 2);
                            $last_name = !empty($name[1]) ? $name[1] : '';
                            $user_info[$key] = $last_name;
                            break;
                        case 'email':
                            $user_info[$key] = $customer->email;
                            break;
                    }
                }
            }
        }
        return $user_info;
    }