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; }
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; }
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; }