Commit acae7c53 authored by Nico Schallehn's avatar Nico Schallehn

Code Aufgeräumt und kommentiert

parent 8a43524d
...@@ -10,7 +10,6 @@ class MediaDBViewerAPI{ ...@@ -10,7 +10,6 @@ class MediaDBViewerAPI{
private $DB_Username; private $DB_Username;
private $DB_Passwort; private $DB_Passwort;
private $DB_Database; private $DB_Database;
/** @var $DB_Objekt mysqli */
public $DB_Objekt; public $DB_Objekt;
function APIinit($KEY) { function APIinit($KEY) {
...@@ -47,9 +46,6 @@ class MediaDBViewerAPI{ ...@@ -47,9 +46,6 @@ class MediaDBViewerAPI{
} }
return $ret; return $ret;
} }
public function API_GetDataList($GET_arr, $POST_arr =""){ public function API_GetDataList($GET_arr, $POST_arr =""){
if(!isset($GET_arr['Tabelle']) OR ($GET_arr['Tabelle'] == "")) { if(!isset($GET_arr['Tabelle']) OR ($GET_arr['Tabelle'] == "")) {
return $this->error(1004); return $this->error(1004);
...@@ -108,66 +104,6 @@ class MediaDBViewerAPI{ ...@@ -108,66 +104,6 @@ class MediaDBViewerAPI{
} }
var_dump($Querys); var_dump($Querys);
} }
/*
if(isset($GET_arr['GenreID'])){
$Query = 'SELECT group_concat(fg.imdbID) AS imdbIDs FROM FilmGenre AS fg JOIN Genre AS g ON fg.genreID = g.genreID WHERE g.genreID IN ('.$GET_arr['GenreID'].') ';
$Genre = $this->DB_Objekt->query($Query);
if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);}
$imdbIDString = $Genre->fetch_array();
//$Where .= (strlen($GenreArr["imdbIDs"])>0?($first?"":" AND ").str_replace(",)", ")", 'imdbID in ('.$GenreArr["imdbIDs"].')'): ($first?" 0 ":""));
//$first = false;
$imdbArr[$imdbArrToCompar++] = explode(",", $imdbIDString["imdbIDs"]);
}
if( isset($GET_arr['Genre'])){
$Query = 'SELECT group_concat(fg.imdbID) AS imdbIDs FROM FilmGenre AS fg JOIN Genre AS g ON fg.genreID = g.genreID WHERE g.engname IN ("'.str_replace(",", '","', $GET_arr['Genre']).'") ';
$Genre = $this->DB_Objekt->query($Query);
if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);}
$imdbIDString = $Genre->fetch_array();
//$Where .= (strlen($GenreArr["imdbIDs"])>0?($first?"":" AND ").str_replace(",)", ")", 'imdbID in ('.$GenreArr["imdbIDs"].')'): ($first?" 0 ":""));
//$first = false;
$imdbArr[$imdbArrToCompar++] = explode(",", $imdbIDString["imdbIDs"]);
}
if(isset($GET_arr['SchauspielerID'])){
$Query = 'SELECT group_concat(fs.imdbID) AS imdbIDs FROM FilmSchauspieler AS fs JOIN Schauspieler AS s ON fs.schauspielerID = s.schauspielerID WHERE s.schauspielerID IN ('.$GET_arr['SchauspielerID'].') ';
$this->DebugOut( $Query);
$Schauspieler = $this->DB_Objekt->query($Query);
if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);}
$imdbIDString = $Schauspieler->fetch_array();
//echo $GenreArr["imdbIDs"];
//$Where .= (strlen($SchauspielerArr["imdbIDs"])>0?($first?"":" AND ").str_replace(",)", ")", 'imdbID in ('.$SchauspielerArr["imdbIDs"].')'): ($first?" 0 ":""));
//$first = false;
$imdbArr[$imdbArrToCompar++] = explode(",", $imdbIDString["imdbIDs"]);
}
if( isset($GET_arr['Schauspieler'])){
$Query = 'SELECT group_concat(fs.imdbID) AS imdbIDs FROM FilmSchauspieler AS fs JOIN Schauspieler AS s ON fs.schauspielerID = s.schauspielerID WHERE s.name IN ("'.str_replace(",", '","', $GET_arr['Schauspieler']).'") ';
//$this->DebugOut($Query." >>Zeile:".__LINE__);
$Schauspieler = $this->DB_Objekt->query($Query);
if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);}
$imdbIDString = $Schauspieler->fetch_array();
//$this->DebugOut($SchauspielerArr["imdbIDs"].">".strlen($SchauspielerArr["imdbIDs"])." >>Zeile:".__LINE__);
//$Where .= (strlen($SchauspielerArr["imdbIDs"])>0?($first?"":" AND ").str_replace(",)", ")", 'imdbID in ('.$SchauspielerArr["imdbIDs"].')'): ($first?" 0 ":""));
//$first = false;
$imdbArr[$imdbArrToCompar++] = explode(",", $imdbIDString["imdbIDs"]);
}
if( isset($GET_arr['SchauspielerSuche'])){
$Query = 'SELECT group_concat(fs.imdbID) AS imdbIDs FROM FilmSchauspieler AS fs JOIN Schauspieler AS s ON fs.schauspielerID = s.schauspielerID WHERE s.name LIKE "%'.$GET_arr['SchauspielerSuche'].'%" ';
//$this->DebugOut($Query." >>Zeile:".__LINE__);
$Schauspieler = $this->DB_Objekt->query($Query);
if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);}
$imdbIDString = $Schauspieler->fetch_array();
//$this->DebugOut($SchauspielerArr["imdbIDs"].">".strlen($SchauspielerArr["imdbIDs"])." >>Zeile:".__LINE__);
//$Where .= (strlen($SchauspielerArr["imdbIDs"])>0?($first?"":" AND ").str_replace(",)", ")", 'imdbID in ('.$SchauspielerArr["imdbIDs"].')'): ($first?" 0 ":""));
//$first = false;
$imdbArr[$imdbArrToCompar++] = explode(",", $imdbIDString["imdbIDs"]);
}*/
//TODO Hier gemeinsame Auswertung für die imdbIDs von Genre und Schauspieler!!!
switch ($imdbArrToCompar){ // Wenn es nur eine imDB Array Liste gibt... switch ($imdbArrToCompar){ // Wenn es nur eine imDB Array Liste gibt...
case 1: $imdbStr = implode(",",$imdbArr[0]); break; case 1: $imdbStr = implode(",",$imdbArr[0]); break;
case 2: $imdbStr .=implode(",",array_intersect($imdbArr[0],$imdbArr[1])); break; case 2: $imdbStr .=implode(",",array_intersect($imdbArr[0],$imdbArr[1])); break;
...@@ -176,15 +112,16 @@ class MediaDBViewerAPI{ ...@@ -176,15 +112,16 @@ class MediaDBViewerAPI{
case 5: $imdbStr .=implode(",",array_intersect($imdbArr[0],$imdbArr[1],$imdbArr[2],$imdbArr[3],$imdbArr[4])); break; case 5: $imdbStr .=implode(",",array_intersect($imdbArr[0],$imdbArr[1],$imdbArr[2],$imdbArr[3],$imdbArr[4])); break;
case 6: $imdbStr .=implode(",",array_intersect($imdbArr[0],$imdbArr[1],$imdbArr[2],$imdbArr[3],$imdbArr[4],$imdbArr[5])); break; case 6: $imdbStr .=implode(",",array_intersect($imdbArr[0],$imdbArr[1],$imdbArr[2],$imdbArr[3],$imdbArr[4],$imdbArr[5])); break;
case 7: $imdbStr .=implode(",",array_intersect($imdbArr[0],$imdbArr[1],$imdbArr[2],$imdbArr[3],$imdbArr[4],$imdbArr[5],$imdbArr[6])); break; case 7: $imdbStr .=implode(",",array_intersect($imdbArr[0],$imdbArr[1],$imdbArr[2],$imdbArr[3],$imdbArr[4],$imdbArr[5],$imdbArr[6])); break;
case 8: $imdbStr .=implode(",",array_intersect($imdbArr[0],$imdbArr[1],$imdbArr[2],$imdbArr[3],$imdbArr[4],$imdbArr[5],$imdbArr[6],$imdbArr[7])); break;
case 9: $imdbStr .=implode(",",array_intersect($imdbArr[0],$imdbArr[1],$imdbArr[2],$imdbArr[3],$imdbArr[4],$imdbArr[5],$imdbArr[6],$imdbArr[7],$imdbArr[8])); break;
case 10: $imdbStr .=implode(",",array_intersect($imdbArr[0],$imdbArr[1],$imdbArr[2],$imdbArr[3],$imdbArr[4],$imdbArr[5],$imdbArr[6],$imdbArr[7],$imdbArr[8],$imdbArr[9])); break;
} }
if ($imdbArrToCompar > 0) { if ($imdbArrToCompar > 0) {
$Where .= (strlen($imdbStr)>0?($first?"":" AND ").str_replace(",)", ")", 'imdbID in ('.$imdbStr.')'): ($first?" 0 ":"")); $Where .= (strlen($imdbStr)>0?($first?"":" AND ").str_replace(",)", ")", 'imdbID in ('.$imdbStr.')'): ($first?" 0 ":""));
$first = false; $first = false;
} }
} }
// Überprüfen ob Schauspieler oder Genre gefordert wird // Überprüfen ob Schauspieler oder Genre gefordert wird
$SpaltenArr = explode(",", $GET_arr['Spalten']); $SpaltenArr = explode(",", $GET_arr['Spalten']);
$ListGenre = (in_array("Genre", $SpaltenArr)?true:false); $ListGenre = (in_array("Genre", $SpaltenArr)?true:false);
...@@ -207,16 +144,13 @@ class MediaDBViewerAPI{ ...@@ -207,16 +144,13 @@ class MediaDBViewerAPI{
$Select = $this->iset($GET_arr['Spalten'], "*"); $Select = $this->iset($GET_arr['Spalten'], "*");
} }
$Query= "SELECT ".$Select. $Query= "SELECT ".$Select.
" FROM ".$GET_arr['Tabelle']." " " FROM ".$GET_arr['Tabelle']." "
.$Where .$Where
.$this->iset($GET_arr['Sortierung'], " ", " ORDER BY ", " ") .$this->iset($GET_arr['Sortierung'], " ", " ORDER BY ", " ")
.$this->iset($GET_arr['Anzahl'],"", " Limit "," ") .$this->iset($GET_arr['Anzahl'],"", " Limit "," ")
.";"; .";";
$this->DebugOut($Query." >>Zeile:".__LINE__); $this->DebugOut($Query." >>Zeile:".__LINE__); //TODO Debugausgabe entfernen
$entrys = $this->DB_Objekt->query($Query); $entrys = $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);}
...@@ -237,17 +171,13 @@ class MediaDBViewerAPI{ ...@@ -237,17 +171,13 @@ class MediaDBViewerAPI{
// Genre oder Schauspielerblock hinzufügen wenn es gewünscht ist // Genre oder Schauspielerblock hinzufügen wenn es gewünscht ist
if($ListGenre){ if($ListGenre){
$Query = 'SELECT group_concat(g.gername) AS Genre FROM FilmGenre AS fg JOIN Genre AS g ON fg.genreID = g.genreID WHERE fg.imdbID="'.$entry["imdbID"].'" ORDER BY g.gername'; $Query = 'SELECT group_concat(g.gername) AS Genre FROM FilmGenre AS fg JOIN Genre AS g ON fg.genreID = g.genreID WHERE fg.imdbID="'.$entry["imdbID"].'" ORDER BY g.gername';
$Genre = $this->DB_Objekt->query($Query); $Genre = $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);}
$GenreArr = $Genre->fetch_array(); $GenreArr = $Genre->fetch_array();
$tempArray["Genre"] = explode(",", utf8_encode($GenreArr["Genre"])); $tempArray["Genre"] = explode(",", utf8_encode($GenreArr["Genre"]));
} }
if($ListSchauspieler){ 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="'.$entry["imdbID"].'" ORDER BY s.name'; $Query = 'SELECT group_concat(s.name) AS Schauspieler FROM FilmSchauspieler AS fs JOIN Schauspieler AS s ON fs.schauspielerID = s.schauspielerID WHERE fs.imdbID="'.$entry["imdbID"].'" ORDER BY s.name';
$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();
...@@ -287,7 +217,7 @@ class MediaDBViewerAPI{ ...@@ -287,7 +217,7 @@ class MediaDBViewerAPI{
"API_Laufzeit" =>$Laufzeit, "API_Laufzeit" =>$Laufzeit,
"Antwort" => $respons ); "Antwort" => $respons );
} }
function error($ErrID, $Description = ""){ public function error($ErrID, $Description = ""){
switch ($ErrID) { switch ($ErrID) {
case 1001: case 1001:
return array( "FehlerID"=> $ErrID, return array( "FehlerID"=> $ErrID,
...@@ -310,13 +240,10 @@ class MediaDBViewerAPI{ ...@@ -310,13 +240,10 @@ class MediaDBViewerAPI{
"FehlerText" => "MySQL Fehler!", "FehlerText" => "MySQL Fehler!",
"FehlerBeschreibung" => $Description); "FehlerBeschreibung" => $Description);
break; break;
default: default:
return array( "FehlerID"=> 1000, return array( "FehlerID"=> 1000,
"FehlerText" => "Ein unbekannter Fehler ist aufgetreten!"); "FehlerText" => "Ein unbekannter Fehler ist aufgetreten!");
break; break;
} }
} }
} }
\ No newline at end of file
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