#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)
PHP_FE(imap_get_quota, NULL)
PHP_FE(imap_set_quota, NULL)
+ PHP_FE(imap_setacl, NULL)
#endif
#ifndef PHP_WIN32
RETURN_LONG(imap_setquota(imap_le_struct->imap_stream, Z_STRVAL_PP(qroot), &limits));
}
/* }}} */
+
+
+/* {{{ proto int imap_setacl(int stream_id, string mailbox, string id, string rights)
+ Sets the ACL for a giving mailbox */
+PHP_FUNCTION(imap_setacl)
+{
+ zval **streamind, **mailbox, **id, **rights;
+ int ind, ind_type;
+ pils *imap_le_struct;
+
+ if (ZEND_NUM_ARGS() != 4 || zend_get_parameters_ex(4, &streamind, &mailbox, &id, &rights) == FAILURE) {
+ ZEND_WRONG_PARAM_COUNT();
+ }
+
+ convert_to_long_ex(streamind);
+ convert_to_string_ex(mailbox);
+ convert_to_string_ex(id);
+ convert_to_string_ex(rights);
+
+ ind = Z_LVAL_PP(streamind);
+ imap_le_struct = (pils *) zend_list_find(ind, &ind_type);
+ if (!imap_le_struct || !IS_STREAM(ind_type)) {
+ php_error(E_WARNING, "Unable to find stream pointer");
+ RETURN_FALSE;
+ }
+
+ RETURN_LONG(imap_setacl(imap_le_struct->imap_stream, Z_STRVAL_PP(mailbox), Z_STRVAL_PP(id), Z_STRVAL_PP(rights)));
+}
+/* }}} */
+
#endif