public static function searchResult()
 {
     require_once 'Search.model.php';
     require_once 'Upload.model.php';
     require_once 'User.model.php';
     $data = array();
     if (isset($_POST['searchProduct'])) {
         $searchProduct = $_POST['searchField'];
         $category = $_POST['category'];
         $state = $_POST['state'];
         $sort = $_POST['sort'];
         $query = SearchModel::searchQuery($searchProduct, $category, $state, $sort);
         try {
             $searchresult = SearchModel::getSearchResult($searchProduct, $category, $state, $sort);
             $data['template'] = 'searchResult.html';
             $data['products'] = $searchresult;
             $data['states'] = UserModel::getStates();
             $data['categories'] = UploadModel::getCategories();
         } catch (Exception $e) {
             $data['error'] = $e->getMessage();
             $data['template'] = 'error.html';
             $data['states'] = UserModel::getStates();
             $data['categories'] = UploadModel::getCategories();
         }
     } else {
         $searchCheck = Self::searchCheck();
         $data['redirect'] = 'error.html';
     }
     return $data;
 }
 public static function sellerReviews($url_parts)
 {
     require_once 'Review.model.php';
     require_once 'User.model.php';
     require_once 'Upload.model.php';
     require_once 'Product.model.php';
     $data = array();
     if (count($url_parts) > 0) {
         $user_id = $url_parts[0];
         try {
             $result = ReviewModel::getSellerReviews($user_id);
             $data['states'] = UserModel::getStates();
             $data['categories'] = UploadModel::getCategories();
             $data['reviews'] = $result;
             $data['user_id'] = $user_id;
             $data['template'] = 'userReviews.html';
         } catch (Exception $e) {
             $data['error'] = $e->getMessage();
             $data['template'] = 'error.html';
             $data['states'] = UserModel::getStates();
             $data['categories'] = UploadModel::getCategories();
         }
         return $data;
     }
 }
 public static function emailSent()
 {
     require_once 'Contact.model.php';
     require_once 'User.model.php';
     require_once 'Upload.model.php';
     $data = array();
     if (isset($_POST['send'])) {
         $senderName = htmlentities($_POST['name']);
         $senderEmail = htmlentities($_POST['email']);
         $senderMsg = htmlentities($_POST['message']);
         $subject = $_POST['subject'];
         $sellerEmail = $_POST['sellerEmail'];
         try {
             $result = ContactModel::sendEmailtoSeller($senderName, $senderEmail, $senderMsg, $subject, $sellerEmail);
             $data['template'] = 'emailSuccess.html';
             $data['states'] = UserModel::getStates();
             $data['categories'] = UploadModel::getCategories();
         } catch (Exception $e) {
             $data['error'] = $e->getMessage();
             $data['template'] = 'error.html';
             $data['states'] = UserModel::getStates();
             $data['categories'] = UploadModel::getCategories();
         }
     } else {
         $data['redirect'] = '?/User/home';
     }
     return $data;
 }
 public static function upload()
 {
     require_once 'Upload.model.php';
     require_once 'User.model.php';
     $data['states'] = UserModel::getStates();
     $data['categories'] = UploadModel::getCategories();
     $data['subcategories'] = UploadModel::getSubCategories();
     $data['user'] = UserModel::getPersonalData();
     $data['template'] = 'upload.html';
     return $data;
 }
 public static function home()
 {
     require_once 'Product.model.php';
     require_once 'Upload.model.php';
     require_once 'User.model.php';
     $data['products'] = ProductModel::getAllProducts();
     $data['states'] = UserModel::getStates();
     $data['categories'] = UploadModel::getCategories();
     if (isset($_SESSION['user'])) {
         $data['template'] = 'index.html';
         $data['user'] = UserModel::getPersonalData();
     } else {
         $data['template'] = 'index.html';
     }
     return $data;
 }
 public static function personalProduct($url_parts)
 {
     require_once 'User.model.php';
     require_once 'Upload.model.php';
     require_once 'Product.model.php';
     $data = array();
     if (count($url_parts) > 0) {
         $id = $url_parts[0];
         if (isset($_SESSION['user'])) {
             $user_id = $_SESSION['user']['user_id'];
             $result = ProductModel::getPersonalProduct($id, $user_id);
             if ($result) {
                 $data['states'] = UserModel::getStates();
                 $data['categories'] = UploadModel::getCategories();
                 $data['subcategories'] = UploadModel::getSubcategories();
                 $data['user'] = UserModel::getPersonalData();
                 $data['product'] = $result;
                 $data['template'] = 'personalProduct.html';
             }
         } else {
             $data['redirect'] = '?/User/home';
         }
     }
     return $data;
 }