Example #1
0
<?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;
    }
Example #3
0
 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();
 }