diff options
author | thomascube <thomas@roundcube.net> | 2008-07-15 16:48:20 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2008-07-15 16:48:20 +0000 |
commit | 5b3dd412d2e28f80fb2d12dbdcab992cc6f219a5 (patch) | |
tree | 14d76abe90c8906039cc1fbe6d48408d97f1014b /program/include | |
parent | e3e597e3b6c9ae10e5c7c1e5592726c71793cfe7 (diff) |
Check PERMANENTFLAGS before saving MDNSent flag (#1484963, #1485163)
Diffstat (limited to 'program/include')
-rw-r--r-- | program/include/html.php | 7 | ||||
-rw-r--r-- | program/include/rcube_imap.php | 15 |
2 files changed, 19 insertions, 3 deletions
diff --git a/program/include/html.php b/program/include/html.php index 6a8892510..a11a1a4b2 100644 --- a/program/include/html.php +++ b/program/include/html.php @@ -248,7 +248,7 @@ class html_inputfield extends html { protected $tagname = 'input'; protected $type = 'text'; - protected $allowed = array('type','name','value','size','tabindex','autocomplete','checked'); + protected $allowed = array('type','name','value','size','tabindex','autocomplete','checked','onchange'); public function __construct($attrib = array()) { @@ -416,7 +416,7 @@ class html_checkbox extends html_inputfield class html_textarea extends html { protected $tagname = 'textarea'; - protected $allowed = array('name','rows','cols','wrap','tabindex'); + protected $allowed = array('name','rows','cols','wrap','tabindex','onchange'); /** * Get HTML code for this object @@ -473,6 +473,7 @@ class html_select extends html { protected $tagname = 'select'; protected $options = array(); + protected $allowed = array('name','size','tabindex','autocomplete','multiple','onchange'); /** * Add a new option to this drop-down @@ -513,7 +514,7 @@ class html_select extends html $attr = array( 'value' => $option['value'], 'selected' => (in_array($option['value'], $select, true) || - in_array($option['text'], $select, true)) ? 1 : null); + in_array($option['text'], $select, true)) ? 1 : null); $this->content .= self::tag('option', $attr, Q($option['text'])); } diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php index 395a1b3af..3daea0c06 100644 --- a/program/include/rcube_imap.php +++ b/program/include/rcube_imap.php @@ -346,6 +346,21 @@ class rcube_imap /** + * Checks the PERMANENTFLAGS capability of the current mailbox + * and returns true if the given flag is supported by the IMAP server + * + * @param string Permanentflag name + * @return mixed True if this flag is supported + * @access public + */ + function check_permflag($flag) + { + $flagsmap = $GLOBALS['IMAP_FLAGS']; + return (($imap_flag = $flagsmap[strtoupper($flag)]) && in_array_nocase($imap_flag, $this->conn->permanentflags)); + } + + + /** * Returns the delimiter that is used by the IMAP server for folder separation * * @return string Delimiter string |