本文整理汇总了PHP中RGFormsModel::get_ip方法的典型用法代码示例。如果您正苦于以下问题:PHP RGFormsModel::get_ip方法的具体用法?PHP RGFormsModel::get_ip怎么用?PHP RGFormsModel::get_ip使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RGFormsModel
的用法示例。
在下文中一共展示了RGFormsModel::get_ip方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: RGFormsModel
/**
*
* @global type $wpdb
*/
function entries_import()
{
$wform = $_REQUEST['form'];
$gform = $_REQUEST['gform'];
$entry_index = $_REQUEST['entry_index'];
$this->init();
$field_map = maybe_unserialize(get_site_option('rt_wufoo_' . $wform . '_field_map'));
$f = new RGFormsModel();
$c = new GFCommon();
$gform_meta = RGFormsModel::get_form_meta($gform);
try {
$entries = $this->wufoo->getEntries($wform, 'forms', 'pageStart=' . $entry_index . '&pageSize=' . RT_WUFOO_IMPORT_PAGE_SIZE);
} catch (Exception $rt_importer_e) {
$this->error($rt_importer_e);
}
$this->op = array();
foreach ($entries as $index => $entry) {
$lead_exists_id = $this->is_imported($entry->EntryId);
print_r($lead_exists_id);
if (!$lead_exists_id) {
foreach ($field_map as $g_id => $w_id) {
if (isset($w_id) && $w_id != '') {
$this->op[$g_id] = '';
$field_meta = RGFormsModel::get_field($gform_meta, $g_id);
if ($field_meta['type'] == 'fileupload') {
$this->op[$g_id] = $this->import_file_upload($entry, $w_id);
} else {
$this->import_regular_field($wform, $entry, $g_id, $w_id, $field_meta);
}
}
}
$currency = $c->get_currency();
$ip = $f->get_ip();
$page = $f->get_current_page_url();
$lead_table = $f->get_lead_table_name();
$lead_id = $this->insert_lead($entry, $lead_table, $ip, $currency, $page, $wform, $gform);
}
if ($lead_id) {
foreach ($this->op as $inputid => $value) {
$this->insert_fields($lead_id, $gform, $inputid, $value);
}
//Insert comments as notes for the corresponding user map
$comments = $this->get_comments_by_entry($wform, $entry->EntryId);
if (isset($comments) && !empty($comments)) {
foreach ($comments as $comment) {
$this->move_comments_for_entry($comment, $f->get_lead_notes_table_name(), $lead_id, $wform);
}
}
} else {
$lead_id = $lead_exists_id;
}
gform_update_meta($lead_id, 'rt_wufoo_entry_id', $entry->EntryId);
}
//update_site_option('rt_wufoo_' . $wform . '_entry_complete_count','0');
echo count($entries) + $entry_index;
die;
}
示例2: save_lead
/**
* Adapted from forms_model.php, RGFormsModel::save_lead($Form, $lead)
* @param array $form Form object.
* @param array $lead Lead object
* @return void
*/
public static function save_lead($form, &$lead)
{
global $wpdb;
if (IS_ADMIN && !GFCommon::current_user_can_any("gravityforms_edit_entries")) {
die(__("You don't have adequate permission to edit entries.", "gravityforms"));
}
$lead_detail_table = RGFormsModel::get_lead_details_table_name();
//Inserting lead if null
if ($lead == null) {
global $current_user;
$user_id = $current_user && $current_user->ID ? $current_user->ID : 'NULL';
$lead_table = RGFormsModel::get_lead_table_name();
$user_agent = RGFormsModel::truncate($_SERVER["HTTP_USER_AGENT"], 250);
$currency = GFCommon::get_currency();
$source_url = RGFormsModel::truncate(RGFormsModel::get_current_page_url(), 200);
$wpdb->query($wpdb->prepare("INSERT INTO {$lead_table}(form_id, ip, source_url, date_created, user_agent, currency, created_by) VALUES(%d, %s, %s, utc_timestamp(), %s, %s, {$user_id})", $form["id"], RGFormsModel::get_ip(), $source_url, $user_agent, $currency));
//reading newly created lead id
$lead_id = $wpdb->insert_id;
$lead = array("id" => $lead_id);
}
$current_fields = $wpdb->get_results($wpdb->prepare("SELECT id, field_number FROM {$lead_detail_table} WHERE lead_id=%d", $lead["id"]));
$original_post_id = rgget("post_id", $lead);
$total_fields = array();
$calculation_fields = array();
$recalculate_total = false;
foreach ($form["fields"] as $field) {
//Ignore fields that are marked as display only
if (rgget("displayOnly", $field) && $field["type"] != "password") {
continue;
}
//ignore pricing fields in the entry detail
if (RG_CURRENT_VIEW == "entry" && GFCommon::is_pricing_field($field["type"])) {
continue;
}
//process total field after all fields have been saved
if ($field["type"] == "total") {
$total_fields[] = $field;
continue;
}
//only save fields that are not hidden (except on entry screen)
if (RG_CURRENT_VIEW == "entry" || !RGFormsModel::is_field_hidden($form, $field, array(), $lead)) {
// process calculation fields after all fields have been saved (moved after the is hidden check)
if (GFCommon::has_field_calculation($field)) {
$calculation_fields[] = $field;
continue;
}
if ($field['type'] == 'post_category') {
$field = GFCommon::add_categories_as_choices($field, '');
}
if (isset($field["inputs"]) && is_array($field["inputs"])) {
foreach ($field["inputs"] as $input) {
RGFormsModel::save_input($form, $field, $lead, $current_fields, $input["id"]);
}
} else {
RGFormsModel::save_input($form, $field, $lead, $current_fields, $field["id"]);
}
}
//Refresh lead to support conditionals (not optimal but...)
$lead = RGFormsModel::get_lead($lead['id']);
}
if (!empty($calculation_fields)) {
foreach ($calculation_fields as $calculation_field) {
if (isset($calculation_field["inputs"]) && is_array($calculation_field["inputs"])) {
foreach ($calculation_field["inputs"] as $input) {
RGFormsModel::save_input($form, $calculation_field, $lead, $current_fields, $input["id"]);
RGFormsModel::refresh_lead_field_value($lead["id"], $input["id"]);
}
} else {
RGFormsModel::save_input($form, $calculation_field, $lead, $current_fields, $calculation_field["id"]);
RGFormsModel::refresh_lead_field_value($lead["id"], $calculation_field["id"]);
}
}
RGFormsModel::refresh_product_cache($form, $lead = RGFormsModel::get_lead($lead['id']));
}
//saving total field as the last field of the form.
if (!empty($total_fields)) {
foreach ($total_fields as $total_field) {
GFCommon::log_debug("Saving total field.");
RGFormsModel::save_input($form, $total_field, $lead, $current_fields, $total_field["id"]);
}
}
}
示例3: duplicate_entry_data
/**
* Duplicates the contents of a specified entry id into the specified form
* Adapted from forms_model.php, RGFormsModel::save_lead($Form, $lead) and
* gravity -forms-addons.php for the gravity forms addon plugin
* @param array $form Form object.
* @param array $lead Lead object
* @return void
*/
function duplicate_entry_data($form_change, $current_entry_id)
{
global $wpdb;
$lead_table = GFFormsModel::get_lead_table_name();
$lead_detail_table = GFFormsModel::get_lead_details_table_name();
$lead_meta_table = GFFormsModel::get_lead_meta_table_name();
//pull existing entries information
$current_lead = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$lead_table} WHERE id=%d", $current_entry_id));
$current_fields = $wpdb->get_results($wpdb->prepare("SELECT wp_rg_lead_detail.field_number, wp_rg_lead_detail.value, wp_rg_lead_detail_long.value as long_detail FROM {$lead_detail_table} left outer join wp_rg_lead_detail_long on wp_rg_lead_detail_long.lead_detail_id = wp_rg_lead_detail.id WHERE lead_id=%d", $current_entry_id));
// new lead
$user_id = $current_user && $current_user->ID ? $current_user->ID : 'NULL';
$user_agent = GFCommon::truncate_url($_SERVER["HTTP_USER_AGENT"], 250);
$currency = GFCommon::get_currency();
$source_url = GFCommon::truncate_url(RGFormsModel::get_current_page_url(), 200);
$wpdb->query($wpdb->prepare("INSERT INTO {$lead_table}(form_id, ip, source_url, date_created, user_agent, currency, created_by) VALUES(%d, %s, %s, utc_timestamp(), %s, %s, {$user_id})", $form_change, RGFormsModel::get_ip(), $source_url, $user_agent, $currency));
$lead_id = $wpdb->insert_id;
echo 'Entry ' . $lead_id . ' created in Form ' . $form_change;
//add a note to the new entry
$results = mf_add_note($lead_id, 'Copied Entry ID:' . $current_entry_id . ' into form ' . $form_change . '. New Entry ID =' . $lead_id);
foreach ($current_fields as $row) {
$fieldValue = $row->field_number != 303 ? $row->value : 'Proposed';
$wpdb->query($wpdb->prepare("INSERT INTO {$lead_detail_table}(lead_id, form_id, field_number, value) VALUES(%d, %s, %s, %s)", $lead_id, $form_change, $row->field_number, $fieldValue));
//if detail long is set, add row for new record
if ($row->long_detail != 'NULL') {
$lead_detail_id = $wpdb->insert_id;
$wpdb->query($wpdb->prepare("INSERT INTO wp_rg_lead_detail_long(lead_detail_id, value) VALUES(%d, %s)", $lead_detail_id, $row->long_detail));
}
}
}
示例4: paypalpro_validation
public static function paypalpro_validation($validation_result)
{
$config = self::is_ready_for_capture($validation_result);
if (!$config) {
return $validation_result;
}
require_once self::get_base_path() . "/data.php";
// Determine if feed specific api settings are enabled
$local_api_settings = array();
if ($config["meta"]["api_settings_enabled"] == 1) {
$local_api_settings = self::get_local_api_settings($config);
}
// Billing
$card_field = self::get_creditcard_field($validation_result["form"]);
$card_number = rgpost("input_{$card_field["id"]}_1");
$card_type = GFCommon::get_card_type($card_number);
$expiration_date = rgpost("input_{$card_field["id"]}_2");
$country = rgpost('input_' . str_replace(".", "_", $config["meta"]["customer_fields"]["country"]));
$country = class_exists('GF_Field_Address') ? GF_Fields::get('address')->get_country_code($country) : GFCommon::get_country_code($country);
$billing = array();
$billing['CREDITCARDTYPE'] = $card_type["slug"];
$billing['ACCT'] = $card_number;
$billing['EXPDATE'] = $expiration_date[0] . $expiration_date[1];
$billing['CVV2'] = rgpost("input_{$card_field["id"]}_3");
$billing['STREET'] = rgpost('input_' . str_replace(".", "_", $config["meta"]["customer_fields"]["address1"]));
$billing['STREET2'] = rgpost('input_' . str_replace(".", "_", $config["meta"]["customer_fields"]["address2"]));
$billing['CITY'] = rgpost('input_' . str_replace(".", "_", $config["meta"]["customer_fields"]["city"]));
$billing['STATE'] = rgpost('input_' . str_replace(".", "_", $config["meta"]["customer_fields"]["state"]));
$billing['ZIP'] = rgpost('input_' . str_replace(".", "_", $config["meta"]["customer_fields"]["zip"]));
$billing['COUNTRYCODE'] = $country == "UK" ? "GB" : $country;
$billing['CURRENCYCODE'] = GFCommon::get_currency();
// Customer Contact
$billing['FIRSTNAME'] = rgpost('input_' . str_replace(".", "_", $config["meta"]["customer_fields"]["first_name"]));
$billing['LASTNAME'] = rgpost('input_' . str_replace(".", "_", $config["meta"]["customer_fields"]["last_name"]));
$billing['EMAIL'] = rgpost('input_' . str_replace(".", "_", $config["meta"]["customer_fields"]["email"]));
$lead = RGFormsModel::create_lead($validation_result["form"]);
$product_billing_data = self::get_product_billing_data($validation_result["form"], $lead, $config);
$amount = $product_billing_data["amount"];
$products = $product_billing_data["products"];
$billing = array_merge($billing, $product_billing_data["billing"]);
if ($config["meta"]["type"] == "product") {
if ($amount == 0) {
//blank out credit card field if this is the last page
if (self::is_last_page($validation_result["form"])) {
$_POST["input_{$card_field["id"]}_1"] = "";
}
//creating dummy transaction response if there are any visible product fields in the form
if (self::has_visible_products($validation_result["form"])) {
self::$transaction_response = array("transaction_id" => "N/A", "amount" => 0, "transaction_type" => 1, 'config_id' => $config['id']);
}
return $validation_result;
}
//setting up a one time payment
$ip = RGFormsModel::get_ip();
$billing['PAYMENTACTION'] = "Sale";
$billing['IPADDRESS'] = $ip == "::1" ? "127.0.0.1" : $ip;
$billing['RETURNFMFDETAILS'] = "1";
$billing['BUTTONSOURCE'] = 'gravityforms';
$billing['AMT'] = $amount;
$billing['NOTIFYURL'] = get_bloginfo("url") . "/?page=gf_paypalpro_ipn";
self::log_debug("Sending one time payment.");
$response = self::post_to_paypal("DoDirectPayment", $billing, $local_api_settings, $validation_result["form"], $lead);
if (!empty($response) && !empty($response["TRANSACTIONID"])) {
self::$transaction_response = array("transaction_id" => $response["TRANSACTIONID"], "subscription_amount" => 0, "initial_payment_amount" => $response["AMT"], "transaction_type" => 1, 'config_id' => $config['id']);
self::log_debug("Payment successful.");
return $validation_result;
} else {
// Payment was not succesful, need to display error message
self::log_error("Payment was NOT successful.");
return self::set_validation_result($validation_result, $_POST, $response, "capture");
}
} else {
//setting up a recurring payment
$billing['PROFILESTARTDATE'] = gmdate(DATE_ATOM);
$billing['SUBSCRIBERNAME'] = $billing['FIRSTNAME'] . " " . $billing['LASTNAME'];
$billing['MAXFAILEDPAYMENTS'] = "0";
$interval_unit = self::get_interval_unit($config["meta"]["billing_cycle_type"]);
$interval_length = $config["meta"]["billing_cycle_number"];
$billing['BILLINGPERIOD'] = $interval_unit;
$billing['BILLINGFREQUENCY'] = $interval_length;
$billing['TOTALBILLINGCYCLES'] = $config["meta"]["recurring_times"];
$billing['AMT'] = $amount;
//setup fee
$setup_fee_amount = 0;
if ($config["meta"]["setup_fee_enabled"]) {
$setup_fee_product = rgar($products["products"], $config["meta"]["setup_fee_amount_field"]);
if (!empty($setup_fee_product)) {
$setup_fee_amount = self::get_product_price($setup_fee_product);
$billing['INITAMT'] = $setup_fee_amount;
}
}
//trial
$trial_amount = 0;
if ($config["meta"]["trial_period_enabled"]) {
if ($config["meta"]["trial_type"] == "paid") {
$trial_product = rgar($products["products"], $config["meta"]["trial_amount_field"]);
$trial_amount = empty($trial_product) ? 0 : self::get_product_price($trial_product);
$billing["TRIALAMT"] = $trial_amount;
}
$billing["TRIALBILLINGPERIOD"] = self::get_interval_unit($config["meta"]["trial_period_type"]);
//.........这里部分代码省略.........