#endif /*HAVE_CONFIG_H */
/* defines */
-#define FORWARD_STRING _("-----Forwarded Message-----")
-#define FROM_STRING _("From:")
-#define SENT_STRING _("Sent:")
-#define TO_STRING _("To:")
-#define SUBJECT_STRING _("Subject:")
+#define FORWARD_STRING _("mcen_ia_editor_original_message")
+#define FROM_STRING _("mail_va_from")
+#define SENT_STRING _("mcen_fi_message_properties_sent")
+#define TO_STRING _("mail_va_to")
+#define SUBJECT_STRING _("mail_va_subject")
#define EMPTY_STRING ""
/*
NULL, "mailto:"}\
}
+const gchar account_title_forbidden_chars[] = {
+ '\\', '/', ':', '*', '?', '\'', '<', '>', '|', '^'
+};
+const gchar folder_name_forbidden_chars[] = {
+ '<', '>', ':', '\'', '/', '\\', '|', '?', '*', '^', '%', '$'
+};
+const gchar user_name_forbidden_chars[] = {
+ '<', '>'
+};
+const guint ACCOUNT_TITLE_FORBIDDEN_CHARS_LENGTH = G_N_ELEMENTS (account_title_forbidden_chars);
+const guint FOLDER_NAME_FORBIDDEN_CHARS_LENGTH = G_N_ELEMENTS (folder_name_forbidden_chars);
+const guint USER_NAME_FORBIDDEN_CHARS_LENGTH = G_N_ELEMENTS (user_name_forbidden_chars);
+
/* private */
static gchar* cite (const time_t sent_date, const gchar *from);
static void hyperlinkify_plain_text (GString *txt);
{
gchar *retval;
gchar *tmp_sig;
-
+
g_return_val_if_fail (text, NULL);
g_return_val_if_fail (content_type, NULL);
-
+
if (!signature)
retval = g_strdup ("");
- else if (!strcmp(content_type, "text/html")) {
+ else if (strcmp(content_type, "text/html") == 0) {
tmp_sig = g_strconcat ("\n", signature, NULL);
retval = modest_text_utils_convert_to_html_body(tmp_sig);
g_free (tmp_sig);
} else {
- retval = g_strconcat ("\n", signature, NULL);
+ retval = g_strconcat (text, "\n", signature, NULL);
}
return retval;
static gchar *
forward_cite (const gchar *from,
- const gchar *sent,
- const gchar *to,
- const gchar *subject)
+ const gchar *sent,
+ const gchar *to,
+ const gchar *subject)
{
return g_strdup_printf ("%s\n%s %s\n%s %s\n%s %s\n%s %s\n",
FORWARD_STRING,
case '>' : g_string_append (html, ">"); break;
case '&' : g_string_append (html, "&"); break;
case '"' : g_string_append (html, """); break;
- case '\'' : g_string_append (html, "'"); break;
+
+ /* don't convert ' --> wpeditor will try to re-convert it... */
+ //case '\'' : g_string_append (html, "'"); break;
case '\n' : g_string_append (html, "<br>\n"); break_dist= 0; break;
case '\t' : g_string_append (html, " "); break_dist=0; break; /* note the space at the end*/
case ' ':
g_free (attachments_string);
g_free (q_attachments_string);
g_free (signature_result);
+
return result;
}
match->offset = offset + rm.rm_so;
match->len = rm.rm_eo - rm.rm_so;
match->prefix = patterns[i].prefix;
- g_warning ("<%d, %d, %s>", match->offset, match->len, match->prefix);
match_list = g_slist_prepend (match_list, match);
}
* with some extras */
guint len;
- const gchar **cursor;
- const gchar *forbidden_chars[] = {
- "<", ">", ":", "\"", "/", "\\", "|", "?", "*", "^", "%", "$", NULL
- };
+ gint i;
+ const gchar **cursor = NULL;
const gchar *forbidden_names[] = { /* windows does not like these */
"CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6",
"COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9",
if (g_ascii_isspace(folder_name[0]) || g_ascii_isspace(folder_name[len - 1]))
return FALSE;
- /* cannot contain a forbidden char */
- for (cursor = forbidden_chars; cursor && *cursor; ++cursor)
- if (strstr(folder_name, *cursor) != NULL)
+ /* cannot contain a forbidden char */
+ for (i = 0; i < len; i++)
+ if (modest_text_utils_is_forbidden_char (folder_name[i], FOLDER_NAME_FORBIDDEN_CHARS))
return FALSE;
/* cannot contain a forbidden word */
return g_string_free (result, FALSE);
}
+
+gboolean
+modest_text_utils_is_forbidden_char (const gchar character,
+ ModestTextUtilsForbiddenCharType type)
+{
+ gint i, len;
+ const gchar *forbidden_chars = NULL;
+
+ /* We need to get the length in the switch because the
+ compiler needs to know the size at compile time */
+ switch (type) {
+ case ACCOUNT_TITLE_FORBIDDEN_CHARS:
+ forbidden_chars = account_title_forbidden_chars;
+ len = G_N_ELEMENTS (account_title_forbidden_chars);
+ break;
+ case FOLDER_NAME_FORBIDDEN_CHARS:
+ forbidden_chars = folder_name_forbidden_chars;
+ len = G_N_ELEMENTS (folder_name_forbidden_chars);
+ break;
+ case USER_NAME_FORBIDDEN_NAMES:
+ forbidden_chars = user_name_forbidden_chars;
+ len = G_N_ELEMENTS (user_name_forbidden_chars);
+ break;
+ default:
+ g_return_val_if_reached (TRUE);
+ }
+
+ for (i = 0; i < len ; i++)
+ if (forbidden_chars[i] == character)
+ return TRUE;
+
+ return FALSE; /* it's valid! */
+}