· 6 years ago · Nov 29, 2019, 05:36 PM
1if ($this->isGranted('IS_AUTHENTICATED_FULLY'))
2 {
3 $episode_number = $episode->getNumber();
4 $saison_number = $episode->getSaison()->getId();
5 $model = "";
6 $link = [];
7 $link_to_update = [];
8 $link_vostfr = "";
9 $link_vf = "";
10 $folder_saison_ids = [
11 "S01" => "131150",
12 "S02" => "131151",
13 "S03" => "131152",
14 "S04" => "131153",
15 "S05" => "131154",];
16 $folder_id = "";
17
18 if($saison_number >= 10 && $episode_number < 10){
19 $model = "#S" . $saison_number . "E" . $episode_number ."#";
20 $folder_id = $folder_saison_ids["S" . $saison_number];
21 }
22 if($saison_number >= 10 && $episode_number >= 10){
23 $model = "#S" . $saison_number . "E" . $episode_number ."#";
24 $folder_id = $folder_saison_ids["S" . $saison_number];
25 }
26 if($saison_number < 10 && $episode_number >= 10){
27 $model = "#S0" . $saison_number . "E" . $episode_number ."#";
28 $folder_id = $folder_saison_ids["S0" . $saison_number];
29 }
30 if($saison_number < 10 && $episode_number < 10){
31 $model = "#S0" . $saison_number . "E0" . $episode_number ."#";
32 $folder_id = $folder_saison_ids["S0" . $saison_number];
33 }
34
35 $curl = new Curl();
36
37 $fileInfo = $curl->get('https://api.vidoza.net/v1/files',[
38 'api_token' => 'ePCDpbovRjOQI5D7viIklhD2qzmwQWEf4lSyIfafw1NS49SCwIkN73ZZIaRB',
39 'folder_id' => $folder_id,
40 'orderColumn' => 'name'
41 ]);
42 $files = json_decode($fileInfo->getResponse(), true);
43
44 $array_files = $files["data"];
45
46 if(is_array($array_files) && count($array_files) > 0)
47 {
48 foreach ($array_files as $key => $value)
49 {
50 $completeLink = "https://vidoza.net/embed-" . $value["id"] . ".html" . "/" . $value["name"];
51 array_push($link, $completeLink);
52
53 }
54 if (count($link) > 0)
55 {
56 foreach ($link as $key => $value)
57 {
58 if (preg_match($model, $value))
59 {
60 array_push($link_to_update, $value);
61 }
62 }
63 if (count($link_to_update) > 0)
64 {
65 foreach ($link_to_update as $key => $value)
66 {
67 if (preg_match("#VOSTFR#", $value))
68 {
69 $link_vostfr = $value;
70 }
71 if (preg_match("#VF#", $value))
72 {
73 $link_vf = $value;
74 }
75
76 }
77 if($link_vostfr)
78 {
79 $link_vostfr = explode("/", $link_vostfr);
80 $link_vostfr = array_slice($link_vostfr, 0, 4);
81 $link_vostfr = implode("/", $link_vostfr);
82 }
83 if($link_vf)
84 {
85 $link_vf = explode("/", $link_vf);
86 $link_vf = array_slice($link_vf, 0, 4);
87 $link_vf = implode("/", $link_vf);
88 }
89
90 if (strlen($link_vostfr) > 10 && strlen($link_vf) > 10)
91 {
92 //$link_vostfr = str_replace('/stream/', '/e/', $link_vostfr);
93 //$link_vf = str_replace('/stream/', '/e/', $link_vf);
94
95 if($link_vostfr !== $episode->getStreamangoLinkVostfr() && $link_vf !== $episode->getStreamangoLinkVf())
96 {
97 $episode->setStreamangoLinkVf($link_vf);
98 $episode->setStreamangoLinkVostfr($link_vostfr);
99 $this->em->persist($episode);
100 $this->em->flush();
101 $this->addFlash('success', 'Les liens VIDOZA pour: ' . $episode->getSaison(). " EPISODE: ". $episode->getNumber() . " / " .$episode->getTitle() . ' ont été edités!');
102 return $this->redirectToRoute("admin.episodes.index");
103 }
104 else{
105 $this->addFlash('warning', 'Les liens VIDOZA pour: ' . $episode->getSaison(). " EPISODE: ". $episode->getNumber() . " / " .$episode->getTitle() . ' sont déjà à jour!');
106 return $this->redirectToRoute("admin.episodes.index");
107 }
108 }
109 }
110 }
111 }
112 else{
113 $this->addFlash('error', 'Les liens VIDOZA pour: ' . strtoupper($episode->getSaison()) . " EPISODE: ". $episode->getNumber() . " / " .$episode->getTitle() . ' ont pas été edités! (too many request too many request vers API 3max each 2-3mins)');
114 return $this->redirectToRoute("admin.episodes.index");
115 }
116 }
117 return $this->redirectToRoute('home');