]> granicus.if.org Git - php/commitdiff
Add imap_setacl() function (Brian Masney <masneyb@seul.org>).
authorChuck Hagenbuch <chagenbu@php.net>
Fri, 10 Aug 2001 18:32:56 +0000 (18:32 +0000)
committerChuck Hagenbuch <chagenbu@php.net>
Fri, 10 Aug 2001 18:32:56 +0000 (18:32 +0000)
ext/imap/php_imap.c
ext/imap/php_imap.h

index f94438ff7f06ede5e810cecd474ab2f4eded7484..2d23ff90d63e645925726e98cfb9d3948c0141b2 100644 (file)
@@ -132,6 +132,7 @@ function_entry imap_functions[] = {
 #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
@@ -1058,6 +1059,36 @@ PHP_FUNCTION(imap_set_quota)
        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
 
 
index 16485537e2c6bcfa089edfa8a6b731b8beb08923..cd33a518fbd498bd49ffe64bffbaf9001d7d3110 100644 (file)
@@ -178,6 +178,7 @@ PHP_FUNCTION(imap_thread);
 #if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001)
 PHP_FUNCTION(imap_get_quota);
 PHP_FUNCTION(imap_set_quota);
+PHP_FUNCTION(imap_setacl);
 #endif