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;
//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, '/');

View File

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

View File

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

View File

@@ -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 {

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_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 {

View File

@@ -1,16 +1,23 @@
<?php
if ($from == 'coach') {
if ($from == 'admin') {
$log_c = 'admin_logout';
$cookie = 'admin';
}
elseif ($from == 'parent') {
elseif ($from == 'view') {
$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, '/');
unset($_COOKIE['badminton_'.$from.'_user']);
header('Location: http://' . $_SERVER['HTTP_HOST']);
unset($_COOKIE['badminton_'.$cookie.'_user']);
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
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']);

View File

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

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())
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">
<form method="post">
<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>
<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>
<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>
<label class="desc" id="title1" for="ua_can_login">Be tud lépni:</label>
<div><input type="checkbox" name="ua_can_login" id="ua_can_login" {if $user_data.ua_password != ''}checked{/if}></div>
<label class="desc" id="title1" for="ua_can_login">Admin:</label>
<div><input type="checkbox" name="ua_admin" id="ua_admin" {if $coach->get_ua_admin()}checked{/if}></div>
</div>
<div id="password">
@@ -29,16 +29,4 @@
</div>
</form>
</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>
</div>

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">
<input type="hidden" name="action" id="action" value="login">
<input type="hidden" name="user_type" id="user_type" value="1">
<input type="hidden" name="page" id="page" value="{$page}">
<div>
<label class="desc" id="title1" for="user_name">Név:</label>
<div><input type="text" name="user_name" id="user_name" required></div>

View File

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

View File

@@ -1,6 +1,6 @@
<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 class="list">