Replace existing membership activation code, ++
- Small style fixes - Remove some links to legacy webshop - Text updates on membership purchase - Fix card number display on users
This commit is contained in:
1 parent
7170728177
commit
58f64eb200
7 files changed
+164
-112
No files matched your search
+5
-3
@@ -431,15 +431,17 @@ h1 {
|
||||
}
|
||||
|
||||
h2,h3,h4,h5,h6 {
|
||||
font-family: Georgia, serif;
|
||||
font-style: italic;
|
||||
font-family: Helvetica,Arial,sans-serif;
|
||||
font-weight: bold;
|
||||
/*font-style: italic;*/
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6,
|
||||
.entry-title a {
|
||||
clear:none;
|
||||
/*color:#b8e2ed;*/
|
||||
color:#9dcbdb;
|
||||
/*color:#9dcbdb;*/
|
||||
color: #ee812e;
|
||||
margin-bottom:0.5em;
|
||||
text-decoration:none;
|
||||
line-height:1;
|
||||
|
||||
@@ -248,7 +248,8 @@ class ActionParser {
|
||||
break;
|
||||
|
||||
case 'register-membership' :
|
||||
$this->_registerMembership();
|
||||
//$this->_registerMembership();
|
||||
$GLOBALS['extraScriptParams']['page'] = "register-membership";
|
||||
break;
|
||||
|
||||
case 'register-membership-payex' :
|
||||
|
||||
+48
-89
@@ -627,24 +627,16 @@ class Page {
|
||||
?>
|
||||
<?php if (membershipExpired(getCurrentUser())){?>
|
||||
<h3>Medlemskapet ditt er utgått!</h3>
|
||||
<p>Om du har kjøpt medlemskap i en av barene på huset må du <a href="index.php?page=renew-membership">aktivere medlemskapet ditt med aktiveringsnummer og aktiveringskode</a>!</p>
|
||||
<?php if (checkAuth("view-register-membership-payex")) ?><p>Du kan også <a href="index.php?page=register-membership">kjøpe medlemskap med VISA-kort</a>.</p> <?php ; ?>
|
||||
<p>Om du har kjøpt medlemskap i en av barene på Chateau Neuf må du <a href="/sms/register.php">aktivere medlemskapet ditt med kortnummer og telefonnummer</a>.</p>
|
||||
<?php } ?>
|
||||
<div class="often-used-links">
|
||||
<h3>Hva vil du gjøre?</h3>
|
||||
<h3>Hva vil du gjøre?</h3>
|
||||
<div class="list-group">
|
||||
<a class="list-item" href="index.php?page=display-webshop">Besøke nettbutikken</a>
|
||||
<?php
|
||||
if (checkAuth('view-display-division-requests')){ ?>
|
||||
<a class="list-item" href="index.php?page=display-division-requests">Godkjenn aktivforespørseler</a>
|
||||
<?php } ?>
|
||||
<a class="list-item" href="index.php?page=display-jobs">Se på ledige stillinger</a>
|
||||
(<?php print getUnreadCount('job', 'expires'); ?> nye ikke utgåtte)
|
||||
<!--<li><a href="index.php?page=display-events-calendar">Se på aktivitetskalenderen</a>
|
||||
(<?php print getUnreadCount('event', 'time'); ?> nye kommende)</li>-->
|
||||
<a class="list-item" href="index.php?page=display-documents">Lese dokumenter</a>
|
||||
<a class="list-item" href="index.php?page=display-divisions">Finne kontaktinfo til en forening</a>
|
||||
<a class="list-item" href="index.php?page=display-current-user">Oppdatere min brukerinformasjon</a>
|
||||
<ul>
|
||||
<li><a class="list-item" href="index.php?page=display-documents">Lese dokumenter</a></li>
|
||||
<li><a class="list-item" href="index.php?page=display-divisions">Finne kontaktinfo til en forening</a></li>
|
||||
<li><a class="list-item" href="index.php?page=display-current-user">Oppdatere min brukerinformasjon</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<?php }
|
||||
@@ -2800,103 +2792,70 @@ Om dere lager en facebook side til arrangementet, ikke glem å putte inn le
|
||||
public
|
||||
function _registerMembership(){
|
||||
?>
|
||||
<h3>Har du allerede kjøpt midlertidig medlemskap i en av barene på Studentersamfundet?</h3>
|
||||
<p>Du skal isåfall ha mottatt et aktiveringsnummer og aktiveringspassord.</p>
|
||||
|
||||
<h3>Har du allerede kjøpt medlemskap og fått medlemskort i en av barene på Chateau Neuf?</h3>
|
||||
<p>Bruk ditt kortnummeret og telefonnummer til å <a href="https://inside.studentersamfundet.no/sms/register.php">registere medlemskapet på din bruker her</a>.</p>
|
||||
<h3>Ønsker du å kjøpe nytt medlemskap eller fornye ditt medlemskap?</h3>
|
||||
<p>Les mer om hvordan du kan <a href="https://studentersamfundet.no/bli-medlem/">kjøpe nytt medlemskap her</a>.</p>
|
||||
<?php
|
||||
$title = "registrér medlemskap";
|
||||
//$title = "Registrer medlemskap";
|
||||
|
||||
$enctype = NULL;
|
||||
$method = "post";
|
||||
$action = "index.php?action=register-membership";
|
||||
$fields = Array();
|
||||
//$enctype = NULL;
|
||||
//$method = "post";
|
||||
//$action = "index.php?action=register-membership";
|
||||
//$fields = Array();
|
||||
|
||||
$fields[] = Array("label" => "id", "type" => "hidden",
|
||||
"attributes" => Array("name" => "userid", "size" => 12, "maxlength" => 10,
|
||||
"value" => getCurrentUser()));
|
||||
$fields[] = Array("label" => "aktiveringsnummer", "type" => "text",
|
||||
"attributes" => Array("name" => "cardno", "size" => 12, "maxlength" => 10));
|
||||
$fields[] = Array("label" => "aktiveringspassord", "type" => "text",
|
||||
"attributes" => Array("name" => "verificationCode", "size" => 12, "maxlength" => 20));
|
||||
$form = new Form($title, $enctype, $method, $action, $fields);
|
||||
$form->display();
|
||||
//$fields[] = Array("label" => "id", "type" => "hidden",
|
||||
// "attributes" => Array("name" => "userid", "size" => 12, "maxlength" => 10,
|
||||
// "value" => getCurrentUser()));
|
||||
//$fields[] = Array("label" => "Kortnummer/Kode", "type" => "text",
|
||||
// "attributes" => Array("name" => "card_number", "size" => 12, "maxlength" => 10));
|
||||
//$form = new Form($title, $enctype, $method, $action, $fields);
|
||||
//$form->display();
|
||||
|
||||
|
||||
if(time() < 1315612799):
|
||||
?>
|
||||
<style type="text/css">
|
||||
#lol
|
||||
{
|
||||
margin:10px 0px;
|
||||
}
|
||||
|
||||
#lol:after
|
||||
{
|
||||
content:".";
|
||||
clear:both;
|
||||
height:0px;
|
||||
display:block;
|
||||
visibility:hidden;
|
||||
}
|
||||
|
||||
#lol .half
|
||||
{
|
||||
width:45%;
|
||||
float:left;
|
||||
|
||||
}
|
||||
</style>
|
||||
<div id="lol">
|
||||
<div class="half">
|
||||
<h3>Ny i DNS?</h3>
|
||||
|
||||
<p>Har du lyst til å være med å vår egen lille fadderhelg 9.-11. september? Bli kjent med Det Norske Studentersamfund og vi som holder til der! Se <a href="http://studentersamfundet.no/nyidns.php">ny i dns!</a></p>
|
||||
</div>
|
||||
<div class="half">
|
||||
<h3>Bli aktiv!</h3>
|
||||
<p>Syns du noe av det vi holder på med er spennende? Lyst til å booke band eller lære å mikse drinker? Bli med oss som aktiv i en av de mange foreningene på huset, du får garantert minner for livet og nye venner! Se <a href="http://studentersamfundet.no/bliaktiv.php">bli aktiv!</a></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php endif;
|
||||
if (checkAuth("view-register-membership-payex")) {
|
||||
/* if (checkAuth("view-register-membership-payex")) {
|
||||
?>
|
||||
<br />
|
||||
<h3>Vil du betale med VISA-kort?</h3>
|
||||
<?php
|
||||
$product = new Product(1);
|
||||
$product->display();
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
public
|
||||
function _renewMembership(){
|
||||
$title = "aktiver medlemskap";
|
||||
?>
|
||||
<h3>Har du allerede kjøpt medlemskap og fått medlemskort i en av barene på Chateau Neuf?</h3>
|
||||
<p>Bruk ditt kortnummeret og telefonnummer til å <a href="https://inside.studentersamfundet.no/sms/register.php">registere medlemskapet på din bruker her</a>.</p>
|
||||
<h3>Ønsker du å kjøpe nytt medlemskap eller fornye ditt medlemskap?</h3>
|
||||
<p>Les mer om hvordan du kan <a href="https://studentersamfundet.no/bli-medlem/">kjøpe nytt medlemskap her</a>.</p>
|
||||
<?php
|
||||
//$title = "aktiver medlemskap";
|
||||
|
||||
$enctype = NULL;
|
||||
$method = "post";
|
||||
$action = "index.php?action=renew-membership";
|
||||
$fields = Array();
|
||||
//$enctype = NULL;
|
||||
//$method = "post";
|
||||
//$action = "index.php?action=renew-membership";
|
||||
//$fields = Array();
|
||||
|
||||
$fields[] = Array("label" => "id", "type" => "hidden",
|
||||
"attributes" => Array("name" => "userid", "size" => 12, "maxlength" => 10,
|
||||
"value" => getCurrentUser()));
|
||||
$fields[] = Array("label" => "aktiveringsnummer", "type" => "text",
|
||||
"attributes" => Array("name" => "cardno", "size" => 12, "maxlength" => 10,
|
||||
"comment" => "Bruk aktiveringsnummeret på arket du fikk da du kjøpte medlemskapet ditt."));
|
||||
$fields[] = Array("label" => "aktiveringskode", "type" => "text",
|
||||
"attributes" => Array("name" => "verificationCode", "size" => 12, "maxlength" => 20));
|
||||
$form = new Form($title, $enctype, $method, $action, $fields);
|
||||
$form->display();
|
||||
if (checkAuth("view-register-membership-payex")) {
|
||||
//$fields[] = Array("label" => "id", "type" => "hidden",
|
||||
// "attributes" => Array("name" => "userid", "size" => 12, "maxlength" => 10,
|
||||
// "value" => getCurrentUser()));
|
||||
//$fields[] = Array("label" => "aktiveringsnummer", "type" => "text",
|
||||
// "attributes" => Array("name" => "cardno", "size" => 12, "maxlength" => 10,
|
||||
// "comment" => "Bruk aktiveringsnummeret på arket du fikk da du kjøpte medlemskapet ditt."));
|
||||
//$fields[] = Array("label" => "aktiveringskode", "type" => "text",
|
||||
// "attributes" => Array("name" => "verificationCode", "size" => 12, "maxlength" => 20));
|
||||
//$form = new Form($title, $enctype, $method, $action, $fields);
|
||||
//$form->display();
|
||||
/*if (checkAuth("view-register-membership-payex")) {
|
||||
?>
|
||||
<br />
|
||||
<h3>Vil du betale med VISA-kort?</h3>
|
||||
<?php
|
||||
$product = new Product(1);
|
||||
$product->display();
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
+5
-2
@@ -123,7 +123,7 @@ class User {
|
||||
//Retrieve data from backend for display or other actions
|
||||
if ($data = $this->_retrieveData()) {
|
||||
$this->username = stripcslashes($data['ldap_username']);
|
||||
$this->cardno = $data['cardno'];
|
||||
$this->cardno = $data['card_number']; // Note: NOT cardno (legacy)
|
||||
$this->expires = $data['expires'];
|
||||
$this->division_id_request = $data['division_id_request'];
|
||||
$this->lastSticker = $data['lastSticker'];
|
||||
@@ -363,7 +363,10 @@ class User {
|
||||
}
|
||||
|
||||
public function _retrieveData() {
|
||||
$sql = "SELECT u.*, up.number AS phonenumber " . "FROM din_user u LEFT JOIN din_userphonenumber up " . "ON u.id = up.user_id " . "WHERE u.id = $this->id";
|
||||
$sql = "SELECT u.*, up.number AS phonenumber,c.card_number FROM din_user AS u ".
|
||||
"LEFT JOIN din_userphonenumber AS up ON u.id = up.user_id ".
|
||||
"LEFT JOIN din_card AS c ON u.id = c.user_id AND c.is_active=1 ".
|
||||
"WHERE u.id = $this->id";
|
||||
$result = & $this->conn->query($sql);
|
||||
if (DB :: isError($result) != true) {
|
||||
if ($row = & $result->fetchRow(DB_FETCHMODE_ASSOC)) {
|
||||
|
||||
@@ -98,13 +98,16 @@ function getCurrentUser() {
|
||||
|
||||
function getUseridFromCardno($cardno) {
|
||||
$conn = db_connect();
|
||||
$sql = sprintf("SELECT id FROM din_user u " . "WHERE cardno = %s ", $cardno);
|
||||
$sql = sprintf("SELECT user_id FROM din_card WHERE card_number=%s", $cardno);
|
||||
$result = & $conn->query($sql);
|
||||
if ($result->numRows() == 0) {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
$row = & $result->fetchRow(DB_FETCHMODE_ORDERED);
|
||||
if( $row[0] == NULL) {
|
||||
return false;
|
||||
}
|
||||
return $row[0];
|
||||
}
|
||||
}
|
||||
@@ -1073,11 +1076,11 @@ function displayLogin() {
|
||||
<a href="https://brukerinfo.neuf.no/accounts/password/reset">Glemt passord eller brukernavn?</a>
|
||||
</p>
|
||||
<h3>Ny bruker?</h3>
|
||||
<p>Hvis du aldri har vært medlem før, kan du <a href="index.php?page=register-user">registrere deg</a>.</p>
|
||||
<p>Hvis du aldri har vært medlem før kan du lese om hvordan du <a href="https://studentersamfundet.no/bli-medlem/">kjøper medlemskap her</a>.<br><em>Du kan også <a href="index.php?page=register-user">registrere en bruker</a></em>.</p>
|
||||
|
||||
<h3>Har du spørsmål om medlemskapet ditt?</h3>
|
||||
<p>
|
||||
Send epost til <a href="mailto:medlemskap@studentersamfundet.no">medlemskap@studentersamfundet.no</a>. Oppgi medlemskortnummer og en kort beskrivelse av hva som ikke virker, så skal vi hjelpe deg så fort vi kan.
|
||||
Send epost til <a href="mailto:medlemskap@studentersamfundet.no">medlemskap@studentersamfundet.no</a>. Oppgi telefonnummer og en kort beskrivelse av hva som ikke virker, så skal vi hjelpe deg så fort vi kan.
|
||||
</p>
|
||||
<p>
|
||||
Andre spørsmål? Kontakt oss på <a href="mailto:support@studentersamfundet.no">support@studentersamfundet.no</a>.
|
||||
|
||||
+31
-7
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
/* SMS purchase activation form
|
||||
session_start();
|
||||
/* SMS/card purchase activation form
|
||||
*
|
||||
*/
|
||||
set_include_path("../includes/");
|
||||
@@ -23,13 +24,26 @@ if(DB :: isError($conn)) {
|
||||
}
|
||||
$conn->setFetchMode(DB_FETCHMODE_ASSOC);
|
||||
|
||||
// empty default form values
|
||||
/* Logged into inside? */
|
||||
$logged_in_user_id = $_SESSION['valid-user'];
|
||||
$user = NULL;
|
||||
if($logged_in_user_id !== NULL) {
|
||||
try {
|
||||
$user = get_user($logged_in_user_id);
|
||||
} catch(InsideDatabaseException $e) {
|
||||
echo $e->getMessage();
|
||||
error_log($e->getMessage());
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
$firstname = "";
|
||||
$lastname = "";
|
||||
$email = "";
|
||||
// default form values: empty or existing user
|
||||
|
||||
$firstname = $user !== NULL ? $user['firstname'] : "";
|
||||
$lastname = $user !== NULL ? $user['lastname'] : "";
|
||||
$email = $user !== NULL ? $user['email'] : "";
|
||||
$activation_code = "";
|
||||
$phone = "";
|
||||
$phone = $user !== NULL ? $user['number'] : "";
|
||||
$validation_errors = "";
|
||||
|
||||
if( isset($_GET['n']) ) {
|
||||
@@ -49,7 +63,7 @@ if( isset($_POST['submit']) ) {
|
||||
} catch(ValidationException $e) {
|
||||
$validation_errors = $e->getMessage();
|
||||
|
||||
/* Refill form values*/
|
||||
/* Refill form values */
|
||||
$phone = $_POST['phone'];
|
||||
$activation_code = $_POST['activation_code'];
|
||||
$firstname = $_POST['firstname'];
|
||||
@@ -59,6 +73,15 @@ if( isset($_POST['submit']) ) {
|
||||
if($data !== NULL) {
|
||||
try {
|
||||
// persist
|
||||
if($logged_in_user_id !== NULL) {
|
||||
/* update expiry, log event, add cardnumber */
|
||||
update_membership_expiry($data['user_id'], $data['purchased']);
|
||||
update_card_with_user($data['phone'], $data['activation_code'], $data['user_id']);
|
||||
log_userupdate($data['user_id'], "Kortnummer ".$data['activation_code']." knyttet til bruker.");
|
||||
redirect("/snapporder/activate_confirmed.php");
|
||||
die();
|
||||
}
|
||||
|
||||
$user_id = save_sms_form($data);
|
||||
$user = get_user($user_id);
|
||||
|
||||
@@ -94,6 +117,7 @@ if( isset($_POST['submit']) ) {
|
||||
echo "<span class=\"error hidden\"></span>";
|
||||
} ?>
|
||||
<form method="post">
|
||||
<input id="id_user_id" type="hidden" name="user_id" value="<?php echo $logged_in_user_id; ?>" />
|
||||
<div class="activation-form">
|
||||
<!-- Profile -->
|
||||
<div class="form-row">
|
||||
|
||||
@@ -24,7 +24,7 @@ if( !function_exists('hash_ldap_password') ) {
|
||||
function update_card_with_user($phone, $activation_code, $user_id) {
|
||||
global $conn;
|
||||
|
||||
$sql = "UPDATE din_card SET user_id=$user_id,owner_phone_number=NULL WHERE owner_phone_number=$phone AND card_number=$activation_code";
|
||||
$sql = "UPDATE din_card SET user_id=$user_id,owner_phone_number=NULL WHERE owner_phone_number='$phone' AND card_number=$activation_code";
|
||||
$res = $conn->query($sql);
|
||||
if( DB::isError($res) ) {
|
||||
throw new InsideDatabaseException($res->getMessage().". DEBUG: ".$res->getDebugInfo());
|
||||
@@ -105,6 +105,22 @@ function add_user($data, $source) {
|
||||
return $user_id;
|
||||
}
|
||||
|
||||
function __get_cards($value) {
|
||||
if($value === "") {
|
||||
return array();
|
||||
}
|
||||
$u_cs = array();
|
||||
$u_cards = explode(",", $value);
|
||||
foreach ($u_cards as $c) {
|
||||
list($card_number, $card_is_active) = explode(";", $c);
|
||||
$u_cs[] = array(
|
||||
'card_number' => $card_number,
|
||||
'is_active' => $card_is_active
|
||||
);
|
||||
}
|
||||
return $u_cs;
|
||||
}
|
||||
|
||||
/* Get user object with group ids and membership status */
|
||||
function get_user($user_id) {
|
||||
global $conn;
|
||||
@@ -115,10 +131,15 @@ function get_user($user_id) {
|
||||
* - a date >= NOW(): Valid membership
|
||||
* - NULL: Lifelong membership
|
||||
*/
|
||||
$cols = array('id', 'firstname', 'lastname', 'email', 'expires', 'cardno', 'registration_status', 'birthdate', 'membership_trial');
|
||||
$cols = array('users.id', 'firstname', 'lastname', 'email', 'expires', 'registration_status', 'birthdate', 'membership_trial', 'up.number');
|
||||
$sql_cards = "GROUP_CONCAT(DISTINCT c.card_number,';',c.is_active SEPARATOR ',') AS cards";
|
||||
$sql_group_ids = "GROUP_CONCAT(group_id) AS group_ids";
|
||||
$sql_is_member = "expires > NOW() OR expires IS NULL AS is_member";
|
||||
$sql = "SELECT ".implode($cols, ",").",$sql_group_ids,$sql_is_member FROM din_user AS users LEFT JOIN din_usergrouprelationship AS ug ON users.id=ug.user_id WHERE users.id=$user_id GROUP BY users.id";
|
||||
$sql = "SELECT ".implode($cols, ",").",$sql_group_ids,$sql_is_member,$sql_cards FROM din_user AS users
|
||||
LEFT JOIN din_usergrouprelationship AS ug ON users.id=ug.user_id
|
||||
LEFT JOIN din_card AS c ON c.user_id=users.id
|
||||
LEFT JOIN din_userphonenumber AS up ON up.user_id=users.id
|
||||
WHERE users.id=$user_id GROUP BY users.id";
|
||||
$res = $conn->query($sql);
|
||||
if( DB::isError($res) ) {
|
||||
throw new InsideDatabaseException($res->getMessage().". DEBUG: ".$res->getDebugInfo());
|
||||
@@ -145,6 +166,10 @@ function get_user($user_id) {
|
||||
$user['membership_status'] = 1;
|
||||
}
|
||||
}
|
||||
/* Cards */
|
||||
$user['cards'] = __get_cards($user['cards']);
|
||||
|
||||
|
||||
/* Clean up user object */
|
||||
unset($user['is_member']);
|
||||
unset($user['group_ids']);
|
||||
@@ -555,14 +580,25 @@ function validate_activation_form($data) {
|
||||
}
|
||||
|
||||
function validate_sms_form($data) {
|
||||
// phonenumber
|
||||
// phonenumber and user
|
||||
$phone = clean_phonenumber($data['phone']);
|
||||
if( !valid_phonenumber($phone) ) {
|
||||
throw new ValidationException("Ugyldig telefonnummer: ".$data['phone']);
|
||||
}
|
||||
if( getUseridFromPhone($phone) !== false ) {
|
||||
throw new ValidationException("Telefonnummeret ".$data['phone']." er allerede registrert i bruk.");
|
||||
$logged_in_user_id = isset($data['user_id']) && $data['user_id'] !== "" && is_numeric($data['user_id']);
|
||||
if( $logged_in_user_id && get_user($data['user_id']) === false ) {
|
||||
throw new ValidationException("Ugyldig bruker angitt: ".$data['user_id']);
|
||||
}
|
||||
$user_id_by_phone = getUseridFromPhone($phone);
|
||||
if( $user_id_by_phone !== false && $logged_in_user_id && $data['user_id'] !== $user_id_by_phone ) {
|
||||
$login_msg = "Hvis nummeret tilhører deg, <a href=\"https://inside.studentersamfundet.no\">logg inn her</a> først, før du returnerer til og fullfører skjemaet.";
|
||||
throw new ValidationException("Telefonnummeret ".$data['phone']." er allerede registrert i bruk. $login_msg");
|
||||
}
|
||||
if( $user_id_by_phone !== false && !$logged_in_user_id ) {
|
||||
$login_msg = "Hvis nummeret tilhører deg, <a href=\"https://inside.studentersamfundet.no\">logg inn her</a> først, før du returnerer til og fullfører skjemaet.";
|
||||
throw new ValidationException("Telefonnummeret ".$data['phone']." er allerede registrert i bruk. $login_msg");
|
||||
}
|
||||
/* TODO: dont allow card activation twice and user id with existing membership and card */
|
||||
|
||||
$data['phone'] = $phone;
|
||||
|
||||
@@ -574,6 +610,11 @@ function validate_sms_form($data) {
|
||||
$data['purchased'] = clean_timestamp($purchased);
|
||||
$data['source'] = $source;
|
||||
|
||||
if($logged_in_user_id) {
|
||||
/* Existing user */
|
||||
return $data;
|
||||
}
|
||||
|
||||
/* firstname and lastname */
|
||||
if( strlen($data['firstname']) < 2 ) {
|
||||
throw new ValidationException("Fornavn må være 2 tegn eller lengre: ".$data['firstname']);
|
||||
@@ -696,6 +737,25 @@ function get_purchase_date_and_source($phone, $activation_code) {
|
||||
|
||||
return array($timestamp, $source);
|
||||
}
|
||||
function update_membership_expiry($user_id, $purchased=NULL) {
|
||||
global $conn;
|
||||
assert($user_id !== NULL);
|
||||
|
||||
|
||||
/* Membership expiry */
|
||||
/* One year from today (default) */
|
||||
if( $purchased == NULL ) {
|
||||
$purchased = date_create();
|
||||
}
|
||||
/* ...or one year from specified date */
|
||||
$expires = date_format(date_modify($purchased, "+1 year"), "Y-m-d");
|
||||
|
||||
$res = $conn->autoExecute("din_user", array('expires' => $expires), DB_AUTOQUERY_UPDATE, "id=$user_id");
|
||||
|
||||
if( DB::isError($res) ) {
|
||||
new InsideDatabaseException($res->getMessage().". DEBUG: ".$res->getDebugInfo());
|
||||
}
|
||||
}
|
||||
|
||||
/* The purpose of this email is:
|
||||
* - to store the registration_url in the users inbox
|
||||
@@ -751,4 +811,4 @@ function send_confirmation_email($data, $user) {
|
||||
$message .= "</body></html>";
|
||||
|
||||
@mail($sendto, $subject, $message, $headers);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user