public function handleForm(Context $context, $action)
 {
     if ($action == "createReservation") {
         if (isset($_POST['equip_id']) && $_POST['equip_id'] != "" && (isset($_POST['start_date']) && $_POST['start_date'] != "") && (isset($_POST['length']) && $_POST['length'] != "")) {
             $equipId = $_POST['equip_id'];
             $equip = EquipmentDao::getEquipmentByID($equipId);
             if ($equip != null) {
                 if (SessionUtil::getUserlevel() >= $equip->minUserLevel) {
                     $startDate = $_POST['start_date'];
                     $endDate = DateUtil::incrementDate($startDate, $_POST['length']);
                     $reservations = ReservationDao::getReservationsForEquipmentByDate($equipId, $startDate, $endDate);
                     if (count($reservations) == 0) {
                         $user = UserDao::getUserByUsername(SessionUtil::getUsername());
                         $reservation = ReservationDao::createReservation($user->id, $equipId, $_POST['length'], $startDate, $endDate, $_POST['user_comment']);
                         EmailUtil::sendNewReservationNotices($user, $reservation);
                     } else {
                         $context->addError("Reservations already exist during selected dates ({$startDate} and {$endDate}).");
                     }
                 } else {
                     $context->addError("Cannot reserve equipment (User Level).");
                 }
             } else {
                 $context->addError("No such equipment.");
             }
         } else {
             $context->addError("Required Field Left Blank.");
         }
     } else {
         $context->addError("Incorrect Action.");
     }
 }
 public function generateHTML()
 {
     $reservation = ReservationDao::getReservation($_GET['resid']);
     if ($reservation == null) {
         $this->context->addError("Reservation Doesn't Exist.");
         return $this->context->getErrorHTML();
     }
     $user = UserDao::getUserByID($reservation->userId);
     $equip = EquipmentDao::getEquipmentByID($reservation->equipId);
     return "\n\t\t\t<center><h3>Reseravation Info</h3></center>\n\t\t\t<table class=\"viewreservation\">\n\t\t\t\t<tr>\n\t\t\t\t\t\n\t\t\t\t\t<td colspan=4 class=\"header\">User Information</td>\n\t\t\t\t\t\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\n\t\t\t\t\t<td class=\"centeredcellbold\">Name</th>\n\t\t\t\t\t<td class=\"centeredcell\">" . $user . "</td>\n\t\t\t\t\t<td class=\"centeredcellbold\">Warnings</th>\n\t\t\t\t\t<td class=\"centeredcell\"><a href=\"./index.php?pageid=viewWarnings&userid=" . $user->id['user_id'] . "\">" . WarningDao::getWarningCountForUserByType($user->id, RES_WARNING_ACTIVE) . "(" . WarningDao::getWarningCountForUser($user->id) . ")</a></td>\n\t\t\t\t\t\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t\n\t\t\t\t\t<td colspan=4 class=\"header\">Equipment Information</td>\n\t\t\t\t\t\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t\n\t\t\t\t\t<td colspan=2 class=\"centeredcellbold\">Name</th>\n\t\t\t\t\t<td colspan=2 class=\"centeredcell\">" . $equip . "</td>\n\t\t\t\t\t\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t\n\t\t\t\t\t<td colspan=4 class=\"header\">Reservation Information</td>\n\t\t\t\t\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\n\t\t\t\t\t<td class=\"centeredcellbold\">Start Date</td>\n\t\t\t\t\t<td class=\"centeredcell\">" . $reservation->startDate . "</td>\n\t\t\t\t\t<td class=\"centeredcellbold\">End Date</td>\n\t\t\t\t\t<td class=\"centeredcell\">" . $reservation->endDate . "</td>\n\t\t\t\t\t\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan=4 class=\"centeredcellbold\">Current Status: " . $reservation->getColoredModStatusString() . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t\n\t\t\t\t\t<td colspan=4 class=\"centeredcellbold\">User Comment</td>\n\t\t\t\t\t\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t\n\t\t\t\t\t<td colspan=4 class=\"topaligncell\">&nbsp;" . $reservation->userComment . "</td>\n\t\t\t\t\t\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t\n\t\t\t\t\t<td colspan=4 class=\"centeredcellbold\">Admin Comment</td>\n\t\t\t\t\t\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t\n\t\t\t\t\t<td colspan=4 class=\"topaligncell\">&nbsp;" . $reservation->adminComment . "</td>\n\t\t\t\t\t\n\t\t\t\t</tr>\n\t\t\t\t" . $this->getCheckinRow($reservation) . "\n\t\t\t\n\t\t\t</table>\n\t\t\n\t\t";
 }
예제 #3
0
 public function generateHTML()
 {
     $username = SessionUtil::getUsername();
     $user = UserDao::getUserByUsername($username);
     $reservations = ReservationDao::getReservationsForUser($user->id, 5);
     $reservationHTML = "";
     foreach ($reservations as $res) {
         $status = $res->getModStatusString();
         $equipment = EquipmentDao::getEquipmentByID($res->equipId);
         $reservationHTML = $reservationHTML . "<tr>\n\t\t\t\n\t\t\t\t\t<td class=\"myequip" . $status . "\">" . $equipment->name . "</td>\n\t\t\t\t\t<td class=\"myequip" . $status . "\">" . $status . "</td>\n\t\t\t\t\t<td class=\"myequip" . $status . "\">" . $res->startDate . "</td>\n\t\t\t\t\t<td class=\"myequip" . $status . "\">" . $res->endDate . "</td>\n\t\t\t\t\t<td class=\"myequip" . $status . "\"><a href=\"./index.php?pageid=viewReservation&resid=" . $res->id . "\">View</a></td>\n\t\t\t\t\t\t\n\t\t\t\t</tr>";
     }
     return OfficeHourCalendar::HTML . "<h3>Your Reservations</h3>\n\t\t\n\t\t<table class=\"myequip\">\n\t\t\n\t\t\t<tr>\n\t\t\n\t\t\t\t<td class=\"header\">Equipment Name</td>\n\t\t\t\t<td class=\"header\">Status</td>\n\t\t\t\t<td class=\"header\">Check-out Date</td>\n\t\t\t\t<td class=\"header\">Due Date</td>\n\t\t\t\t<td class=\"header\">-</td>\n\t\t\t\n\t\t\t</tr>\n\t\t\t\n\t\t\t" . $reservationHTML . "\n\t\n\t\t</table>";
 }
 public function generateHTML()
 {
     $user = UserDao::getUserByUsername(SessionUtil::getUsername());
     if (WarningDao::getWarningCountForUserByType($user->id, RES_WARNING_ACTIVE) > RES_WARNING_MAX_ACTIVE) {
         $this->context->addError("You have too many Active Warnings (more than " . RES_WARNING_MAX_ACTIVE . ") on your account to place Reservations.");
         return $this->context->getErrorHTML() . $this->context->getMessagesHTML();
     }
     //TODO: do we need this?
     $allEquipment = EquipmentDao::getAllEquipment();
     $equipArray = array();
     //^^^^^^^^^^^^^^^^^^^^^^^^^^
     $page = "";
     $success = false;
     if (isset($_POST['equip_id']) && $_POST['equip_id'] != "") {
         if (count($this->context->getErrors()) == 0) {
             $page = "Successfully Created Reservation.";
             $success = true;
         } else {
             $_GET['equipid'] = $_POST['equip_id'];
         }
     }
     if (!$success && isset($_GET['equipid']) && $_GET['equipid'] != "") {
         $equip = EquipmentDao::getEquipmentByID($_GET['equipid']);
         if ($equip != null) {
             if (SessionUtil::getUserlevel() >= $equip->minUserLevel) {
                 $lengthOptions = "";
                 for ($i = 1; $i <= $equip->maxLength; $i++) {
                     if ($i > 1) {
                         $lengthOptions = $lengthOptions . "<option value=\"" . $i . "\">" . $i . " Days</option>";
                     } else {
                         $lengthOptions = $lengthOptions . "<option value=\"" . $i . "\">" . $i . " Day</option>";
                     }
                 }
                 $page = "\n\n\t\t<form name=\"reservation\" action=\"./index.php?pageid=placeReservation\" method=\"POST\" onsubmit=\"return checkDate();\">\n\t\t<input type=\"hidden\" name=\"action\" value=\"createReservation\">\n\t\t<input type=\"hidden\" name=\"equip_id\" value=\"" . $_GET['equipid'] . "\">\n\t\t<table class=\"reservation\">\n\t\t\n\t\t\t<tr>\n\t\t\t\n\t\t\t\t<td colspan=4 class=\"header\">Reserve the " . $equip->name . "</td>\n\t\t\t\n\t\t\t</tr>\n\t\t\n\t\t\t<tr>\n\t\t\t\n\t\t\t\t<td class=\"centeredcellbold\">Date (YYYY-MM-DD)</td>\n\t\t\t\t<td class=\"centeredcell\">\n\t\t\t\t\t<input type=\"text\" readonly name=\"start_date\" id=\"startdate\" class=\"date\" value=\"blah\"/>\n\t\t\t\t</td>\n\t\t\t\t<td class=\"centeredcellbold\">Length</td>\n\t\t\t\t<td class=\"centeredcell\"><select name=\"length\">" . $lengthOptions . "</select></td>\n\t\t\n\t\t\t</tr>\n\n\t\t\t<tr>\n\t\t\t\n\t\t\t\t<td colspan=1 class=\"centeredcellbold\">User Comment</th>\n\t\t\t\t<td class=\"centeredcell\" colspan=3><textarea rows=5 cols=45 name=\"user_comment\"></textarea></td>\n\t\t\t\n\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t<tr>\n\t\t\t\t\n\t\t\t\t\t<td colspan=4 class=\"centeredcell\"><input type=\"submit\" value=\"Reserve\"></td>\n\t\t\n\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t</table>\n\t\t\t</form></div>";
             } else {
                 $this->context->addError("Cannot reserve equipment (User Level).");
             }
         } else {
             $this->context->addError("No equipment with ID '" . $_GET['equipid'] . "'.");
         }
     } else {
         if (!$success) {
             $this->context->addError("No equipment selected.");
         }
     }
     return "<center><h3>Place Reservation</h3>" . $this->context->getErrorHTML() . "</center>" . $page;
 }
 public function generateHTML()
 {
     $allEquipment = EquipmentDao::getAllEquipment();
     $equipArray = array();
     foreach ($allEquipment as $equip) {
         if (array_key_exists($equip->type, $equipArray)) {
             array_push($equipArray[$equip->type], $equip);
         } else {
             $equipArray[$equip->type] = array($equip->type => $equip);
         }
     }
     $equipKeys = array_keys($equipArray);
     $typelinks = "";
     $i = 0;
     foreach ($equipKeys as $key) {
         $typelinks = $typelinks . "<a href=\"#" . $key . "\">" . $key . "</a>";
         if ($i + 1 < count($equipKeys)) {
             $typelinks = $typelinks . " - ";
             $i++;
         }
     }
     return "<center><h3>Our Equipment</h3></center>\n\t\t<center><b>" . $typelinks . "</b></center>" . $this->getEquipmentTable($equipKeys, $equipArray);
 }
예제 #6
0
<?php

require_once './config.php';
require_once './lib/DB/Database.php';
require_once './lib/DB/Equipment.php';
require_once './lib/DB/EquipmentDao.php';
require_once './lib/Util/DateUtil.php';
require_once './lib/Util/SimpleImage.php';
require_once './lib/Util/SessionUtil.php';
Database::Open();
SessionUtil::start();
if (isset($_GET['equipId'])) {
    $equipment = EquipmentDao::getEquipmentByID($_GET['equipId']);
    if (!$equipment) {
        $image = new SimpleImage();
        $image->load("./images/notfound.png");
        header('Content-Type: image/png');
        echo $image->output();
        Database::Close();
        exit;
    } else {
        if (file_exists("./images/" . $equipment->picture)) {
            $image_info = getimagesize("./images/" . $equipment->picture);
            $image_type = $image_info[2];
            if ($image_type == IMAGETYPE_JPEG) {
                header('Content-Type: image/jpeg');
            } elseif ($image_type == IMAGETYPE_GIF) {
                header('Content-Type: image/gif');
            } elseif ($image_type == IMAGETYPE_PNG) {
                header('Content-Type: image/png');
            }
 public function generateHTML()
 {
     $equip = EquipmentDao::getEquipmentByID($_GET['equipid']);
     return "<center><h3>Equipment Info</h3></center>\n\t<table class=\"equipinfo\">\n\t\n\t\t<tr>\n\t\t\n\t\t\t<td colspan=2 class=\"header\">" . $equip->name . "</td>\n\t\t\n\t\t</tr>\n\t\n\t\t<tr>\n\t\t\t\n\t\t\t<td class=\"centeredcellbold\">Checkout Length</td>\n\t\t\t<td class=\"centeredcell\">" . $equip->maxLength . " Day(s) Max</td>\n\t\t\n\t\t</tr>\n\t\t\n\t\t<tr>\n\t\t\n\t\t\t<td class=\"centeredcell\"><img src=\"./getImage.php?equipId=" . $equip->id . "\"</td>\n\t\t\t<td class=\"topaligncell\">" . $equip->description . "</td>\n\t\t\t\t\n\t\t</tr>\n\t\t\t\n\t\t<tr>\n\t\t\n\t\t\t<td class=\"centeredcell\"><a href=\"./viewsched.php?equipid=" . $equip->id . "\" target=\"_blank\">View Schedule</a></td>\n\t\t\t<td class=\"centeredcell\"><a href=\"./index.php?pageid=reservation&equipid=" . $equip->id . "\">Reserve</a></td>\n\t\t\t\n\t\t</tr>\n\t\t\t\t\t\n\t</table>";
 }