Commit 8251f227 authored by Nico Schallehn's avatar Nico Schallehn

Neue GetMovieList

parent cba4679b
...@@ -47,6 +47,9 @@ class MediaDBViewerAPI{ ...@@ -47,6 +47,9 @@ class MediaDBViewerAPI{
} }
return $ret; return $ret;
} }
public function API_GetDataListe($GET_arr, $POST_arr =""){ public function API_GetDataListe($GET_arr, $POST_arr =""){
if(!isset($GET_arr['Table']) OR ($GET_arr['Table'] == "")) { if(!isset($GET_arr['Table']) OR ($GET_arr['Table'] == "")) {
return $this->error(1004); return $this->error(1004);
...@@ -65,9 +68,93 @@ class MediaDBViewerAPI{ ...@@ -65,9 +68,93 @@ class MediaDBViewerAPI{
$Where .= ($first?"":" AND ").'3d '.($GET_arr['3d']?"!=":"=").'""'; $Where .= ($first?"":" AND ").'3d '.($GET_arr['3d']?"!=":"=").'""';
$first = false; $first = false;
} }
}
// Überprüfen ob Schauspieler oder Genre gefordert wird
$SpaltenArr = explode(",", $GET_arr['Spalten']);
$ListGenre = (in_array("Genre", $SpaltenArr)?true:false);
$ListSchauspieler = (in_array("Schauspieler", $SpaltenArr)?true:false);
//echo $GET_arr['Spalten']."<>";
// Lösche Schauspieler und Genre aus der Select Anweisung
$GET_arr['Spalten'] = str_replace("Genre,", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace(",Genre", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace("Genre", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace("Schauspieler,", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace(",Schauspieler", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace("Schauspieler", "", $GET_arr['Spalten']);
//echo $GET_arr['Spalten'];
$Query= "SELECT ".$this->iset($GET_arr['Spalten'], "*").
" FROM ".$GET_arr['Table']." "
.$Where
.$this->iset($GET_arr['Order'], " ", " ORDER BY ", " ")
.$this->iset($GET_arr['Limit'],"", " Limit "," ")
.";";
//echo $Query;
$entrys = $this->DB_Objekt->query($Query);
if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);}
$TitelArray = array();
$finfo = $entrys->fetch_fields();
foreach ($finfo as $val) {
array_push($TitelArray, $val->name);
}
$entryArray = array();
while($entry = $entrys->fetch_array()){
$tempArray = array();
foreach ($finfo as $val) {
$tempArray[$val->name] = utf8_encode($entry[$val->name]);
}
//TODO Diesen block in den Hauptquery einbauen?!
if($ListGenre){
$Query = 'SELECT group_concat(g.engname) AS Genre FROM FilmGenre AS fg JOIN Genre AS g ON fg.genreID = g.genreID WHERE fg.imdbID="'.$tempArray["imdbID"].'" ';
$Genre = $this->DB_Objekt->query($Query);
if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);}
$GenreArr = $Genre->fetch_array();
$tempArray["Genre"] = explode(",", $GenreArr["Genre"]);
}
if($ListSchauspieler){
$Query = 'SELECT group_concat(s.name) AS Schauspieler FROM FilmSchauspieler AS fs JOIN Schauspieler AS s ON fs.schauspielerID = s.schauspielerID WHERE fs.imdbID="'.$tempArray["imdbID"].'" ';
$Schauspieler = $this->DB_Objekt->query($Query);
if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);}
$SchauspielerArr = $Schauspieler->fetch_array();
$tempArray["Schauspieler"] = explode(",", utf8_encode($SchauspielerArr["Schauspieler"]));
}
array_push($entryArray,$tempArray);
}
return array("Spalten"=>$TitelArray, "Data" =>$entryArray);
}
}
public function API_GetMovieList($GET_arr, $POST_arr =""){
/*if(!isset($GET_arr['Table']) OR ($GET_arr['Table'] == "")) {
return $this->error(1004);
}
else{*/
// Wenn irgenein filter gesetzt ist...
if(isset($GET_arr['imdbID']) OR isset($GET_arr['3d'])){
$first = true;
$Where = "WHERE ";
if(isset($GET_arr['imdbID']) AND is_numeric($GET_arr['imdbID'])){
$Where .= ($first?"":" AND ").'imdbID = "'.$GET_arr['imdbID'].'"';
$first = false;
}
if(isset($GET_arr['3d']) ){
$Where .= ($first?"":" AND ").'3d '.($GET_arr['3d']?"!=":"=").'""';
$first = false;
}
} }
// Überprüfen ob Schauspieler oder Genre gefordert wird // Überprüfen ob Schauspieler oder Genre gefordert wird
...@@ -88,7 +175,8 @@ class MediaDBViewerAPI{ ...@@ -88,7 +175,8 @@ class MediaDBViewerAPI{
//echo $GET_arr['Spalten']; //echo $GET_arr['Spalten'];
$Query= "SELECT ".$this->iset($GET_arr['Spalten'], "*"). $Query= "SELECT ".$this->iset($GET_arr['Spalten'], "*").
" FROM ".$GET_arr['Table']." " " FROM Filme "
.$Where .$Where
.$this->iset($GET_arr['Order'], " ", " ORDER BY ", " ") .$this->iset($GET_arr['Order'], " ", " ORDER BY ", " ")
.$this->iset($GET_arr['Limit'],"", " Limit "," ") .$this->iset($GET_arr['Limit'],"", " Limit "," ")
...@@ -129,15 +217,12 @@ class MediaDBViewerAPI{ ...@@ -129,15 +217,12 @@ class MediaDBViewerAPI{
$Schauspieler = $this->DB_Objekt->query($Query); $Schauspieler = $this->DB_Objekt->query($Query);
if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);} if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);}
$SchauspielerArr = $Schauspieler->fetch_array(); $SchauspielerArr = $Schauspieler->fetch_array();
//var_dump($SchauspielerArr);
$tempArray["Schauspieler"] = explode(",", utf8_encode($SchauspielerArr["Schauspieler"])); $tempArray["Schauspieler"] = explode(",", utf8_encode($SchauspielerArr["Schauspieler"]));
} }
array_push($entryArray,$tempArray); array_push($entryArray,$tempArray);
} }
//var_dump($entryArray);
//echo json_encode($entryArray);
return array("Spalten"=>$TitelArray, "Data" =>$entryArray); return array("Spalten"=>$TitelArray, "Data" =>$entryArray);
} //}
} }
public function API_serverinfo($GET_arr = "", $POST_arr =""){ public function API_serverinfo($GET_arr = "", $POST_arr =""){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment