<html lang='en'>
<head>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
<title>
GitLab
</title>
</meta>
</head>
<style>
img {
max-width: 100%;
height: auto;
}
p.details {
font-style:italic;
color:#777
}
.footer p {
font-size:small;
color:#777
}
pre.commit-message {
white-space: pre-wrap;
}
.file-stats a {
text-decoration: none;
}
.file-stats .new-file {
color: #090;
}
.file-stats .deleted-file {
color: #B00;
}
</style>
<body>
<div class='content'>
<h3>Imran Hussain pushed to branch master at <a href="https://projects.sucs.org/sucssite/sucs-site">sucssite / sucs-site</a></h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://projects.sucs.org/sucssite/sucs-site/commit/c508252ed91cb2264aded2686b31fc2da44d661d">c508252e</a></strong>
<div>
<span>by gigosaurus</span>
<i>at 2015-10-13T11:45:04Z</i>
</div>
<pre class='commit-message'>Improve the regex and validation</pre>
</li>
<li>
<strong><a href="https://projects.sucs.org/sucssite/sucs-site/commit/f77eef1c5ce4135df657e8eea84048f9658b6c30">f77eef1c</a></strong>
<div>
<span>by gigosaurus</span>
<i>at 2015-10-13T13:07:03Z</i>
</div>
<pre class='commit-message'>Merge branch 'master' of projects.sucs.org:/sucssite/sucs-site</pre>
</li>
<li>
<strong><a href="https://projects.sucs.org/sucssite/sucs-site/commit/9819ed53d165f38978ca023afbcf1cc8ecf6dd9e">9819ed53</a></strong>
<div>
<span>by gigosaurus</span>
<i>at 2015-10-13T19:01:10Z</i>
</div>
<pre class='commit-message'>postcodes can now be dumb</pre>
</li>
<li>
<strong><a href="https://projects.sucs.org/sucssite/sucs-site/commit/f28a63a1ed9c7cf1d9956f79f1e6e7580b490529">f28a63a1</a></strong>
<div>
<span>by gigosaurus</span>
<i>at 2015-10-13T20:52:33Z</i>
</div>
<pre class='commit-message'>removing my fuck up</pre>
</li>
<li>
<strong><a href="https://projects.sucs.org/sucssite/sucs-site/commit/b4a9420ca420b07057df06904623ac939fd45c49">b4a9420c</a></strong>
<div>
<span>by Imran Hussain</span>
<i>at 2015-10-14T08:49:31Z</i>
</div>
<pre class='commit-message'>Merge branch 'master' into 'master'
Reduced user error
Postcodes can now be lowercase and lack a space.
Phone numbers must be at least 10 characters long (increased from 1, shouldn't cause any issues?).
Any email containing "@sucs." is not allowed for signup.
signup.js has been reformatted.
See merge request !33</pre>
</li>
</ul>
<h4>5 changed files:</h4>
<ul>
<li class='file-stats'>
<a href='#diff-0'>
components/signupajax.php
</a>
</li>
<li class='file-stats'>
<a href='#diff-1'>
htdocs/js/signup.js
</a>
</li>
<li class='file-stats'>
<a href='#diff-2'>
lib/sanitization.php
</a>
</li>
<li class='file-stats'>
<a href='#diff-3'>
lib/validation.php
</a>
</li>
<li class='file-stats'>
<a href='#diff-4'>
lib/validationData.php
</a>
</li>
</ul>
<h4>Changes:</h4>
<li id='diff-0'>
<a href='https://projects.sucs.org/sucssite/sucs-site/compare/a87d2d7631f6bd6e3ffffb0fdea398e2f0df31f4...b4a9420ca420b07057df06904623ac939fd45c49#diff-0'>
<strong>
components/signupajax.php
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/components/signupajax.php
</span><span style="color: #000000;background-color: #ddffdd">+++ b/components/signupajax.php
</span><span style="color: #aaaaaa">@@ -14,7 +14,10 @@ if (isset($_GET['key'])) {
</span> }
break;
case "postcode":
<span style="color: #000000;background-color: #ffdddd">- echo lookup_postcode($_GET['value']);
</span><span style="color: #000000;background-color: #ddffdd">+ $postcode = validPostcode($_GET['value']);
+ if ($postcode != false) {
+ lookup_postcode($postcode);
+ }
</span> break;
case "username":
$username = $_GET['value'];
</code></pre>
<br>
</li>
<li id='diff-1'>
<a href='https://projects.sucs.org/sucssite/sucs-site/compare/a87d2d7631f6bd6e3ffffb0fdea398e2f0df31f4...b4a9420ca420b07057df06904623ac939fd45c49#diff-1'>
<strong>
htdocs/js/signup.js
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/htdocs/js/signup.js
</span><span style="color: #000000;background-color: #ddffdd">+++ b/htdocs/js/signup.js
</span><span style="color: #aaaaaa">@@ -1,275 +1,283 @@
</span>-var validation = {"studentid":false, "username":false, "realname":false, "address":false, "contact":false, "email":false, "phone":false};
<span style="color: #000000;background-color: #ddffdd">+var validation = {
+ "studentid": false,
+ "username": false,
+ "realname": false,
+ "address": false,
+ "contact": false,
+ "email": false,
+ "phone": false
+};
</span> var submitted = false;
-function validate(){
- var valid = true;
- for (field in req){
- if (!validation[req[field]]){
- valid=false;
- break;
- }
- }
- if((valid || ($('input#override:checked').size()==1)) && !submitted && ($('input#tnc:checked').size()==1)){
- $('input#submit').removeAttr("disabled");
- return true;
- }
- else{
- $('input#submit').attr("disabled","disabled");
- return false;
- }
-
<span style="color: #000000;background-color: #ddffdd">+function validate() {
+ var valid = true;
+ for (field in req) {
+ if (!validation[req[field]]) {
+ valid = false;
+ break;
+ }
+ }
+ if ((valid || ($('input#override:checked').size() == 1)) && !submitted && ($('input#tnc:checked').size() == 1)) {
+ $('input#submit').removeAttr("disabled");
+ return true;
+ }
+ else {
+ $('input#submit').attr("disabled", "disabled");
+ return false;
+ }
+
</span>
}
-function processPostcode(){
- // lookup postcode
<span style="color: #000000;background-color: #ffdddd">- $.getJSON("signup/ajax",{key: "postcode",value: $('input#postcode').val()}, function(j){
</span>- //populate dropdown
<span style="color: #000000;background-color: #ffdddd">- var options = '';
- if (j.addresses.length > 1) {
</span>- // make dropdown visible
<span style="color: #000000;background-color: #ffdddd">- $('div#addseldiv').removeAttr("style");
- for (var i = 0; i < (j.addresses.length); i++) {
- options += '<option>';
- if (j.addresses[i].flat != null) {
- options += j.addresses[i].flat + "\n";
- }
- if (j.addresses[i].house != null) {
- options += j.addresses[i].house + "\n";
- }
- if (j.addresses[i].road != null) {
- options += j.addresses[i].road + "\n";
- }
- if (j.addresses[i].city != null) {
- options += j.addresses[i].city + "\n";
- }
- options += '</option>';
- }
- $("select#addsel").html(options);
- $('select#addsel option:first').attr('selected', 'selected');
- }
- if (j.addresses.length == 1) {
- $('div#addseldiv').attr("style","display:none");
- $("textarea#address")
</span>- $('div#addressmessage').attr("style","color:green; float:right; clear:right;");
- $('div#addressmessage').html("OK");
- validation["address"]=true;
- validate();
<span style="color: #000000;background-color: #ffdddd">- }
- })
</span><span style="color: #000000;background-color: #ddffdd">+function processPostcode() {
+ // lookup postcode
+ $.getJSON("signup/ajax", {key: "postcode", value: $('input#postcode').val()}, function (j) {
+ //populate dropdown
+ var options = '';
+ if (j.addresses.length > 1) {
+ // make dropdown visible
+ $('div#addseldiv').removeAttr("style");
+ for (var i = 0; i < (j.addresses.length); i++) {
+ options += '<option>';
+ if (j.addresses[i].flat != null) {
+ options += j.addresses[i].flat + "\n";
+ }
+ if (j.addresses[i].house != null) {
+ options += j.addresses[i].house + "\n";
+ }
+ if (j.addresses[i].road != null) {
+ options += j.addresses[i].road + "\n";
+ }
+ if (j.addresses[i].city != null) {
+ options += j.addresses[i].city + "\n";
+ }
+ options += '</option>';
+ }
+ $("select#addsel").html(options);
+ $('select#addsel option:first').attr('selected', 'selected');
+ }
+ if (j.addresses.length == 1) {
+ $('div#addseldiv').attr("style", "display:none");
+ $("textarea#address")
+ $('div#addressmessage').attr("style", "color:green; float:right; clear:right;");
+ $('div#addressmessage').html("OK");
+ validation["address"] = true;
+ validate();
+ }
+ })
</span> }
-function lookupSID(setname){
<span style="color: #000000;background-color: #ffdddd">- $.get("/signup/ajax",{key:"sid" ,value: $('input#studentid').val()},function(j){
- arr=j.split(":");
- key=arr.shift();
- val=arr.join(":");
- if(key=="OK"){
</span>- if(setname=true)
- $("input#realname").val(val);
<span style="color: #000000;background-color: #ffdddd">- $('div#studentidmessage').attr("style","color:green; float:right; clear:right;");
</span>- $('div#studentidmessage').html(key);
- validation['studentid']=true;
- processName("realname","realname");
<span style="color: #000000;background-color: #ddffdd">+function lookupSID(setname) {
+ $.get("/signup/ajax", {key: "sid", value: $('input#studentid').val()}, function (j) {
+ arr = j.split(":");
+ key = arr.shift();
+ val = arr.join(":");
+ if (key == "OK") {
+ if (setname = true)
+ $("input#realname").val(val);
+ $('div#studentidmessage').attr("style", "color:green; float:right; clear:right;");
+ $('div#studentidmessage').html(key);
+ validation['studentid'] = true;
+ processName("realname", "realname");
</span>
<span style="color: #000000;background-color: #ffdddd">- }
- else{
- $('div#studentidmessage').attr("style","color:red; float:right; clear:right;");
</span>- $('div#studentidmessage').html(val);
- validation['email']=false;
- validate();
<span style="color: #000000;background-color: #ffdddd">- }
- },'text')
</span><span style="color: #000000;background-color: #ddffdd">+ }
+ else {
+ $('div#studentidmessage').attr("style", "color:red; float:right; clear:right;");
+ $('div#studentidmessage').html(val);
+ validation['email'] = false;
+ validate();
+ }
+ }, 'text')
</span> }
-function processSID(){
- lookupSID(true);
<span style="color: #000000;background-color: #ddffdd">+function processSID() {
+ lookupSID(true);
</span> }
-function processUsername(){
<span style="color: #000000;background-color: #ffdddd">- $.get("/signup/ajax",{key: "username", value: $('input#username').val()},function(j){
- if (j!="OK") {
- $('div#usernamemessage').attr("style","color:red; float:right; clear:right;");
</span>- validation['username']=false;
<span style="color: #000000;background-color: #ffdddd">- }
- else{
- $('div#usernamemessage').attr("style","color:green; float:right; clear:right;");
</span>- validation['username']=true;
<span style="color: #000000;background-color: #ffdddd">- }
</span>- $('div#usernamemessage').html(j);
- validate();
<span style="color: #000000;background-color: #ffdddd">- },'text')
</span><span style="color: #000000;background-color: #ddffdd">+function processUsername() {
+ $.get("/signup/ajax", {key: "username", value: $('input#username').val()}, function (j) {
+ if (j != "OK") {
+ $('div#usernamemessage').attr("style", "color:red; float:right; clear:right;");
+ validation['username'] = false;
+ }
+ else {
+ $('div#usernamemessage').attr("style", "color:green; float:right; clear:right;");
+ validation['username'] = true;
+ }
+ $('div#usernamemessage').html(j);
+ validate();
+ }, 'text')
</span> }
-function processName(type, input){
<span style="color: #000000;background-color: #ffdddd">- $.get("/signup/ajax",{key: type, value: $('input#'+input).val()},function(j){
- if (j!="OK") {
- $('div#'+input+'message').attr("style","color:red; float:right; clear:right;");
</span>- validation[input]=false;
<span style="color: #000000;background-color: #ffdddd">- }
- else{
- $('div#'+input+'message').attr("style","color:green; float:right; clear:right;");
</span>- validation[input]=true;
<span style="color: #000000;background-color: #ffdddd">- }
</span>- $('div#'+input+'message').html(j);
- validate();
<span style="color: #000000;background-color: #ffdddd">- },'text')
</span><span style="color: #000000;background-color: #ddffdd">+function processName(type, input) {
+ $.get("/signup/ajax", {key: type, value: $('input#' + input).val()}, function (j) {
+ if (j != "OK") {
+ $('div#' + input + 'message').attr("style", "color:red; float:right; clear:right;");
+ validation[input] = false;
+ }
+ else {
+ $('div#' + input + 'message').attr("style", "color:green; float:right; clear:right;");
+ validation[input] = true;
+ }
+ $('div#' + input + 'message').html(j);
+ validate();
+ }, 'text')
</span> }
-function processContact(){
- processName('realname','contact');
<span style="color: #000000;background-color: #ddffdd">+function processContact() {
+ processName('realname', 'contact');
</span> }
-function processAddress(){
<span style="color: #000000;background-color: #ffdddd">- $.get("/signup/ajax",{key: "address", value: $('textarea#address').val()},function(j){
- if (j!="OK") {
- $('div#addressmessage').attr("style","color:red; float:right; clear:right;");
- validation['address']=false;
- }
- else{
- $('div#addressmessage').attr("style","color:green; float:right; clear:right;");
- validation['address']=true;
- }
</span>- $('div#addressmessage').html(j);
- validate();
<span style="color: #000000;background-color: #ffdddd">- },'text')
</span><span style="color: #000000;background-color: #ddffdd">+function processAddress() {
+ $.get("/signup/ajax", {key: "address", value: $('textarea#address').val()}, function (j) {
+ if (j != "OK") {
+ $('div#addressmessage').attr("style", "color:red; float:right; clear:right;");
+ validation['address'] = false;
+ }
+ else {
+ $('div#addressmessage').attr("style", "color:green; float:right; clear:right;");
+ validation['address'] = true;
+ }
+ $('div#addressmessage').html(j);
+ validate();
+ }, 'text')
</span> }
-function processEmail(){
<span style="color: #000000;background-color: #ffdddd">- $.get("/signup/ajax",{key: "email", value: $('input#email').val()},function(j){
- if (j!="OK") {
- $('div#emailmessage').attr("style","color:red; float:right; clear:right;");
</span>- validation['email']=false;
<span style="color: #000000;background-color: #ffdddd">- }
- else{
- $('div#emailmessage').attr("style","color:green; float:right; clear:right;");
</span>- validation['email']=true;
<span style="color: #000000;background-color: #ffdddd">- }
</span>- $('div#emailmessage').html(j);
- validate();
<span style="color: #000000;background-color: #ffdddd">- },'text')
</span><span style="color: #000000;background-color: #ddffdd">+function processEmail() {
+ $.get("/signup/ajax", {key: "email", value: $('input#email').val()}, function (j) {
+ if (j != "OK") {
+ $('div#emailmessage').attr("style", "color:red; float:right; clear:right;");
+ validation['email'] = false;
+ }
+ else {
+ $('div#emailmessage').attr("style", "color:green; float:right; clear:right;");
+ validation['email'] = true;
+ }
+ $('div#emailmessage').html(j);
+ validate();
+ }, 'text')
</span> }
-function processPhone(){
<span style="color: #000000;background-color: #ffdddd">- $.get("/signup/ajax",{key: "phone", value: $('input#phone').val()},function(j){
- if (j!="OK") {
- $('div#phonemessage').attr("style","color:red; float:right; clear:right;");
</span>- validation['phone']=false;
<span style="color: #000000;background-color: #ffdddd">- }
- else{
- $('div#phonemessage').attr("style","color:green; float:right; clear:right;");
</span>- validation['phone']=true;
<span style="color: #000000;background-color: #ffdddd">- }
</span>- $('div#phonemessage').html(j);
- validate();
<span style="color: #000000;background-color: #ffdddd">- },'text')
</span><span style="color: #000000;background-color: #ddffdd">+function processPhone() {
+ $.get("/signup/ajax", {key: "phone", value: $('input#phone').val()}, function (j) {
+ if (j != "OK") {
+ $('div#phonemessage').attr("style", "color:red; float:right; clear:right;");
+ validation['phone'] = false;
+ }
+ else {
+ $('div#phonemessage').attr("style", "color:green; float:right; clear:right;");
+ validation['phone'] = true;
+ }
+ $('div#phonemessage').html(j);
+ validate();
+ }, 'text')
</span> }
-$(function(){
- if($('input#studentid').size()==1){
- usertype=1;
- }
- else if($('input#contact').size()==1){
- usertype=2;
- }
- else{
- usertype=5;
- }
<span style="color: #000000;background-color: #ffdddd">- req=new Array("username","realname","email","phone");
- switch(usertype){
- case "1":
- req.push("studentid","address");
- break;
- case "2":
- req.push("contact");
- break;
- case "5":
- req.push("address");
</span><span style="color: #000000;background-color: #ddffdd">+$(function () {
+ if ($('input#studentid').size() == 1) {
+ usertype = 1;
+ }
+ else if ($('input#contact').size() == 1) {
+ usertype = 2;
+ }
+ else {
+ usertype = 5;
+ }
+ req = new Array("username", "realname", "email", "phone");
+ switch (usertype) {
+ case "1":
+ req.push("studentid", "address");
+ break;
+ case "2":
+ req.push("contact");
+ break;
+ case "5":
+ req.push("address");
+ }
+ //usertype=$('input#usertype').val();
+ $("document").ready(function () {
+ // makes script sutff appear
+ $('div#postcodediv').removeAttr("style");
+ $('input#submit').attr("disabled", "disabled");
+ // if the fields are not empty validate them
+ if ($('input#username').val() != "") processUsername();
+ if ($('input#email').val() != "") processEmail();
+ if ($('input#phone').val() != "") processPhone();
+ if (usertype != 2) {
+ if ($('input#postcode').val() != "") processPostcode();
+ if ($('textarea#address').val() != "") processAddress();
+ if ($('input#realname').val() != "") processName("realname", "realname");
+ }
+ else {
+ if ($('input#contact').val() != "") processContact();
+ if ($('input#realname').val() != "") processName("socname", "realname");
</span> }
- //usertype=$('input#usertype').val();
- $("document").ready(function(){
- // makes script sutff appear
- $('div#postcodediv').removeAttr("style");
- $('input#submit').attr("disabled","disabled");
- // if the fields are not empty validate them
- if($('input#username').val()!="") processUsername();
- if($('input#email').val()!="") processEmail();
- if($('input#phone').val()!="") processPhone();
- if(usertype!=2){
- if($('input#postcode').val()!="") processPostcode();
- if($('textarea#address').val()!="") processAddress();
- if($('input#realname').val()!="") processName("realname","realname");
- }
- else{
- if($('input#contact').val()!="") processContact();
- if($('input#realname').val()!="") processName("socname","realname");
- }
- if((usertype==1) && ($('input#studentid').val()!="")){
- if($('input#realname').val()=="") lookupSID(true);
- else lookupSID(false);
- }
<span style="color: #000000;background-color: #ddffdd">+ if ((usertype == 1) && ($('input#studentid').val() != "")) {
+ if ($('input#realname').val() == "") lookupSID(true);
+ else lookupSID(false);
+ }
+
+ validate();
+ })
+ // dont do address stuff for societies
+ if (usertype != 2) {
+ // process postcode when the box changes
+ $("input#postcode").change(processPostcode);
</span>
- validate();
- })
- // dont do address stuff for societies
- if(usertype!=2){
- // process postcode when the box changes
- $("input#postcode").change(processPostcode);
-
- //populate the address box when an address is selected
- $("select#addsel").change(function(){
-
- // everything is shit and will strip out the line breaks
- // so we have to do weird shit with innerHTML
-
- // store the entire options as e
- var e = document.getElementById("addsel");
- // store the selected address's innerHTML as strUser (because stackpver flow copy and paste)
- var strUser = e.options[e.selectedIndex].innerHTML;
- // set the text area to the strUser var
- $("textarea#address").text( strUser );
- $('div#addressmessage').attr("style","color:green; float:right; clear:right;");
- $('div#addressmessage').html("OK");
- validation['address']=true;
- })
- }
- //else deal with the contact field
- else{
<span style="color: #000000;background-color: #ddffdd">+ //populate the address box when an address is selected
+ $("select#addsel").change(function () {
+
+ // everything is shit and will strip out the line breaks
+ // so we have to do weird shit with innerHTML
+
+ // store the entire options as e
+ var e = document.getElementById("addsel");
+ // store the selected address's innerHTML as strUser (because stackpver flow copy and paste)
+ var strUser = e.options[e.selectedIndex].innerHTML;
+ // set the text area to the strUser var
+ $("textarea#address").text(strUser);
+ $('div#addressmessage').attr("style", "color:green; float:right; clear:right;");
+ $('div#addressmessage').html("OK");
+ validation['address'] = true;
+ })
+ }
+ //else deal with the contact field
+ else {
</span> $("input#contact").change(processContact)
- }
- //if is a student
- if(usertype==1){
- //lookup the real name from the studentid
- $("input#studentid").change(processSID)
- }
- //validate username
- $("input#username").change(processUsername)
- //validate personal and society names differntly
- if(usertype!=2){
- persoc='realname';
- }
- else{
- persoc='socname';
- }
- //validate real name
- $("input#realname").change(function(){
- processName(persoc, 'realname');
- })
-
<span style="color: #000000;background-color: #ffdddd">- //validate email address
- $("input#email").change(processEmail);
- //validate phone number
- $("input#phone").change(processPhone);
</span>- $("textarea#address").change(processAddress);
- $("input#override").change(validate);
- $("input#tnc").change(validate);
- // Disable the submit button once clicked
- $("form#mainform").submit(function() {
- var valid = validate();
- if(valid){
- // mark form as submitted
- submitted = true;
- // disable the submit button
- $('input#submit').attr("disabled","disabled");
- }
- return valid;
- });
<span style="color: #000000;background-color: #ddffdd">+ }
+ //if is a student
+ if (usertype == 1) {
+ //lookup the real name from the studentid
+ $("input#studentid").change(processSID)
+ }
+ //validate username
+ $("input#username").change(processUsername)
+ //validate personal and society names differntly
+ if (usertype != 2) {
+ persoc = 'realname';
+ }
+ else {
+ persoc = 'socname';
+ }
+ //validate real name
+ $("input#realname").change(function () {
+ processName(persoc, 'realname');
+ })
+
+ //validate email address
+ $("input#email").change(processEmail);
+ //validate phone number
+ $("input#phone").change(processPhone);
+ $("textarea#address").change(processAddress);
+ $("input#override").change(validate);
+ $("input#tnc").change(validate);
+ // Disable the submit button once clicked
+ $("form#mainform").submit(function () {
+ var valid = validate();
+ if (valid) {
+ // mark form as submitted
+ submitted = true;
+ // disable the submit button
+ $('input#submit').attr("disabled", "disabled");
+ }
+ return valid;
+ });
</span> })
</code></pre>
<br>
</li>
<li id='diff-2'>
<a href='https://projects.sucs.org/sucssite/sucs-site/compare/a87d2d7631f6bd6e3ffffb0fdea398e2f0df31f4...b4a9420ca420b07057df06904623ac939fd45c49#diff-2'>
<strong>
lib/sanitization.php
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/lib/sanitization.php
</span><span style="color: #000000;background-color: #ddffdd">+++ b/lib/sanitization.php
</span><span style="color: #aaaaaa">@@ -9,4 +9,12 @@ function sanitizeAddress($address)
</span> return str_replace(array("\r\n", "\r"), array("\n", "\n"), $address);
}
<span style="color: #000000;background-color: #ddffdd">+function sanitizePostcode($postcode)
+{
+ //force uppercase, remove any possible stupid spaces and add the single space in the correct place
+ $postcode = strtoupper($postcode);
+ $postcode = str_replace(" ", "", $postcode);
+ return substr_replace($postcode, " ", -3, 0);
+}
+
</span> ?>
</code></pre>
<br>
</li>
<li id='diff-3'>
<a href='https://projects.sucs.org/sucssite/sucs-site/compare/a87d2d7631f6bd6e3ffffb0fdea398e2f0df31f4...b4a9420ca420b07057df06904623ac939fd45c49#diff-3'>
<strong>
lib/validation.php
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/lib/validation.php
</span><span style="color: #000000;background-color: #ddffdd">+++ b/lib/validation.php
</span><span style="color: #aaaaaa">@@ -252,11 +252,22 @@ function validAddress($address)
</span> }
}
<span style="color: #000000;background-color: #ddffdd">+function validPostcode($postcode)
+{
+ $postcode = sanitizePostcode($postcode);
+ if (!preg_match('/^[A-Z]{1,2}[0-9]{1,2}[A-Z]{0,1} [0-9][A-Z]{2}$/', $postcode)) {
+ return false;
+ } else {
+ return $postcode;
+ }
+
+}
+
</span> function validPhone($phone)
{
global $error;
$phone = sanitizePhone($phone);
<span style="color: #000000;background-color: #ffdddd">- if (!preg_match("/^\+?[0-9-]+$/", $phone)) {
</span><span style="color: #000000;background-color: #ddffdd">+ if (!preg_match("/^\+?[0-9-]{10,}$/", $phone)) {
</span> $error = "Must be all numbers";
return false;
}
<span style="color: #aaaaaa">@@ -266,7 +277,7 @@ function validPhone($phone)
</span> function validSignupEmail($email)
{
global $error;
<span style="color: #000000;background-color: #ffdddd">- if (preg_match('/@sucs\.org$/', $email)) {
</span><span style="color: #000000;background-color: #ddffdd">+ if (preg_match('/@sucs\.$/', $email)) {
</span> $error = "SUCS email addresses are not allowed";
return false;
} elseif (!validEmail($email)) {
</code></pre>
<br>
</li>
<li id='diff-4'>
<a href='https://projects.sucs.org/sucssite/sucs-site/compare/a87d2d7631f6bd6e3ffffb0fdea398e2f0df31f4...b4a9420ca420b07057df06904623ac939fd45c49#diff-4'>
<strong>
lib/validationData.php
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/lib/validationData.php
</span><span style="color: #000000;background-color: #ddffdd">+++ b/lib/validationData.php
</span><span style="color: #aaaaaa">@@ -1,5 +1,5 @@
</span> <?
-// lookup real names from sid's useing campus ldap
<span style="color: #000000;background-color: #ddffdd">+// lookup real names from sid's using campus ldap
</span> function lookupSID($sid)
{
$ds = ldap_connect("ccs-suld1.swan.ac.uk");
<span style="color: #aaaaaa">@@ -12,7 +12,7 @@ function lookupSID($sid)
</span> return ucwords(strtolower($info[0]['givenname'][0] . " " . $info[0]['sn'][0]));
}
-// lookup addresses from postcodes useing the univeritys website
<span style="color: #000000;background-color: #ddffdd">+// lookup addresses from postcodes using the university's website
</span> function lookup_postcode($postcode)
{
<span style="color: #aaaaaa">@@ -21,9 +21,8 @@ function lookup_postcode($postcode)
</span> $url = "http://paf.sucs.org/?apikey=$apikey&postcode=" . rawurlencode($postcode);
$req = curl_init($url);
<span style="color: #000000;background-color: #ffdddd">- $page = curl_exec($req);
</span><span style="color: #000000;background-color: #ddffdd">+ curl_exec($req);
</span> curl_close($req);
-
}
?>
</code></pre>
<br>
</li>
</div>
<div class='footer' style='margin-top: 10px;'>
<p>
—
<br>
<a href="https://projects.sucs.org/sucssite/sucs-site/compare/a87d2d7631f6bd6e3ffffb0fdea398e2f0df31f4...b4a9420ca420b07057df06904623ac939fd45c49">View it on GitLab</a>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":["merge_requests","issues","commit"],"url":"https://projects.sucs.org/sucssite/sucs-site/compare/a87d2d7631f6bd6e3ffffb0fdea398e2f0df31f4...b4a9420ca420b07057df06904623ac939fd45c49"}}</script>
</p>
</div>
</body>
</html>