Exemplo n.º 1
0
 public function view()
 {
     session_start();
     $itemName = '';
     $itemOwner = '';
     $itemBorrower = '';
     $isValidBid = false;
     // Check that URL has required fields
     if (empty($_GET['item']) || empty($_GET['owner']) || empty($_GET['borrower'])) {
         header("Location:index.php");
         return;
     }
     $itemName = $_GET['item'];
     $itemOwner = $_GET['owner'];
     $itemBorrower = $_GET['borrower'];
     $currentUser = $_SESSION['username'];
     // Getting the item
     include 'models/itemModel.php';
     $itemModel = new itemModel();
     $queryResult = $itemModel->getByKey($itemOwner, $itemName);
     // Ensures that message session is for item that exist
     if ($queryResult == false) {
         $this->goToPreviousPage();
         return;
     }
     $item = pg_fetch_array($queryResult);
     $itemImage = $item['image_url'];
     $itemPrice = $item['price'];
     // Getting the members
     include 'models/memberModel.php';
     $memberModel = new memberModel();
     // Ensures that message session is for members that exist
     if (!$memberModel->memberExist($itemOwner) || !$memberModel->memberExist($itemBorrower)) {
         $this->goToPreviousPage();
         return;
     }
     // Ensures that current logged in user belongs to message session
     if ($currentUser != $itemOwner && $currentUser != $itemBorrower) {
         $this->goToPreviousPage();
         return;
     }
     // Ensures that user is not sending message to self
     if ($itemOwner == $itemBorrower) {
         $this->goToPreviousPage();
         return;
     }
     // Getting the loan request
     include 'models/loanRequestModel.php';
     $loanRequestModel = new loanRequestModel();
     $bidMade = $loanRequestModel->getLoanRequestByOwnerItemBorrower($itemOwner, $itemName, $itemBorrower);
     if ($bidMade != false) {
         $bid = pg_fetch_array($bidMade);
         $date_start = $bid['date_start'];
         $bidStatus = $bid['status'];
         $bidPrice = $bid['price_offer'];
         $isValidBid = $bid['is_valid'];
     }
     // Checks if is an accept or reject
     if (isset($_POST['accept'])) {
         $loanRequestModel->acceptLoanRequest($itemName, $itemOwner, $itemBorrower, $date_start);
         $bidStatus = 'accepted';
     }
     if (isset($_POST['reject'])) {
         $loanRequestModel->rejectLoanRequest($itemName, $itemOwner, $itemBorrower, $date_start);
         $bidStatus = 'declined';
     }
     // get all past messages
     include 'models/messageModel.php';
     $messageModel = new messageModel();
     // Check for new message sent
     if (isset($_POST['msg-content'])) {
         $content = $_POST['msg-content'];
         $sender = $itemBorrower;
         $receiver = $itemOwner;
         if ($currentUser == $itemOwner) {
             $sender = $itemOwner;
             $receiver = $itemBorrower;
         }
         $messageModel->addMessage($itemName, $itemOwner, $sender, $receiver, $content);
     }
     $chatHistory = $messageModel->getChatHistoryInOrder($itemName, $itemOwner, $itemBorrower);
     // get user profile images
     $ownerProfile = $memberModel->getUserByUsername($itemOwner);
     $ownerIcon = pg_fetch_row($ownerProfile)[5];
     $borrowerProfile = $memberModel->getUserByUsername($itemBorrower);
     $borrowerIcon = pg_fetch_row($borrowerProfile)[5];
     // put all messages into an array
     $messageArray = array();
     while ($row = pg_fetch_row($chatHistory)) {
         $msgSender = $row[2];
         if ($msgSender == $itemOwner) {
             $msgSenderIcon = $ownerIcon;
         } else {
             $msgSenderIcon = $borrowerIcon;
         }
         $msgContent = $row[4];
         $msgTimestamp = $row[5];
         $message = array($msgSender, $msgSenderIcon, $msgContent, $msgTimestamp);
         array_push($messageArray, $message);
     }
     include 'views/message.php';
 }
Exemplo n.º 2
0
$password = $_POST['password'];
$email = $_POST['email'];
if (!$_POST['username']) {
    $signupError = true;
    $signupUsernameErrorMessage = "<p class=\"text-danger\">Please enter an username</p>";
}
if (!$_POST['password']) {
    $signupError = true;
    $signupPasswordErrorMessage = "<p class=\"text-danger\">Please enter a password</p>";
}
if (!$_POST['email']) {
    $signupError = true;
    $signupEmailErrorMessage = "<p class=\"text-danger\">Please enter an email</p>";
}
if ($_POST['username'] && $_POST['password'] && $_POST['email']) {
    if ($memberModel->memberExist($username)) {
        // check if have existing username
        $signupError = true;
        $signupErrorMessage = "<p class=\"text-danger\">Existing username!</p>";
    } else {
        if ($memberModel->emailExist($email)) {
            $signupError = true;
            $signupErrorMessage = "<p class=\"text-danger\">Existing email!</p>";
        } else {
            // insert member
            $result = $memberModel->addUser($username, $password, $email, 'member');
            if (!$result) {
                $signupError = true;
                $signupErrorMessage = "<p class=\"text-danger\">Sign up fail! Please contact admin.</p>";
            }
        }