Ejemplo n.º 1
0
 function search($page = 0, $display = 26)
 {
     $searchBy = $_POST["search_by"];
     $term = $_POST["search_term"];
     $userid = $this->session->userdata('userid');
     $tracks = array();
     try {
         if ($searchBy == "name") {
             $returned = Track::searchTrackName($term, $userid, $page * $display, $display);
         } else {
             if ($searchBy == "genre") {
                 $returned = Track::searchByGenre($term, $userid, $page * $display, $display);
             } else {
                 if ($searchBy == "artist") {
                     $returned = Track::searchByArtist($term, $userid, $page * $display, $display);
                 } else {
                     if ($searchBy == "playlist") {
                         $this->load->static_model("Playlist");
                         $returned = Playlist::searchByName($term, $userid, $page * $display, $display);
                     } else {
                         echo json_encode(array("error" => "The search criteria is not recognized"));
                         return;
                     }
                 }
             }
         }
     } catch (Exception $e) {
         echo json_encode(array("error" => $e->getMessage()));
         return;
     }
     $tracks = $returned['tracks'];
     $num_rows = $returned['rows'];
     if ($num_rows > $display) {
         $num_pages = ceil($num_rows / $display);
     } else {
         $num_pages = 1;
     }
     $newTracks = array();
     foreach ($tracks as $track) {
         $newTracks[] = $track->toArray();
     }
     $result = array("tracks" => $newTracks, "cur_page" => $page, "num_pages" => $num_pages);
     echo json_encode($result);
 }