create_multilevel_form() public static method

Create a multi-level donation form.
Since: 1.0
public static create_multilevel_form ( )
示例#1
0
 /**
  * Create a simple donation payment.
  *
  * @since 1.0
  */
 public static function create_simple_payment()
 {
     global $give_options;
     // Enable a few options
     $give_options['enable_sequential'] = '1';
     $give_options['sequential_prefix'] = 'GIVE-';
     update_option('give_settings', $give_options);
     $simple_form = Give_Helper_Form::create_simple_form();
     $multilevel_form = Give_Helper_Form::create_multilevel_form();
     /** Generate some donations */
     $user = get_userdata(1);
     $user_info = array('id' => $user->ID, 'email' => $user->user_email, 'first_name' => $user->first_name, 'last_name' => $user->last_name);
     $total = 0;
     $simple_price = get_post_meta($simple_form->ID, 'give_price', true);
     $variable_prices = get_post_meta($multilevel_form->ID, 'give_variable_prices', true);
     $variable_item_price = $variable_prices[1]['amount'];
     // == $100
     $total += $variable_item_price + $simple_price;
     $purchase_data = array('price' => number_format((double) $total, 2), 'give_form_title' => 'Test Donation', 'give_form_id' => $simple_form->ID, 'date' => date('Y-m-d H:i:s', strtotime('-1 day')), 'purchase_key' => strtolower(md5(uniqid())), 'user_email' => $user_info['email'], 'user_info' => $user_info, 'currency' => 'USD', 'status' => 'pending');
     $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
     $_SERVER['SERVER_NAME'] = 'give_virtual';
     $payment_id = give_insert_payment($purchase_data);
     $key = $purchase_data['purchase_key'];
     $transaction_id = 'FIR3SID3';
     give_set_payment_transaction_id($payment_id, $transaction_id);
     give_insert_payment_note($payment_id, sprintf(__('PayPal Transaction ID: %s', 'give'), $transaction_id));
     return $payment_id;
 }
示例#2
0
 /**
  * Creates a multi-level (variable) donation payment.
  *
  * @since 1.0
  */
 public static function create_multilevel_payment()
 {
     global $give_options;
     // Enable a few options
     $give_options['enable_sequential'] = '1';
     //Not yet in use
     $give_options['sequential_prefix'] = 'GIVE-';
     //Not yet in use
     update_option('give_settings', $give_options);
     $multilevel_form = Give_Helper_Form::create_multilevel_form();
     // Generate some donations
     $user = get_userdata(1);
     $user_info = array('id' => $user->ID, 'email' => $user->user_email, 'first_name' => $user->first_name, 'last_name' => $user->last_name);
     $multilevel_price = maybe_unserialize(get_post_meta($multilevel_form->ID, '_give_donation_levels', true));
     $purchase_data = array('price' => number_format((double) $multilevel_price[1]['_give_amount'], 2), 'give_form_title' => $multilevel_form->post_title, 'give_form_id' => $multilevel_form->ID, 'give_price_id' => $multilevel_price[1]['_give_id']['level_id'], 'date' => date('Y-m-d H:i:s', strtotime('-1 day')), 'purchase_key' => strtolower(md5(uniqid())), 'user_email' => $user_info['email'], 'user_info' => $user_info, 'currency' => 'USD', 'status' => 'pending');
     $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
     $_SERVER['SERVER_NAME'] = 'give_virtual';
     $payment_id = give_insert_payment($purchase_data);
     $transaction_id = 'FIR3SID3';
     $payment = new Give_Payment($payment_id);
     $payment->transaction_id = $transaction_id;
     $payment->save();
     give_insert_payment_note($payment_id, sprintf(esc_html__('PayPal Transaction ID: %s', 'give'), $transaction_id));
     return $payment_id;
 }
示例#3
0
 /**
  * Test Remove Donation Payment by Price ID
  */
 public function test_remove_with_multi_price_points_by_price_id()
 {
     Give_Helper_Payment::delete_payment($this->_payment_id);
     $form = Give_Helper_Form::create_multilevel_form();
     $payment = new Give_Payment();
     //Add a multi-level donation amount
     $payment->add_donation($form->ID, array('price_id' => 2));
     $this->assertEquals(25, $payment->total);
     $payment->status = 'complete';
     $payment->save();
     //Now remove it
     $payment->remove_donation($form->ID, array('price_id' => 2));
     $payment->save();
     $this->assertEmpty($payment->price_id);
     $this->assertEquals(0, $payment->total);
 }
示例#4
0
 public function setUp()
 {
     parent::setUp();
     $this->_post = Give_Helper_Form::create_multilevel_form();
 }