Example #1
0
 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]);
 }
Example #2
0
 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!'));
 }
Example #3
0
 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;
 }
Example #4
0
 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;
 }
Example #5
0
 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;
 }
Example #6
0
 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']);
 }
Example #7
0
 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]);
 }
Example #8
0
 public static function clearForUser($user_id)
 {
     Database::insert('UPDATE Notification SET cleared = 1 WHERE user_id = ?', [$user_id]);
 }