Beispiel #1
0
 function export(&$target_set, $args = null)
 {
     $sample = current($target_set);
     $keys = $sample->export_keys();
     $dump = array();
     foreach ($keys as $key) {
         $blank_set[$key] = null;
     }
     foreach ($target_set as $source) {
         $values = $source->getData();
         $user_values = array();
         if (isset($values['uid']) && $values['uid']) {
             $owner = new AMP_System_User_Profile(AMP_Registry::getDbcon(), $values['uid']);
             if ($owner->hasData()) {
                 $owner_data = $owner->getData();
                 unset($owner_data['id']);
                 $user_values = array_combine_key($keys, $owner_data);
             }
         }
         $safe_values = array_combine_key($keys, $values);
         $dump[$source->id] = array_merge($blank_set, $safe_values, $user_values);
     }
     require_once 'AMP/Renderer/CSV.php';
     $renderer = new AMP_Renderer_CSV();
     $file = $renderer->format(array($keys));
     $file .= $renderer->format($dump);
     $renderer->header(date("Y_m_d__") . get_class($this));
     print $file;
     exit;
 }
Beispiel #2
0
$mod_name = 'udm';
require_once 'AMP/BaseDB.php';
require_once 'AMP/UserData/Input.inc.php';
require_once 'utility.functions.inc.php';
// User ID.
$uid = isset($_REQUEST['uid']) ? $_REQUEST['uid'] : false;
if (!$uid) {
    $uid = isset($_REQUEST['id']) ? $_REQUEST['id'] : false;
}
#set_error_handler( 'e' );
$modin = isset($_REQUEST['modin']) && $_REQUEST['modin'] ? $_REQUEST['modin'] : false;
if ($uid && !$modin) {
    //look up the modin via uid
    require_once 'AMP/System/User/Profile/Profile.php';
    $profile = new AMP_System_User_Profile(AMP_Registry::getDbcon(), $uid);
    if ($profile->hasData() && ($modin = $profile->getModin())) {
        //redirect to the standard URL
        $url_vars = AMP_URL_Values();
        if (!$url_vars) {
            $url_vars = array();
        }
        $url_vars = array_merge($url_vars, array('uid' => 'uid=' . $uid, 'modin' => 'modin=' . $modin));
        unset($url_vars['id']);
        ampredirect(AMP_url_add_vars(AMP_SYSTEM_URL_FORM_ENTRY, $url_vars));
    }
}
if ($modin) {
    $form_id_nav = $modin;
    $form_permissions =& AMPSystem_Lookup::instance('PermissionsbyForm');
    $tools = AMP_lookup('ToolsbyForm');
    $modin_permission = isset($form_permissions[$modin]) && $form_permissions[$modin] ? $form_permissions[$modin] : false;
Beispiel #3
0
 function save_owner($event_data = array())
 {
     if (empty($event_data)) {
         $event_data = $this->getData();
     }
     $uid = isset($event_data['uid']) ? $event_data['uid'] : false;
     if (!$uid && (!defined('AMP_FORM_ID_EVENT_OWNER') || !AMP_FORM_ID_EVENT_OWNER)) {
         return false;
     }
     require_once 'AMP/System/User/Profile/Profile.php';
     $owner = new AMP_System_User_Profile($this->dbcon, $uid);
     if (!$owner->hasData()) {
         $owner->setDefaults();
         $owner->mergeData(array('modin' => AMP_FORM_ID_EVENT_OWNER));
     }
     $allowed_keys = $this->export_keys();
     foreach ($this->_legacy_fields as $old_name => $new_name) {
         if (!isset($event_data[$old_name])) {
             continue;
         }
         $event_data[$new_name] = $event_data[$old_name];
     }
     $allowed_data = array_combine_key($allowed_keys, $event_data);
     unset($allowed_data['id']);
     $owner->mergeData($allowed_data);
     $result = $owner->save();
     if (!$result) {
         return false;
     }
     $this->_owner =& $owner;
     return $owner->id;
 }
Beispiel #4
0
 function save($data)
 {
     $data = $this->udm->getData();
     foreach ($data as $key => $value) {
         if ($field = $this->checkPrefix($key)) {
             $plugin[$field] = $value;
         }
     }
     $options = $this->getOptions();
     require_once 'PayPal.php';
     require_once 'PayPal/Profile/API.php';
     require_once 'PayPal/Profile/Handler.php';
     require_once 'PayPal/Profile/Handler/Array.php';
     require_once 'PayPal/Type/DoDirectPaymentRequestType.php';
     require_once 'PayPal/Type/DoDirectPaymentRequestDetailsType.php';
     require_once 'PayPal/Type/DoDirectPaymentResponseType.php';
     require_once 'PayPal/Type/BasicAmountType.php';
     require_once 'PayPal/Type/PaymentDetailsType.php';
     require_once 'PayPal/Type/AddressType.php';
     require_once 'PayPal/Type/CreditCardDetailsType.php';
     require_once 'PayPal/Type/PayerInfoType.php';
     require_once 'PayPal/Type/PersonNameType.php';
     $pid = ProfileHandler::generateID();
     $handler = ProfileHandler_Array::getInstance(array('username' => $options['api_username'], 'password' => $options['api_password'], 'certificateFile' => $options['cert_file'], 'subject' => null, 'environment' => $options['environment']));
     $profile = APIProfile::getInstance($pid, $handler);
     $dp_request = PayPal::getType('DoDirectPaymentRequestType');
     $firstName = $data['First_Name'];
     $lastName = $data['Last_Name'];
     $creditCardType = $plugin['cc_type'];
     $creditCardNumber = $plugin['cc_number'];
     $expDateMonth = $plugin['cc_expiration']['m'];
     // Month must be padded with leading zero
     $padDateMonth = str_pad($expDateMonth, 2, '0', STR_PAD_LEFT);
     $expDateYear = $plugin['cc_expiration']['Y'];
     $cvv2Number = $plugin['cc_cvv2'];
     $address1 = $data['Street'];
     $address2 = isset($data['Street_1']) ? $data['Street_1'] : null;
     $city = $data['City'];
     $state = $data['State'];
     $zip = $data['Zip'];
     $amount = $plugin['amount'];
     $OrderTotal = PayPal::getType('BasicAmountType');
     $OrderTotal->setattr('currencyID', 'USD');
     $OrderTotal->setval($amount, 'iso-8859-1');
     $PaymentDetails = PayPal::getType('PaymentDetailsType');
     $PaymentDetails->setOrderTotal($OrderTotal);
     $shipTo = PayPal::getType('AddressType');
     $shipTo->setName($firstName . ' ' . $lastName);
     $shipTo->setStreet1($address1);
     $shipTo->setStreet2($address2);
     $shipTo->setCityName($city);
     $shipTo->setStateOrProvince($state);
     $shipTo->setCountry('US');
     $shipTo->setPostalCode($zip);
     $PaymentDetails->setShipToAddress($shipTo);
     $dp_details = PayPal::getType('DoDirectPaymentRequestDetailsType');
     $dp_details->setPaymentDetails($PaymentDetails);
     // Credit Card info
     $card_details = PayPal::getType('CreditCardDetailsType');
     $card_details->setCreditCardType($creditCardType);
     $card_details->setCreditCardNumber($creditCardNumber);
     $card_details->setExpMonth($padDateMonth);
     $card_details->setExpYear($expDateYear);
     $card_details->setCVV2($cvv2Number);
     $payer = PayPal::getType('PayerInfoType');
     $person_name = PayPal::getType('PersonNameType');
     $person_name->setFirstName($firstName);
     $person_name->setLastName($lastName);
     $payer->setPayerName($person_name);
     $payer->setPayerCountry('US');
     $payer->setAddress($shipTo);
     if (isset($data['Email'])) {
         $payer->setPayer($data['Email']);
     }
     $card_details->setCardOwner($payer);
     $dp_details->setCreditCard($card_details);
     $dp_details->setIPAddress($_SERVER['SERVER_ADDR']);
     $dp_details->setPaymentAction('Sale');
     $dp_request->setDoDirectPaymentRequestDetails($dp_details);
     $caller = PayPal::getCallerServices($profile);
     if (PEAR::isError($caller)) {
         trigger_error($caller->getMessage());
         return false;
     }
     $response = $caller->DoDirectPayment($dp_request);
     $ack = $response->getAck();
     define('ACK_SUCCESS', 'Success');
     define('ACK_SUCCESS_WITH_WARNING', 'SuccessWithWarning');
     switch ($ack) {
         case ACK_SUCCESS:
         case ACK_SUCCESS_WITH_WARNING:
             if (isset($options['response']) && $options['response']) {
                 $response_code = 'Transaction ID: ' . $response->getTransactionID() . "\n" . 'Completed AVS Code: ' . $response->getAVSCode() . "\n" . 'CVV2 Code: ' . $response->getCVV2Code();
                 require_once 'AMP/System/User/Profile/Profile.php';
                 $profile = new AMP_System_User_Profile($this->dbcon, $this->udm->uid);
                 if ($profile->hasData()) {
                     $update = array($options['response'] => $response_code);
                     $profile->mergeData($update);
                     $profile->save();
                 } else {
                     trigger_error('cannot update profile with paypal response: ' . $response_code);
                 }
             }
             return true;
         default:
             require_once 'PayPal/Type/AbstractResponseType.php';
             require_once 'PayPal/Type/ErrorType.php';
             require_once 'PayPal/Type/DoDirectPaymentResponseType.php';
             $errors = $response->getErrors();
             if (!is_array($errors)) {
                 $errors = array($errors);
             }
             foreach ($errors as $error) {
                 trigger_error($error->getShortMessage() . ' : ' . $error->getLongMessage());
                 $flash = AMP_System_Flash::instance();
                 $flash->add_error($error->getLongMessage());
             }
     }
     return false;
 }