Пример #1
0
 function _load_target_field_defs()
 {
     require_once 'AMP/UserData.php';
     $udm = new UserData(AMP_Registry::getDbcon(), $this->_form_id, $admin = true);
     $fields_lookup = array();
     $types_to_avoid = array("html", "static", "header");
     $types_to_group = array('checkgroup', 'multiselect');
     foreach ($udm->fields as $field_name => $field_def) {
         if (!(isset($field_def['enabled']) && $field_def['enabled']) || !isset($field_def['type'])) {
             continue;
         }
         if (array_search($field_def['type'], $types_to_group) !== FALSE) {
             $this->_group_fields[$field_name] = $field_def['label'];
             continue;
         }
         if (array_search($field_def['type'], $types_to_avoid) !== FALSE) {
             continue;
         }
         $label = $field_name;
         if (isset($field_def['label']) && $field_def['label']) {
             $label = $field_def['label'];
         }
         $fields_lookup[$field_name] = $label;
     }
     $fields_lookup['id'] = 'ID';
     require_once 'AMP/System/User/Profile/Profile.php';
     $user = new AMP_System_User_Profile(AMP_Registry::getDbcon());
     $db_fields = $user->getAllowedKeys();
     foreach ($fields_lookup as $field_key => $field_label) {
         if (!isset($db_fields[strtoupper($field_key)])) {
             unset($fields_lookup[$field_key]);
         }
     }
     $this->_target_fields_lookup = $fields_lookup;
 }
Пример #2
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;
 }
Пример #3
0
 function success()
 {
     $email_request = AMP_params('email');
     if (!$email_request) {
         return false;
     }
     $finder = new AMP_System_User_Profile(AMP_dbcon());
     $accounts = $finder->find(array('Email' => $email_request, 'publish' => 1, 'modin' => 20));
     if (empty($accounts)) {
         return false;
     }
     return $this->send_password_reset(current($accounts));
 }
Пример #4
0
function GSD_get_current_user_data()
{
    $user_cookie = $_COOKIE['AMPContentLoginCredentials'];
    if (!$user_cookie) {
        return false;
    }
    $splits = explode(':', $user_cookie);
    $user_id = $splits[3];
    if (!$user_id) {
        return false;
    }
    $user = new AMP_System_User_Profile(AMP_Registry::getDbcon(), $user_id);
    return $user->getData();
}
function validate_unique_email($udm)
{
    if (!AMP_params('btnUdmSubmit')) {
        return;
    }
    if (AMP_params('Email') && !AMP_params('uid')) {
        $finder = new AMP_System_User_Profile(AMP_dbcon());
        $existing_accounts = $finder->find(array('Email' => AMP_params('Email'), 'modin' => 20));
        if (!empty($existing_accounts)) {
            AMP_flashMessage('The email address you entered is already associated with an account and must be unique to create a new one. Are you already a member? If so  <a href="forgot_password.php?login_type=content">you can recover your password here</a>.', $error = true);
            AMP_redirect('/form.php?id=' . $udm->instance);
            exit;
        }
    }
}
Пример #6
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');
Пример #7
0
 function find_dia_key($options)
 {
     if (isset($options['dia_key']) && $options['dia_key']) {
         return $options['dia_key'];
     }
     if (isset($this->udm->uid)) {
         require_once 'AMP/System/User/Profile/Profile.php';
         $user_data = new AMP_System_User_Profile($this->udm->dbcon, $this->udm->uid);
         $dia_key = $user_data->getData('dia_key');
         if ($dia_key) {
             return $dia_key;
         }
     }
     return false;
 }
Пример #8
0
 function donation_is_unique($donation)
 {
     $finder = new AMP_System_User_Profile(AMP_dbcon());
     $finder->_exact_value_fields[] = WIN_RECENT_DONATION_KEY;
     return !$finder->find(array(WIN_RECENT_DONATION_KEY => $donation['key']), 'AMP_System_User_Profile');
 }
Пример #9
0
 function commit_import()
 {
     if (!isset($this->_form_import)) {
         $this->_form_import =& $this->_map->getComponent('import');
     }
     if (!$this->_form_import->submitted() || !$this->_form_import->validate()) {
         $this->_form_import->initNoId();
         $this->_form_import->applyDefaults();
         $this->_form_import->Build();
         $this->_display->add($this->_form_import);
         return true;
     }
     $this->_form_import->Build();
     $target_form_id = $this->_form_import->getFormId();
     $import_map = $this->_form_import->getMap();
     $import_file = $this->_form_import->getSource();
     $import_fields = $this->_form_import->getSourceFields();
     if (!$import_file) {
         return false;
     }
     $count = 0;
     // doing this with the UserData structure would be more correct
     // but is too slow to be useful at this time
     //require_once( 'AMP/UserData/Input.inc.php');
     //$user = new UserDataInput( AMP_Registry::getDbcon( ), $target_form_id, $admin = true );
     //$user->doPlugin( 'QuickForm', 'Build');
     require_once 'AMP/System/User/Profile/Profile.php';
     $user = new AMP_System_User_Profile(AMP_Registry::getDbcon());
     foreach ($import_file as $row_id => $row_data) {
         $saveable_data = array('modin' => $target_form_id);
         set_time_limit(10);
         foreach ($row_data as $key => $value) {
             $source_key = $import_fields[$key];
             if (!isset($import_map[$source_key])) {
                 continue;
             }
             $saveable_data[$import_map[$source_key]] = $value;
         }
         /*
         if ( isset( $saveable_data['id'])) {
             $user->uid = $saveable_data['id'];
         }
         */
         $user->setData($saveable_data);
         $count += $user->save();
         //$count += $user->doAction( 'Save' );
         //$user->clearData( );
         trigger_error('imported ' . $count);
     }
     $import_action_text = AMP_past_participle(AMP_TEXT_IMPORT);
     if ($count) {
         $this->message(sprintf(AMP_TEXT_LIST_ACTION_SUCCESS, $import_action_text, $count));
     } else {
         $this->message(sprintf(AMP_TEXT_LIST_ACTION_FAIL, $import_action_text));
     }
 }
Пример #10
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;
 }
Пример #11
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;
 }
Пример #12
0
<?php

require_once 'AMP/Base/Config.php';
require_once 'AMP/Auth/Password/Reset/Form.php';
require_once 'AMP/System/User/Profile/Profile.php';
require_once 'AMP/Auth/Handler.inc.php';
#require_once( 'AMP/BaseTemplate.php' );
#require_once( 'AMP/BaseModuleIntro.php' );
// define('AMP_AUTHENTICATION_DEBUG',true);
$AMP_Authen_Handler = new AMP_Authentication_Handler(AMP_Registry::getDbcon(), 'content');
if (!$AMP_Authen_Handler->is_authenticated()) {
    AMP_flashMessage('You need to submit another password reset request, as yours has expired');
    $AMP_Authen_Handler->do_login();
}
$password_reset_form = new AMP_Auth_Password_Reset_Form();
$password_reset_form->Build();
if ($_POST['new_password']) {
    $passwords = $password_reset_form->getValues();
    $user = new AMP_System_User_Profile(AMP_dbcon(), $AMP_Authen_Handler->userid);
    if ($user->reset_password($passwords, 'custom2')) {
        global $dbcon;
        $dbcon->Execute('DELETE FROM users_sessions where hash=' . $dbcon->qstr($hash));
        AMP_flashMessage('Password reset successful');
        AMP_redirect('profile.php');
    } else {
        AMP_flashMessage('Passwords do not match');
    }
}
echo $password_reset_form->execute();
require_once 'AMP/BaseFooter.php';
Пример #13
0
 function __construct($db_connection)
 {
     parent::__construct($db_connection);
 }