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";
$r .= '';
} else {
setOptedOutOfEmails($userID, false);
$r .= "
You are accepting emails";
$r .= '';
}
DoRedirect($r);
exit;
}
$checked = '';
if (isOptedOutOfEmails($userID)) {
$checked = 'checked="yes"';
}
$displayName = $_SESSION['displayName'];
//$displayName = htmlspecialchars($_SESSION['displayName'], ENT_COMPAT | ENT_HTML5);
?>
Control Panel