From edf3ab07ba561d17518e1af289199702ea5ab048 Mon Sep 17 00:00:00 2001 From: oyvinbak Date: Fri, 4 Mar 2011 12:14:27 +0100 Subject: [PATCH 1/3] added nagging --- cron/db.php | 12 ++++++++++++ cron/forenings_info_nagging.php | 31 +++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 cron/db.php create mode 100644 cron/forenings_info_nagging.php diff --git a/cron/db.php b/cron/db.php new file mode 100644 index 0000000..34033de --- /dev/null +++ b/cron/db.php @@ -0,0 +1,12 @@ + Date: Sun, 7 Aug 2011 23:45:25 +0200 Subject: [PATCH 2/3] =?UTF-8?q?Oppdatert=20for=20at=20medlemskap=20skal=20?= =?UTF-8?q?f=C3=B8lge=20skolesemester?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inside/Page.php | 14 ++++++------- inside/User.php | 50 +++++++++++++++++++++++++++++++------------- inside/functions.php | 8 +++++++ 3 files changed, 50 insertions(+), 22 deletions(-) diff --git a/inside/Page.php b/inside/Page.php index 1f4e9ef..420a85e 100644 --- a/inside/Page.php +++ b/inside/Page.php @@ -3315,9 +3315,9 @@ Om dere lager en facebook side til arrangementet, ikke glem å putte inn le print ""; print "\n"; print ""; } @@ -3326,12 +3326,12 @@ Om dere lager en facebook side til arrangementet, ikke glem å putte inn le print "produser kort"; } elseif (!$user->getCardDelivered()) { print ""; - print "getExpiryDate())) . "\" />"; - print "getExpiryDate())) . ")\" />"; + print "getNewStickerDate() . "\" />"; + print "getNewStickerDate() . ")\" />"; } elseif (!$user->hasCardSticker()) { print ""; - print "getExpiryDate())) . "\" />"; - print "getExpiryDate())) . ")\" />"; + print "getNewStickerDate() . "\" />"; + print "getNewStickerDate() . ")\" />"; } else { print "-"; } diff --git a/inside/User.php b/inside/User.php index a1a895b..b9b6b49 100644 --- a/inside/User.php +++ b/inside/User.php @@ -719,10 +719,16 @@ class User { } public function updateExpiry($newDate) { + if(preg_match('#^\d{4}/\d{2}$#', $newDate)) + { + $newDate = substr($newDate,0,2) . substr($newDate,5,2); + } + if ($newDate == 'lifetime') { $sql = "UPDATE din_user SET expires = NULL WHERE id = $this->id LIMIT 1"; } else { - $sql = "UPDATE din_user SET expires = '$newDate-12-31' WHERE id = $this->id LIMIT 1"; + $expires = $this->getExpiryDate($newDate); + $sql = "UPDATE din_user SET expires = '$expires' WHERE id = $this->id LIMIT 1"; } $conn = db_connect(); $result = $this->conn->query($sql); @@ -923,12 +929,26 @@ class User { return true; } } + + public function getNewStickerDate() + { + $year = substr($this->getExpiryDate(),0,4); + return $year . '/' . (substr($year,2,2) + 1); + } - public function getExpiryDate() { - if (date("Y-m-d") > date("Y-11-15")) { - return date("Y", strtotime("+1 year")) . "-12-31"; - } else { - return date("Y") . "-12-31"; + public function getExpiryDate($year) { + if($year) + { + return $year . '07-01'; + } + + if (date("m-d") > "07-01" ) + { + return date("Y", strtotime("+1 year")) . '-08-01'; + } + else + { + return date("Y") . '-08-01'; } } @@ -1230,10 +1250,10 @@ class User { print "\n"; print "\n"; print "\n"; @@ -1252,10 +1272,10 @@ class User { print "
"; print ""; print ""; print ""; @@ -1552,4 +1572,4 @@ class User { return $this->membershipCard; } } -?> \ No newline at end of file +?> diff --git a/inside/functions.php b/inside/functions.php index 1f31ac0..293a55f 100644 --- a/inside/functions.php +++ b/inside/functions.php @@ -1554,4 +1554,12 @@ function strip_nl($string) { $string = str_replace("\r", "", $string); return $string; } + + +function getStickerPeriod($time) +{ + $start = date('Y', strtotime($time)); + return $start . '/' . (substr($start,2,2) + 1); +} + ?> From b89bdfde6c2ed16cc743b237434a1f3abdebda3a Mon Sep 17 00:00:00 2001 From: Mausern Testbruker Date: Sun, 7 Aug 2011 23:56:07 +0200 Subject: [PATCH 3/3] live changes --- inside/ActionParser.php | 1 + inside/Page.php | 2 +- inside/User.php | 75 ++++++++++++++++++++++------------------- inside/functions.php | 25 +++++++++++++- 4 files changed, 66 insertions(+), 37 deletions(-) diff --git a/inside/ActionParser.php b/inside/ActionParser.php index 6ca9164..574779a 100644 --- a/inside/ActionParser.php +++ b/inside/ActionParser.php @@ -764,6 +764,7 @@ private function logError($username, $error) } public function _deleteEvent() { + die('Sletting av eventer er midlertidig avskrudd. Ta kontakt med komans@studentersamfundet.no eller edb@studentersamfundet.no for å få slettet ting.'); Event :: delete(scriptParam("eventid")); } diff --git a/inside/Page.php b/inside/Page.php index 55e242e..1f4e9ef 100644 --- a/inside/Page.php +++ b/inside/Page.php @@ -3344,7 +3344,7 @@ Om dere lager en facebook side til arrangementet, ikke glem å putte inn le print ""; print "getId() . "\" />"; if ($user->getCardDelivered()) { - print ""; + print ""; print ""; } print ""; diff --git a/inside/User.php b/inside/User.php index 92bdf79..a1a895b 100644 --- a/inside/User.php +++ b/inside/User.php @@ -575,11 +575,11 @@ class User { } public function renewMembership($cardno) { - $expires = $this->getExpiryDate(); - if ($expires <= $this->expires) { + if (!$this->hasExpired()) { notify("Du har allerede gyldig medlemskap for dette året."); return false; } + $expires = $this->getExpiryDate(); $this->conn->autoCommit(false); if ($this->_registerUsedCardno($cardno) == true) { $sql = "UPDATE din_user SET " . " expires = '$expires' " . "WHERE " . " id = $this->id"; @@ -602,11 +602,11 @@ class User { } public function renewMembershipPayex() { - $expires = $this->getExpiryDate(); - if ($expires <= $this->expires) { + if (!$this->hasExpired()) { notify("Du har allerede gyldig medlemskap for dette året."); return false; } + $expires = $this->getExpiryDate(); $this->conn->autoCommit(false); $sql = "UPDATE din_user SET " . " expires = '$expires' " . "WHERE " . " id = $this->id"; $result = $this->conn->query($sql); @@ -626,11 +626,11 @@ class User { } public function renewMembershipEurobate() { - $expires = $this->getExpiryDate(); - if ($expires <= $this->expires) { + if (!$this->hasExpired()) { // har allerede gyldig medlemskap return false; } + $expires = $this->getExpiryDate(); $this->conn->autoCommit(false); $sql = "UPDATE din_user SET " . " expires = '$expires' " . "WHERE " . " id = $this->id"; $result = $this->conn->query($sql); @@ -685,8 +685,7 @@ class User { /* Order new membercard if old one is lost */ public function renewMembercardPayex() { - $expires = $this->getExpiryDate(); - if ($expires > $this->expires) { + if ($this->hasExpired()) { notify("Du har ikke gyldig medlemskap for dette året."); return false; } @@ -986,37 +985,43 @@ class User { * @return boolean **/ public function setAddressStatus($value) { - // check for valid input value - if (is_numeric($value) && $value >= 0 && $value <=2) { - $sql = "UPDATE din_user SET " . - "valid_address = '$value' " . - "WHERE " . - "id = $this->id"; - $result = $this->conn->query($sql); - - if (DB :: isError($result) != true) { - $this->validAddress = $value; - - switch ($value) { - case 1: - $valuetext = "gyldig"; break; - case 2: - $valuetext = "ukjent"; break; - default: - $valuetext = "ugyldig"; break; + // only update if new status is different from old one + if ($this->validAddress == $value) { + // do nothing, old and new status is the same + return true; + } else { + // check for valid input value + if (is_numeric($value) && $value >= 0 && $value <=2) { + $sql = "UPDATE din_user SET " . + "valid_address = '$value' " . + "WHERE " . + "id = $this->id"; + $result = $this->conn->query($sql); + + if (DB :: isError($result) != true) { + $this->validAddress = $value; + + switch ($value) { + case 1: + $valuetext = "gyldig"; break; + case 2: + $valuetext = "ukjent"; break; + default: + $valuetext = "ugyldig"; break; + } + // store update + $this->_registerUpdate("Adressestatus satt til $valuetext."); + + // done + return true; + } else { + notify("Problemer med registreringen av adressestatus"); + return false; } - // store update - $this->_registerUpdate("Adressestatus satt til $valuetext."); - - // done - return true; } else { - notify("Problemer med registreringen av adressestatus"); + notify("Ugyldig adressestatusverdi: " . $value); return false; } - } else { - notify("Ugyldig adressestatusverdi: " . $value); - return false; } return false; } diff --git a/inside/functions.php b/inside/functions.php index 2f9919c..1f31ac0 100644 --- a/inside/functions.php +++ b/inside/functions.php @@ -634,13 +634,36 @@ function checkPassword($userid, $verificationCode) { } function displayCode($code) { - print "

" . getCode($code) . "

"; + print "

"; + print "Kortnummer: $code
"; + print "Kode: " . getCode($code) . "
"; + if (isValidCode($code)) { + print "Koden har ikke vært brukt"; + } else { + print "Koden har allerede vært brukt"; + } + print "

"; } function getCode($code) { return substr(crypt(trim($code), 1813), 2, 6); } +function isValidCode($code) { + $conn = db_connect(); + $sql = "SELECT id FROM din_user WHERE cardno=$code"; + $result = $conn->query($sql); + if (DB :: isError($result) != true) { + if ($result->numRows() > 0) { + return false; + } + } else { + error($result->toString()); + notify("En ukjent feil oppstod. Vennligst kontakt administrator."); + } + return true; +} + function generatePassword() { $seed = rand(1, 2000);