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