diff --git a/_class/class_money_deposit.php b/_class/class_money_deposit.php index c096b50..4c5a94b 100644 --- a/_class/class_money_deposit.php +++ b/_class/class_money_deposit.php @@ -11,6 +11,7 @@ class money_deposit { private $mod_money_income_mi_id; //ID private $mod_money_income; //OBJECT private $mod_deleted; + private $mod_sets_expire_date; public function set_mod_id($_id) { $this->mod_id = $_id; @@ -36,6 +37,10 @@ class money_deposit { $this->mod_deleted = $_deleted; } + public function set_mod_sets_expire_date($_sets_expire_date) { + $this->mod_sets_expire_date = $_sets_expire_date; + } + public function get_mod_id() { return $this->mod_id; } @@ -60,6 +65,10 @@ class money_deposit { return $this->mod_deleted; } + public function get_mod_sets_expire_date() { + return $this->mod_sets_expire_date; + } + public function set_mod_data_by_id($_id) { global $sql; $mod_query = "SELECT * FROM money_deposit WHERE mod_id = " . $_id . ";"; @@ -81,7 +90,7 @@ class money_deposit { } } - public static function create_money_deposit($_user_id, $_date, $_sum, $_pt) { + public static function create_money_deposit($_user_id, $_date, $_sum, $_pt, $_sets_date = false) { global $sql; $income_id = $sql->insert_into('money_income', array( @@ -93,9 +102,18 @@ class money_deposit { ) ); + if ($_sets_date) { + $sql->update_table('user_kid', array( + 'uk_last_deposit' => date('Y-m-d') + ), array( + 'uk_id' => $_user_id, + )); + } + return $sql->insert_into('money_deposit', array( 'mod_user_kid_uk_id' => $_user_id, 'mod_money_income_mi_id' => $income_id, + 'mod_sets_expire_date' => $_sets_date )); } diff --git a/_class/class_user_kid.php b/_class/class_user_kid.php index 64ddf60..8286571 100644 --- a/_class/class_user_kid.php +++ b/_class/class_user_kid.php @@ -8,6 +8,9 @@ class user_kid extends user_parent { private $user_name; private $user_is_active; private $user_balance; + private $user_balance_expires; + private $user_balance_expire_date; + private $user_last_deposit; private $user_last_name; private $user_first_name; private $user_password; @@ -285,6 +288,24 @@ class user_kid extends user_parent { public function get_uk_balance() { return $this->user_balance; } + public function set_uk_balance_expires($_balance_expires) { + $this->user_balance_expires = $_balance_expires; + } + public function get_uk_balance_expires() { + return $this->user_balance_expires; + } + public function set_uk_balance_expire_date($_balance_expire_date) { + $this->user_balance_expire_date = $_balance_expire_date; + } + public function get_uk_balance_expire_date() { + return $this->user_balance_expire_date; + } + public function set_uk_last_deposit($_last_deposit) { + $this->user_last_deposit = $_last_deposit; + } + public function get_uk_last_deposit() { + return $this->user_last_deposit; + } public function set_uk_balance_transfer($_balance_transfer) { $this->user_balance_transfer = $_balance_transfer; } diff --git a/event_handler.php b/event_handler.php index 0efefa5..2885d5c 100644 --- a/event_handler.php +++ b/event_handler.php @@ -287,10 +287,15 @@ if (isset($_POST['action'])) { break; case 'money_deposit_create': # új befizetés létrehozása - $new_mod_id = money_deposit::create_money_deposit($_POST['mod_user_kid_uk_id'], $_POST['mod_date'], $_POST['mod_sum'], $_POST['mod_payment_type']); + $sets_date = (isset($_POST['mod_sets_expire_date']) && $_POST['mod_sets_expire_date']) ? $_POST['mod_sets_expire_date'] : false; + + $new_mod_id = money_deposit::create_money_deposit($_POST['mod_user_kid_uk_id'], $_POST['mod_date'], $_POST['mod_sum'], $_POST['mod_payment_type'], $sets_date); $tmp_user = new user_kid(); $tmp_user->set_user_data_by_id($_POST['mod_user_kid_uk_id']); log::register('new_money_deposit', $tmp_user->get_uk_name() . ': ' . $_POST['mod_sum']. ' Ft (' . $_POST['mod_date'] . ')'); + + $tmp_user->update_balance(); + header("Location: /admin/money_deposit"); break; case 'money_deposit_update': @@ -298,6 +303,7 @@ if (isset($_POST['action'])) { money_deposit::update_money_deposit($_POST['mod_user_kid_uk_id'], $_POST['mod_date'], $_POST['mod_sum'], $_POST['mod_id'], $_POST['mod_payment_type'], $_POST['mi_id']); $tmp_user = new user_kid(); $tmp_user->set_user_data_by_id($_POST['mod_user_kid_uk_id']); + $tmp_user->update_balance(); log::register('update_money_deposit', $tmp_user->get_uk_name() . ': ' . $_POST['mod_sum']. ' Ft (' . $_POST['mod_date'] . ')'); header("Location: /admin/money_deposit"); break; diff --git a/queries/expire_20190730.sql b/queries/expire_20190730.sql new file mode 100644 index 0000000..9096529 --- /dev/null +++ b/queries/expire_20190730.sql @@ -0,0 +1,9 @@ +ALTER TABLE `user_kid` +ADD COLUMN `uk_balance_expires` TINYINT NOT NULL DEFAULT 1 AFTER `uk_balance_transfer`, +ADD COLUMN `uk_balance_expire_date` DATE NULL DEFAULT NULL AFTER `uk_balance_expires`; + +ALTER TABLE `money_deposit` +ADD COLUMN `mod_sets_expire_date` TINYINT NULL DEFAULT 0 AFTER `mod_money_income_mi_id`; + +ALTER TABLE `user_kid` +ADD COLUMN `uk_last_deposit` DATE NULL DEFAULT NULL AFTER `uk_balance_expire_date`; diff --git a/template/templates/money_deposit_create.tpl b/template/templates/money_deposit_create.tpl index 427e06d..854cfaf 100644 --- a/template/templates/money_deposit_create.tpl +++ b/template/templates/money_deposit_create.tpl @@ -1,47 +1,51 @@
-
- + + -
- -
- -
-
+
+ +
+ +
+
-
- -
- -
-
+
+ +
+ +
+
-
- -
-
+
+ +
+
-
- -
-
+
+ +
+
+
+ +
+
-
-
- -
-
+
+
+ +
+
-
+
diff --git a/template/templates/user_data_edit.tpl b/template/templates/user_data_edit.tpl index 56d13ed..7b53f8d 100644 --- a/template/templates/user_data_edit.tpl +++ b/template/templates/user_data_edit.tpl @@ -23,6 +23,16 @@
+
+ +
+
+ +
+ +
+
+
@@ -331,25 +341,37 @@ $("#uk_parent_2").change(function(){ - $.post("/_ajax/get_parent_data.php", - { - parent_id: $("#uk_parent_2").val(), - parent_number: 2 - }, - function(data, status){ - if (!data) { - $("#parent_2_phone").val(''); - $("#parent_2_email").val(''); - $("#parent_2_facebook").val(''); + $.post("/_ajax/get_parent_data.php", + { + parent_id: $("#uk_parent_2").val(), + parent_number: 2 + }, + function(data, status){ + if (!data) { + $("#parent_2_phone").val(''); + $("#parent_2_email").val(''); + $("#parent_2_facebook").val(''); + } + else { + var pdata = JSON.parse(data); + $("#parent_2_phone").val(pdata[1]); + $("#parent_2_email").val(pdata[0]); + $("#parent_2_facebook").val(pdata[2]); + + } + }); + }); + + $("#uk_balance_expires").on('change', function() { + if (!$(this).is(':checked')) { + $('#uk_balance_expire_date').val(''); + $('#uk_balance_expire_date').prop('disabled', 'disabled'); } else { - var pdata = JSON.parse(data); - $("#parent_2_phone").val(pdata[1]); - $("#parent_2_email").val(pdata[0]); - $("#parent_2_facebook").val(pdata[2]); - + $('#uk_balance_expire_date').removeAttr('disabled'); } }); - }); + + $("#uk_balance_expires").trigger('change');