SW/panel_admin/includes/formEditManager.php

113 lines
4.5 KiB
PHP

<?php
//General Config File:
include_once('../assets/php/config.php');
include_once('../assets/php/includes/manager_dao.php');
include_once('../assets/php/includes/manager.php');
include_once('../assets/php/includes/cinema_dao.php');
include_once('../assets/php/form.php');
class formEditManager extends Form{
//Constants:
const HTML5_EMAIL_REGEXP = '^[a-zA-Z0-9.!#$%&\'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$';
public function __construct() {
$options = array("action" => "./?state=mg");
parent::__construct('formEditManager', $options);
}
protected function generaCamposFormulario($datos, $errores = array()){
$html ="";
if (!isset($_SESSION['message'])) {
// Se generan los mensajes de error si existen.
$htmlErroresGlobales = self::generaListaErroresGlobales($errores);
$errorId = self::createMensajeError($errores, 'id', 'span', array('class' => 'error'));
$errorIdCinema = self::createMensajeError($errores, 'idcinema', 'span', array('class' => 'error'));
$html .= '
<h1>EDITAR GERENTE ID:'.$_POST['id'].'</h1>
<fieldset><pre>'.$htmlErroresGlobales.'</pre>
<legend>Selecciona cine.</legend><pre>'.$errorIdCinema.'</pre>
<input type="hidden" name="id" value='.$_POST['id'].'/><pre>'.$errorId.'</pre>'
.$this->showCinemas().
'</fieldset>
<div class="actions">
<input type="submit" id="submit" value="Seleccionar" name="edit_manager" class="primary" />
<input type="reset" id="reset" value="Borrar" />
</div>
</div>';
}
return $html;
}
protected function procesaFormulario($datos){
$result = array();
$id = $this->test_input($datos['id']) ?? null;
if (is_null($id) ) {
$result['id'] = "ERROR. No existe un usuario con ese ID";
}
$idcinema = $this->test_input($datos['idcinema']) ?? null;
//||!mb_ereg_match(self::HTML5_EMAIL_REGEXP, $duration)
if (is_null($idcinema)) {
$result['idcinema'] = "ERROR. No existe un cine con ese ID";
}
if (count($result) === 0) {
$bd = new Manager_DAO("complucine");
$exist = $bd-> GetManager($id);
if( mysqli_num_rows($exist) == 1){
$bd->editManager($id,$idcinema);
$_SESSION['message'] = "<div class='row'>
<div class='column side'></div>
<div class='column middle'>
<div class='code info'>
<h1> Operacion realizada con exito </h1><hr />
<p> Se ha editado el gerente correctamente en la base de datos.</p>
<a href='../panel_admin/index.php?state=mg'><button>Cerrar Mensaje</button></a>
</div>
<div class='column side'></div>
</div>";
//$result = './?state=mg';
}
else{
$result[] = "ERROR. No existe un cine con ese ID";
}
$exist->free();
}
return $result;
}
private function showCinemas() {
$cine = new Cinema_DAO("complucine");
$cinemas = $cine->allCinemaData();
$ids = array();
$names = array();
$directions = array();
$phones = array();
foreach($cinemas as $key => $value){
$ids[$key] = $value->getId();
$names[$key] = $value->getName();
$directions[$key] = $value->getDirection();
$phones[$key] = $value->getPhone();
}
$html = '';
for($i = 0; $i < count($cinemas); $i++){
$html.= '
<input type="radio" class="content-input" name="idcinema" value="'.$ids[$i].'" id="'.$ids[$i].'"><label class="efe" for="'.$ids[$i].'"> '.$ids[$i].', '.$names[$i].'
</label>
';
}
return $html;
}
}
?>