include("../include/_connection.php");
// prepa pagination
$hereIs = ORIGIN_IS_MEDIATHEQUE;
$fiId = GetValDefault( "fiId", null );
$peId = GetValDefault( "peId", null );
$type = GetValDefault( "type", "-1" );
$lettredebut = GetValDefault( "lettredebut", null );
$bFilm = ( !is_null( $fiId ) );
$bPers = ( !is_null( $peId ) );
$page = GetValDefault( "page", 1 );
$limitInf = LIMIT_20 * ( $page - 1 );
$query = "
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_media ( medId MEDIUMINT(4) )
";
$dbh -> do_query( $query );
// points d'entrée
// film : fiId
// medias liés au film + medias liés aux artistes qui participent au film
// personne : peId
// medias liés à l'artiste + medias liés aux films auxquels participent l'artiste
// mediatheque
// tous les medias
// + 2 filtres : type et lettredebut
if( $bFilm && !$bPers ){
$query = "
INSERT INTO tmp_media ( medId )
SELECT mfMedId
FROM `media_film`
WHERE mfFiId = $fiId
";
//echo "
$query
";
$dbh -> do_query( $query );
$query = "
INSERT INTO tmp_media ( medId )
SELECT mpMedId
FROM media_personne
INNER JOIN _film_personne fp ON mpPeId = fpIdPers
INNER JOIN personne ON mpPeId = peId
WHERE fp.fpIdFilm = $fiId
ORDER BY fpType DESC, fpOrdre ASC, peNom ASC
";
//echo "$query
";
$dbh -> do_query( $query );
}else if ( !$bFilm && $bPers ){
$query = "
INSERT INTO tmp_media ( medId )
SELECT mpMedId
FROM media_personne
WHERE mpPeId = $peId
";
//echo "$query
";
$dbh -> do_query( $query );
$query = "
INSERT INTO tmp_media ( medId )
SELECT mfMedId
FROM media_film
INNER JOIN _film_personne fp ON mfFiId = fpIdFilm
INNER JOIN film ON mfFiId = id
WHERE fpIdpers = $peId
ORDER BY titre ASC
";
//echo "$query
";
$dbh -> do_query( $query );
}else{
$query = "
INSERT INTO tmp_media ( medId )
SELECT medId
FROM media
";
//echo "$query
";
$dbh -> do_query( $query );
}
$query = "
SELECT m.medId, medType, medWidth, medHeight, medSize, TRUNCATE( nbNow, 0 ), progression, pourcentage, medDesc
FROM media m
INNER JOIN tmp_media tm ON m.medId = tm.medId
LEFT JOIN _synthese_consultation sc ON ( m.medId = sc.id AND type = ".TYPE_CONSULTATION_MEDIA." )
WHERE 1 = 1
";
if( !is_null( $lettredebut ) ){
if( $lettredebut == "0" ){
$query = $query.' AND medDesc REGEXP "^(0|1|2|3|4|5|6|7|8|9)"';
}else{
$query = $query.' AND medDesc LIKE "'.$lettredebut.'%" ';
}
}
if( $type <> "-1" ){
$query = $query." AND medType = '".$type."'";
}
$rs = $dbh -> do_query( $query );
$totalrows = $dbh -> total_rows( $rs );
//echo "$query : $totalrows
";
$dbh -> finish_sth( $rs );
$query .= " ORDER BY medDesc ASC";
$query .= " LIMIT ".$limitInf.", ".LIMIT_20;
//echo "$query
";
$rs = $dbh -> do_query( $query );
PutHtmlHeader( "Médiathèque" );
?>