update share modal with new embed code, added embed bundle installation task

This commit is contained in:
Florian BLOUET
2015-11-04 14:57:14 +01:00
parent 1d8fe957c2
commit 6b48fb8462
2 changed files with 117 additions and 29 deletions

View File

@@ -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);
}
}