コード例 #1
0
ファイル: CKeywordSearch.php プロジェクト: kingsj/zeuscart
 /**
  * This function is used to get  the search keyword from  db
  * @param string $search
  * @param integer $sort
  * @param string $mode	
  * 
  * @return string
  */
 function searchKeyWord($search, $sort, $mode)
 {
     $pagesize = 9;
     //-------------For Saving the searched tags----------------
     $tmpsearch = trim($search);
     if ($tmpsearch != '') {
         $obSav = new Core_CKeywordSearch();
         $obSav->insertSearchTags($tmpsearch);
     }
     //-------------For Saving the searched tags----------------
     if (isset($_GET['page'])) {
         $start = trim($_GET['page'] - 1) * $pagesize;
         $end = $pagesize;
     } else {
         $start = 0;
         $end = $pagesize;
     }
     $total = 0;
     $sortby = $_POST['selsort'];
     if (empty($sortby)) {
         $sortby = 0;
     }
     $catid = $_SESSION['subcategory'];
     if ((empty($catid) || isset($_POST['search'])) && $_SESSION['category'] != -1) {
         $catid = $_SESSION['category'];
         if ((int) $catid > 0) {
             $qry = "select a.*,sum(r.rating)/count(r.user_id) as\n\t\t\t\t\trating,count(r.user_id) as rcount from products_table a left join product_reviews_table r on a.product_id=r.product_id where  a.intro_date <= '" . date('Y-m-d') . "' and a.status=1 and a.product_status!='3' and ";
         } else {
             $qry = "select a.*,sum(r.rating)/count(r.user_id) as\n\t\t\t\t\trating,count(r.user_id) as rcount from products_table a  left join product_reviews_table r on a.product_id=r.product_id where a.intro_date <= '" . date('Y-m-d') . "' and a.status=1 and a.product_status!='3'and ";
         }
         if ($sortby == 0) {
             //$sql="SELECT * FROM PRODUCTS_TABLE WHERE TITLE LIKE '%".$search."%' OR DESCRIPTION LIKE '%".$search."%' OR TAG LIKE '%".$search."%' OR BRAND LIKE '%".$search."%' ".$mycat." order by msrp" ;
             $sql = $qry . " (a.description like '%" . $search . "%' or a.brand like '%" . $search . "%' or a.tag like '%" . $search . "%' or a.title like '%" . $search . "%') group by a.product_id order by a.msrp";
         } elseif ($sortby == 1) {
             //$sql="SELECT * FROM PRODUCTS_TABLE WHERE TITLE LIKE '%".$search."%' OR DESCRIPTION LIKE '%".$search."%' OR TAG LIKE '%".$search."%' OR BRAND LIKE '%".$search."%' ".$mycat." order by msrp desc ";
             $sql = $qry . " (a.description like '%" . $search . "%' or a.brand like '%" . $search . "%' or a.tag like '%" . $search . "%' or a.title like '%" . $search . "%') group by a.product_id order by a.msrp desc";
         } elseif ($sortby == 2) {
             //$sql="SELECT * FROM PRODUCTS_TABLE WHERE TITLE LIKE '%".$search."%' OR DESCRIPTION LIKE '%".$search."%' OR TAG LIKE '%".$search."%' OR BRAND LIKE '%".$search."%' ".$mycat." order by title ";
             $sql = $qry . " (a.description like '%" . $search . "%' or a.brand like '%" . $search . "%' or a.tag like '%" . $search . "%' or a.title like '%" . $search . "%') group by a.product_id order by a.title";
         } elseif ($sortby == 3) {
             // $sql="SELECT * FROM PRODUCTS_TABLE WHERE TITLE LIKE '%".$search."%' OR DESCRIPTION LIKE '%".$search."%' OR TAG LIKE '%".$search."%' OR BRAND LIKE '%".$search."%' ".$mycat." order by title desc ";
             $sql = $qry . " (a.description like '%" . $search . "%' or a.brand like '%" . $search . "%' or a.tag like '%" . $search . "%' or a.title like '%" . $search . "%') group by a.product_id order by a.title desc ";
         }
     } elseif (!empty($_SESSION['subcategory'])) {
         $catid = $_SESSION['subcategory'];
         $qry = "select a.*,sum(r.rating)/count(r.user_id) as\trating,count(r.user_id) as rcount from products_table a left join product_reviews_table r on a.product_id=r.product_id where category_id=" . $catid . " and a.intro_date <= '" . date('Y-m-d') . "' and a.status=1 and ";
         if ($sortby == 0) {
             //$sql="SELECT * FROM PRODUCTS_TABLE WHERE TITLE LIKE '%".$search."%' OR DESCRIPTION LIKE '%".$search."%' OR TAG LIKE '%".$search."%' OR BRAND LIKE '%".$search."%' ".$mycat." order by msrp" ;
             $sql = $qry . " (description like '%" . $search . "%' or brand like '%" . $search . "%' or tag like '%" . $search . "%' or title like '%" . $search . "%') group by a.product_id order by msrp";
         } elseif ($sortby == 1) {
             //$sql="SELECT * FROM PRODUCTS_TABLE WHERE TITLE LIKE '%".$search."%' OR DESCRIPTION LIKE '%".$search."%' OR TAG LIKE '%".$search."%' OR BRAND LIKE '%".$search."%' ".$mycat." order by msrp desc ";
             $sql = $qry . " (description like '%" . $search . "%' or brand like '%" . $search . "%' or tag like '%" . $search . "%' or title like '%" . $search . "%') group by a.product_id order by msrp desc";
         } elseif ($sortby == 2) {
             //$sql="SELECT * FROM PRODUCTS_TABLE WHERE TITLE LIKE '%".$search."%' OR DESCRIPTION LIKE '%".$search."%' OR TAG LIKE '%".$search."%' OR BRAND LIKE '%".$search."%' ".$mycat." order by title ";
             $sql = $qry . " (description like '%" . $search . "%' or brand like '%" . $search . "%' or tag like '%" . $search . "%' or title like '%" . $search . "%') group by a.product_id order by title";
         } elseif ($sortby == 3) {
             // $sql="SELECT * FROM PRODUCTS_TABLE WHERE TITLE LIKE '%".$search."%' OR DESCRIPTION LIKE '%".$search."%' OR TAG LIKE '%".$search."%' OR BRAND LIKE '%".$search."%' ".$mycat." order by title desc ";
             $sql = $qry . " (description like '%" . $search . "%' or brand like '%" . $search . "%' or tag like '%" . $search . "%' or title like '%" . $search . "%') group by a.product_id order by title desc ";
         }
     } else {
         // $catid=$_SESSION['subcategory'];
         $qry = "select a.*,sum(r.rating)/count(r.user_id) as\n\t\t\t\trating,count(r.user_id) as rcount,a.product_status from products_table a left join product_reviews_table r on a.product_id=r.product_id where a.intro_date <= '" . date('Y-m-d') . "' and a.status=1 and ";
         if ($sortby == 0) {
             //$sql="SELECT * FROM PRODUCTS_TABLE WHERE TITLE LIKE '%".$search."%' OR DESCRIPTION LIKE '%".$search."%' OR TAG LIKE '%".$search."%' OR BRAND LIKE '%".$search."%' ".$mycat." order by msrp" ;
             $sql = $qry . " (description like '%" . $search . "%' or brand like '%" . $search . "%' or tag like '%" . $search . "%' or title like '%" . $search . "%') group by a.product_id order by msrp";
         } elseif ($sortby == 1) {
             //$sql="SELECT * FROM PRODUCTS_TABLE WHERE TITLE LIKE '%".$search."%' OR DESCRIPTION LIKE '%".$search."%' OR TAG LIKE '%".$search."%' OR BRAND LIKE '%".$search."%' ".$mycat." order by msrp desc ";
             $sql = $qry . " (description like '%" . $search . "%' or brand like '%" . $search . "%' or tag like '%" . $search . "%' or title like '%" . $search . "%') group by a.product_id order by msrp desc";
         } elseif ($sortby == 2) {
             //$sql="SELECT * FROM PRODUCTS_TABLE WHERE TITLE LIKE '%".$search."%' OR DESCRIPTION LIKE '%".$search."%' OR TAG LIKE '%".$search."%' OR BRAND LIKE '%".$search."%' ".$mycat." order by title ";
             $sql = $qry . " (description like '%" . $search . "%' or brand like '%" . $search . "%' or tag like '%" . $search . "%' or title like '%" . $search . "%') group by a.product_id order by title";
         } elseif ($sortby == 3) {
             // $sql="SELECT * FROM PRODUCTS_TABLE WHERE TITLE LIKE '%".$search."%' OR DESCRIPTION LIKE '%".$search."%' OR TAG LIKE '%".$search."%' OR BRAND LIKE '%".$search."%' ".$mycat." order by title desc ";
             $sql = $qry . " (description like '%" . $search . "%' or brand like '%" . $search . "%' or tag like '%" . $search . "%' or title like '%" . $search . "%') group by a.product_id order by title desc ";
         }
     }
     $action = $_GET['action'];
     $sub = $_POST['subcatsel'];
     if (count($sub) > 0) {
         $ob = new Core_CKeywordSearch();
         $id = $_SESSION['category'];
         $categoryname = $ob->categoryName($id);
         $subcategoryname = $ob->categoryName($sub);
         $_SESSION['selectedbrand'] = 'You have Selected <b> ' . $categoryname . ' >> ' . $subcategoryname . '</b>';
     } elseif ($_POST['catsel']) {
         $ob = new Core_CKeywordSearch();
         $id = $_SESSION['category'];
         $categoryname = $ob->categoryName($id);
         $_SESSION['selectedbrand'] = 'You have Selected <b> ' . $categoryname;
     }
     $obj = new Bin_Query();
     if ($obj->executeQuery($sql)) {
         $_SESSION['countsearch'] = $obj->totrows;
         $sql1 = $sql . ' LIMIT ' . $start . ',' . $end;
         $total = ceil($obj->totrows / $pagesize);
         include 'classes/Lib/Paging.php';
         $tmp = new Lib_Paging('default', array('totalpages' => $total, 'length' => 10), 'pagination', '&search=');
         $this->data['paging'] = $tmp->output;
         $this->data['prev'] = $tmp->prev;
         $this->data['next'] = $tmp->next;
         $query = new Bin_Query();
         if ($query->executeQuery($sql1)) {
             if ((int) $query->totrows > 0) {
                 $i = 0;
             }
             foreach ($query->records as $row) {
                 $r[$i] = $row;
                 $prid = $row['product_id'];
                 $obj1 = new Core_CKeywordSearch();
                 $minval = $obj1->disRates($prid);
                 if ($minval > 0 or $minval != '') {
                     $r[$i]['msrp'] = '<!--$-->' . $_SESSION['currencysetting']['selected_currency_settings']['currency_tocken'] . number_format($row['msrp'] * $_SESSION['currencysetting']['selected_currency_settings']['conversion_rate'], 2) . ' - <!--$-->' . $_SESSION['currencysetting']['selected_currency_settings']['currency_tocken'] . number_format($minval * $_SESSION['currencysetting']['selected_currency_settings']['conversion_rate'], 2);
                 } else {
                     $r[$i]['msrp'] = '<!--$-->' . $_SESSION['currencysetting']['selected_currency_settings']['currency_tocken'] . number_format($row['msrp'] * $_SESSION['currencysetting']['selected_currency_settings']['conversion_rate'], 2);
                 }
                 $i++;
             }
         }
         return Display_DKeywordSearch::displaySearch($r, $mode, $this->data['paging'], $this->data['prev'], $this->data['next']);
     } else {
         $_SESSION['countsearch'] = $obj->totrows;
         return Display_DKeywordSearch::displaySearch($r, '', '', '', '');
     }
     $_SESSION['countsearch'] = $obj->totrows;
     $i = 0;
 }