SW/panel_manager/panel_manager.php

239 lines
7.5 KiB
PHP
Raw Normal View History

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() {
$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();
}
$name = strtoupper($_SESSION["nombre"]);
2021-06-03 14:09:25 +02:00
$userPic = USER_PICS.strtolower($name).".jpg";
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>
<form method="post" id="changecinema" action="index.php">
2021-05-27 20:41:45 +02:00
<select name="cinema" class="button large">
';
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>
";
}else{
2021-05-27 20:41:45 +02:00
$panel .= "<option value=\"". $c->getId() ." \"> " . $c->getName() . "</option>
";
}
}
2021-06-03 14:23:27 +02:00
$panel .= ' <input type="submit" id="submit" name="changecinema" value="Cambiar" class="primary" />
</select>
</form>
2021-06-03 14:23:27 +02:00
</div>
<div class="column side"> </div>
';
2021-05-20 11:45:16 +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
?>