本文整理汇总了PHP中GFCommon::clean_number方法的典型用法代码示例。如果您正苦于以下问题:PHP GFCommon::clean_number方法的具体用法?PHP GFCommon::clean_number怎么用?PHP GFCommon::clean_number使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GFCommon
的用法示例。
在下文中一共展示了GFCommon::clean_number方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: is_duplicate
public static function is_duplicate($form_id, $field, $value)
{
global $wpdb;
$lead_detail_table_name = self::get_lead_details_table_name();
$lead_table_name = self::get_lead_table_name();
$lead_detail_long = self::get_lead_details_long_table_name();
$is_long = !is_array($value) && strlen($value) > GFORMS_MAX_FIELD_LENGTH - 10;
$sql_comparison = $is_long ? '( ld.value = %s OR ldl.value = %s )' : 'ld.value = %s';
switch (GFFormsModel::get_input_type($field)) {
case 'time':
$value = sprintf("%02d:%02d %s", $value[0], $value[1], $value[2]);
break;
case 'date':
$value = self::prepare_date($field->dateFormat, $value);
break;
case 'number':
$value = GFCommon::clean_number($value, $field->numberFormat);
break;
case 'phone':
$value = str_replace(array(')', '(', '-', ' '), '', $value);
$sql_comparison = 'replace( replace( replace( replace( ld.value, ")", "" ), "(", "" ), "-", "" ), " ", "" ) = %s';
break;
case 'email':
$value = is_array($value) ? rgar($value, 0) : $value;
break;
}
$inner_sql_template = "SELECT %s as input, ld.lead_id\n FROM {$lead_detail_table_name} ld\n INNER JOIN {$lead_table_name} l ON l.id = ld.lead_id\n";
if ($is_long) {
$inner_sql_template .= "INNER JOIN {$lead_detail_long} ldl ON ldl.lead_detail_id = ld.id\n";
}
$inner_sql_template .= "WHERE l.form_id=%d AND ld.form_id=%d\n AND ld.field_number between %s AND %s\n AND status='active' AND {$sql_comparison}";
$sql = "SELECT count(distinct input) as match_count FROM ( ";
$input_count = 1;
if (is_array($field->get_entry_inputs())) {
$input_count = sizeof($field->inputs);
foreach ($field->inputs as $input) {
$union = empty($inner_sql) ? '' : ' UNION ALL ';
$inner_sql .= $union . $wpdb->prepare($inner_sql_template, $input['id'], $form_id, $form_id, $input['id'] - 0.0001, $input['id'] + 0.0001, $value[$input['id']], $value[$input['id']]);
}
} else {
$inner_sql = $wpdb->prepare($inner_sql_template, $field->id, $form_id, $form_id, doubleval($field->id) - 0.0001, doubleval($field->id) + 0.0001, $value, $value);
}
$sql .= $inner_sql . "\n ) as count\n GROUP BY lead_id\n ORDER BY match_count DESC";
$count = gf_apply_filters('gform_is_duplicate', $form_id, $wpdb->get_var($sql), $form_id, $field, $value);
return $count != null && $count >= $input_count;
}
示例2: is_duplicate
public static function is_duplicate($form_id, $field, $value)
{
global $wpdb;
$lead_detail_table_name = self::get_lead_details_table_name();
$lead_table_name = self::get_lead_table_name();
switch (RGFormsModel::get_input_type($field)) {
case "time":
$value = sprintf("%d:%02d %s", $value[0], $value[1], $value[2]);
break;
case "date":
$value = self::prepare_date(rgar($field, "dateFormat"), $value);
break;
case "number":
$value = GFCommon::clean_number($value, rgar($field, 'numberFormat'));
break;
}
$inner_sql_template = " SELECT %s as input, ld.lead_id\n FROM {$lead_detail_table_name} ld\n INNER JOIN {$lead_table_name} l ON l.id = ld.lead_id\n WHERE l.form_id=%d AND ld.form_id=%d\n AND ld.field_number between %s AND %s\n AND ld.value=%s";
$sql = "SELECT count(distinct input) as match_count FROM ( ";
$input_count = 1;
if (is_array($field["inputs"])) {
$input_count = sizeof($field["inputs"]);
foreach ($field["inputs"] as $input) {
$union = empty($inner_sql) ? "" : " UNION ALL ";
$inner_sql .= $union . $wpdb->prepare($inner_sql_template, $input["id"], $form_id, $form_id, $input["id"] - 0.001, $input["id"] + 0.001, $value[$input["id"]]);
}
} else {
$inner_sql = $wpdb->prepare($inner_sql_template, $field["id"], $form_id, $form_id, doubleval($field["id"]) - 0.001, doubleval($field["id"]) + 0.001, $value);
}
$sql .= $inner_sql . "\n ) as count\n GROUP BY lead_id\n ORDER BY match_count DESC";
$count = apply_filters("gform_is_duplicate_{$form_id}", apply_filters('gform_is_duplicate', $wpdb->get_var($sql), $form_id, $field, $value), $form_id, $field, $value);
return $count != null && $count >= $input_count;
}
示例3: validate_range
private static function validate_range($field, $value)
{
if (!GFCommon::is_numeric($value, rgar($field, "numberFormat"))) {
return false;
}
$number = GFCommon::clean_number($value, rgar($field, "numberFormat"));
if (is_numeric($field["rangeMin"]) && $number < $field["rangeMin"] || is_numeric($field["rangeMax"]) && $number > $field["rangeMax"]) {
return false;
} else {
return true;
}
}
示例4: sanitize_settings
public function sanitize_settings()
{
parent::sanitize_settings();
$this->enableCalculation = (bool) $this->enableCalculation;
if ($this->numberFormat == 'currency') {
require_once GFCommon::get_base_path() . '/currency.php';
$currency = new RGCurrency(GFCommon::get_currency());
$this->rangeMin = $currency->to_number($this->rangeMin);
$this->rangeMax = $currency->to_number($this->rangeMax);
} elseif ($this->numberFormat == 'decimal_comma') {
$this->rangeMin = GFCommon::clean_number($this->rangeMin, 'decimal_comma');
$this->rangeMax = GFCommon::clean_number($this->rangeMax, 'decimal_comma');
} elseif ($this->numberFormat == 'decimal_dot') {
$this->rangeMin = GFCommon::clean_number($this->rangeMin, 'decimal_dot');
$this->rangeMin = GFCommon::clean_number($this->rangeMin, 'decimal_dot');
}
}
示例5: clean_number
public function clean_number($value)
{
if ($this->numberFormat == 'currency') {
return GFCommon::to_number($value);
} else {
return GFCommon::clean_number($value, $this->numberFormat);
}
}
示例6: get_value_save_entry
public function get_value_save_entry($value, $form, $input_name, $lead_id, $lead)
{
$value = GFCommon::maybe_add_leading_zero($value);
$lead = empty($lead) ? RGFormsModel::get_lead($lead_id) : $lead;
$value = $this->has_calculation() ? GFCommon::round_number(GFCommon::calculate($this, $form, $lead), $this->calculationRounding) : GFCommon::clean_number($value, $this->numberFormat);
//return the value as a string when it is zero and a calc so that the "==" comparison done when checking if the field has changed isn't treated as false
if ($this->has_calculation() && $value == 0) {
$value = '0';
}
return $value;
}
示例7: get_product_array
private static function get_product_array($form, $lead, $has_product_fields, $form_array)
{
$currency_type = method_exists('GFCommon', 'is_currency_decimal_dot') ? GFCommon::is_currency_decimal_dot() : PDF_Common::is_currency_decimal_dot();
$currency_format = $currency_type ? 'decimal_dot' : 'decimal_comma';
if ($has_product_fields) {
$products = GFCommon::get_product_fields($form, $lead, true);
/* check that there are actual product fields */
if (sizeof($products['products']) > 0) {
/*
* Set up our variables
*/
$total = 0;
$subtotal = 0;
foreach ($products['products'] as $id => $product) {
$price = GFCommon::to_number($product['price']);
/* add all options to total price */
if (is_array(rgar($product, 'options'))) {
foreach ($product['options'] as $option) {
$price += GFCommon::to_number($option['price']);
}
}
/* calculate subtotal */
$subtotal = floatval($product['quantity']) * $price;
$total += $subtotal;
/*
* Check if we should include options
*/
$options = isset($product['options']) ? $product['options'] : array();
/*
* Add formated price for each product option
*/
foreach ($options as &$o) {
if (is_numeric($o['price'])) {
$o['price_formatted'] = GFCommon::format_number($o['price'], 'currency');
}
}
/*
* Store product in $form_array array
*/
$form_array['products'][$id] = array('name' => esc_html($product['name']), 'price' => esc_html($product['price']), 'price_unformatted' => GFCommon::clean_number($product['price'], $currency_format), 'options' => $options, 'quantity' => $product['quantity'], 'subtotal' => $subtotal, 'subtotal_formatted' => GFCommon::format_number($subtotal, 'currency'));
}
/* Increment total */
$total += floatval($products['shipping']['price']);
$subtotal = $total - floatval($products['shipping']['price']);
/* add totals to form data */
$form_array['products_totals'] = array('subtotal' => $subtotal, 'shipping' => $products['shipping']['price'], 'total' => $total, 'shipping_formatted' => GFCommon::format_number($products['shipping']['price'], 'currency'), 'subtotal_formatted' => GFCommon::format_number($subtotal, 'currency'), 'total_formatted' => GFCommon::format_number($total, 'currency'));
}
}
return $form_array;
}
示例8: prepare_value
private static function prepare_value($form_id, $field, $value, $input_name)
{
$input_type = self::get_input_type($field);
switch ($input_type) {
case "post_category":
$cat = get_category($value);
$value = $cat->name;
break;
case "phone":
if ($field["phoneFormat"] == "standard" && preg_match('/^\\D?(\\d{3})\\D?\\D?(\\d{3})\\D?(\\d{4})$/', $value, $matches)) {
$value = sprintf("(%s)%s-%s", $matches[1], $matches[2], $matches[3]);
}
break;
case "time":
if (!is_array($value) && !empty($value)) {
preg_match('/^(\\d*):(\\d*) ?(.*)$/', $value, $matches);
$value = array();
$value[0] = $matches[1];
$value[1] = $matches[2];
$value[2] = $matches[3];
}
$hour = empty($value[0]) ? "0" : strip_tags($value[0]);
$minute = empty($value[1]) ? "0" : strip_tags($value[1]);
$ampm = strip_tags($value[2]);
if (!(empty($hour) && empty($minute))) {
$value = sprintf("%02d:%02d %s", $hour, $minute, $ampm);
} else {
$value = "";
}
break;
case "date":
$format = empty($field["dateFormat"]) ? "mdy" : $field["dateFormat"];
$date_info = GFCommon::parse_date($value, $format);
if (!empty($date_info)) {
$value = sprintf("%d-%02d-%02d", $date_info["year"], $date_info["month"], $date_info["day"]);
} else {
$value = "";
}
break;
case "post_image":
$url = self::get_fileupload_value($form_id, $input_name);
$image_title = isset($_POST["{$input_name}_1"]) ? strip_tags($_POST["{$input_name}_1"]) : "";
$image_caption = isset($_POST["{$input_name}_4"]) ? strip_tags($_POST["{$input_name}_4"]) : "";
$image_description = isset($_POST["{$input_name}_7"]) ? strip_tags($_POST["{$input_name}_7"]) : "";
$value = !empty($url) ? $url . "|:|" . $image_title . "|:|" . $image_caption . "|:|" . $image_description : "";
break;
case "fileupload":
$value = self::get_fileupload_value($form_id, $input_name);
break;
case "number":
$value = GFCommon::clean_number($value);
break;
default:
$value = stripslashes($value);
//allow HTML for certain field types
if (!in_array($field["type"], array("post_custom_field", "post_title", "post_content", "post_excerpt", "post_tags")) && !in_array($input_type, array("checkbox", "radio"))) {
$value = strip_tags($value);
}
//do not save price fields with blank price
if ($field["enablePrice"]) {
list($label, $price) = explode("|", $value);
$is_empty = strlen(trim($price)) <= 0;
if ($is_empty) {
$value = "";
}
}
break;
}
return $value;
}
示例9: prepare_value
private static function prepare_value($form, $field, $value, $input_name, $lead_id)
{
$form_id = $form["id"];
$input_type = self::get_input_type($field);
switch ($input_type) {
case "total":
$lead = RGFormsModel::get_lead($lead_id);
$value = GFCommon::get_order_total($form, $lead);
break;
case "post_category":
$cat = get_category($value);
$value = !empty($cat) ? $cat->name . ":" . $value : "";
break;
case "phone":
if ($field["phoneFormat"] == "standard" && preg_match('/^\\D?(\\d{3})\\D?\\D?(\\d{3})\\D?(\\d{4})$/', $value, $matches)) {
$value = sprintf("(%s)%s-%s", $matches[1], $matches[2], $matches[3]);
}
break;
case "time":
if (!is_array($value) && !empty($value)) {
preg_match('/^(\\d*):(\\d*) ?(.*)$/', $value, $matches);
$value = array();
$value[0] = $matches[1];
$value[1] = $matches[2];
$value[2] = rgar($matches, 3);
}
$hour = empty($value[0]) ? "0" : strip_tags($value[0]);
$minute = empty($value[1]) ? "0" : strip_tags($value[1]);
$ampm = strip_tags(rgar($value, 2));
if (!empty($ampm)) {
$ampm = " {$ampm}";
}
if (!(empty($hour) && empty($minute))) {
$value = sprintf("%02d:%02d%s", $hour, $minute, $ampm);
} else {
$value = "";
}
break;
case "date":
$format = empty($field["dateFormat"]) ? "mdy" : $field["dateFormat"];
$date_info = GFCommon::parse_date($value, $format);
if (!empty($date_info)) {
$value = sprintf("%d-%02d-%02d", $date_info["year"], $date_info["month"], $date_info["day"]);
} else {
$value = "";
}
break;
case "post_image":
$url = self::get_fileupload_value($form_id, $input_name);
$image_title = isset($_POST["{$input_name}_1"]) ? strip_tags($_POST["{$input_name}_1"]) : "";
$image_caption = isset($_POST["{$input_name}_4"]) ? strip_tags($_POST["{$input_name}_4"]) : "";
$image_description = isset($_POST["{$input_name}_7"]) ? strip_tags($_POST["{$input_name}_7"]) : "";
$value = !empty($url) ? $url . "|:|" . $image_title . "|:|" . $image_caption . "|:|" . $image_description : "";
break;
case "fileupload":
$value = self::get_fileupload_value($form_id, $input_name);
break;
case "number":
$value = GFCommon::clean_number($value, rgar($field, "numberFormat"));
break;
case "website":
if ($value == "http://") {
$value = "";
}
break;
case "list":
if (GFCommon::is_empty_array($value)) {
$value = "";
} else {
$value = self::create_list_array($field, $value);
$value = serialize($value);
}
break;
case "radio":
if (rgar($field, 'enableOtherChoice') && $value == 'gf_other_choice') {
$value = rgpost("input_{$field['id']}_other");
}
break;
case "multiselect":
$value = empty($value) ? "" : implode(",", $value);
break;
case "creditcard":
//saving last 4 digits of credit card
list($input_token, $field_id_token, $input_id) = rgexplode("_", $input_name, 3);
if ($input_id == "1") {
$value = str_replace(" ", "", $value);
$card_number_length = strlen($value);
$value = substr($value, -4, 4);
$value = str_pad($value, $card_number_length, "X", STR_PAD_LEFT);
} else {
if ($input_id == "4") {
$card_number = rgpost("input_{$field_id_token}_1");
$card_type = GFCommon::get_card_type($card_number);
$value = $card_type ? $card_type["name"] : "";
} else {
$value = "";
}
}
break;
default:
//.........这里部分代码省略.........
示例10: prepare_value
private static function prepare_value($form_id, $field, $value, $input_name)
{
switch (self::get_input_type($field)) {
case "post_category":
$cat = get_category($value);
$value = $cat->name;
break;
case "post_title":
case "post_content":
case "post_excerpt":
case "post_tags":
case "post_custom_fields":
case "post_image":
$value = stripslashes($value);
break;
case "phone":
if ($field["phoneFormat"] == "standard" && preg_match('/^\\D?(\\d{3})\\D?\\D?(\\d{3})\\D?(\\d{4})$/', $value, $matches)) {
$value = sprintf("(%s)%s-%s", $matches[1], $matches[2], $matches[3]);
}
break;
case "time":
if (!is_array($value) && !empty($value)) {
preg_match('/^(\\d*):(\\d*) ?(.*)$/', $value, $matches);
$value = array();
$value[0] = $matches[1];
$value[1] = $matches[2];
$value[2] = $matches[3];
}
$hour = empty($value[0]) ? "0" : strip_tags($value[0]);
$minute = empty($value[1]) ? "0" : strip_tags($value[1]);
$ampm = strip_tags($value[2]);
if (!(empty($hour) && empty($minute))) {
$value = sprintf("%02d:%02d %s", $hour, $minute, $ampm);
} else {
$value = "";
}
break;
case "date":
$format = empty($field["dateFormat"]) ? "mdy" : $field["dateFormat"];
$date_info = GFCommon::parse_date($value, $format);
if (!empty($date_info)) {
$value = sprintf("%d-%02d-%02d", $date_info["year"], $date_info["month"], $date_info["day"]);
} else {
$value = "";
}
break;
case "fileupload":
$value = self::upload_file($form_id, $_FILES[$input_name]);
break;
case "number":
$value = GFCommon::clean_number($value);
break;
default:
$value = strip_tags(stripslashes($value));
break;
}
return $value;
}