· 6 years ago · Nov 06, 2019, 02:56 PM
1if ($this->isGranted('IS_AUTHENTICATED_FULLY'))
2 {
3 $episodes_collection = $saison->getEpisodes();
4 $db_links_openload_vf = [];
5 $db_links_openload_vostfr = [];
6 $links_openload_vf = "";
7 $links_openload_vf2 = [];
8 $links_openload_vostfr = "";
9 $links_openload_vostfr2 = [];
10 $links_to_update = [];
11 $links = [];
12 $model = "";
13 $ids = [];
14 $i_vf = 0;
15 $i_vostfr = 0;
16 $folder_saison_ids = [
17 "S01" => "131227",
18 "S02" => "131228",
19 "S03" => "131229",
20 "S04" => "131231",
21 "S05" => "131232",
22 "S06" => "131233",];
23 $folder_id = "";
24
25 if ($saison->getId() >= 10){
26 $model = "#S" . $saison->getId() . "#";
27 $folder_id = $folder_saison_ids["S" . $saison->getId()];
28 }
29 if ($saison->getId() < 10){
30 $model = "#S0" . $saison->getId() . "#";
31 $folder_id = $folder_saison_ids["S0" . $saison->getId()];
32 }
33
34 foreach ($episodes_collection as $episode)
35 {
36 $db_links_openload_vf[$episode->getId()] = $episode->getOpenloadLinkVf();
37 $db_links_openload_vostfr[$episode->getId()] = $episode->getOpenloadLinkVostfr();
38 $ids[] = $episode->getId();
39
40 }
41 if (count($db_links_openload_vostfr) > 0 && count($db_links_openload_vf) > 0)
42 {
43 ksort($db_links_openload_vf);
44 ksort($db_links_openload_vostfr);
45 }
46
47
48 $curl = new Curl();
49
50 $fileInfo = $curl->get('https://api.vidoza.net/v1/files',[
51 'api_token' => 'ePCDpbovRjOQI5D7viIklhD2qzmwQWEf4lSyIfafw1NS49SCwIkN73ZZIaRB',
52 'folder_id' => $folder_id,
53 'orderColumn' => 'name',
54 ]);
55
56 $files = json_decode($fileInfo->getResponse(), true);
57 $array_files = $files["data"];
58
59 if(is_array($array_files) && count($array_files) > 0)
60 {
61 foreach ($array_files as $key => $value)
62 {
63 //array_push($links, $value["link"]);
64 //$links[$value["name"]] = $value["link"];
65 $completeLink = "https://vidoza.net/embed-" . $value["id"] . ".html" . "/" . $value["name"];
66 array_push($links, $completeLink);
67 }
68
69 //ksort($links);
70 if (count($links) > 0)
71 {
72 foreach ($links as $key => $value)
73 {
74 if (preg_match($model, $value))
75 {
76 array_push($links_to_update, $value);
77 }
78 }
79 if (count($links_to_update) > 0)
80 {
81 foreach ($links_to_update as $key => $value)
82 {
83 if (preg_match("#VOSTFR#", $value))
84 {
85 $links_openload_vostfr = explode("/", $value);
86 $links_openload_vostfr = array_slice($links_openload_vostfr, 0, 4);
87 $links_openload_vostfr = implode("/", $links_openload_vostfr);
88 $links_openload_vostfr2[$ids[$i_vostfr++]] = $links_openload_vostfr;
89 }
90 if (preg_match("#VF#", $value))
91 {
92 $links_openload_vf = explode("/", $value);
93 $links_openload_vf = array_slice($links_openload_vf, 0, 4);
94 $links_openload_vf = implode("/", $links_openload_vf);
95 $links_openload_vf2[$ids[$i_vf++]] = $links_openload_vf;
96 }
97 }
98 if (count($links_openload_vf2) > 0 && count($links_openload_vostfr2) > 0)
99 {
100 if($db_links_openload_vf !== $links_openload_vf2 && $db_links_openload_vostfr !== $links_openload_vostfr2)
101 {
102
103 foreach ($links_openload_vostfr2 as $key => $value)
104 {
105 $episode = $this->episodeRepository->find($key);
106 $episode->setStreamangoLinkVostfr($value);
107 $this->em->persist($episode);
108 }
109 foreach ($links_openload_vf2 as $key => $value)
110 {
111 $episode = $this->episodeRepository->find($key);
112 $episode->setStreamangoLinkVf($value);
113 $this->em->persist($episode);
114 }
115
116 $this->em->flush();
117 $this->addFlash('success', 'Les liens VIDOZA pour la ' . strtoupper($saison->getName()). ' ont été edités!');
118 return $this->redirectToRoute("admin.saisons.index");
119 }
120 else{
121 $this->addFlash('warning', 'Les liens VIDOZA pour la ' . strtoupper($saison->getName()). ' sont déjà à jour!');
122 return $this->redirectToRoute("admin.saisons.index");
123 }
124 }
125 }
126 }
127 }
128 else{
129 $this->addFlash('error', 'Les liens VIDOZA pour la ' . strtoupper($saison->getName()) . ' ont pas été edités! (too many request vers API 3max each 2-3mins)');
130 return $this->redirectToRoute("admin.saisons.index");
131 }
132 }
133 return $this->redirectToRoute('home');