Example #1
0
function core_field_types__update($old_version_info, $new_version_info)
{
    global $g_table_prefix;
    $old_version_date = date("Ymd", ft_convert_datetime_to_timestamp($old_version_info["module_date"]));
    // fix for MAJOR issue where the raw field types weren't mapped to Option List settings. This was an issue from Oct - Nov 2011, for all
    // 2.1.5 - 2.1.8 versions installed during that time.
    if ($old_version_date < 20111122) {
        // dropdowns
        $select_field_type_id = ft_get_field_type_id_by_identifier("dropdown");
        $field_info = ft_get_field_type($select_field_type_id, true);
        $option_list_setting_id = "";
        foreach ($field_info["settings"] as $setting_info) {
            if ($setting_info["field_type"] == "option_list_or_form_field") {
                $option_list_setting_id = $setting_info["setting_id"];
                break;
            }
        }
        if (!empty($option_list_setting_id)) {
            mysql_query("\n\t\t\t  UPDATE {$g_table_prefix}field_types\n\t\t\t  SET    raw_field_type_map_multi_select_id = {$option_list_setting_id}\n\t\t\t  WHERE  field_type_id = {$select_field_type_id} AND\n\t\t\t         raw_field_type_map_multi_select_id IS NULL\n\t\t\t  LIMIT 1\n\t\t\t") or die(mysql_error());
        }
        $multi_select_field_type_id = ft_get_field_type_id_by_identifier("multi_select_dropdown");
        $field_info = ft_get_field_type($multi_select_field_type_id, true);
        $option_list_setting_id = "";
        foreach ($field_info["settings"] as $setting_info) {
            if ($setting_info["field_type"] == "option_list_or_form_field") {
                $option_list_setting_id = $setting_info["setting_id"];
                break;
            }
        }
        if (!empty($option_list_setting_id)) {
            mysql_query("\n\t\t\t  UPDATE {$g_table_prefix}field_types\n\t\t\t  SET    raw_field_type_map_multi_select_id = {$option_list_setting_id}\n\t\t\t  WHERE  field_type_id = {$multi_select_field_type_id} AND\n\t\t\t         raw_field_type_map_multi_select_id IS NULL\n\t\t\t  LIMIT 1\n\t\t\t") or die(mysql_error());
        }
        $radios_field_type_id = ft_get_field_type_id_by_identifier("radio_buttons");
        $field_info = ft_get_field_type($radios_field_type_id, true);
        $option_list_setting_id = "";
        foreach ($field_info["settings"] as $setting_info) {
            if ($setting_info["field_type"] == "option_list_or_form_field") {
                $option_list_setting_id = $setting_info["setting_id"];
                break;
            }
        }
        if (!empty($option_list_setting_id)) {
            mysql_query("\n\t\t\t  UPDATE {$g_table_prefix}field_types\n\t\t\t  SET    raw_field_type_map_multi_select_id = {$option_list_setting_id}\n\t\t\t  WHERE  field_type_id = {$radios_field_type_id} AND\n\t\t\t         raw_field_type_map_multi_select_id IS NULL\n\t\t\t  LIMIT 1\n\t\t\t") or die(mysql_error());
        }
        $checkboxes_field_type_id = ft_get_field_type_id_by_identifier("checkboxes");
        $field_info = ft_get_field_type($checkboxes_field_type_id, true);
        $option_list_setting_id = "";
        foreach ($field_info["settings"] as $setting_info) {
            if ($setting_info["field_type"] == "option_list_or_form_field") {
                $option_list_setting_id = $setting_info["setting_id"];
                break;
            }
        }
        if (!empty($option_list_setting_id)) {
            mysql_query("\n\t\t\t  UPDATE {$g_table_prefix}field_types\n\t\t\t  SET    raw_field_type_map_multi_select_id = {$option_list_setting_id}\n\t\t\t  WHERE  field_type_id = {$checkboxes_field_type_id} AND\n\t\t\t         raw_field_type_map_multi_select_id IS NULL\n\t\t\t  LIMIT 1\n\t\t\t") or die(mysql_error());
        }
    }
    return array(true, "");
}
function smarty_function_display_field_type_name($params, &$smarty)
{
    $field_type_id = isset($params["field_type_id"]) ? $params["field_type_id"] : "";
    if (empty($field_type_id)) {
        return;
    }
    $field_type_info = ft_get_field_type($field_type_id);
    echo ft_eval_smarty_string($field_type_info["field_type_name"]);
}