created coach site

This commit is contained in:
Ricsi
2017-04-22 20:01:23 +02:00
parent acfa06e40a
commit 04beae7eca
16 changed files with 287 additions and 55 deletions

View File

@@ -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; global $sql;
//ez a függvény ellenőrzi le a bevitt adatok //ez a függvény ellenőrzi le a bevitt adatok
//vissszadja a user_id-t, ha helyesek az adatok //vissszadja a user_id-t, ha helyesek az adatok
@@ -56,7 +56,7 @@ class login {
" "
SELECT ua_id FROM user_coach WHERE SELECT ua_id FROM user_coach WHERE
(ua_name = '" . $_user_name . "' AND (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; //echo $check_query;
@@ -67,9 +67,6 @@ class login {
public function check_kid_login($_user_name, $_user_password) { public function check_kid_login($_user_name, $_user_password) {
global $sql; 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 = $check_query =
" "
SELECT uk_id FROM user_kid WHERE SELECT uk_id FROM user_kid WHERE
@@ -81,14 +78,36 @@ class login {
return null; 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) { public function login_user($_user_id, $_cookie_name, $_user_type) {
//beállítja a belépett user adatait cookieba (ha még nincs) //beállítja a belépett user adatait cookieba (ha még nincs)
global $sql; global $sql;
if (!isset($_COOKIE[$_cookie_name])) { if (!isset($_COOKIE[$_cookie_name])) {
//user objektumot nem lehet cookie-ban tárolni, ezért user_id-t rakunk bele //user objektumot nem lehet cookie-ban tárolni, ezért user_id-t rakunk bele
if ($_user_type == 1) $user_login = new user(); if ($_user_type == 1) {
else $user_login = new user_kid(); $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->set_user_data_by_id($_user_id);
$user_login->update_login_time(); $user_login->update_login_time();
setcookie($_cookie_name, $_user_id, time()+60*60*168, '/'); setcookie($_cookie_name, $_user_id, time()+60*60*168, '/');

View File

@@ -33,6 +33,11 @@ class page {
$menu_assoc_array = $sql->assoc_array($menus_query); $menu_assoc_array = $sql->assoc_array($menus_query);
$smarty->assign('menus', $menu_assoc_array); $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->assign('page', $this->get_page());
$smarty->display('nav.tpl'); $smarty->display('nav.tpl');
@@ -210,7 +215,7 @@ class page {
break; break;
case 'logout': case 'logout':
# kijelentkezés # kijelentkezés
$from = "coach"; $from = "admin";
include('include_logout.php'); include('include_logout.php');
break; break;
default: default:
@@ -228,7 +233,7 @@ class page {
switch ($this->get_subpage()) { switch ($this->get_subpage()) {
case 'logout': case 'logout':
# kijelentkezés # kijelentkezés
$from = "parent"; $from = "view";
include('include_logout.php'); include('include_logout.php');
break; break;
case 'overview': case 'overview':
@@ -268,6 +273,23 @@ class page {
break; break;
} }
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: default:
# code... # code...
break; break;
@@ -276,6 +298,7 @@ class page {
} }
else { else {
//nincs bejelentkezve //nincs bejelentkezve
$smarty->assign("page", $this->get_page());
$smarty->display("login.tpl"); $smarty->display("login.tpl");
} }

View File

@@ -16,6 +16,7 @@ class user {
private $user_first_name; private $user_first_name;
private $user_password; private $user_password;
private $user_last_login; private $user_last_login;
private $user_admin;
private $logged_in; private $logged_in;
private $user_type; private $user_type;
private $user_deleted; private $user_deleted;
@@ -44,6 +45,10 @@ class user {
$this->user_last_login = $_u_last_login; $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) { public function set_ua_deleted($_u_deleted) {
$this->user_deleted = $_u_deleted; $this->user_deleted = $_u_deleted;
} }
@@ -68,6 +73,10 @@ class user {
return $this->user_password; return $this->user_password;
} }
public function get_ua_admin() {
return $this->user_admin;
}
public function get_ua_deleted() { public function get_ua_deleted() {
return $this->user_deleted; return $this->user_deleted;
} }
@@ -121,6 +130,11 @@ class user {
$this->user_type = $_type; $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) { public static function create_user($_name, $_password) {
global $sql; global $sql;
return $sql->insert_into('user_coach', array( 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; global $sql;
if ($_password != "-1") { if ($_password != "-1") {
return $sql->update_table('user_coach', return $sql->update_table('user_coach',
array( array(
'ua_name' => $_name, 'ua_name' => $_name,
'ua_admin' => ($_admin?1:0),
'ua_password' => $_password 'ua_password' => $_password
), ),
array( array(
@@ -147,6 +162,7 @@ class user {
return $sql->update_table('user_coach', return $sql->update_table('user_coach',
array( array(
'ua_name' => $_name, 'ua_name' => $_name,
'ua_admin' => ($_admin?1:0),
), ),
array( array(
'ua_id' => $_ua_id 'ua_id' => $_ua_id

View File

@@ -214,7 +214,7 @@ td.create a {
margin: 4px 0px; margin: 4px 0px;
vertical-align: middle; vertical-align: middle;
width: 100%; width: 100%;
padding: 5px; padding: 10px 5px;
background-color: #e6e6e6; background-color: #e6e6e6;
font-size: 18px; font-size: 18px;
font-family: Arial; font-family: Arial;
@@ -399,7 +399,7 @@ table.log tr.delete:hover {
font-size: 18px; font-size: 18px;
font-family: Arial; font-family: Arial;
margin: 4px 0px; margin: 4px 0px;
padding: 5px; padding: 10px 5px;
} }
@@ -407,7 +407,7 @@ table.log tr.delete:hover {
text-align: center; text-align: center;
cursor: pointer; cursor: pointer;
border-bottom: 1px dotted black; border-bottom: 1px dotted black;
padding: 2px 0px; padding: 6px 0px;
} }
.kid_menu .kid_submenu:hover { .kid_menu .kid_submenu:hover {

42
_css/default_coach.css Normal file
View File

@@ -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;
}

View File

@@ -0,0 +1,32 @@
<?php
$action_list_query = "
SELECT
*
FROM
training
JOIN
training_coach ON trc_training_tr_id = tr_id
WHERE
trc_coach_uc_id = " . $user->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');
?>

View File

@@ -8,9 +8,13 @@ if ($this->is_id()) {
$user_data_query = "SELECT * FROM user_coach WHERE ua_id = " . $this->get_id(); $user_data_query = "SELECT * FROM user_coach WHERE ua_id = " . $this->get_id();
$user_data_assoc_array = $sql->assoc_array($user_data_query); $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 thingz
$smarty->assign('user_data', $user_data_assoc_array[0]); $smarty->assign('user_data', $user_data_assoc_array[0]);
$smarty->assign('coach', $new_coach);
$smarty->display('coach_data_edit.tpl'); $smarty->display('coach_data_edit.tpl');
} }
else { else {

View File

@@ -1,16 +1,23 @@
<?php <?php
if ($from == 'coach') { if ($from == 'admin') {
$log_c = 'admin_logout'; $log_c = 'admin_logout';
$cookie = 'admin';
} }
elseif ($from == 'parent') { elseif ($from == 'view') {
$log_c = 'kid_logout'; $log_c = 'kid_logout';
$cookie = 'parent';
} }
log::register($log_c, $_COOKIE['badminton_'.$from.'_user']); elseif ($from == 'coach') {
$log_c = 'coach_logout';
$cookie = 'coach';
}
log::register($log_c, $_COOKIE['badminton_'.$cookie.'_user']);
setcookie('badminton_'.$from.'_user', 'null', time()-60*60*72, '/'); setcookie('badminton_'.$from.'_user', 'null', time()-60*60*72, '/');
unset($_COOKIE['badminton_'.$from.'_user']); unset($_COOKIE['badminton_'.$cookie.'_user']);
header('Location: http://' . $_SERVER['HTTP_HOST']); header('Location: http://' . $_SERVER['HTTP_HOST'] . '/' . $from);
?> ?>

View File

@@ -84,9 +84,9 @@ else $sql = new sql('localhost','tollashodos','uprRscU8bGpJ','tollashodos');
$logout = false; //meg kell-e jeleníteni a kijelentkezés gombot $logout = false; //meg kell-e jeleníteni a kijelentkezés gombot
if ($_GET['page'] == 'admin') { if ($_GET['page'] == 'admin') {
if (isset($_COOKIE['badminton_coach_user'])) { if (isset($_COOKIE['badminton_admin_user'])) {
$user = new 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; $logout = true;
$smarty->assign('user_login', $user); $smarty->assign('user_login', $user);
//var_dump($user); //var_dump($user);
@@ -101,7 +101,16 @@ elseif ($_GET['page'] == 'view') {
//var_dump($user); //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'])) { if (isset($_GET['id'])) {
$user = new user_kid(); $user = new user_kid();
$user->set_user_data_by_id($_GET['id']); $user->set_user_data_by_id($_GET['id']);

View File

@@ -11,21 +11,33 @@ if (isset($_POST['action'])) {
USER TYPES: 1 - coach, 2 - kid, 3 - parent USER TYPES: 1 - coach, 2 - kid, 3 - parent
*/ */
$login = new login(); $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']); if ($_REQUEST['page'] == 'admin') $user_admin_id = $login->check_admin_login($_POST['user_name'], $_POST['user_password']);
$user_kid_id = $login->check_kid_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 ($user_coach_id) { if ($_REQUEST['page'] == 'coach') $user_coach_id = $login->check_coach_login($_POST['user_name'], $_POST['user_password']);
//sikeres bejelentkezés
$login->login_user($user_coach_id, 'badminton_coach_user', 1); if ($user_admin_id) {
log::register('admin_login', $user_coach_id, null, $user_coach_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); header("Location: " . $actual_link);
} }
elseif ($user_kid_id) { elseif ($user_kid_id) {
//sikeres bejelentkezés //sikeres bejelentkezés szülőként
$login->login_user($user_kid_id, 'badminton_parent_user', 2); $login->login_user($user_kid_id, 'badminton_parent_user', 2);
log::register('kid_login', $user_kid_id, null, $user_kid_id); log::register('kid_login', $user_kid_id, null, $user_kid_id);
header("Location: " . $actual_link); 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 { else {
//die($user_coach_id); //die($user_coach_id);
//sikertelen bejelentkezés //sikertelen bejelentkezés
@@ -150,16 +162,14 @@ if (isset($_POST['action'])) {
break; break;
case 'coach_data_edit': case 'coach_data_edit':
# edző update # 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']); $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 $psw = "-1"; //ez jelzi h nem szabad updatelni
} }
else {
$psw = "null"; user::update_user($_POST['ua_name'], $psw, isset($_POST['ua_admin']), $_POST['ua_id']);
}
user::update_user($_POST['ua_name'], $psw, $_POST['ua_id']);
log::register('update_coach', $_POST['ua_id']); log::register('update_coach', $_POST['ua_id']);
header("Location: /admin/coaches"); header("Location: /admin/coaches");
break; break;

View File

@@ -40,6 +40,10 @@ setlocale(LC_ALL, 'hu_HU');
if ($page->is_subpage() && $page->get_subpage() == "diary"|| $page->get_page() == "view" && !$page->is_subpage()) if ($page->is_subpage() && $page->get_subpage() == "diary"|| $page->get_page() == "view" && !$page->is_subpage())
echo '<link rel="stylesheet" type="text/css" href="/_css/diary.css">'; echo '<link rel="stylesheet" type="text/css" href="/_css/diary.css">';
if ($page->is_page() && $page->get_page() == 'coach') {
echo '<link rel="stylesheet" type="text/css" href="/_css/default_coach.css">';
}
?> ?>

View File

@@ -1,20 +1,20 @@
<div class="form_wrapper"> <div class="form_wrapper">
<form method="post"> <form method="post">
<div class="buttons"> <div class="buttons">
<a href="/admin/delete_coach/{$user_data.ua_id}" class="addbutton delete-big">Edző törlése</a> <a href="/admin/delete_coach/{$coach->get_ua_id()}" class="addbutton delete-big">Edző törlése</a>
</div> </div>
<input type="hidden" name="action" value="coach_data_edit"> <input type="hidden" name="action" value="coach_data_edit">
<input type="hidden" name="ua_id" value="{$user_data.ua_id}"> <input type="hidden" name="ua_id" value="{$coach->get_ua_id()}">
<div> <div>
<label class="desc" id="title1" for="ua_name">Név:</label> <label class="desc" id="title1" for="ua_name">Név:</label>
<div><input type="text" name="ua_name" id="ua_name" value="{$user_data.ua_name}" required></div> <div><input type="text" name="ua_name" id="ua_name" value="{$coach->get_ua_name()}" required></div>
</div> </div>
<div> <div>
<label class="desc" id="title1" for="ua_can_login">Be tud lépni:</label> <label class="desc" id="title1" for="ua_can_login">Admin:</label>
<div><input type="checkbox" name="ua_can_login" id="ua_can_login" {if $user_data.ua_password != ''}checked{/if}></div> <div><input type="checkbox" name="ua_admin" id="ua_admin" {if $coach->get_ua_admin()}checked{/if}></div>
</div> </div>
<div id="password"> <div id="password">
@@ -29,16 +29,4 @@
</div> </div>
</form> </form>
</div> </div>
<script type="text/javascript">
$( document ).ready(function() {
if (!$('#ua_can_login').attr('checked')) $("#password").hide();
});
$('#ua_can_login').click(function() {
$("#password").toggle(this.checked);
});
</script>

View File

@@ -0,0 +1,77 @@
<div class="list half_width">
{foreach $trainings as $training}
{if
$training@first ||
(
$trainings[$training@index]->get_tr_date()|substr:5:2 != $trainings[$training@index-1]->get_tr_date()|substr:5:2
)
}
{if !$training@first &&
$trainings[$training@index]->get_tr_date()|substr:5:2 != $trainings[$training@index-1]->get_tr_date()|substr:5:2
}
</div>
{/if}
<span onclick="block_action('block_{$training->get_tr_date()|substr:0:4}{$training->get_tr_date()|substr:5:2}');" class="date_separator clickable">{$trainings[$training@index]->get_tr_date()|substr:0:4}.
{$months[$trainings[$training@index]->get_tr_date()|substr:5:2]} ({$user_login->get_training_count_in_month($training->get_tr_date()|substr:0:4,$training->get_tr_date()|substr:5:2)})
<img src="/_image/open_folder.png">
</span>
<div id="block_{$training->get_tr_date()|substr:0:4}{$training->get_tr_date()|substr:5:2}" class="month_block">
{/if}
<div class="list_item line_height14 bigger_space">
<span class="size20 bold">
{$training->get_tr_date()|substr:0:4}.
{$months[$trainings[$training@index]->get_tr_date()|substr:5:2]}
{$training->get_tr_date_day()}.
{$days[$training->get_tr_date_day_of_week()]}
{$training->get_tr_date_time()}
</span>
<br>
{if $training->get_tr_training_type_trt_id()}{$training->get_tr_type_name_by_id()} edzés{/if}
{$training->get_tr_duration()} p
{if $training->is_coach()}
{foreach $training->get_tr_coaches_name() as $coach_name}
{if $coach_name@first}({/if}{$coach_name}{if $coach_name@last}){else}, {/if}
{/foreach}
{/if}
</div>
{if $training@last}
</div>
{/if}
{/foreach}
</div>
<script>
function open_block(block_id) {
$("#"+block_id).slideDown("slow");
}
function close_block(block_id) {
$("#"+block_id).slideUp("slow");
}
function block_action(block_id) {
if ($("#"+block_id).is(':hidden')) {
open_block(block_id);
}
else {
close_block(block_id);
}
}
$( document ).ready(function() {
var divs = $( "div[class=month_block]" );
$( ".list" ).find( divs ).hide();
var div_list = $( ".list" ).find( divs );
open_block(div_list[0].id);
});
</script>

View File

@@ -2,6 +2,7 @@
<form method="post"> <form method="post">
<input type="hidden" name="action" id="action" value="login"> <input type="hidden" name="action" id="action" value="login">
<input type="hidden" name="user_type" id="user_type" value="1"> <input type="hidden" name="user_type" id="user_type" value="1">
<input type="hidden" name="page" id="page" value="{$page}">
<div> <div>
<label class="desc" id="title1" for="user_name">Név:</label> <label class="desc" id="title1" for="user_name">Név:</label>
<div><input type="text" name="user_name" id="user_name" required></div> <div><input type="text" name="user_name" id="user_name" required></div>

View File

@@ -5,7 +5,7 @@
Menü &#8801; Menü &#8801;
</a> </a>
<span class="mobile_logout"> <span class="mobile_logout">
{if $page == 'admin'} {if $page == 'admin' || $page == 'coach'}
{$user_login->get_ua_name()} {$user_login->get_ua_name()}
{else} {else}
{$user_login->get_uk_name()} {$user_login->get_uk_name()}
@@ -31,7 +31,7 @@
<li class="logout"> <li class="logout">
<a href="{if $page == 'preview'}#{else}/{$page}/logout{/if}"> <a href="{if $page == 'preview'}#{else}/{$page}/logout{/if}">
<span class="name"> <span class="name">
{if $page == 'admin'} {if $page == 'admin' || $page == 'coach'}
{$user_login->get_ua_name()} {$user_login->get_ua_name()}
{else} {else}
{$user_login->get_uk_name()} {$user_login->get_uk_name()}

View File

@@ -1,6 +1,6 @@
<div class="danger"> <div class="danger">
Változás, téves vagy hiányzó adat esetén a helyes információt e-mail-ben kérjük megadni: <a href="mailto:szucs.zoltan@interware.hu?subject={$user_login->get_uk_name()}">szucs.zoltan@interware.hu</a> Változás, téves vagy hiányzó adat esetén a helyes információt e-mail-ben kérjük megadni: <a href="mailto:szucs.zoltan@tollaslabda.info?subject={$user_login->get_uk_name()}">szucs.zoltan@tollaslabda.info</a>
</div> </div>
<div class="list"> <div class="list">