diff --git a/_class/class_login.php b/_class/class_login.php index d250917..f532610 100755 --- a/_class/class_login.php +++ b/_class/class_login.php @@ -47,7 +47,7 @@ class login { } - public function check_coach_login($_user_name, $_user_password) { + public function check_admin_login($_user_name, $_user_password) { global $sql; //ez a függvény ellenőrzi le a bevitt adatok //vissszadja a user_id-t, ha helyesek az adatok @@ -56,7 +56,7 @@ class login { " SELECT ua_id FROM user_coach WHERE (ua_name = '" . $_user_name . "' AND - ua_password = '" . md5($_user_password ) . "')"; + ua_password = '" . md5($_user_password ) . "') AND ua_deleted = 0 AND ua_admin = 1"; //echo $check_query; @@ -67,9 +67,6 @@ class login { public function check_kid_login($_user_name, $_user_password) { global $sql; - //ez a függvény ellenőrzi le a bevitt adatok - //vissszadja a user_id-t, ha helyesek az adatok - //null ha nem $check_query = " SELECT uk_id FROM user_kid WHERE @@ -81,14 +78,36 @@ class login { return null; } + public function check_coach_login($_user_name, $_user_password) { + global $sql; + $check_query = + " + SELECT ua_id FROM user_coach WHERE + (ua_name = '" . $_user_name . "' AND + ua_password = '" . md5($_user_password ) . "') AND ua_deleted = 0"; + + //echo $check_query; + + if ($sql->num_of_rows($check_query)) return $sql->single_variable($check_query); + + return null; + } + public function login_user($_user_id, $_cookie_name, $_user_type) { //beállítja a belépett user adatait cookieba (ha még nincs) global $sql; if (!isset($_COOKIE[$_cookie_name])) { //user objektumot nem lehet cookie-ban tárolni, ezért user_id-t rakunk bele - if ($_user_type == 1) $user_login = new user(); - else $user_login = new user_kid(); + if ($_user_type == 1) { + $user_login = new user(); + } + elseif ($_user_type == 2) { + $user_login = new user_kid(); + } + elseif ($_user_type == 3) { + $user_login = new user(); + } $user_login->set_user_data_by_id($_user_id); $user_login->update_login_time(); setcookie($_cookie_name, $_user_id, time()+60*60*168, '/'); diff --git a/_class/class_page.php b/_class/class_page.php index 8a684c5..06e8d2d 100755 --- a/_class/class_page.php +++ b/_class/class_page.php @@ -33,6 +33,11 @@ class page { $menu_assoc_array = $sql->assoc_array($menus_query); $smarty->assign('menus', $menu_assoc_array); } + elseif ($this->get_page() == 'coach') { + $menus_query = "SELECT * FROM subpage WHERE spage_page_id = 3;"; + $menu_assoc_array = $sql->assoc_array($menus_query); + $smarty->assign('menus', $menu_assoc_array); + } $smarty->assign('page', $this->get_page()); $smarty->display('nav.tpl'); @@ -210,7 +215,7 @@ class page { break; case 'logout': # kijelentkezés - $from = "coach"; + $from = "admin"; include('include_logout.php'); break; default: @@ -228,7 +233,7 @@ class page { switch ($this->get_subpage()) { case 'logout': # kijelentkezés - $from = "parent"; + $from = "view"; include('include_logout.php'); break; case 'overview': @@ -268,6 +273,23 @@ class page { break; } break; + case 'coach': + # EDZŐI NÉZET + switch ($this->get_subpage()) { + case 'diary': + # napló, edzéslista + include('include_coach_diary.php'); + break; + case 'logout': + # kijelentkezés + $from = "coach"; + include('include_logout.php'); + break; + default: + include('include_coach_diary.php'); + break; + } + break; default: # code... break; @@ -276,6 +298,7 @@ class page { } else { //nincs bejelentkezve + $smarty->assign("page", $this->get_page()); $smarty->display("login.tpl"); } diff --git a/_class/class_user.php b/_class/class_user.php index 1d4d38c..23efc0a 100755 --- a/_class/class_user.php +++ b/_class/class_user.php @@ -16,6 +16,7 @@ class user { private $user_first_name; private $user_password; private $user_last_login; + private $user_admin; private $logged_in; private $user_type; private $user_deleted; @@ -44,6 +45,10 @@ class user { $this->user_last_login = $_u_last_login; } + public function set_ua_admin($_u_admin) { + $this->user_admin = $_u_admin; + } + public function set_ua_deleted($_u_deleted) { $this->user_deleted = $_u_deleted; } @@ -68,6 +73,10 @@ class user { return $this->user_password; } + public function get_ua_admin() { + return $this->user_admin; + } + public function get_ua_deleted() { return $this->user_deleted; } @@ -121,6 +130,11 @@ class user { $this->user_type = $_type; } + public function get_training_count_in_month($_year, $_month) { + global $sql; + return $sql->single_variable('select count(distinct trc_id) from training_coach join training on tr_id = trc_training_tr_id where year(tr_date) = '.$_year.' and month(tr_date) = '.$_month.' and trc_coach_uc_id = '.$this->get_ua_id().';'); + } + public static function create_user($_name, $_password) { global $sql; return $sql->insert_into('user_coach', array( @@ -130,12 +144,13 @@ class user { ); } - public static function update_user($_name, $_password, $_ua_id) { + public static function update_user($_name, $_password, $_admin, $_ua_id) { global $sql; if ($_password != "-1") { return $sql->update_table('user_coach', array( 'ua_name' => $_name, + 'ua_admin' => ($_admin?1:0), 'ua_password' => $_password ), array( @@ -147,6 +162,7 @@ class user { return $sql->update_table('user_coach', array( 'ua_name' => $_name, + 'ua_admin' => ($_admin?1:0), ), array( 'ua_id' => $_ua_id diff --git a/_css/default.css b/_css/default.css index fab5677..a86e915 100644 --- a/_css/default.css +++ b/_css/default.css @@ -214,7 +214,7 @@ td.create a { margin: 4px 0px; vertical-align: middle; width: 100%; - padding: 5px; + padding: 10px 5px; background-color: #e6e6e6; font-size: 18px; font-family: Arial; @@ -399,7 +399,7 @@ table.log tr.delete:hover { font-size: 18px; font-family: Arial; margin: 4px 0px; - padding: 5px; + padding: 10px 5px; } @@ -407,7 +407,7 @@ table.log tr.delete:hover { text-align: center; cursor: pointer; border-bottom: 1px dotted black; - padding: 2px 0px; + padding: 6px 0px; } .kid_menu .kid_submenu:hover { diff --git a/_css/default_coach.css b/_css/default_coach.css new file mode 100644 index 0000000..29c4962 --- /dev/null +++ b/_css/default_coach.css @@ -0,0 +1,42 @@ +body { + background-color: #2281DD; +} + +main { + background-color: #2281DD; +} + +.danger a:link { + color: #2281DD; + text-decoration: underline; +} + +.danger a:visited { + color: #2281DD; + text-decoration: underline; +} + +ul.topnav { + background-color: #0F1953; +} + +ul.topnav li a, ul.topnav span { + color: #fff; +} + +ul.topnav li a:hover, ul.topnav li a span:hover { + background: transparent; + text-decoration: underline; +} + +div.list div.money_deposit { + background-color: #0F1953; + border-left: 2px solid #2281DD; + color: #020372; +} + +.list .money_deposit:hover { + background-color: #F3BF75; + border-left: 2px solid #000; + color: #2281DD; +} \ No newline at end of file diff --git a/_include/include_coach_diary.php b/_include/include_coach_diary.php new file mode 100644 index 0000000..43e2be6 --- /dev/null +++ b/_include/include_coach_diary.php @@ -0,0 +1,32 @@ +get_ua_id() . " + ORDER BY tr_date DESC + ; + "; + + + $action_assoc_array = $sql->assoc_array($action_list_query); + + $trainings = array(); + foreach ($action_assoc_array as $action) { + $new_training = new training(); + $new_training->set_training_data_by_id($action['tr_id']); + $trainings[] = $new_training; + } + + + $smarty->assign('trainings', $trainings); + $smarty->display('coach_diary.tpl'); + + + +?> \ No newline at end of file diff --git a/_include/include_coaches.php b/_include/include_coaches.php index 17db1d1..9e755b0 100644 --- a/_include/include_coaches.php +++ b/_include/include_coaches.php @@ -8,9 +8,13 @@ if ($this->is_id()) { $user_data_query = "SELECT * FROM user_coach WHERE ua_id = " . $this->get_id(); $user_data_assoc_array = $sql->assoc_array($user_data_query); + $new_coach = new user(); + $new_coach->set_user_data_by_id($user_data_assoc_array[0]['ua_id']); + //smarty thingz $smarty->assign('user_data', $user_data_assoc_array[0]); + $smarty->assign('coach', $new_coach); $smarty->display('coach_data_edit.tpl'); } else { diff --git a/_include/include_logout.php b/_include/include_logout.php index 4cc98b9..ee11ca8 100644 --- a/_include/include_logout.php +++ b/_include/include_logout.php @@ -1,16 +1,23 @@ \ No newline at end of file diff --git a/common.php b/common.php index a4e715d..c5e4c5c 100644 --- a/common.php +++ b/common.php @@ -84,9 +84,9 @@ else $sql = new sql('localhost','tollashodos','uprRscU8bGpJ','tollashodos'); $logout = false; //meg kell-e jeleníteni a kijelentkezés gombot if ($_GET['page'] == 'admin') { - if (isset($_COOKIE['badminton_coach_user'])) { + if (isset($_COOKIE['badminton_admin_user'])) { $user = new user(); - $user->set_user_data_by_id($_COOKIE['badminton_coach_user']); + $user->set_user_data_by_id($_COOKIE['badminton_admin_user']); $logout = true; $smarty->assign('user_login', $user); //var_dump($user); @@ -101,7 +101,16 @@ elseif ($_GET['page'] == 'view') { //var_dump($user); } } -elseif ($_GET['page'] == 'preview' && (isset($_COOKIE['badminton_coach_user']))) { +elseif ($_GET['page'] == 'coach') { + if (isset($_COOKIE['badminton_coach_user'])) { + $user = new user(); + $user->set_user_data_by_id($_COOKIE['badminton_coach_user']); + $logout = true; + $smarty->assign('user_login', $user); + //var_dump($user); + } +} +elseif ($_GET['page'] == 'preview' && (isset($_COOKIE['badminton_admin_user']))) { if (isset($_GET['id'])) { $user = new user_kid(); $user->set_user_data_by_id($_GET['id']); diff --git a/event_handler.php b/event_handler.php index 50cf07c..d523b1f 100644 --- a/event_handler.php +++ b/event_handler.php @@ -11,21 +11,33 @@ if (isset($_POST['action'])) { USER TYPES: 1 - coach, 2 - kid, 3 - parent */ $login = new login(); + + $user_admin_id = null; + $user_kid_id = null; + $user_coach_id = null; - $user_coach_id = $login->check_coach_login($_POST['user_name'], $_POST['user_password']); - $user_kid_id = $login->check_kid_login($_POST['user_name'], $_POST['user_password']); - if ($user_coach_id) { - //sikeres bejelentkezés - $login->login_user($user_coach_id, 'badminton_coach_user', 1); - log::register('admin_login', $user_coach_id, null, $user_coach_id); + if ($_REQUEST['page'] == 'admin') $user_admin_id = $login->check_admin_login($_POST['user_name'], $_POST['user_password']); + if ($_REQUEST['page'] == 'view') $user_kid_id = $login->check_kid_login($_POST['user_name'], $_POST['user_password']); + if ($_REQUEST['page'] == 'coach') $user_coach_id = $login->check_coach_login($_POST['user_name'], $_POST['user_password']); + + if ($user_admin_id) { + //sikeres bejelentkezés adminként + $login->login_user($user_admin_id, 'badminton_admin_user', 1); + log::register('admin_login', $user_admin_id, null, $user_admin_id); header("Location: " . $actual_link); } elseif ($user_kid_id) { - //sikeres bejelentkezés + //sikeres bejelentkezés szülőként $login->login_user($user_kid_id, 'badminton_parent_user', 2); log::register('kid_login', $user_kid_id, null, $user_kid_id); header("Location: " . $actual_link); } + elseif ($user_coach_id) { + //sikeres bejelentkezés szülőként + $login->login_user($user_coach_id, 'badminton_coach_user', 3); + log::register('coach_login', $user_coach_id, null, $user_coach_id); + header("Location: " . $actual_link); + } else { //die($user_coach_id); //sikertelen bejelentkezés @@ -150,16 +162,14 @@ if (isset($_POST['action'])) { break; case 'coach_data_edit': # edző update - if (isset($_POST['ua_can_login']) && !empty($_POST['ua_can_login']) && !empty($_POST['ua_password'])) { + if (!empty($_POST['ua_password'])) { $psw = md5($_POST['ua_password']); } - elseif (isset($_POST['ua_can_login']) && !empty($_POST['ua_can_login']) && empty($_POST['ua_password'])) { + else { $psw = "-1"; //ez jelzi h nem szabad updatelni } - else { - $psw = "null"; - } - user::update_user($_POST['ua_name'], $psw, $_POST['ua_id']); + + user::update_user($_POST['ua_name'], $psw, isset($_POST['ua_admin']), $_POST['ua_id']); log::register('update_coach', $_POST['ua_id']); header("Location: /admin/coaches"); break; diff --git a/index.php b/index.php index 6f22502..646975e 100755 --- a/index.php +++ b/index.php @@ -40,6 +40,10 @@ setlocale(LC_ALL, 'hu_HU'); if ($page->is_subpage() && $page->get_subpage() == "diary"|| $page->get_page() == "view" && !$page->is_subpage()) echo ''; + if ($page->is_page() && $page->get_page() == 'coach') { + echo ''; + } + ?> diff --git a/template/templates/coach_data_edit.tpl b/template/templates/coach_data_edit.tpl index a5aa87d..bf20e71 100644 --- a/template/templates/coach_data_edit.tpl +++ b/template/templates/coach_data_edit.tpl @@ -1,20 +1,20 @@
+
+