From 8ca0c7ce6a1c7f8eb60cddc5955db51afd2cd107 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 11 Jun 2009 11:15:28 -0400
Subject: [PATCH] - fix folder ID generation (for example two folders 'aaa' and 'aaa "')
---
program/include/main.inc | 8 ++++----
program/js/app.js | 3 +--
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/program/include/main.inc b/program/include/main.inc
index dbed2ba..c870b49 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -590,12 +590,12 @@
/**
* Remove all non-ascii and non-word chars
- * except . and -
+ * except ., -, _
*/
-function asciiwords($str, $css_id = false)
+function asciiwords($str, $css_id = false, $replace_with = '')
{
$allowed = 'a-z0-9\_\-' . (!$css_id ? '\.' : '');
- return preg_replace("/[^$allowed]/i", '', $str);
+ return preg_replace("/[^$allowed]/i", $replace_with, $str);
}
/**
@@ -1201,7 +1201,7 @@
}
// make folder name safe for ids and class names
- $folder_id = asciiwords($folder['id'], true);
+ $folder_id = asciiwords($folder['id'], true, '_');
$classes = array('mailbox');
// set special class for Sent, Drafts, Trash and Junk
diff --git a/program/js/app.js b/program/js/app.js
index 0933ca6..2831e3d 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -3496,7 +3496,6 @@
if ((current_li = this.get_folder_li(old))) {
$(current_li).removeClass('selected').removeClass('unfocused');
}
-
if ((target_li = this.get_folder_li(name))) {
$(target_li).removeClass('unfocused').addClass('selected');
}
@@ -3511,7 +3510,7 @@
{
if (this.gui_objects.folderlist)
{
- name = String(name).replace(this.identifier_expr, '');
+ name = String(name).replace(this.identifier_expr, '_');
return document.getElementById('rcmli'+name);
}
--
Gitblit v1.9.1