mirror of
				https://github.com/Znote/ZnoteAAC.git
				synced 2025-10-31 19:06:23 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			94 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| require_once 'engine/init.php';
 | |
| protect_page();
 | |
| include 'layout/overall/header.php';
 | |
| require_once('config.countries.php');
 | |
| 
 | |
| if (empty($_POST) === false) {
 | |
| 	// $_POST['']
 | |
| 	/* Token used for cross site scripting security */
 | |
| 	if (!Token::isValid($_POST['token'])) {
 | |
| 		$errors[] = 'Token is invalid.';
 | |
| 	}
 | |
| 	$required_fields = array('new_email', 'new_flag');
 | |
| 	foreach($_POST as $key=>$value) {
 | |
| 		if (empty($value) && in_array($key, $required_fields) === true) {
 | |
| 			$errors[] = 'You need to fill in all fields.';
 | |
| 			break 1;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	if (empty($errors) === true) {
 | |
| 		if (filter_var($_POST['new_email'], FILTER_VALIDATE_EMAIL) === false) {
 | |
| 			$errors[] = 'A valid email address is required.';
 | |
| 		} else if (user_email_exist($_POST['new_email']) === true && $user_data['email'] !== $_POST['new_email']) {
 | |
| 			$errors[] = 'That email address is already in use.';
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| ?>
 | |
| <h1>Settings</h1>
 | |
| 
 | |
| <?php
 | |
| if (isset($_GET['success']) === true && empty($_GET['success']) === true) {
 | |
| 	echo 'Your settings have been updated.';
 | |
| } else {
 | |
| 	if (empty($_POST) === false && empty($errors) === true) {
 | |
| 		$update_data = array(
 | |
| 			'email' => $_POST['new_email']
 | |
| 		);
 | |
| 
 | |
| 		$update_znote_data = array(
 | |
| 			'flag' => getValue($_POST['new_flag']),
 | |
| 			'active_email' => '0'
 | |
| 		);
 | |
| 
 | |
| 		// If he had previously verified his email address, remove the previously aquired bonus points
 | |
| 		if ($user_znote_data['active_email'] > 0) {
 | |
| 			$update_znote_data['points'] = $user_znote_data['points'] - $config['mailserver']['verify_email_points'];
 | |
| 		}
 | |
| 
 | |
| 		user_update_account($update_data);
 | |
| 		user_update_znote_account($update_znote_data);
 | |
| 		header('Location: settings.php?success');
 | |
| 		exit();
 | |
| 
 | |
| 	} else if (empty($errors) === false) {
 | |
| 		echo output_errors($errors);
 | |
| 	}
 | |
| 	?>
 | |
| 
 | |
| 	<form action="" method="post">
 | |
| 		<ul>
 | |
| 			<li>
 | |
| 				email:<br>
 | |
| 				<input type="text" name="new_email" value="<?php echo $user_data['email']; ?>">
 | |
| 			</li>
 | |
| 			<li>
 | |
| 				Country:<br>
 | |
| 				<select name="new_flag" id="flag_select">
 | |
| 					<option value="">(Please choose)</option>
 | |
| 					<?php
 | |
| 					foreach(array('pl', 'se', 'br', 'us', 'gb', ) as $c)
 | |
| 						echo '<option value="' . $c . '">' . $config['countries'][$c] . '</option>';
 | |
| 
 | |
| 						echo '<option value="">----------</option>';
 | |
| 						foreach($config['countries'] as $code => $c)
 | |
| 							echo '<option value="' . $code . '"' . (isset($user_znote_data['flag']) && $user_znote_data['flag'] == $code ? ' selected' : '') . '>' . $c . '</option>';
 | |
| 					?>
 | |
| 				</select>
 | |
| 			</li>
 | |
| 			<?php
 | |
| 				/* Form file */
 | |
| 				Token::create();
 | |
| 			?>
 | |
| 			<li>
 | |
| 				<input type="submit" value="Update settings">
 | |
| 			</li>
 | |
| 		</ul>
 | |
| 	</form>
 | |
| <?php
 | |
| }
 | |
| include 'layout/overall/footer.php';
 | |
| ?>
 | 
