1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
/* interface functions for controlling qmail vusers
* requires the vmailmgr package
* http://www.qcc.sk.ca/~bguenter/distrib/vmailmgr/
* and of course, qmail, www.qmail.org
*
* PHP 3 can be found at www.php.net
*
* code by Shane Caraveo shane@caraveo.com
* copy freely!
*
* USE AT YOUR OWN RISK!
*/
#include "dl/phpdl.h"
#include "phpvmail.h"
#define PWORD_MISSMATCH "The passwords you entered do not match"
void vm_adduser(INTERNAL_FUNCTION_PARAMETERS)
{
pval *vdomain,*username,*password,*newpass;
int msg;
if (getParameters(ht, 4, &vdomain,&password,&username,&newpass) == SUCCESS) {
convert_to_string(vdomain);
convert_to_string(password);
convert_to_string(username);
convert_to_string(newpass);
_php3_strtolower(username->value.str.val);
msg=_vm_adduser(vdomain->value.str.val, username->value.str.val, password->value.str.val, newpass->value.str.val);
RETURN_LONG(msg)
} else {
WRONG_PARAM_COUNT;
}
return;
}
void vm_deluser(INTERNAL_FUNCTION_PARAMETERS)
{
pval *vdomain,*username,*password;
int msg;
if (getParameters(ht, 3, &vdomain,&password,&username) == SUCCESS) {
convert_to_string(vdomain);
convert_to_string(password);
convert_to_string(username);
_php3_strtolower(username->value.str.val);
msg=_vm_deluser(vdomain->value.str.val, username->value.str.val, password->value.str.val);
RETURN_LONG(msg)
} else {
WRONG_PARAM_COUNT;
}
return;
}
void vm_passwd(INTERNAL_FUNCTION_PARAMETERS)
{
pval *vdomain,*username,*password,*newpass;
int msg;
if (getParameters(ht, 4, &vdomain,&username,&password,&newpass) == SUCCESS) {
convert_to_string(vdomain);
convert_to_string(password);
convert_to_string(username);
convert_to_string(newpass);
_php3_strtolower(username->value.str.val);
msg=_vm_passwd(vdomain->value.str.val, username->value.str.val, password->value.str.val, newpass->value.str.val);
RETURN_LONG(msg)
} else {
WRONG_PARAM_COUNT;
}
return;
}
void vm_addalias(INTERNAL_FUNCTION_PARAMETERS)
{
pval *vdomain,*username,*password,*destination;
int msg;
if (getParameters(ht, 4, &vdomain,&password,&username,&destination) == SUCCESS) {
convert_to_string(vdomain);
convert_to_string(password);
convert_to_string(username);
convert_to_string(destination);
_php3_strtolower(username->value.str.val);
msg=_vm_addalias(vdomain->value.str.val, username->value.str.val, password->value.str.val, destination->value.str.val);
RETURN_LONG(msg)
} else {
WRONG_PARAM_COUNT;
}
}
void vm_delalias(INTERNAL_FUNCTION_PARAMETERS)
{
pval *vdomain,*username,*password;
int msg;
if (getParameters(ht, 3, &vdomain,&password,&username) == SUCCESS) {
convert_to_string(vdomain);
convert_to_string(password);
convert_to_string(username);
_php3_strtolower(username->value.str.val);
msg=_vm_delalias(vdomain->value.str.val, username->value.str.val, password->value.str.val);
RETURN_LONG(msg)
} else {
WRONG_PARAM_COUNT;
}
return;
}
function_entry vmailmgr_functions[] =
{
{"vm_adduser", vm_adduser},
{"vm_deluser", vm_deluser},
{"vm_passwd", vm_passwd},
{"vm_addalias", vm_addalias},
{"vm_delalias", vm_delalias},
{NULL, NULL}
};
php3_module_entry vmailmgr_module_entry = {
"QmailVMailMgr", vmailmgr_functions, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL
};
php3_module_entry *get_module(void) { return &vmailmgr_module_entry; }
|