templates/embed/view.html.twig line 1

Open in your IDE?
  1. {% if video is defined and video %}
  2.     <!DOCTYPE html>
  3.     <html>
  4.     <head>
  5.         <title>{{ title_page }}</title>
  6.         <meta name="description" content="{{ video.description }}"/>
  7.         <meta name="medium" content="video"/>
  8.         <meta name="video_type" content="application/x-shockwave-flash"/>
  9.         <meta name="video_height" content="305"/>
  10.         <meta name="video_width" content="380"/>
  11.         <link rel="canonical" href="/video/{{ video.url_clean }}"/>
  12.         <link rel="image_src" type="image/jpeg" href="{{ thnet }}/images/img_tv/{{ video.idmultimedia }}.jpg"/>
  13.         <link rel="video_src" href="{{ thnet }}/video/swf/{{ video.code }}"/>
  14.         {#        <link rel="thumbnail" type="image/jpeg" href="{{ video.static_thumbnail }}" /> #}
  15.         <meta property="fb:app_id" content="1578443262199111"/>
  16.         <meta property="og:type" content="video.other">
  17.         <meta property="og:title" content="{{ video.nameview }}">
  18.         <meta property="og:description" content="{{ video.description }}">
  19.         <meta property="og:url" content="{{ video.permalink }}">
  20.         <meta property="og:image" content="{{ video.vignette }}">
  21.         <meta property="og:image:height" content="305">
  22.         <meta property="og:image:width" content="380">
  23.         <!-- <meta property="video:actor:id" content=""> -->
  24.         <meta name="twitter:card" content="surmmary">
  25.         <meta name="twitter:site" content="@thnet">
  26.         <meta name="twitter:title" content="{{ video.nameview }}">
  27.         <meta name="twitter:description" content="{{ video.description }}">
  28.         <meta name="twitter:image" content="{{ video.vignette }}">
  29.         <meta name="twitter:player" content="https://www.theatre-contemporain.net/embed/{{ video.code }}">
  30.         <meta name="twitter:player:height" content="305">
  31.         <meta name="twitter:player:width" content="380">
  32.         <style type="text/css" media="screen">
  33.             html, body, #content {
  34.                 height: 100%;
  35.                 background: #000;
  36.             }
  37.             body {
  38.                 margin: 0;
  39.                 padding: 0;
  40.                 overflow: hidden;
  41.             }
  42.             .flowplayer .fp-logo {
  43.                 width: 100px;
  44.                 position: absolute;
  45.                 bottom: 3em;
  46.                 left: auto; /* avoid logo being stuck on left side */
  47.                 right: 2%;
  48.             }
  49.             .flowplayer .fp-header .fp-icon {
  50.                 float: right;
  51.             }
  52.             .flowplayer.has-title .fp-header {
  53.                 text-align: left !important;
  54.             }
  55.             .flowplayer.has-title .fp-header {
  56.                 background-color: rgba(0, 0, 0, 0.5);
  57.             }
  58.             .fp-title-thnet {
  59.                 text-align: left;
  60.                 overflow: hidden;
  61.                 filter: alpha(opacity=0);
  62.                 padding: .3em .9em;
  63.                 -webkit-transition: opacity 0.3s;
  64.                 transition: opacity 0.3s;
  65.                 white-space: nowrap;
  66.                 font-size: 0.9em;
  67.             }
  68.             .fp-title-thnet-logo {
  69.                 width: 35px;
  70.                 float: left;
  71.                 margin-right: 0.5em;
  72.                 margin-top: 0.1rem;
  73.             }
  74.             .fp-partenaires {
  75.                 white-space: nowrap;
  76.                 font-size: 0.8em;
  77.             }
  78.             .fp-header {
  79.                 height: auto !important;
  80.             }
  81.             .flowplayer .fp-header .fp-icon {
  82.                 margin: .4em .9em 0 0 !important;
  83.             }
  84.             {% if is_festival_avignon is defined and is_festival_avignon %}
  85.             .fp-header {
  86.                 padding: 0;
  87.             }
  88.             .fp-title-thnet-logo {
  89.                 width: 18px;
  90.             }
  91.             .fp-title-thnet {
  92.                 white-space: pre-line;
  93.             }
  94.             {% endif %}
  95.         </style>
  96.         <link rel="stylesheet" href="{{ thnet }}/navigation/css/flowplayer/skin/skin.css?{{ css_refresh }}">
  97.         <script type="text/javascript" src="{{ thnet }}/navigation/js/jquery-1.12.4.min.js?{{ css_refresh }}"></script>
  98.         <script type="text/javascript"
  99.                 src="{{ thnet }}/navigation/js/flowplayer/flowplayer.js?{{ css_refresh }}"></script>
  100.         <script type="text/javascript"
  101.                 src="{{ thnet }}/navigation/js/flowplayer/flowplayer.vod-quality-selector.js?{{ css_refresh }}"></script>
  102.     </head>
  103.     <body>
  104.     <div id="content">
  105.         {% if is_new_player is defined and is_new_player %}
  106.         {% if vod is defined and vod %}
  107.             <div style="margin:0; padding: 0;text-align: center;">
  108.                 {% if video.player is defined and video.player %}
  109.                     {{ video.player|raw }}
  110.                 {% endif %}
  111.             </div>
  112.         {% else %}
  113.             <div id="thnet-player" class="flowplayer fp-slim fp-mute fp-edgy"
  114.                  data-domaine="{{ app.request.server.get('URL_THNET') }}"
  115.                  data-key="{{ video.flowplayer }}"
  116.                  data-analytics="UA-2955171-5"
  117.                  data-idmultimedia="{{ video.idmultimedia }}"
  118.                  data-fullscreen="true"
  119.                  data-qualities="{{ video.format_avaibles_count }}"
  120.                  data-default-quality="{{ video.format_default }}"
  121.                  data-qualities-thnet="{{ video.format_avaibles }}"
  122.                  data-qualities-thnet-label="{{ video.format_avaibles_label }}"
  123.                  data-codevideo='{{ video.code }}'
  124.                  data-keyvideo="{{ video.key }}"
  125.                  data-twitter="{{ video.permalink }}"
  126.                  data-facebook="{{ video.permalink }}"
  127.                     {% if video.embed is defined and video.embed %}
  128.                         data-embed="{{ video.embed }}"
  129.                     {% endif %}
  130.                  data-permalink="{{ video.permalink }}">
  131.                 <video poster="{{ video.vignette }}" data-sujet="{{ video.sujet_titre }}"
  132.                        data-title="{{ video.player_title }}" data-default-quality="{{ video.format_default }}" controls
  133.                        controlsList="nodownload">
  134.                     {% for kv,vv in video.formats %}
  135.                         {% if (vv.flv is defined and not vv.flv) or vv.flv is not defined %}
  136.                             <source src="{{ vv.mediaurl }}" data-type="{{ vv.mediatype }}" type="video/mp4">
  137.                         {% endif %}
  138.                     {% endfor %}
  139.                 </video>
  140.             </div>
  141.             <script type="text/javascript">
  142.                 var duree_video = 0;
  143.                 var player_api = flowplayer(function (api, root) {
  144.                     var conf = api.conf;
  145.                     api.getSeekTime = function (curseur = 0) {
  146.                         if (!isNaN(curseur)) {
  147.                             curseur = Math.round(parseFloat(curseur) * 10) / 10;
  148.                             if (curseur < duree_video) {
  149.                                 api.seek(curseur);
  150.                             }
  151.                         }
  152.                     }
  153.                     api.shareUrl = function (directEmbed) {
  154.                         return conf.domaine + "/embed/" + conf.codevideo;
  155.                     }
  156.                     api.tweet = function () {
  157.                         var left
  158.                             , top
  159.                             , width = 550
  160.                             , height = 420
  161.                             , winHeight = screen.height
  162.                             , winWidth = screen.width
  163.                             , windowOptions = 'scrollbars=yes,resizable=yes,toolbar=no,location=yes'
  164.                             , shareUrl = 'http://';
  165.                         left = Math.round((winWidth / 2) - (width / 2));
  166.                         top = 0;
  167.                         if (winHeight > height) {
  168.                             top = Math.round((winHeight / 2) - (height / 2));
  169.                         }
  170.                         window.open(
  171.                             'https://twitter.com/intent/tweet?url=' + encodeURIComponent(shareUrl) + '&text=' + encodeURIComponent(conf.clip.sujet + " " + conf.permalink + " (@thnet)"),
  172.                             'intent',
  173.                             windowOptions + ',width=' + width + ',height=' + height + ',left=' + left + ',top=' + top
  174.                         );
  175.                     };
  176.                     api.on('resume', function () {
  177.                         var domain = api['conf']['keyvideo'];
  178.                         var keymultimedia = api['conf']['codevideo'];
  179.                         var keyvideo = api['conf']['keyvideo'];
  180.                         console.log(domain)
  181.                         $.ajax({
  182.                             url: $('#thnet-player').data('domaine') + "/stats/store?code=" + keymultimedia + "&key=" + keyvideo,
  183.                             type: "POST",
  184.                             data: 'state=play'
  185.                         });
  186.                     });
  187.                     api.one('ready', function (e, api, video) {
  188.                         var hash = window.location.hash,
  189.                             params = window.location.search,
  190.                             pos = hash.substr(3);
  191.                         duree_video = video.duration;
  192.                         if (hash.indexOf("#t=") === 0 && !isNaN(pos)) {
  193.                             pos = Math.round(parseFloat(pos) * 10) / 10;
  194.                             if (pos < video.duration) {
  195.                                 api.seek(pos);
  196.                             }
  197.                         }
  198.                         if (params.indexOf('autostart') == 1) {
  199.                             api.resume();
  200.                         }
  201.                     });
  202.                 });
  203.                 // A function to process messages received by the window.
  204.                 function commandesExterne(e) {
  205.                     try {
  206.                         val = JSON.parse(e.data);
  207.                         if (typeof val === 'object') {
  208.                             flowplayer().getSeekTime(val.pos);
  209.                         }
  210.                     } catch (x) {
  211.                         if (e.data == "play") {
  212.                             flowplayer().resume();
  213.                         } else if (e.data == "pause") {
  214.                             flowplayer().pause();
  215.                         } else {
  216.                             flowplayer().stop();
  217.                         }
  218.                     }
  219.                 }
  220.                 window.addEventListener('message', commandesExterne);
  221.             </script>
  222.         {% endif %}
  223.         {% else %}
  224.             <p id="{{ video.playerid }}" style="margin:0;padding:0;">
  225.                 {% if video.formats.h264m is defined and video.formats.h264m %}
  226.                     <video width="{{ video.flv_width }}" preload="none" height="{{ video.flv_height }}"
  227.                            poster="{{ video.image_media }}" controls controlsList="nodownload">
  228.                         <source src="{{ video.formats.h264m.mediaurl }}" type="video/mp4">
  229.                         <object type="video/mp4" data="{{ video.image_media }}" width="{{ video.flv_width }}"
  230.                                 height="{{ video.flv_height }}">
  231.                             <param name="controller" value="false"/>
  232.                             <param name="src" value="{{ video.image_media }}"/>
  233.                             <param name="href" value="{{ video.formats.h264m.mediaurl }}"/>
  234.                             <param name="target" value="myself"/>
  235.                             <embed src="{{ video.formats.h264m.mediaurl }}" width="{{ video.flv_width }}"
  236.                                    height="{{ video.flv_height }}">
  237.                         </object>
  238.                     </video>
  239.                 {% else %}
  240.                     <span class="flashplayer_needed">
  241.                     {% trans %}multimedia_needed_to_view{% endtrans %}
  242.                     <a href="http://www.adobe.com/go/getflashplayer">Flash Player<sup>&reg;</sup></a> : <em>{{ video.sujet_titre }}</em>
  243.                 </span>
  244.                 {% endif %}
  245.             </p>
  246.             <div style="margin:0; padding: 0;text-align: center;">
  247.                 {% if video.player is defined and video.player %}
  248.                     {{ video.player|raw }}
  249.                 {% endif %}
  250.             </div>
  251.         {% endif %}
  252.     </div>
  253.     </body>
  254.     </html>
  255. {% else %}
  256.     {% if noexport is defined and noexport %}
  257.         <p>
  258.             Intégration désactivée
  259.         </p>
  260.         <p>
  261.             {{ nameview }}
  262.         </p>
  263.         <a href="{{ permalink }}" target="__blank">Cliquer ici pour voir la vidéo sur le site</a>
  264.     {% endif %}
  265.     {% if nodispo is defined and nodispo %}
  266.         Vidéo non disponible
  267.     {% endif %}
  268.     {% if montheatre is defined and montheatre %}
  269.         Vidéo réservée aux abonnés
  270.     {% endif %}
  271.     {% if nodelete is defined and nodelete %}
  272.         Vidéo supprimée
  273.     {% endif %}
  274. {% endif %}