Donation = new Donation($this->_get_debug_mode()); $domain = $this->getEclipseEnv(); $this->_set_gateway_process_url('https://'. $this->_get_prefix_domain() . '/donate/process.php'); $this->_set_gateway_return_url('https://'. $this->_get_prefix_domain() . '/donate/credit.php'); $this->_set_gateway_credit_process_url('https://'. $domain['accounts'] . '/donate/process'); } /** * Get gateway process url * * @return unknown */ public function get_gateway_process_url() { return $this->gateway_process_url; } /** * Get gateway process url * * @return unknown */ public function get_gateway_credit_process_url() { return $this->gateway_credit_process_url; } /** * Get gateway redirect value * * @return unknown */ public function get_gateway_redirect() { if (empty($this->gateway_redirect)) { $this->_set_gateway_redirect(); } return $this->gateway_redirect; } /** * Maintenance for friends_process table */ public function maintenance(){ $table = 'friends_process'; if ($this->_get_debug_mode()) { $table = 'testing_' . $table; } $sql = 'DELETE from ' . $table .' WHERE timestamp <= (NOW() - INTERVAL 3 MONTH) AND status != "COMPLETED" AND status != "CONFIRMED" ORDER BY timestamp DESC'; return $this->App->eclipse_sql($sql); } /** * Store form values from donation form or process script */ public function update_friends_process_table($update = FALSE) { $this->maintenance(); $fields = array( 'id_unique' => $this->Donation->get_donation_random_invoice_id(), 'uid' => $this->Donation->Donor->get_donor_uid(), 'type' => $this->_get_gateway_type(), 'domain' => $this->_get_prefix_domain(), 'first_name' => $this->Donation->Donor->get_donor_first_name(), 'last_name' => $this->Donation->Donor->get_donor_last_name(), 'email' => $this->Donation->Donor->get_donor_email(), 'amount' => $this->Donation->get_donation_amount(), 'message' => $this->Donation->get_donation_message(), 'subscription' => $this->Donation->get_donation_subscription(), 'is_anonymous' => $this->Donation->get_donation_is_anonymous(), 'redirect_url' => $this->get_gateway_redirect(), 'status' => $this->Donation->get_donation_status(), 'email_paypal' => $this->Donation->Donor->get_donor_paypal_email(), 'landing_page' => $this->Donation->get_donation_landing_page(), 'file_id' => $this->Donation->get_donation_file_id(), 'scope' => $this->Donation->get_donation_scope(), 'campaign' => $this->Donation->get_donation_campaign(), ); if ($update) { // On ipn update, we won't update the redirect_url unset($fields['redirect_url']); } $possible_null_field = array( 'uid', 'first_name', 'last_name', 'message', 'email', 'email_paypal', 'amount', 'domain', 'landing_page', 'scope', 'campaign', 'file_id' ); $sql = $this->_sql_on_duplicate_update('friends_process', $fields, $possible_null_field); $this->App->eclipse_sql($sql); } public function set_posted_donation_values() { $this->Donation->Donor->set_donor_email($this->App->getHTTPParameter('email')); $this->Donation->Donor->set_donor_first_name($this->App->getHTTPParameter('first_name')); $this->Donation->Donor->set_donor_last_name($this->App->getHTTPParameter('last_name')); $this->Donation->set_donation_amount($this->App->getHTTPParameter('amount')); $this->Donation->set_donation_message($this->App->getHTTPParameter('message')); $this->Donation->set_donation_subscription($this->App->getHTTPParameter('subscription')); $this->Donation->set_donation_is_anonymous($this->App->getHTTPParameter('is_anonymous')); $this->Donation->set_donation_status('new_donation_form'); $this->Donation->set_donation_landing_page($this->App->getHTTPParameter('landing_page')); $this->Donation->set_donation_file_id($this->App->getHTTPParameter('file_id')); $this->Donation->set_donation_scope($this->App->getHTTPParameter('scope')); $this->Donation->set_donation_campaign($this->App->getHTTPParameter('campaign')); $this->_set_gateway_redirect(); $this->update_friends_process_table(); } /** * Get gateway auth token. */ protected function _get_gateway_auth_token(){ if (empty($this->gateway_auth_token)) { $this->_set_gateway_auth_token(); } return $this->gateway_auth_token; } /** * Get gateway business e-mail account */ protected function _get_gateway_email() { return $this->gateway_email; } /** * Get gateway notify url * * @return string */ protected function _get_gateway_notify_url() { return $this->gateway_notify_url; } /** * Get return URL * * @return unknown */ protected function _get_gateway_return_url() { return $this->gateway_return_url; } /** * Get gateway redirect URL */ protected function _get_gateway_redirect(){ return $this->gateway_redirect; } /** * Get curl request response */ protected function _get_gateway_response(){ return $this->gateway_response; } /** * Get gateway type */ protected function _get_gateway_type() { return $this->gateway_type; } /** * Get gateway URL * * @return unknown */ protected function _get_gateway_url() { return $this->gateway_url; } /** * Set gateway auth token * @return string */ protected function _set_gateway_auth_token($token = ""){ $this->gateway_auth_token = $token; } /** * Set gateway business e-mail account * * @param unknown $email */ protected function _set_gateway_email($email) { if (filter_var($email, FILTER_VALIDATE_EMAIL)) { $this->gateway_email = $email; } } /** * Set gateway notify url * * @param string $url */ protected function _set_gateway_notify_url($url = '') { if (filter_var($url, FILTER_VALIDATE_URL)) { $this->gateway_notify_url = $url; } } /** * Set gateway process url * * @param string $url */ protected function _set_gateway_process_url($url = '') { if (filter_var($url, FILTER_VALIDATE_URL)) { $this->gateway_process_url = $url; } } /** * Set gateway process url * * @param string $url */ protected function _set_gateway_credit_process_url($url = '') { if (filter_var($url, FILTER_VALIDATE_URL)) { $this->gateway_credit_process_url = $url; } } /** * Set gateway redirect url * * @param string $url */ protected function _set_gateway_redirect($url = NULL) { $this->gateway_redirect = $this->_get_gateway_url(); if (filter_var($url, FILTER_VALIDATE_URL)) { $this->gateway_redirect = $url; } } /** * Set curl request response */ protected function _set_gateway_response($res = ''){ $this->gateway_response = $res; } /** * Set return URL * * @param string $url */ protected function _set_gateway_return_url($url = NULL) { if (filter_var($url, FILTER_VALIDATE_URL)) { $this->gateway_return_url = $url; } } /** * Set gateway type * * @param string $gateway_type */ protected function _set_gateway_type($gateway_type = NULL){ $haystack = array('paypal'); if (in_array($gateway_type, $haystack)) { $this->gateway_type = $gateway_type; $this->Donation->set_donation_currency($gateway_type); } } /** * Set gateway URL * * @param string $url */ protected function _set_gateway_url($url = NULL) { if (filter_var($url, FILTER_VALIDATE_URL)) { $this->gateway_url = $url; } } }