diff --git a/inside/User.php b/inside/User.php index d115ea8..c68bf2d 100644 --- a/inside/User.php +++ b/inside/User.php @@ -98,10 +98,6 @@ class User { return false; } - if( $data['phonenumber'] ) { - $data['phonenumber'] = clean_phonenumber($data['phonenumber']); - } - /* No duplicate phone numbers */ if( getUseridFromPhone($data['phonenumber']) !== false ) { notify("Telefonnummeret er allerede registrert på en bruker."); @@ -170,7 +166,7 @@ class User { if ($data['phonenumber'] == "00000000" || $data['phonenumber'] == "") { $data['phonenumber'] = "-"; } - $this->phonenumber = $data['phonenumber']; + $this->phonenumber = clean_phonenumber($data['phonenumber']); $this->email = $data['email']; $this->placeOfStudy = $data['placeOfStudy']; return true; @@ -327,6 +323,14 @@ class User { $this->setAddressStatus(1); } } + /* Check for existing use of new phonenumber */ + $sql = sprintf("SELECT user_id FROM din_userphonenumber WHERE number=%s AND user_id != %s", $this->conn->quoteSmart($this->phonenumber), $this->conn->quoteSmart($this->id)); + $result = $this->conn->query($sql); + if ($result->numRows() != 0) { + notify("Telefonnummeret er allerede i bruk. Hvis du mener dette er en feil, ta kontakt med support@studentersamfundet.no."); + return false; + } + $sql = sprintf("REPLACE INTO din_userphonenumber (user_id, number) VALUES (%s, %s)", $this->conn->quoteSmart($this->id), $this->conn->quoteSmart($this->phonenumber)); $result = $this->conn->query($sql); @@ -858,7 +862,7 @@ class User { print ""; print $this->phonenumber; if ($this->phonenumber != "-") { - print "phonenumber . "\" " . + print "phonenumber . "\" " . "title=\"ring til " . $this->firstname . " " . $this->lastname . "\">"; print "\"ringfirstname . " " . $this->lastname . "\" />"; print ""; diff --git a/inside/functions.php b/inside/functions.php index 8559c96..c526be7 100644 --- a/inside/functions.php +++ b/inside/functions.php @@ -124,7 +124,7 @@ function getUseridFromEmail($email) { function getUseridFromPhone($phoneno) { $conn = db_connect(); - $sql = sprintf("SELECT user_id FROM din_userphonenumber u " . "WHERE number = '%s' or number = '+47%s'", $phoneno, $phoneno); + $sql = sprintf("SELECT user_id FROM din_userphonenumber WHERE number = '%s' or number = '+47%s'", $phoneno, $phoneno); $result = & $conn->query($sql); if ($result->numRows() == 0) { return false;