-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcron_metadata.php
More file actions
129 lines (94 loc) · 3.88 KB
/
cron_metadata.php
File metadata and controls
129 lines (94 loc) · 3.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
/**
* Created by PhpStorm.
* User: user
* Date: 08.06.2025
* Time: 4:29
*/
include_once(__DIR__.'/config.php');
include_once(__DIR__.'/functions.php');
header('Content-type: text/plain; charset=utf-8');
//header('Content-type: application/json; charset=utf-8');
//header('Content-type: text/html; charset=utf-8');
//exit('BAN FROM rezka.ag');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->query("SELECT * FROM videos WHERE meta_found = 0");
//$stmt = $pdo->query("SELECT * FROM videos WHERE rating IS NULL");
//$stmt = $pdo->query("SELECT * FROM videos WHERE cover_url = ''");
//$stmt = $pdo->query("SELECT * FROM videos WHERE source_url = ''");
//echo 'Var: '.print_r($stmt->rowCount(),1)."<BR>\r\n";exit();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$title = $row['title'];
// $title = 'Scary Movie 3 Unrated 2003';
// $title = 'Scary Movie';
// echo '$title: '.print_r($title,1)."<BR>\r\n";
// echo '$row: '.print_r($row,1)."<BR>\r\n";
// continue;
// exit();
$data = fetchRezkaMeta($title, $cacheDir);
// $data = null;
// echo '$data<PRE>: '.print_r($data,1)."<BR>\r\n";exit();
if (empty($data['description']) && empty($data['poster'])) {
$data = fetchTMDb($title, $tmbd, $cacheDir);
}
// $data = null;
if (empty($data['description']) && empty($data['poster'])) {
$data = fetchOMDb($title, $omdbAPI, $cacheDir);
}
// echo '$data: '.print_r($data,1)."<BR>\r\n";
if (empty($data['description']) || empty($data['poster'])) {
if(!isRussianTitle($title)){
$title = translitToRussian($title).' ';
// echo '$title: '.print_r($title,1)."<BR>\r\n";
}
$data = fetchRezkaMeta($title, $omdbAPI, $cacheDir);
}
// echo '$data: '.print_r($data,1)."<BR>\r\n";
// exit('STOP3');
if (!empty($data) && !empty($data['description']) && !empty($data['poster'])) {
$coverFile = $data['poster'] ? saveCoverImage($data['poster'], $row['path']) : null;
// echo '$data: '.print_r($data,1)."<BR>\r\n";
$tivimateDescription = buildTiviMateDescription($data);
// echo '$tivimateDescription: '.print_r($tivimateDescription,1)."<BR>\r\n";
$data['year'] = preg_match('/\b(19|20)\d{2}\b/', $data['year'], $m) ? $m[0] : '';
try {
// 2. Готовим и выполняем запрос
$upd = $pdo->prepare(
"UPDATE videos
SET description = ?, cover_url = ?, year = ?, meta_found = 1,
actors = ?, country = ?, director = ?, genre = ?, source_url = ?, rating = ?
WHERE id = ?"
);
$upd->execute([
$tivimateDescription,
$data['poster'],
$data['year'],
$data['actors'],
$data['country'],
$data['director'],
$data['genre'],
$data['source'],
$data['rating'],
$row['id'],
]);
} catch (PDOException $e) {
// 3. Обрабатываем ошибку
// можно логировать $e->getCode() и $e->getMessage()
echo "Ошибка при обновлении записи (ID {$row['id']}): "
. $e->getMessage()."\r\n";
echo '$row: '.print_r($row,1)."<BR>\r\n";
echo '$data: '.print_r($data,1)."<BR>\r\n";
exit('STOP4');
}
// exit('STOP');
// echo "[+] Обновлено: {$row['title']}<br>\n";
} else {
echo "[!] Не найдено: {$row['title']}<br>\n";
echo '$data: '.print_r($data,1)."<BR>\r\n";
echo '$row: '.print_r($row,1)."<BR>\r\n";
exit('ERROR! Not find!');
}
}
include_once(__DIR__.'/cron_posters.php');
include_once(__DIR__.'/fix_getCodec.php');
include_once(__DIR__.'/fixMovieImage.php');