<?php require_once 'AMP/Base/Config.php'; require_once 'AMP/System/User/Profile/Profile.php'; require 'democracyinaction/api.php'; require_once 'win_config.php'; require_once 'WinMember.php'; $email = $_GET['email']; $donation_key = AMP_params('donation_key'); $member = WinMember::find_by_email($email); if (!$member) { AmpUtility::bail('Sorry we could not find a record with the email: ' . $email . ' Please contact info@winonline.org'); } $dia = new DemocracyInAction_API(DIA_API_NODE, DIA_API_USERNAME, DIA_API_PASSWORD); $dia->authenticate(); $member->dia =& $dia; $dia_supporter_key = $member->dia->save('supporter', array('Email' => $member->data->getData('Email'), 'First_Name' => $member->data->getData('First_Name'), 'Last_Name' => $member->data->getData('Last_Name'))); trigger_error('supporter_key: ' . $dia_supporter_key); $member->data->mergeData(array(WIN_DIA_SUPPORTER_KEY => $dia_supporter_key)); $member->data->save(); $member->create_or_renew($donation_key); $member->mark_as_paid_in_dia($dia_supporter_key); $member->set_membership_status('active'); $member->add_to_group($dia_supporter_key, WIN_CURRENT_MEMBERS); $member->sync_to_dia(); trigger_error('synced with DIA'); trigger_error($member->data->getData('custom1')); trigger_error($member->data->getData('custom2')); $member->dia->save('supporter', array('Email' => $member->data->getData('Email'), 'email_trigger_KEYS' => '0,17001', 'USERNAME' => $member->data->getData('custom1'), 'PASSWORD' => $member->data->getData('custom2'), 'name' => AMP_params('name'), 'recipient_name' => AMP_params('recipient_name'), 'custom_message' => AMP_params('custom_message'))); ampredirect('http://www.winonline.org/article.php?id=443');
} if ($combo || $winpay->donation_amount == '75' || $winpay->donation_amount == '80') { trigger_error('combo payment'); if ($winpay->donation_amount == '75' || $winpay->donation_amount == '80') { trigger_error(var_export($member->dia, true)); $dia = new DemocracyInAction_API(DIA_API_NODE, DIA_API_USERNAME, DIA_API_PASSWORD); $dia->authenticate(); $member->dia =& $dia; $member->dia->save('supporter', array('Email' => $member->data->getData('Email'), 'email_trigger_KEYS' => '0,12374', 'USERNAME' => $member->data->getData('Email'))); } //$member->add_to_group($dia_supporter_key, WIN_COMBO_GROUP ); $member->data->mergeData(array('region' => true)); } ampredirect(WIN_LOGIN_URL); } else { AmpUtility::bail('Sorry, your payment is no longer valid. Please contact WIN to resolve this issue.'); } class WinPaymentVerifier { var $membership_cost = 15; function WinPaymentVerifier() { $this->__construct(); } function __construct() { $this->dia = new DemocracyInAction_API(DIA_API_NODE, DIA_API_USERNAME, DIA_API_PASSWORD); $this->dia->authenticate(); //recentness is 6 months $this->recent_cutoff = 180 * 24 * 3600; }
function create_or_renew($donation_key) { $this->connect_to_dia(); $donation = $this->dia->get_object('donation', $donation_key); if (!$donation) { AmpUtility::bail('Sorry, there was a problem with your donation. Please contact WIN to resolve this issue', WIN_CONTACT_URL); } if ($this->is_existing_member()) { $this->renew_membership($donation_key); } else { $this->create_membership($donation_key); } $this->data->save(); }