コード例 #1
0
 /**
  * Generate response based on Media primary key.
  *
  * @param Media $media
  *
  * @return array
  */
 public function generateResponse($media)
 {
     $metadata = $media->getMeta('metadata');
     $response = ArrayHelper::merge(ArrayHelper::toArray($media), $metadata);
     $response['media_data_formatted'] = Yii::$app->formatter->asDatetime($media->media_date);
     $response['media_readable_size'] = Yii::$app->formatter->asShortSize($metadata['media_file_size']);
     $response['media_delete_url'] = Url::to(['/media/ajax-delete', 'id' => $media->id, 'delete' => '1']);
     $response['media_update_url'] = Url::to(['/media/update', 'id' => $media->id]);
     $response['media_view_url'] = $media->url;
     if (preg_match('/^image\\//', $media->media_mime_type)) {
         $response['media_render_type'] = 'image';
         $response['media_icon_url'] = $this->getOption('upload_url') . '/' . $metadata['media_icon_url'];
         foreach ($metadata['media_versions'] as $versionName => $version) {
             $response['media_size'][] = ['version' => $versionName, 'url' => $version['url'], 'width' => $version['width'], 'height' => $version['height']];
         }
     } else {
         $response['media_icon_url'] = Yii::getAlias('@web') . '/' . $metadata['media_icon_url'];
         if (preg_match('/^video\\//', $media->media_mime_type)) {
             $response['media_render_type'] = 'video';
         } else {
             if (preg_match('/^audio\\//', $media->media_mime_type)) {
                 $response['media_render_type'] = 'audio';
             } else {
                 $response['media_render_type'] = 'file';
             }
         }
     }
     return $response;
 }
コード例 #2
0
 /**
  * Generate response based on Media primary key.
  *
  * @param Media $media
  * @return array
  */
 public function generateResponse($media)
 {
     $metadata = $media->getMeta('metadata');
     $response = ArrayHelper::merge(ArrayHelper::toArray($media), $metadata);
     $response['date_formatted'] = Yii::$app->formatter->asDatetime($media->date);
     $response['readable_size'] = Yii::$app->formatter->asShortSize($metadata['file_size']);
     $response['delete_url'] = Url::to(['/media/ajax-delete', 'id' => $media->id, 'delete' => '1']);
     $response['update_url'] = Url::to(['/media/update', 'id' => $media->id]);
     $response['view_url'] = $media->getUrl();
     if (preg_match('/^image\\//', $media->mime_type)) {
         $response['type'] = 'image';
         $response['icon_url'] = $this->getOption('upload_url') . $metadata['icon_url'];
     } else {
         $response['icon_url'] = Yii::getAlias('@web') . '/' . $metadata['icon_url'];
         if (preg_match('/^video\\//', $media->mime_type)) {
             $response['type'] = 'video';
         } elseif (preg_match('/^audio\\//', $media->mime_type)) {
             $response['type'] = 'audio';
         } else {
             $response['type'] = 'file';
         }
     }
     return $response;
 }