Example #1
0
function user_edit_backend($props, $authenticate)
{
    if (1 == 1) {
        // system checks
        $username = strtolower(trim($props['post']['_user']));
        $domain = explode('@', $username);
        $domain = strtolower($domain[1]);
        $p = user_get_backend(array('arg' => $username), $authenticate);
        if (!$p['abort']) {
            // the user exists
            try {
                // edit properties
                $props = user_get_backend(array('arg' => $username), $authenticate);
                // fetch properties
            } catch (Exception $e) {
                $props = array('abort' => true);
                // an error occured when editing the user
            }
        } else {
            $props = user_create_backend($props, $authenticate);
            // the user does not exist ... create the user
        }
    } else {
        $props = array('abort' => true);
        // system checks failed
    }
    return $props;
}
Example #2
0
function user_edit_backend($props, $authenticate)
{
    if (class_exists('COM')) {
        $username = strtolower(trim($props['post']['_user']));
        if (!$username) {
            $username = strtolower(trim($props['post']['_email'][0]));
        }
        if ($username) {
            $domain = explode('@', $username);
            $domain = strtolower($domain[1]);
            $p = user_get_backend(array('arg' => $username), $authenticate);
            if (!$p['abort']) {
                try {
                    $obApp = new COM('hMailServer.Application');
                    $obApp->Authenticate($authenticate['admin'], $authenticate['password']);
                    $obDomain = $obApp->Domains->ItemByName($domain);
                    $obAccount = $obDomain->Accounts->ItemByAddress($username);
                    $password = trim($props['post']['_pass']);
                    if ($password && strtolower($password) != '<< encrypted >>') {
                        $obAccount->Password = $password;
                    }
                    $obAccount->Active = $props['post']['_active'] ? true : false;
                    $obAccount->MaxSize = $props['post']['_size'] ? trim($props['post']['_size']) : 0;
                    $obAccount->Save;
                    $props = user_get_backend(array('arg' => $username), $authenticate);
                } catch (Exception $e) {
                    $props = array('abort' => true, 'message' => array('type' => 'error', 'label' => 'errorsaving'));
                }
            } else {
                $props['post']['_email'][0] = $username;
                $props = user_create_backend($props, $authenticate);
            }
        } else {
            $props = array('abort' => true, 'message' => array('type' => 'error', 'label' => 'companyaddressbook.usernotfound'));
        }
    } else {
        $props = array('abort' => true, 'message' => array('type' => 'error', 'label' => 'companyaddressbook.COMerror'));
    }
    return $props;
}
Example #3
0
function user_edit_backend($props, $authenticate, $db = false)
{
    $username = strtolower(trim($props['post']['_user']));
    if (!$username) {
        $username = strtolower(trim($props['post']['_email'][0]));
    }
    if ($username) {
        $p = user_get_backend(array('arg' => $username), $authenticate, $db);
        $db = $p['db'];
        if ($db) {
            if (!$p['abort']) {
                try {
                    $mailboxsize = (int) trim($props['post']['_size']);
                    $pass = trim($props['post']['_pass']);
                    $active = (int) trim($props['post']['_active']);
                    if (strtolower($pass) == '<< encrypted >>') {
                        $sql = 'UPDATE hm_accounts SET accountactive=?, accountmaxsize=? WHERE accountaddress LIKE ? LIMIT 1';
                        $db->query($sql, $active, $mailboxsize, $username);
                    } else {
                        $sql = 'UPDATE hm_accounts SET accountpassword=?, accountpwencryption=?, accountactive=?, accountmaxsize=? WHERE accountaddress LIKE ? LIMIT 1';
                        $db->query($sql, md5($pass), '2', $active, $mailboxsize, $username);
                    }
                    $props = user_get_backend(array('arg' => $username), $authenticate, $db);
                } catch (Exception $e) {
                    $props = array('abort' => true, 'message' => array('type' => 'error', 'label' => 'errorsaving'));
                }
            } else {
                $props['post']['_email'][0] = $username;
                $props = user_create_backend($props, $authenticate, $db);
            }
        } else {
            $props = array('abort' => true, 'message' => array('type' => 'error', 'label' => 'companyaddressbook.DBerror'));
        }
    } else {
        $props = array('abort' => true, 'message' => array('type' => 'error', 'label' => 'errorsaving'));
    }
    return $props;
}