20) return "Name is too long (".strlen($name)."/20)"; if (!preg_match("~[a-zA-Z0-9]\b~", $name)) return "Must contain atleast 1 Alpha-Numerical character"; return true; } /** * Returns true if the given user has opted out of emails, false otherwise */ function isOptedOutOfEmails($userID) { $userID = mysql_escape_string($userID); $sql = "SELECT `isOptedOutOfEmails` FROM `users` WHERE `ID` = '$userID' AND `isOptedOutOfEmails` = 1 LIMIT 1"; $result = mysql_query($sql) or die(mysql_error()); return (mysql_num_rows($result) >= 1); } function setOptedOutOfEmails($userID, $setting) { $userID = mysql_escape_string($userID); if ($setting) $setting == '1'; else $setting == '0'; $sql = "UPDATE `users` SET `isOptedOutOfEmails` = '$setting' WHERE `ID` = '$userID' LIMIT 1"; $result = mysql_query($sql) or die(mysql_error()); } if (isset($_POST['updateSettings']) AND $_POST['updateSettings'] == 'true') { $userID = $_SESSION['userID']; if (isset($_POST['displayName'])) { //$inputname = stripSlashes($_POST['displayName']); $inputname = $_POST['displayName']; //Validate before replacements. To perevent < becoming > (longer) $nameError = validatename($inputname); //$inputname = htmlentities($inputname); $inputname = htmlspecialchars($inputname, ENT_COMPAT | ENT_HTML5); $inputname = chatFilter($inputname); $inputname = str_replace(" ", "  ", $inputname); if ($nameError === true) { $inputname = sql_clean($inputname); $sql = "UPDATE `users` SET `displayName` = '$inputname' WHERE `ID` = '$userID' "; mysql_query($sql); $_SESSION['displayName'] = $inputname; $r .= "
Name change success!"; } else { $r .= "
Error: ".$nameError; } } if ($_POST['emailOptOut'] == 'true') { setOptedOutOfEmails($userID, true); $r .= "
You are opted out of emails"; } else { setOptedOutOfEmails($userID, false); $r .= "
You are accepting emails"; } DoRedirect($r); exit; } $checked = ''; if (isOptedOutOfEmails($userID)) { $checked = 'checked="yes"'; } $displayName = $_SESSION['displayName']; //$displayName = htmlspecialchars($_SESSION['displayName'], ENT_COMPAT | ENT_HTML5); ?>

Control Panel

Settings: Display Name:

> Opt out of emails? We'll only send you important feature updates! I Promise!