diff --git a/inside/ActionParser.php b/inside/ActionParser.php index fb93670..927f5ac 100644 --- a/inside/ActionParser.php +++ b/inside/ActionParser.php @@ -1301,7 +1301,7 @@ private function logError($username, $error) if ($subaction == "sticker-sale") { $user->_registerUpdate("Oblat solgt i billettbod"); $user->updateExpiry(scriptParam("new-sticker-date")); - $user->updateLastSticker(scriptParam("new-sticker-date")); + $user->updateLastSticker(getStickerPeriod(scriptParam("new-sticker-date"))); } elseif ($subaction == "give-sticker") { $user->_registerUpdate("Gyldig medlemskap, oblat gitt ut i billettluka"); $user->updateLastSticker(scriptParam("new-sticker-date")); diff --git a/inside/Page.php b/inside/Page.php index 706ea6c..a360715 100644 --- a/inside/Page.php +++ b/inside/Page.php @@ -3456,25 +3456,26 @@ Om dere lager en facebook side til arrangementet, ikke glem å putte inn le print "lever ut kort"; } else { print ""; - print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; print "\n"; print ""; } } else { + if (!$user->getCardProduced()) { print "produser kort"; } elseif (!$user->getCardDelivered()) { print ""; - print "expiry) . "\" />"; - print "expiry) . ")\" />"; + print "expires) . "\" />"; + print "expires) . ")\" />"; } elseif (!$user->hasCardSticker()) { print ""; - print "expiry) . "\" />"; - print "expiry) . ")\" />"; + print "expires) . "\" />"; + print "expires) . ")\" />"; } else { print "-"; } diff --git a/inside/User.php b/inside/User.php index 65c3e30..27d4876 100644 --- a/inside/User.php +++ b/inside/User.php @@ -56,6 +56,7 @@ class User { $this->id = -1; return false; } else { + /* Validate user supplied data. */ if (strlen(stripcslashes($data['username'])) < 3 || strlen(stripcslashes($data['username'])) > 12 ) { notify("Brukernavnet må være mellom 3 og 12 tegn."); $this->id = -1; @@ -72,6 +73,12 @@ class User { $this->id = -1; return false; } + /* No double nor single quotes */ + if(preg_match('/[\\\"\']+/', $data['password1'])) { + notify("Passordet kan ikke inneholde enkel- eller dobbelfnutt eller bakslask."); + $this->id = -1; + return false; + } if ($data['password1'] != $data['password2']) { notify("Passordene var ikke like."); $this->id = -1; diff --git a/inside/migration/js/byebye_inside.js b/inside/migration/js/byebye_inside.js index 1e37295..4810d9d 100644 --- a/inside/migration/js/byebye_inside.js +++ b/inside/migration/js/byebye_inside.js @@ -10,10 +10,14 @@ function init_validation() { password: { required: true, minlength: 8, + noquotes: true, + noescapes: true, }, password_check: { required: true, minlength: 8, + noquotes: true, + noescapes: true, equalTo: "#id_password", }, }, diff --git a/inside/migration/js/custom_validators.js b/inside/migration/js/custom_validators.js index 2542aa1..dda72d8 100644 --- a/inside/migration/js/custom_validators.js +++ b/inside/migration/js/custom_validators.js @@ -1,3 +1,9 @@ jQuery.validator.addMethod("lettersonly", function(value, element) { return this.optional(element) || /^[a-z]+$/.test(value); }, "Please enter only letters (english alphabet)."); +jQuery.validator.addMethod("noquotes", function(value, element) { + return this.optional(element) || ! /['"]+/.test(value); +}, "No single or double quotes, please."); +jQuery.validator.addMethod("noescapes", function(value, element) { + return this.optional(element) || ! /[\\]+/.test(value); +}, "No backslashes, please.");