mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-17 15:03:25 +00:00
update share modal with new embed code, added embed bundle installation task
This commit is contained in:
@@ -23,14 +23,62 @@ class ShareController extends Controller
|
||||
*/
|
||||
public function shareRecord($base_id, $record_id)
|
||||
{
|
||||
$outputVars = [
|
||||
'isAvailable' => false,
|
||||
'preview' => [
|
||||
'permalinkUrl' => '',
|
||||
'permaviewUrl' => '',
|
||||
'embedUrl' => '',
|
||||
'width' => '',
|
||||
'height' => ''
|
||||
]
|
||||
];
|
||||
$record = new \record_adapter($this->app, \phrasea::sbasFromBas($this->app, $base_id), $record_id);
|
||||
|
||||
if (!$this->getAclForUser()->has_access_to_subdef($record, 'preview')) {
|
||||
$this->app->abort(403);
|
||||
}
|
||||
|
||||
return $this->renderResponse('prod/Share/record.html.twig', [
|
||||
'record' => $record,
|
||||
]);
|
||||
$preview = $record->get_preview();
|
||||
|
||||
if ($preview->get_permalink() !== null) {
|
||||
|
||||
|
||||
$subdefName = $preview->get_name();
|
||||
$subdef = $record->get_subdef($subdefName);
|
||||
|
||||
switch ($record->getType()) {
|
||||
|
||||
case 'flexpaper':
|
||||
case 'document':
|
||||
case 'audio':
|
||||
case 'video':
|
||||
default:
|
||||
$token = $preview->get_permalink()->get_token();
|
||||
$permalinkUrl = $preview->get_permalink()->get_url();
|
||||
$permaviewUrl = $preview->get_permalink()->get_page();
|
||||
$previewWidth = $preview->get_width();
|
||||
$previewHeight = $preview->get_height();
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
$sbas_id = $record->getDataboxId();
|
||||
$baseUrl = $this->app['request']->getSchemeAndHttpHost().$this->app['request']->getBaseUrl();
|
||||
$embedUrl = $baseUrl.'/embed/'.$sbas_id.'/'.$record_id.'/'.$subdefName.'/?token='.$token;
|
||||
|
||||
$outputVars = [
|
||||
'isAvailable' => true,
|
||||
'preview' => [
|
||||
'permalinkUrl' => $permalinkUrl,
|
||||
'permaviewUrl' => $permaviewUrl,
|
||||
'embedUrl' => $embedUrl,
|
||||
'width' => $previewWidth,
|
||||
'height' => $previewHeight
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
return $this->renderResponse('prod/Share/record.html.twig', $outputVars);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user