mirror of
https://github.com/pierre42100/ComunicAPI
synced 2024-11-23 22:09:29 +00:00
Implemented Movie object
This commit is contained in:
parent
604fddd38c
commit
0bec88bda4
50
RestControllers/MoviesController.php
Normal file
50
RestControllers/MoviesController.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
/**
|
||||
* User personnal movies controller
|
||||
*
|
||||
* @author Pierre HUBERT
|
||||
*/
|
||||
|
||||
class MoviesController {
|
||||
|
||||
/**
|
||||
* Get the list of movies of the user
|
||||
*
|
||||
* @url POST /movies/get_list
|
||||
*/
|
||||
public function get_movies_list(){
|
||||
|
||||
user_login_required(); //Need login
|
||||
|
||||
//Fetch the database
|
||||
$movies = CS::get()->components->movies->get_list(userID);
|
||||
|
||||
//Process the list of movies
|
||||
foreach($movies as $num=>$movie)
|
||||
$movies[$num] = $this->MovieToAPI($movie);
|
||||
|
||||
return $movies;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Turn movie object into API standard object
|
||||
*
|
||||
* @param Movie $movie The movie object to convert
|
||||
* @return array API information about the movie
|
||||
*/
|
||||
public static function MovieToAPI(Movie $movie) : array {
|
||||
|
||||
$data = array();
|
||||
|
||||
$data["id"] = $movie->get_id();
|
||||
$data["uri"] = $movie->get_uri();
|
||||
$data["url"] = $movie->get_url();
|
||||
$data["userID"] = $movie->get_userID();
|
||||
$data["name"] = $movie->get_name();
|
||||
$data["file_type"] = $movie->get_file_type();
|
||||
$data["size"] = $movie->get_size();
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* User personnal movies controller
|
||||
*
|
||||
* @author Pierre HUBERT
|
||||
*/
|
||||
|
||||
class moviesController {
|
||||
|
||||
/**
|
||||
* Get the list of movies of the user
|
||||
*
|
||||
* @url POST /movies/get_list
|
||||
*/
|
||||
public function get_movies_list(){
|
||||
|
||||
user_login_required(); //Need login
|
||||
|
||||
//Fetch the database
|
||||
$movies = CS::get()->components->movies->get_list(userID);
|
||||
|
||||
return $movies;
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -528,6 +528,10 @@ class postsController {
|
||||
//Update visibility level
|
||||
$infos['visibility_level'] = $this::VISIBILITY_LEVELS_API[$infos['visibility_level']];
|
||||
|
||||
//Turn movie into API entry (if any)
|
||||
if($infos["video_infos"] != null)
|
||||
$infos["video_infos"] = MoviesController::MovieToAPI($infos["video_infos"]);
|
||||
|
||||
//Turn survey into API entry (if any)
|
||||
if($infos["data_survey"] != null)
|
||||
$infos["data_survey"] = SurveysController::SurveyToAPI($infos["data_survey"]);
|
||||
|
@ -28,7 +28,7 @@ class Movies {
|
||||
|
||||
$movies = array();
|
||||
foreach($results as $row)
|
||||
$movies[] = $this->parse_db_infos($row);
|
||||
$movies[] = $this->dbToMovie($row);
|
||||
|
||||
return $movies;
|
||||
}
|
||||
@ -37,9 +37,9 @@ class Movies {
|
||||
* Get informations about a movie
|
||||
*
|
||||
* @param int $movieID The ID of the target movie
|
||||
* @return array Informations about the movie (empty in case of failure)
|
||||
* @return Movie Information about the movie (empty in case of failure)
|
||||
*/
|
||||
public function get_infos(int $movieID) : array {
|
||||
public function get_infos(int $movieID) : Movie {
|
||||
|
||||
//Perform a request in the database
|
||||
$condition = "WHERE ID = ?";
|
||||
@ -50,7 +50,7 @@ class Movies {
|
||||
if(count($result) == 0)
|
||||
return array();
|
||||
|
||||
return $this->parse_db_infos($result[0]);
|
||||
return $this->dbToMovie($result[0]);
|
||||
|
||||
}
|
||||
|
||||
@ -73,35 +73,35 @@ class Movies {
|
||||
public function get_owner(int $movieID) : int {
|
||||
|
||||
//Get infos about the movie
|
||||
$movieInfos = $this->get_infos($movieID);
|
||||
$movie = $this->get_infos($movieID);
|
||||
|
||||
if(!$movie->isValid())
|
||||
return 0;
|
||||
|
||||
//Return the ID of the owner of the movie
|
||||
return isset($movieInfos["userID"]) ? $movieInfos["userID"] : 0;
|
||||
return $movie->get_userID();;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse a video informations
|
||||
* Convert database entry into movie object
|
||||
*
|
||||
* @param array $db_infos Informations about the movie from
|
||||
* the database
|
||||
* @return array Parsed informations about the video
|
||||
* @param array $entry The database entry
|
||||
* @return Movie Generated object
|
||||
*/
|
||||
private function parse_db_infos(array $db_infos) : array {
|
||||
private function dbToMovie(array $entry) : Movie {
|
||||
|
||||
$infos = array();
|
||||
$movie = new Movie();
|
||||
|
||||
//Get informations
|
||||
$infos["id"] = $db_infos["ID"];
|
||||
$infos["uri"] = $db_infos["URL"];
|
||||
$infos["url"] = path_user_data($infos['uri']);
|
||||
$infos["userID"] = $db_infos["ID_user"];
|
||||
$infos["name"] = $db_infos["nom_video"];
|
||||
$infos["file_type"] = $db_infos["file_type"];
|
||||
$infos["size"] = $db_infos["size"];
|
||||
|
||||
return $infos;
|
||||
$movie->set_id($entry["ID"]);
|
||||
$movie->set_uri($entry["URL"]);
|
||||
$movie->set_url(path_user_data($movie->get_uri()));
|
||||
$movie->set_userID($entry["ID_user"]);
|
||||
$movie->set_name($entry["nom_video"]);
|
||||
$movie->set_file_type($entry["file_type"]);
|
||||
$movie->set_size($entry["size"]);
|
||||
|
||||
return $movie;
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user