/** * Upload multiples media to given object * Prefix is the begining of generated filename * * @param string $id_object * @param string $prefix * @return Media */ public static function actionUploadNewMedia($files, $id_object, $prefix) { $user = ControleurConnexion::getCurrentUser(); $prefix = preg_replace('/[^\\w\\._]+/', '_', $prefix); $media_list = null; if ($user != null) { if (isset($files) && count($files) > 0) { foreach ($files as $file) { $targetDir = "doc" . '/' . "media" . '/' . $id_object . '/'; if (!file_exists($targetDir)) { mkdir($targetDir); } $targetName = $prefix . "_" . date("YmdHis") . "_" . preg_replace('/[^\\w\\._]+/', '_', $file["name"][0]); move_uploaded_file($file['tmp_name'][0], $targetDir . $targetName); $media = new Media(); $media->setId_object($id_object); $media->setIs_main_media(false); $media->setMedia_filepath($targetDir . $targetName); $extension = strtoupper(pathinfo($targetDir . $targetName, PATHINFO_EXTENSION)); if ($extension == 'JPG' || $extension == 'PNG' || $extension == 'BMP' || $extension == 'GIF' || $extension == 'TIFF') { $media->setKind(MediaKind::PICTURE); ControleurMedia::convertPicture($targetDir . $targetName); ControleurMedia::computePictureCenter($media); } else { $media->setKind(MediaKind::DOCUMENT); } $media_list[] = $media->saveOrUpdateEntity(); } } } return $media_list; }