public function setUp() { parent::setUp(); /* Campaign 1: $40,000 goal, 300 days till end */ $campaign_1_id = Charitable_Campaign_Helper::create_campaign(array('post_title' => 'Test Campaign 1', '_campaign_goal' => 40000.0, '_campaign_end_date' => date('Y-m-d H:i:s', strtotime('+300 days')))); $this->campaign_1 = new Charitable_Campaign(get_post($campaign_1_id)); /* Campaign 2: $40,000 goal, 300 days till end */ $campaign_2_id = Charitable_Campaign_Helper::create_campaign(array('post_title' => 'Test Campaign 2', '_campaign_goal' => 10000.0)); $this->campaign_2 = new Charitable_Campaign(get_post($campaign_2_id)); /* Create a couple donations */ $this->user_id = $this->factory->user->create(array('display_name' => 'John Henry')); $user = new Charitable_User($this->user_id); $this->donor_id = $user->add_donor(); }
/** * Returns the donor_id for the current donation. * * @return int * @access public * @since 1.0.0 */ public function get_donor_id() { if (!isset($this->donor_id)) { $this->donor_id = $this->get_donation_data_value('donor_id', 0); if ($this->donor_id) { return $this->donor_id; } $user_id = $this->get_donation_data_value('user_id', get_current_user_id()); $user_data = $this->get_donation_data_value('user', array()); if ($user_id) { $this->donor_id = charitable_get_table('donors')->get_donor_id($user_id); } elseif (isset($user_data['email'])) { $this->donor_id = charitable_get_table('donors')->get_donor_id_by_email($user_data['email']); } /* If we still do not have a donor ID, it means that this is a first-time donor */ if (0 == $this->donor_id) { $user = new Charitable_User($user_id); $this->donor_id = $user->add_donor($user_data); } } return $this->donor_id; }