Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions vexim/adminaliasadd.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@
<td><?php echo _('Alias Name'); ?>:</td>
<td><input name="realname" type="text" class="textfield"></td>
</tr>
<tr>
<td><?php echo _('User Name'); ?>:</td>
<td>
<input name="username" type="text" class="textfield"></td>
</tr>
<tr>
<td><?php echo _('Address'); ?>:</td>
<td>
Expand Down
4 changes: 2 additions & 2 deletions vexim/adminaliasaddsubmit.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@

# check_user_exists() will die if a user account already exists with the same localpart and domain id
check_user_exists(
$dbh,$_POST['localpart'],$_SESSION['domain_id'],'adminalias.php'
$dbh,$_POST['username'],$_POST['localpart'],$_SESSION['domain_id'],'adminalias.php'
);

if ((preg_match("/['@%!\/\|\" ']/",$_POST['localpart']))
Expand Down Expand Up @@ -73,7 +73,7 @@
$sth = $dbh->prepare($query);
$success = $sth->execute(array(
':localpart' => $_POST['localpart'],
':username' => $_POST['localpart'] . '@' . $_SESSION['domain'],
':username' => $_POST['username'],
':domain_id' => $_SESSION['domain_id'],
':crypt' => crypt_password($_POST['clear']),
':smtp' => $aliasto,
Expand Down
9 changes: 8 additions & 1 deletion vexim/adminaliaschange.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
include_once dirname(__FILE__) . '/config/authpostmaster.php';
include_once dirname(__FILE__) . '/config/functions.php';
include_once dirname(__FILE__) . '/config/httpheaders.php';
$query = "SELECT localpart,realname,smtp,on_avscan,on_spamassassin,sa_tag,sa_refuse,spam_drop,
$query = "SELECT localpart,username,realname,smtp,on_avscan,on_spamassassin,sa_tag,sa_refuse,spam_drop,
admin,enabled FROM users
WHERE user_id=:user_id AND domain_id=:domain_id AND type='alias'";
$sth = $dbh->prepare($query);
Expand Down Expand Up @@ -52,6 +52,13 @@
value="<?php print $row['realname']; ?>"class="textfield">
</td>
</tr>
<tr>
<td><?php echo _('User Name'); ?>:</td>
<td>
<input name="username" type="text"
value="<?php print $row['username']; ?>"class="textfield">
</td>
</tr>
<tr>
<td><?php echo _('Address'); ?>:</td>
<td>
Expand Down
2 changes: 1 addition & 1 deletion vexim/adminfailaddsubmit.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
include_once dirname(__FILE__) . '/config/httpheaders.php';

check_user_exists(
$dbh,$_POST['localpart'],$_SESSION['domain_id'],'adminfail.php'
$dbh,$_POST['localpart'].'@'.$_SESSION['domain'],$_POST['localpart'],$_SESSION['domain_id'],'adminfail.php'
);

if (preg_match("/['@%!\/\| ']/",$_POST['localpart'])) {
Expand Down
2 changes: 1 addition & 1 deletion vexim/admingroupaddsubmit.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
}

check_user_exists(
$dbh,$_POST['localpart'],$_SESSION['domain_id'],'admingroup.php'
$dbh,$_POST['localpart'].'@'.$_SESSION['domain'],$_POST['localpart'],$_SESSION['domain_id'],'admingroup.php'
);

$query = "INSERT INTO groups (name, domain_id)
Expand Down
5 changes: 4 additions & 1 deletion vexim/adminuser.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
if (!isset($_POST['searchfor'])) {
$_POST['searchfor'] = '';
}
if (!isset($_POST['field']) || ($_POST['field'] != 'localpart')) {
if (!isset($_POST['field']) || (($_POST['field'] != 'localpart') && ($_POST['field'] != 'username'))) {
$_POST['field'] = 'realname';
}
?>
Expand Down Expand Up @@ -57,6 +57,9 @@
<option value="realname" <?php if ($_POST['field'] == 'realname') {
echo 'selected="selected"';
} ?>><?php echo _('User'); ?></option>
<option value="username" <?php if ($_POST['field'] == 'username') {
echo "selected=\"selected\"";
} ?>><?php echo _('User Name'); ?></option>
<option value="localpart" <?php if ($_POST['field'] == 'localpart') {
echo "selected=\"selected\"";
} ?>><?php echo _('Email address'); ?></option>
Expand Down
6 changes: 6 additions & 0 deletions vexim/adminuseradd.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,12 @@
<input type="textfield" size="25" name="realname" class="textfield">
</td>
</tr>
<tr>
<td><?php echo _('User Name'); ?>:</td>
<td colspan="2">
<input type="textfield" size="25" name="username" class="textfield">
</td>
</tr>
<tr>
<td><?php echo _('Address'); ?>:</td>
<td colspan="2">
Expand Down
6 changes: 4 additions & 2 deletions vexim/adminuseraddsubmit.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
# Strip off leading and trailing spaces
$_POST['localpart'] = preg_replace("/^\s+/","",$_POST['localpart']);
$_POST['localpart'] = preg_replace("/\s+$/","",$_POST['localpart']);
$_POST['username'] = preg_replace("/^\s+/","",$_POST['username']);
$_POST['username'] = preg_replace("/\s+$/","",$_POST['username']);

# get the settings for the domain
$query = "SELECT avscan,spamassassin,pipe,uid,gid,quotas,maxmsgsize FROM domains
Expand Down Expand Up @@ -90,7 +92,7 @@
}

check_user_exists(
$dbh,$_POST['localpart'],$_SESSION['domain_id'],'adminuser.php'
$dbh,$_POST["username"],$_POST['localpart'],$_SESSION['domain_id'],'adminuser.php'
);

if (preg_match("/^\s*$/",$_POST['realname'])) {
Expand Down Expand Up @@ -128,7 +130,7 @@
$sth = $dbh->prepare($query);
$success = $sth->execute(array(':localpart'=>$_POST['localpart'],
':localpart'=>$_POST['localpart'],
':username'=>$_POST['localpart'].'@'.$_SESSION['domain'],
':username'=>$_POST['username'],
':domain_id'=>$_SESSION['domain_id'],
':crypt'=>crypt_password($_POST['clear']),
':smtp'=>$smtphomepath,
Expand Down
4 changes: 4 additions & 0 deletions vexim/adminuserchange.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@
</tr>
<tr>
<td><?php echo _('Email Address'); ?>:</td>
<td><?php print $row['localpart'] . '@' . $_SESSION['domain']; ?></td>
</tr>
<tr>
<td><?php echo _('User Name'); ?>:</td>
<td><?php print $row['username']; ?></td>
</tr>
<input name="user_id" type="hidden"
Expand Down
11 changes: 7 additions & 4 deletions vexim/config/functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,17 @@ function validate_password($password, $confirmationPassword)
* @param string $domain_id
* @param string $page page to return to
*/
function check_user_exists($dbh,$localpart,$domain_id,$page)
function check_user_exists($dbh,$username,$localpart,$domain_id,$page)
{
$query = "SELECT COUNT(*) AS c
FROM users
WHERE localpart=:localpart
AND domain_id=:domain_id";
WHERE username=:username
OR (
localpart=:localpart
AND domain_id=:domain_id
)";
$sth = $dbh->prepare($query);
$sth->execute(array(':localpart'=>$localpart, ':domain_id'=>$domain_id));
$sth->execute(array(':username'=>$username, ':localpart'=>$localpart, ':domain_id'=>$domain_id));
$row = $sth->fetch();
if ($row['c'] != 0)
{
Expand Down
13 changes: 11 additions & 2 deletions vexim/siteadd.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
if ($_GET['type'] == "local") {
?>
<tr>
<td><?php echo _('Domain Admin'); ?>:</td>
<td><?php echo _('User Name'); ?>:</td>
<td>
<input name="localpart" type="text" value="postmaster"
<input name="username" type="text" value=""
class="textfield">
</td>
<td>
Expand All @@ -42,6 +42,15 @@ class="textfield">
?>
</td>
</tr>
<tr>
<td><?php echo _('Domain Admin'); ?>:</td>
<td>
<input name="localpart" type="text" value="postmaster"
class="textfield">
</td>
<td>
</td>
</tr>
<tr>
<td><?php echo _('Password'); ?>:</td>
<td colspan="2">
Expand Down
2 changes: 1 addition & 1 deletion vexim/siteaddsubmit.php
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@
WHERE domains.domain=:domain";
$sth = $dbh->prepare($query);
$success = $sth->execute(array(':localpart'=>$_POST['localpart'],
':username'=>$_POST['localpart'].'@'.$_POST['domain'],
':username'=>$_POST['username'],
':crypt'=>crypt_password($_POST['clear']),
':uid'=>$uid, ':gid'=>$gid, ':smtp'=>$smtphomepath,
':pop'=>$pophomepath,
Expand Down
1 change: 1 addition & 0 deletions vexim/userchange.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
<form name="userchange" method="post" action="userchangesubmit.php">
<table align="center">
<tr><td><?php echo _("Name"); ?>:</td><td><input name="realname" type="text" value="<?php print $row['realname']; ?>" class="textfield"></td></tr>
<tr><td><?php echo _("User Name"); ?>:</td><td><?php print $row['username']; ?></tr>
<tr><td><?php echo _("Email Address"); ?>:</td><td><?php print $row['localpart']."@".$_SESSION['domain']; ?></td>
<tr><td><?php echo _("Password"); ?>:</td><td><input name="clear" type="password" class="textfield"></td></tr>
<tr><td><?php echo _("Verify Password"); ?>:</td><td><input name="vclear" type="password" class="textfield"></td></tr>
Expand Down