Ejemplo n.º 1
0
 /**
  * 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;
 }