2021-05-17 15:29:29 +02:00
< ? php
2021-05-20 15:29:49 +02:00
include_once ( $prefix . 'assets/php/includes/hall.php' );
include_once ( $prefix . 'assets/php/includes/session.php' );
require_once ( $prefix . 'assets/php/includes/cinema_dao.php' );
2021-05-17 15:29:29 +02:00
include_once ( './includes/formHall.php' );
2021-06-06 13:35:19 +02:00
include_once ( './includes/SessionForm.php' );
2021-05-17 15:29:29 +02:00
class Manager_panel {
function __construct (){}
2021-06-06 13:35:19 +02:00
2021-06-03 14:09:25 +02:00
static function welcome (){
2021-05-25 00:51:11 +02:00
$bd = new Cinema_DAO ( 'complucine' );
if ( $bd ){
2021-06-03 14:09:25 +02:00
$cinema = $bd -> cinemaData ( $_SESSION [ " cinema " ]);
2021-05-27 14:28:17 +02:00
$c_name = $cinema -> getName ();
$c_dir = $cinema -> getDirection ();
2021-05-25 00:51:11 +02:00
}
2021-05-17 15:29:29 +02:00
$name = strtoupper ( $_SESSION [ " nombre " ]);
2021-06-02 09:36:59 +02:00
$userPic = USER_PICS . strtolower ( $name ) . " .jpg " ;
2021-06-03 12:53:53 +02:00
2021-06-03 14:09:25 +02:00
$panel = ' < div class = " code welcome " >
< h1 > Bienvenido '.$name.' a tu Panel de Manager .</ h1 >
< hr />
< img src = '.$userPic.' alt = " user_profile_picture " />
< h3 > '.strftime("%A %e de %B de %Y | %H:%M").' </ h3 >
< p > Usuario : '.$name.' </ p > < br >
< p > Cine : '.$c_name.' </ p >
< p > Dirección : '.$c_dir.' </ p >
</ div > ' . " \n " ;
2021-05-17 15:29:29 +02:00
return $panel ;
}
2021-05-20 11:45:16 +02:00
2021-06-06 13:35:19 +02:00
// Admin welcome panel allows to change the cinema linked to the admin-like-manager
2021-06-03 14:09:25 +02:00
static function welcomeAdmin () {
2021-05-20 10:53:47 +02:00
$cinemaList = new Cinema_DAO ( 'complucine' );
$cinemas = $cinemaList -> allCinemaData ();
2021-06-03 14:09:25 +02:00
$bd = new Cinema_DAO ( 'complucine' );
$c_name = " Aun no se ha escogido un cine " ;
if ( $bd && $_SESSION [ " cinema " ] ){
$cinema = $bd -> cinemaData ( $_SESSION [ " cinema " ]);
$c_name = $cinema -> getName ();
$cinema = $cinema -> getId ();
}
2021-05-20 10:53:47 +02:00
$name = strtoupper ( $_SESSION [ " nombre " ]);
2021-06-03 14:09:25 +02:00
$userPic = USER_PICS . strtolower ( $name ) . " .jpg " ;
2021-05-20 10:53:47 +02:00
2021-06-03 14:09:25 +02:00
$panel = ' < div class = " code welcome " >
< h1 > Bienvenido '.$name.' a tu Panel de Manager .</ h1 >
< hr />
2021-06-03 14:23:27 +02:00
< div class = " column side " > </ div >
< div class = " column middle " >
2021-06-03 14:09:25 +02:00
< img src = '.$userPic.' alt = " user_profile_picture " />
< h3 > '.strftime("%A %e de %B de %Y | %H:%M").' </ h3 >
< p > Usuario : '.$name.' </ p > < br >
< h3 > Como administrador puedes escoger el cine que gestionar </ h3 >
< p > Cine : '.$c_name.' </ p >
2021-05-20 10:53:47 +02:00
< form method = " post " id = " changecinema " action = " index.php " >
2021-05-27 20:41:45 +02:00
< select name = " cinema " class = " button large " >
2021-05-20 10:53:47 +02:00
' ;
foreach ( $cinemas as $c ){
if ( $c -> getId () == $cinema ){
2021-05-27 20:41:45 +02:00
$panel .= " <option value= \" " . $c -> getId () . " \" selected> " . $c -> getName () . " </option>
2021-05-20 10:53:47 +02:00
" ;
} else {
2021-05-27 20:41:45 +02:00
$panel .= " <option value= \" " . $c -> getId () . " \" > " . $c -> getName () . " </option>
2021-05-20 10:53:47 +02:00
" ;
}
}
2021-06-03 14:23:27 +02:00
$panel .= ' < input type = " submit " id = " submit " name = " changecinema " value = " Cambiar " class = " primary " />
2021-05-20 10:53:47 +02:00
</ select >
</ form >
2021-06-03 14:23:27 +02:00
</ div >
< div class = " column side " > </ div >
' ;
2021-05-20 11:45:16 +02:00
2021-05-20 10:53:47 +02:00
return $panel ;
}
2021-06-06 13:35:19 +02:00
//Manage the sessions using full calendar js events and a pop up form which is constantly edited with more js
2021-06-03 14:09:25 +02:00
static function calendar (){
2021-06-07 23:16:42 +02:00
if ( isset ( $_SESSION [ " cinema " ])){
$hall = $_POST [ 'hall' ] ? ? $_GET [ 'hall' ] ? ? " 1 " ;
$halls = Hall :: getListHalls ( $_SESSION [ " cinema " ]);
if ( $halls ){
$panel = '
< div class = " row " >
< div class = " column side " ></ div >
< div class = " column middle " >
< br >
< select id = " hall_selector " class = " button large " > ' ;
foreach ( Hall :: getListHalls ( $_SESSION [ " cinema " ]) as $hll ){
if ( $hll -> getNumber () == $hall ){
$panel .= '
< option data - feed = " ./eventsProcess.php?hall='. $hll->getNumber ().' " value = " '. $hll->getNumber () .' " selected > Sala '. $hll->getNumber() .' </ option > ' ;
} else {
$panel .= '
< option data - feed = " ./eventsProcess.php?hall='. $hll->getNumber ().' " value = " '. $hll->getNumber () .' " > Sala '. $hll->getNumber() .' </ option > ' ;
}
2021-06-03 12:53:53 +02:00
}
2021-06-07 23:16:42 +02:00
$panel .= '
</ select >
</ div >
< div class = " column side " ></ div >
</ div >
< div class = " row fc-container " >
< div id = " calendar " ></ div >
< div id = " myModal " class = " modal " >
2021-06-03 14:53:42 +02:00
2021-06-07 23:16:42 +02:00
< div class = " modal-content " >
< span class = " close " >& times ; </ span > < br > < br >
'.SessionForm::getForm().'
</ div >
2021-06-03 14:53:42 +02:00
</ div >
2021-06-07 23:16:42 +02:00
</ div > ' ;
} else {
$panel = ' < div class = " row " >
< h3 > No hay ninguna sala en este cine </ h3 >
< a href =. " /?state=new_hall " > Añadir Sala </ a >
</ div > ' ;
}
2021-06-03 12:53:53 +02:00
} else {
2021-06-07 23:16:42 +02:00
$panel = ' < div class = " code info " >
< h1 > Aun no se ha seleccionado un cine .</ h1 >
< hr />
< p > >.< </ p >
< p > Selecciona un cine en el panel principal </ p >
</ div > ' . " \n " ;
2021-06-03 12:53:53 +02:00
}
2021-06-07 23:16:42 +02:00
return $panel ;
2021-05-30 23:42:30 +02:00
}
2021-06-06 13:35:19 +02:00
2021-05-17 15:29:29 +02:00
static function success (){
2021-06-08 11:27:11 +02:00
$msg = " operacion completada con exito " ;
if ( isset ( $_GET [ " new " ])) $msg = " La sala se ha creado con exito " ;
if ( isset ( $_GET [ " edit " ])) $msg = " La sala se ha editado con exito " ;
if ( isset ( $_GET [ " del " ])) $msg = " La sala se ha eliminado con exito " ;
2021-05-17 15:29:29 +02:00
$panel = ' < div class = " code info " >
< h1 > Operacion completada .</ h1 >
< hr />
2021-06-08 11:27:11 +02:00
< p > '.$msg.' </ p >
2021-05-17 15:29:29 +02:00
</ div > ' . " \n " ;
return $panel ;
}
2021-06-03 14:09:25 +02:00
static function manage_halls (){
2021-06-07 23:16:42 +02:00
if ( isset ( $_SESSION [ " cinema " ])){
$panel = ' < div class = " column side " ></ div >
< div class = " column middle " > ' ;
$listhall = Hall :: getListHalls ( $_SESSION [ " cinema " ]);
if ( ! $listhall ){
$panel .= " <h2> No hay ninguna sala en este cine " ;
} else {
$panel .= '
< ul class = " tablelist col3 " >
< li class = " title " > Sala </ li >
< li class = " title " > Asientos </ li >
< li class = " title " > Sesión </ li >
' ;
$parity = " odd " ;
foreach ( $listhall as $hall ){
$panel .= '<div class="' . $parity . ' " >
< a class = " h2long " href = " ?state=edit_hall&number='. $hall->getNumber ().' " >
< li > '. $hall->getNumber().' </ li >
< li > '.$hall->getTotalSeats().' </ li >
</ a >
< a href = " ?state=manage_sessions&hall='. $hall->getNumber ().' " >
< li > Sesiones </ li >
</ a >
</ div >
' ;
$parity = ( $parity == " odd " ) ? " even " : " odd " ;
}
$panel .= '
</ ul > ' ;
2021-05-17 15:29:29 +02:00
}
2021-06-07 23:16:42 +02:00
$panel .= '
< form method = " post " action = " ./?state=new_hall " >
< input type = " submit " name = " new_hall " value = " Añadir Sala " class = " button large " />
</ form >
</ div >
< div class = " column side " ></ div > ' ;
} else {
$panel = ' < div class = " code info " >
< h1 > Aun no se ha seleccionado un cine .</ h1 >
< hr />
< p > >.< </ p >
< p > Selecciona un cine en el panel principal </ p >
</ div > ' . " \n " ;
2021-05-17 15:29:29 +02:00
}
return $panel ;
}
2021-06-03 14:09:25 +02:00
static function new_hall (){
2021-05-17 15:29:29 +02:00
2021-06-03 14:09:25 +02:00
$formHall = new FormHall ( " new_hall " , $_SESSION [ " cinema " ], new Hall ( null , null , null , null , null , null ));
2021-05-17 15:29:29 +02:00
$panel = ' < h1 > Crear una sala .</ h1 >< hr /></ br >
' . $formHall -> gestiona ();
return $panel ;
}
2021-06-03 14:09:25 +02:00
static function edit_hall (){
$hall = Hall :: search_hall ( $_GET [ " number " ], $_SESSION [ " cinema " ]);
2021-05-25 00:51:11 +02:00
if ( $hall || isset ( $_POST [ " restart " ]) || isset ( $_POST [ " filter " ]) || isset ( $_POST [ " sumbit " ]) ){
2021-06-03 14:09:25 +02:00
$formHall = new FormHall ( " edit_hall " , $_SESSION [ " cinema " ], $hall );
2021-05-25 00:51:11 +02:00
$panel = ' < h1 > Editar una sala .</ h1 >< hr /></ br >
' . $formHall -> gestiona ();
return $panel ;
} else {
2021-06-03 14:09:25 +02:00
return Manager_panel :: warning ();
2021-05-25 00:51:11 +02:00
}
2021-05-17 15:29:29 +02:00
}
2021-06-06 13:35:19 +02:00
//this function is used as an answer to wrong url parameters accesing a formhall edit. The formsession version has been replaced by other js error replys
2021-06-03 14:09:25 +02:00
static function warning (){
2021-05-17 15:29:29 +02:00
$panel = ' < div class = " code info " >
2021-05-25 00:51:11 +02:00
< h1 > Ha habido un error .</ h1 >
2021-05-17 15:29:29 +02:00
< hr />
2021-05-20 11:45:16 +02:00
< p > >.< </ p >
2021-05-17 15:29:29 +02:00
</ div > ' . " \n " ;
return $panel ;
}
}
2021-05-27 14:28:17 +02:00
?>