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;
}
Ejemplo n.º 2
0
         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":
Ejemplo n.º 3
0
/**
 * 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);
}