2019-09-06 11:48:50 +00:00
< ? php
2019-09-07 11:42:36 +00:00
if ( ! isset ( $_SESSION [ " team " ]))
require_once " server_files/403.php " ;
2019-09-06 11:48:50 +00:00
if ( isset ( $_POST [ " send_synthese " ])) {
$error_message = saveSynthese ();
}
2019-09-07 11:42:36 +00:00
/** @var Team $team */
$team = $_SESSION [ " team " ];
2019-09-06 11:48:50 +00:00
$syntheses_req = $DB -> prepare ( " SELECT `file_id`, `dest`, COUNT(`dest`) AS `version` FROM `syntheses` WHERE `team` = ? AND `tournament` = ? GROUP BY `dest`, `uploaded_at` ORDER BY `dest`, `uploaded_at` DESC; " );
2019-09-07 11:42:36 +00:00
$syntheses_req -> execute ([ $team -> getId (), $_SESSION [ $team -> isSelectedForFinal () ? $_SESSION [ " final " ] -> getId () : $team -> getTournamentId ()]]);
2019-09-06 11:48:50 +00:00
2019-09-07 11:42:36 +00:00
$tournament = Tournament :: fromId ( $team -> isSelectedForFinal () ? $_SESSION [ " final " ] -> getId () : $team -> getTournamentId ());
2019-09-06 11:48:50 +00:00
function saveSynthese () {
global $LOCAL_PATH , $DB ;
$dest = strtoupper ( htmlspecialchars ( $_POST [ " dest " ]));
if ( ! isset ( $dest ) || ( $dest != " OPPOSANT " && $dest != " RAPPORTEUR " ))
return " Le destinataire est invalide. " ;
$file = $_FILES [ " synthese " ];
if ( $file [ " size " ] > 5000000 || $file [ " error " ])
return " Une erreur est survenue. Merci de vérifier que le fichier pèse moins que 5 Mo. " ;
if ( finfo_file ( finfo_open ( FILEINFO_MIME_TYPE ), $file [ " tmp_name " ]) != 'application/pdf' )
return " Le fichier doit être au destmat PDF. " ;
if ( ! is_dir ( " $LOCAL_PATH /files " ) && ! mkdir ( " $LOCAL_PATH /files " ))
return " Les droits sont insuffisants. Veuillez contacter l'administrateur du serveur. " ;
$alphabet = " abcdefghijklmnopqrstuvwxyz0123456789 " ;
do {
$id = " " ;
for ( $i = 0 ; $i < 64 ; ++ $i ) {
$id .= $alphabet [ rand ( 0 , strlen ( $alphabet ) - 1 )];
}
}
while ( file_exists ( " $LOCAL_PATH /files/ $id " ));
if ( ! rename ( $file [ " tmp_name " ], " $LOCAL_PATH /files/ $id " ))
return " Une erreur est survenue lors de l'envoi du fichier. " ;
$req = $DB -> prepare ( " INSERT INTO `syntheses`(`file_id`, `team`, `tournament`, `dest`) VALUES (?, ?, ?, ?); " );
$req -> execute ([ $id , $_SESSION [ " team_id " ], $_SESSION [ " tournament_id " ], $dest ]);
return false ;
}
2019-09-07 11:42:36 +00:00
require_once " server_files/views/syntheses.php " ;