public static function sendNotification($content, $user_id, $auction_id, $type) { if (is_null($user_id) || $user_id < 1) { fatalError('Notification cannot be sent to null user'); } Database::insert('INSERT INTO Notification (user_id, auction_id, content, type) VALUES (?,?,?,?)', [$user_id, $auction_id, $content, $type]); }
public function postBuyerFeedback(Request $request, Session $session, $auction_id) { if (!$session->userIsLoggedIn()) { return $this->redirectTo('/login'); } $auction = Auction::getAuctionWithId($auction_id); Database::insert('INSERT INTO BuyerFeedback (content, speed_of_payment, communication, auction_id) VALUES (?,?,?,?)', [$request->post['feedback_comment'], $request->post['speed_of_payment'], $request->post['communication'], $auction->id]); return $this->redirectTo('/dashboard/?message=' . urlencode('Feedback saved!')); }
public function generateSession($user_id) { $auth_key = hash('sha512', (string) rand()); while (Database::checkExists($auth_key, 'token', 'Session')) { $auth_key = hash('sha512', (string) rand()); } Database::insert('INSERT INTO Session (user_id,token) VALUES(?,?)', [$user_id, $auth_key]); $_SESSION['auth_token'] = $auth_key; }
public function saveInput(array $input) { $errors = $this->validateInput($input); if (count($errors)) { fatalError($errors); } $parameters = [$input['auction_name'], $input['auction_description'], $input['starting_price'] * 100, $input['end_date_time'], $input['userrole_id'], $input['reserve_price'] * 100]; Database::insert('INSERT INTO Auction (name,description,starting_price,end_date,userrole_id, reserve_price) VALUES (?,?,?,?,?,?)', $parameters); $auction_id = Database::lastID(); return $auction_id; }
public function saveInput(array $input) { $errors = $this->validateInput($input); if (count($errors)) { fatalError('Tried to save invalid item data'); } if (!isset($input['auction_id'])) { fatalError('Auction Id Was Not Set on Item (System Error)'); } $name = $input['item_name']; $description = $input['item_description']; $image = $this->saveImage($input['image'], '/items'); $auction_id = $input['auction_id']; $categories = $input['item_category']; Database::insert('INSERT INTO Item (name, description,image_url,auction_id) VALUES (?,?,?,?)', [$name, $description, $image, $auction_id]); $item_id = Database::lastID(); foreach ($categories as $category) { Database::insert('INSERT INTO ItemCategory (item_id, category_id) VALUES (?,?)', [$item_id, $category]); } return $item_id; }
public function processSignup(Request $request, Session $session) { if ($session->userIsLoggedIn()) { return $this->redirectTo('/dashboard'); } if (isset($request->post['email']) && isset($request->post['password']) && (isset($request->post['buyer_account']) || isset($request->post['seller_account'])) && ($request->post['buyer_account'] == 1 || $request->post['seller_account'] == 1)) { if (Database::checkExists($request->post['email'], 'email', 'User')) { return View::renderView('login', ['signup_errors' => 'Email already exists']); } Database::insert('INSERT INTO User (email,password) VALUES (?,?)', [$request->post['email'], password_hash($request->post['password'], PASSWORD_DEFAULT)]); $user_id = Database::lastID(); if ($request->post['buyer_account'] == 1) { Database::insert('INSERT INTO UserRole (user_id, role_id) VALUES (?,?)', [$user_id, Role::buyer()]); } if ($request->post['seller_account'] == 1) { Database::insert('INSERT INTO UserRole (user_id, role_id) VALUES (?,?)', [$user_id, Role::seller()]); } $session->generateSession($user_id); return $this->redirectTo('/dashboard'); } return View::renderView('login', ['signup_errors' => 'You must complete the signup form']); }
public function incrementViewsNumber($user) { $auction_id = $this->id; if (!is_null($user)) { if (!is_null($user->buyerID())) { $userrole_id = $user->buyerID(); } else { $userrole_id = $user->sellerID(); } } else { $userrole_id = -1; } $query = "INSERT INTO View (userrole_id, auction_id) VALUES (?,?);"; Database::insert($query, [$userrole_id, $auction_id]); }
public static function clearForUser($user_id) { Database::insert('UPDATE Notification SET cleared = 1 WHERE user_id = ?', [$user_id]); }