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