]> _ Git - tortuga-home.git/commitdiff
.
authorVincent <vincent@enhydra.fr>
Wed, 4 Nov 2020 10:07:07 +0000 (11:07 +0100)
committerVincent <vincent@enhydra.fr>
Wed, 4 Nov 2020 10:07:07 +0000 (11:07 +0100)
.idea/workspace.xml
config/media.php
config/tv.php
scripts/lib/cachemedia.php

index 534e5a2a6eb637f41e3beabeeaf983f85a37b545..abcc2d1a86d14577ab3c66b8dc950b4c63f10437 100644 (file)
@@ -3,8 +3,9 @@
   <component name="ChangeListManager">
     <list default="true" id="352ce63a-b52a-41a2-979b-becda7920939" name="Default" comment=".">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/scripts/cron/cron.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/cron/cron.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/scripts/lib/shield.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/shield.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/config/media.php" beforeDir="false" afterPath="$PROJECT_DIR$/config/media.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/config/tv.php" beforeDir="false" afterPath="$PROJECT_DIR$/config/tv.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/scripts/lib/cachemedia.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/cachemedia.php" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
       <workItem from="1603958541180" duration="5032000" />
       <workItem from="1604042543878" duration="11137000" />
       <workItem from="1604152329376" duration="42646000" />
-      <workItem from="1604347943058" duration="12037000" />
-    </task>
-    <task id="LOCAL-00322" summary=".">
-      <created>1591437757807</created>
-      <option name="number" value="00322" />
-      <option name="presentableId" value="LOCAL-00322" />
-      <option name="project" value="LOCAL" />
-      <updated>1591437757808</updated>
+      <workItem from="1604347943058" duration="16133000" />
     </task>
     <task id="LOCAL-00323" summary=".">
       <created>1591440466804</created>
       <option name="project" value="LOCAL" />
       <updated>1604414629025</updated>
     </task>
-    <option name="localTasksCounter" value="371" />
+    <task id="LOCAL-00371" summary=".">
+      <created>1604477496171</created>
+      <option name="number" value="00371" />
+      <option name="presentableId" value="LOCAL-00371" />
+      <option name="project" value="LOCAL" />
+      <updated>1604477496171</updated>
+    </task>
+    <option name="localTasksCounter" value="372" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
       <screen x="0" y="0" width="1707" height="920" />
     </state>
     <state x="740" y="229" key="#com.jetbrains.php.refactoring.extractMethod.PhpExtractMethodDialog#function0/0.0.1707.920@0.0.1707.920" timestamp="1604146905948" />
-    <state x="198" y="0" width="737" height="502" key="CommitChangelistDialog2" timestamp="1604414597831">
+    <state x="198" y="0" width="737" height="502" key="CommitChangelistDialog2" timestamp="1604477469385">
       <screen x="0" y="0" width="2560" height="1040" />
     </state>
     <state x="132" y="0" width="737" height="502" key="CommitChangelistDialog2/0.0.1707.920@0.0.1707.920" timestamp="1604307637401" />
     <state x="701" y="75" key="CommitChangelistDialog2/0.0.1920.1160@0.0.1920.1160" timestamp="1602171117745" />
-    <state x="198" y="0" width="745" height="567" key="CommitChangelistDialog2/0.0.2560.1040@0.0.2560.1040" timestamp="1604414597831" />
+    <state x="198" y="0" width="745" height="567" key="CommitChangelistDialog2/0.0.2560.1040@0.0.2560.1040" timestamp="1604477469385" />
     <state x="635" y="216" key="FileChooserDialogImpl" timestamp="1604227698339">
       <screen x="0" y="0" width="1707" height="920" />
     </state>
       <screen x="0" y="0" width="1707" height="920" />
     </state>
     <state x="512" y="211" key="run.anything.popup/0.0.1707.920@0.0.1707.920" timestamp="1604146410464" />
-    <state x="90" y="196" width="672" height="678" key="search.everywhere.popup" timestamp="1604252585347">
-      <screen x="0" y="0" width="1707" height="920" />
+    <state x="135" y="222" width="1008" height="767" key="search.everywhere.popup" timestamp="1604481521257">
+      <screen x="0" y="0" width="2560" height="1040" />
     </state>
     <state x="90" y="196" width="672" height="678" key="search.everywhere.popup/0.0.1707.920@0.0.1707.920" timestamp="1604252585347" />
+    <state x="135" y="222" width="1008" height="767" key="search.everywhere.popup/0.0.2560.1040@0.0.2560.1040" timestamp="1604481521257" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
index 476cc2212ff52f39d20c1052579f33fe96bccc2e..0690f13442b71ed4d80e74794a538a8f58b4961a 100644 (file)
@@ -11,8 +11,7 @@ if ($device == 'salon') {
     $shortcuts['media'][] = array('type' => 'netflix', 'url' => 'scripts/netflix.php?id=home', 'label' => '<img src="images/netflix.png">');
 }
 if ($device == 'salon' || $device == 'bureau') {
-    $shortcuts['media'][] = ['label' => 'Nintendo Switch', 'type' => 'harmonyactivity', 'activity' => 'tv'];
-    $shortcuts['media'][] = ['label' => 'Jeux PC', 'type' => 'ajax', 'url' => '/scripts/pcgames.php'];
+    $shortcuts['media'][] = ['label' => 'Jeux Videos', 'type' => 'ajax', 'url' => '/scripts/pcgames.php'];
     $shortcuts['media'][] = ['label' => 'Vidéo web', 'type' => 'raspberrycast'];
 }
 
index 3f6ffbefaa6cb4396d0cd7000ed32ead594b80c5..d80c4574cbd128a15080bdeb4826a05525e7ec1e 100644 (file)
@@ -17,47 +17,88 @@ if (!$mapdvb) {
     connectRedis()->igbsetex('dvbchannels', 3600, $mapdvb);
 }
 
+$replays = [
+    'FranceTV' => ['shield' => 'mycanal:replay:francetv', 'logo' => 'https://www.france.tv/images/francetv-black.svg'],
+    'Arte' => ['shield' => 'mycanal:replay:arte', 'logo' => '80204926'],
+    'MyTF1' => ['shield' => 'mycanal:replay:mytf1', 'logo' => '3932761'],
+    'Toutes les chaînes' => ['shield' => 'mycanal:replay:home'],
+];
+$shortcuts['sub-tv-replay'] = array();
+foreach ($replays as $name => $replay) {
+    if (isset($replay['logo']) && $replay['logo']) {
+        $url = $replay['logo'];
+        $style = 'width:80%;margin-top:42%;';
+        $ext = null;
+        if (strpos($url, 'http') !== 0) {
+            $url = 'http://thumb.canalplus.pro/bddpe/unsafe/' . $replay['logo'];
+            $style = 'margin-top:12%;';
+            $ext = 'webp';
+        }
+        $name = '<img class="logo" style="' . $style . '" alt="' . $name . '" src="' . cacheMedia($url, $ext) . '">';
+    }
+    if (isset($replay['shield'])) {
+        $e = explode(':', $replay['shield'], 2);
+        if ($name === 'netflix') {
+            $name = '<img src="images/netflix.png">';
+        }
+        $shortcuts['sub-tv-replay'][] = array('type' => 'shield', 'url' => 'scripts/shield.php?' . $e[0] . '=' . $e[1], 'label' => $name);
+    }
+}
+
 $tv = array(
     'Replay' => array('freebox' => 'replay', 'shield' => 'mycanal:replay:home'),
     'Netflix' => array('freebox' => 'netflix', 'shield' => 'netflix:home'),
     'Infos',
-    'France Info' => array('stream' => 'tvheadend:franceinfo:', 'channel' => 27, 'shield' => 'mycanal:live:670'),
-    'Cnews' => array('stream' => 'tvheadend:CNEWS', 'channel' => 16, 'shield' => 'mycanal:live:480'),
-    'BFM TV' => array('stream' => 'tvheadend:BFM TV', 'channel' => 15, 'shield' => 'mycanal:live:633'),
-    'BFM Business' => array('stream' => 'tvheadend:BFM Paris', 'channel' => 347, 'shield' => 'mycanal:live:645'),
-    'LCI' => array('stream' => 'tvheadend:LCI', 'channel' => 26, 'shield' => 'mycanal:live:553'),
-    'Euronews' => array('stream' => 'fbx:205:sd', 'channel' => 345, 'shield' => 'mycanal:live:324'),
+    'France Info' => array('stream' => 'tvheadend:franceinfo:', 'channel' => 27, 'shield' => 'mycanal:live:670', 'logo' => '41072782'),
+    'Cnews' => array('stream' => 'tvheadend:CNEWS', 'channel' => 16, 'shield' => 'mycanal:live:480', 'logo' => '64698936'),
+    'BFM TV' => array('stream' => 'tvheadend:BFM TV', 'channel' => 15, 'shield' => 'mycanal:live:633', 'logo' => '34766177'),
+    'BFM Business' => array('stream' => 'tvheadend:BFM Paris', 'channel' => 347, 'shield' => 'mycanal:live:645', 'logo' => '54239635'),
+    'LCI' => array('stream' => 'tvheadend:LCI', 'channel' => 26, 'shield' => 'mycanal:live:553', 'logo' => '66747521'),
+    'Euronews' => array('stream' => 'fbx:205:sd', 'channel' => 345, 'shield' => 'mycanal:live:324', 'logo' => '36581437'),
     'Généralistes',
-    'TF1' => array('stream' => 'tvheadend:TF1', 'channel' => 1, 'shield' => 'mycanal:live:312'),
-    'France 2' => array('stream' => 'tvheadend:France 2', 'channel' => 2, 'shield' => 'mycanal:live:26'),
-    'France 3' => array('stream' => 'tvheadend:F3 Paris Ile-de-France', 'channel' => 3, 'shield' => 'mycanal:live:543'),
-    'France 5' => array('stream' => 'tvheadend:France 5', 'channel' => 5, 'shield' => 'mycanal:live:545'),
-    'M6' => array('stream' => 'tvheadend:M6', 'channel' => 6, 'shield' => 'mycanal:live:313'),
-    'Canal +' => array('stream' => 'tvheadend:CANAL+', 'channel' => 4, 'shield' => 'mycanal:live:601'),
-    'Arte' => array('stream' => 'tvheadend:Arte', 'channel' => 7, 'shield' => 'mycanal:live:154'),
-    'C8' => array('stream' => 'tvheadend:C8', 'channel' => 8, 'shield' => 'mycanal:live:450'),
-    'W9' => array('stream' => 'tvheadend:W9', 'channel' => 9, 'shield' => 'mycanal:live:296'),
-    'TMC' => array('stream' => 'tvheadend:TMC', 'channel' => 10, 'shield' => 'mycanal:live:584'),
-    'TFX' => array('stream' => 'tvheadend:TFX', 'channel' => 11, 'shield' => 'mycanal:live:570'),
-    'NRJ12' => array('stream' => 'tvheadend:NRJ12', 'channel' => 12, 'shield' => 'mycanal:live:568'),
-    'LCP' => array('stream' => 'tvheadend:LCP', 'channel' => 13, 'shield' => 'mycanal:live:554'),
-    'France 4' => array('stream' => 'tvheadend:France 4', 'channel' => 14, 'shield' => 'mycanal:live:544'),
-    'CStar' => array('stream' => 'tvheadend:CSTAR', 'channel' => 17, 'shield' => 'mycanal:live:513'),
-    'Gulli' => array('stream' => 'tvheadend:Gulli', 'channel' => 18, 'shield' => 'mycanal:live:549'),
-    'RMC Story' => array('stream' => 'tvheadend:RMC STORY', 'channel' => 23, 'shield' => 'mycanal:live:571'),
-    'RMC Découverte' => array('stream' => 'tvheadend:RMC Découverte', 'channel' => 24, 'shield' => 'mycanal:live:595'),
-    'Chérie 25' => array('stream' => 'tvheadend:Chérie 25', 'channel' => 25, 'shield' => 'mycanal:live:440'),
-    'Paris première' => array('stream' => 'fbx:213:ld', 'channel' => 28, 'shield' => 'mycanal:live:294'),
-    'RTL9' => array('stream' => 'fbx:210:ld', 'channel' => 29, 'shield' => 'mycanal:live:505'),
-    '6ter' => array('stream' => 'tvheadend:6ter', 'channel' => 22, 'shield' => 'mycanal:live:521'),
-    'TF1 Séries Films' => array('stream' => 'tvheadend:TF1 Séries Films', 'channel' => 20, 'shield' => 'mycanal:live:526'),
+    'TF1' => array('stream' => 'tvheadend:TF1', 'channel' => 1, 'shield' => 'mycanal:live:312', 'logo' => '66746746'),
+    'France 2' => array('stream' => 'tvheadend:France 2', 'channel' => 2, 'shield' => 'mycanal:live:26', 'logo' => '67032119'),
+    'France 3' => array('stream' => 'tvheadend:France 3', 'channel' => 3, 'shield' => 'mycanal:live:543', 'logo' => '67033022'),
+    'France 5' => array('stream' => 'tvheadend:France 5', 'channel' => 5, 'shield' => 'mycanal:live:545', 'logo' => '67033026'),
+    'M6' => array('stream' => 'tvheadend:M6', 'channel' => 6, 'shield' => 'mycanal:live:313', 'logo' => '96947147'),
+    'Canal +' => array('stream' => 'tvheadend:CANAL+', 'channel' => 4, 'shield' => 'mycanal:live:601', 'logo' => '59320209'),
+    'Arte' => array('stream' => 'tvheadend:Arte', 'channel' => 7, 'shield' => 'mycanal:live:154', 'logo' => '3932761'),
+    'C8' => array('stream' => 'tvheadend:C8', 'channel' => 8, 'shield' => 'mycanal:live:450', 'logo' => '64698815'),
+    'W9' => array('stream' => 'tvheadend:W9', 'channel' => 9, 'shield' => 'mycanal:live:296', 'logo' => '2953125'),
+    'TMC' => array('stream' => 'tvheadend:TMC', 'channel' => 10, 'shield' => 'mycanal:live:584', 'logo' => '66747568'),
+    'TFX' => array('stream' => 'tvheadend:TFX', 'channel' => 11, 'shield' => 'mycanal:live:570', 'logo' => '66747551'),
+    'NRJ12' => array('stream' => 'tvheadend:NRJ12', 'channel' => 12, 'shield' => 'mycanal:live:568', 'logo' => '21549709'),
+    'LCP' => array('stream' => 'tvheadend:LCP', 'channel' => 13, 'shield' => 'mycanal:live:554', 'logo' => '94033640'),
+    'France 4' => array('stream' => 'tvheadend:France 4', 'channel' => 14, 'shield' => 'mycanal:live:544', 'logo' => '67033024'),
+    'CStar' => array('stream' => 'tvheadend:CSTAR', 'channel' => 17, 'shield' => 'mycanal:live:513', 'logo' => '64699011'),
+    'Gulli' => array('stream' => 'tvheadend:Gulli', 'channel' => 18, 'shield' => 'mycanal:live:549', 'logo' => '61929315'),
+    'RMC Story' => array('stream' => 'tvheadend:RMC STORY', 'channel' => 23, 'shield' => 'mycanal:live:571', 'logo' => '76992469'),
+    'RMC Découverte' => array('stream' => 'tvheadend:RMC Découverte', 'channel' => 24, 'shield' => 'mycanal:live:595', 'logo' => '64959411'),
+    'Chérie 25' => array('stream' => 'tvheadend:Chérie 25', 'channel' => 25, 'shield' => 'mycanal:live:440', 'logo' => '2953383'),
+    'Paris première' => array('stream' => 'fbx:213:ld', 'channel' => 28, 'shield' => 'mycanal:live:294', 'logo' => '2953121'),
+    'RTL9' => array('stream' => 'fbx:210:ld', 'channel' => 29, 'shield' => 'mycanal:live:505', 'logo' => '24419688'),
+    'TV Breizh' => array('shield' => 'mycanal:live:586', 'logo' => '93561480'),
+    '6ter' => array('stream' => 'tvheadend:6ter', 'channel' => 22, 'shield' => 'mycanal:live:521', 'logo' => '16598429'),
+    'TF1 Séries Films' => array('stream' => 'tvheadend:TF1 Séries Films', 'channel' => 20, 'shield' => 'mycanal:live:526', 'logo' => '66747478'),
     'Monde',
-    'TV5 Monde' => array('stream' => 'fbx:206:sd', 'channel' => 1, 'shield' => 'mycanal:live:520'),
-    'France 24' => array('stream' => 'tvheadend:France 24', 'channel' => 340, 'shield' => 'mycanal:live:310'),
+    'TV5 Monde' => array('stream' => 'fbx:206:sd', 'channel' => 1, 'shield' => 'mycanal:live:520', 'logo' => '14279265'),
+    'France 24' => array('stream' => 'tvheadend:France 24', 'channel' => 340, 'shield' => 'mycanal:live:310', 'logo' => '18810794'),
+    'BBC World News' => array('shield' => 'mycanal:live:589', 'logo' => '27443835'),
+    'CNN' => array('shield' => 'mycanal:live:30', 'logo' => '13455768'),
 );
 $shortcuts['sub-tv'] = array();
 $tvplayer = config('TVPLAYER');
 foreach ($tv as $name => $service) {
+    if ($name === 'Replay' && $tvplayer === 'shield') {
+        $shortcuts['sub-tv'][] = ['label' => $name, 'type' => 'sub', 'sub' => 'tv-replay'];
+        continue;
+    }
+
+    if (isset($service['logo']) && $service['logo']) {
+        $name = '<img class="logo" style="margin-top:12%;" alt="' . $name . '" src="' . cacheMedia('http://thumb.canalplus.pro/bddpe/unsafe/' . $service['logo'], 'webp') . '">';
+    } elseif ($name === 'Netflix') {
+        $name = '<img class="logo" alt="' . $name . '" src="/images/netflix.png">';
+    }
 
     if (is_numeric($name)) {
         $shortcuts['sub-tv'][] = array('type' => 'separator', 'label' => $service);
@@ -76,7 +117,7 @@ foreach ($tv as $name => $service) {
             } else {
                 $shortcuts['sub-tv'][] = array('type' => 'freebox', 'url' => 'scripts/freeboxchannel.php?channel=' . $service['freebox'], 'label' => $name);
             }
-        } else if(isset($service['stream'])) {
+        } else if (isset($service['stream'])) {
             $e = explode(':', $service['stream'], 3);
             $protocol = $e[0];
             $id = $e[1];
index a9aa90fd7d8e6c1d726a548f2df63c749fbcfd84..1a691660cd4199fee2eca98a2d7a9305571e739a 100644 (file)
@@ -1,8 +1,10 @@
 <?php
-function cacheMedia($url)
+function cacheMedia($url, $ext = null)
 {
-    $e = explode('.', $url);
-    $ext = array_pop($e);
+    if (null === $ext) {
+        $e = explode('.', $url);
+        $ext = array_pop($e);
+    }
     $cachedURL = '/cache/media/' . sha1($url) . '.' . $ext;
     $cachedFile = ROOT . $cachedURL;