function smarty_function_display_file_field($params, &$smarty) { global $LANG; if (empty($params["field_id"])) { $smarty->trigger_error("assign: missing 'field_id' parameter."); return; } if (empty($params["filename"])) { $smarty->trigger_error("assign: missing 'filename' parameter."); return; } $field_id = isset($params["field_id"]) ? $params["field_id"] : ""; $filename = isset($params["filename"]) ? $params["filename"] : ""; $field_settings = ft_get_extended_field_settings($field_id); $file_upload_url = $field_settings["file_upload_url"]; // $display_files_with_lightbox = $field_settings["display_files_with_lightbox"]; $filename_label = ft_trim_string($filename, 80); // trim the filename to prevent it being too long $html = "<a href=\"{$file_upload_url}/{$filename}\""; if (isset($params["show_in_new_window"])) { if ($params["show_in_new_window"] === true) { $html .= " target=\"_blank\""; } } else { $html .= " target=\"_blank\""; } $html .= ">{$filename_label}</a>"; return $html; }
echo "{ \"success\": \"0\", \"message\": \"{$LANG["notify_smart_fill_upload_fields_fail"]}\" }"; exit; } break; case "get_upgrade_form_html": $components = ft_get_formtools_installed_components(); echo "<form action=\"http://www.formtools.org/upgrade.php\" id=\"upgrade_form\" method=\"post\" target=\"_blank\">"; while (list($key, $value) = each($components)) { echo "<input type=\"hidden\" name=\"{$key}\" value=\"{$value}\" />\n"; } echo "</form>"; break; case "get_extended_field_settings": $field_id = $request["field_id"]; $field_type_id = $request["field_type_id"]; $settings = ft_get_extended_field_settings($field_id, "", true); $validation = ft_get_field_validation($field_id); $info = array("field_id" => $field_id, "field_type_id" => $field_type_id, "settings" => $settings, "validation" => $validation); echo ft_convert_to_json($info); break; case "get_option_lists": $option_lists = ft_get_option_lists("all"); $option_list_info = array(); foreach ($option_lists["results"] as $option_list) { $option_list_info[$option_list["list_id"]] = $option_list["option_list_name"]; } echo ft_convert_to_json($option_list_info); break; // used on the Edit Form -> Fields tab // used on the Edit Form -> Fields tab case "get_form_list":
/** * Deletes all unfinalized submissions and any associated files that have been uploaded. * * @param boolean $delete_all this deletes ALL unfinalized submissions. False by default. Normally it just * deletes all unfinalized submissions made 2 hours and older. This wards against accidentally deleting * those submissions currently being put through. * * @return integer the number of unfinalized submissions that were just deleted */ function ft_api_delete_unfinalized_submissions($form_id, $delete_all = false) { global $g_table_prefix, $g_api_debug; if (!ft_check_form_exists($form_id)) { if ($g_api_debug) { $page_vars = array("message_type" => "error", "error_code" => 650, "error_type" => "user"); ft_display_page("error.tpl", $page_vars); exit; } else { return array(false, 650); } } $time_clause = !$delete_all ? "AND DATE_ADD(submission_date, INTERVAL 2 HOUR) < curdate()" : ""; $query = mysql_query("\n SELECT *\n FROM {$g_table_prefix}form_{$form_id}\n WHERE is_finalized = 'no'\n {$time_clause}\n "); if (mysql_num_rows($query) == 0) { return 0; } // find out which of this form are file fields $form_fields = ft_get_form_fields($form_id); $file_field_info = array(); // a hash of col_name => file upload dir foreach ($form_fields as $field_info) { if ($field_info["field_type"] == "file") { $field_id = $field_info["field_id"]; $col_name = $field_info["col_name"]; $extended_settings = ft_get_extended_field_settings($field_id); $file_field_info[$col_name] = $extended_settings["file_upload_dir"]; } } // now delete the info while ($submission_info = mysql_fetch_assoc($query)) { $submission_id = $submission_info["submission_id"]; // delete any files associated with the submission while (list($col_name, $file_upload_dir) = each($file_field_info)) { if (!empty($submission_info[$col_name])) { @unlink("{$file_upload_dir}/{$submission_info[$col_name]}"); } } reset($file_field_info); mysql_query("DELETE FROM {$g_table_prefix}form_{$form_id} WHERE submission_id = {$submission_id}"); } return mysql_num_rows($query); }