From 5b3dd412d2e28f80fb2d12dbdcab992cc6f219a5 Mon Sep 17 00:00:00 2001 From: thomascube Date: Tue, 15 Jul 2008 16:48:20 +0000 Subject: Check PERMANENTFLAGS before saving MDNSent flag (#1484963, #1485163) --- program/include/html.php | 7 ++++--- program/include/rcube_imap.php | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) (limited to 'program/include') 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 @@ -345,6 +345,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 * -- cgit v1.2.3