SW/panel_user/panelUser.php

188 lines
7.5 KiB
PHP

<?php
require_once($prefix.'assets/php/includes/user.php');
class UserPanel {
//Atributes:
//Constructor:
function __construct(){}
//Methods:
//Welcome view.
static function panel(){
$name = strtoupper(unserialize($_SESSION['user'])->getName());
$email = unserialize($_SESSION['user'])->getEmail();
$userPic = USER_PICS.strtolower($name).".jpg";
$forms = self::manage();
return $reply = '<div class="code info">
<h1>Bienvenido '.$name.', a tu Panel de Usuario.</h1>
<hr />
<a href="./?option=change_profile_pic"><img src='.$userPic.' alt="user_profile_picture"/></a>
<h3>'.strftime("%A %e de %B de %Y | %H:%M").'</h3>
<br />
<p>Usuario: '.$name.'</p>
<p>Email: '.$email.'</p>
</div>'."\n".$forms;
}
//Manage the user account.
static function manage(){
require_once('./includes/formChangePass.php');
require_once('./includes/formChangeEmail.php');
require_once('./includes/formChangeName.php');
$formCN = new FormChangeName();
$htmlFormChangeName = $formCN->gestiona();
$formCP = new FormChangePass();
$htmlFormChangePass = $formCP->gestiona();
$formCE = new FormChangeEmail();
$htmlFormChangeEmail = $formCE->gestiona();
return $reply = '
<!-- Cambiar Información de la Usuario -->
<br /><h2>Cambiar información de la cuenta</h2><hr />
<!-- Change User Name -->
<div class="column side">
<h2>Cambiar nombre de usuario</h2>
'.$htmlFormChangeName.'
</div>
<!-- Change User Password -->
<div class="column middle">
<h2>Cambiar contraseña</h2>
'.$htmlFormChangePass.'
</div>
<!-- Change User Email -->
<div class="column side">
<h2>Cambiar email de usuario</h2>
'.$htmlFormChangeEmail.'
</div>'."\n";
}
//User purchase history.
static function changeUserPic(){
require_once('./includes/formUploadPic.php');
$formCP = new FormUploadFiles();
$htmlFormChangeUserPic = $formCP->gestiona();
$name = strtoupper(unserialize($_SESSION['user'])->getName());
$userPic = USER_PICS.strtolower($name).".jpg";
return $reply = '<!-- Form Change User Profile Picture -->
<div class="column side"></div>
<div class="column middle">
<div class="code info">
<h1>Cambiar imagen de perfil</h1><hr />
<img src='.$userPic.' alt="user_profile_picture"/>
'.$htmlFormChangeUserPic.'
</div>
</div>
<div class="column side"></div>'."\n";
}
//User purchase history.
static function purchases(){
require_once('../assets/php/includes/purchase_dao.php');
include_once('../assets/php/includes/cinema_dao.php');
include_once('../assets/php/includes/hall_dao.php');
include_once('../assets/php/includes/session_dao.php');
include_once('../assets/php/includes/film_dao.php');
$purchasesHTML = '';
$purchaseDAO = new PurchaseDAO("complucine");
$purchases = $purchaseDAO->allPurchasesData(unserialize($_SESSION['user'])->getId());
if($purchases){
$sessions = array();
$halls = array();
$cinemas = array();
$rows = array();
$columns = array();
$dates = array();
foreach($purchases as $key=>$value){
$sessions[$key] = $value->getSessionId();
$halls[$key] = $value->getHallId();
$cinemas[$key] = $value->getCinemaId();
$rows[$key] = $value->getRow();
$columns[$key] = $value->getColumn();
$dates[$key] = $value->getTime();
}
for($i = 0; $i < count($purchases); $i++){
$cinemaDAO = new Cinema_DAO("complucine");
$cinema = $cinemaDAO->cinemaData($cinemas[$i]);
$hallDAO = new HallDAO("complucine");
$hall = $hallDAO->HallData($halls[$i]);
$sessionDAO = new SessionDAO("complucine");
$session = $sessionDAO->sessionData($sessions[$i]);
$filmDAO = new Film_DAO("complucine");
$film = $filmDAO->FilmData($session->getIdfilm());
if($i%3 === 0 && $i !== 0){
if($i !== 0) $purchasesHTML .= '</div>
';
$purchasesHTML .= '<div class="column right">
';
} else {
if($i !== 0) $purchasesHTML .= '</div>
';
$purchasesHTML .= '<div class="column left">
';
}
$purchasesHTML .= '<h1>Compara realizada el: '.$dates[$i].'</h1><hr />
<div class="column left">
<p>Película: '.str_replace('_', ' ', strtoupper($film->getTittle())).'</p>
<p>Idioma: '.$film->getLanguage().'</p>
<p>Cine: '.$cinema->getName().'</p>
<p>Dirección: '.$cinema->getDirection().'</p>
</div>
<div class="column right">
<p>Sala: '.$hall->getNumber().'</p>
<p>Sesión: '.$sessions[$i].'</p>
<p>Asiento(Fila): '.$rows[$i].'</p>
<p>Asiento(Columna): '.$columns[$i].'</p>
</div>
';
}
}
return $reply = '<div class="code">
<h2>Historial de compras</h2><hr />
'.$purchasesHTML.'
</div>';
}
//User payment details
static function payment(){
return $reply = '<div class="code info">
<h2>Aquí los datos de pago</h2><hr />
</div>'."\n";
}
//Delete user account.
static function delete(){
require_once('./includes/formDeleteAccount.php');
$formDA = new FormDeleteAccount();
$htmlFormDeleteAccount = $formDA->gestiona();
return $reply = '<div class="code">
<h2>ELIMINAR CUENTA DE USUARIO</h2><hr />
<div class="column side"></div>
<!-- Delete User Form -->
<div class="column middle">
'.$htmlFormDeleteAccount.'
</div>
<div class="column side"></div>
</div>'."\n";
}
}
?>