/admin/change
{
"movie":{
"id":"298",
"kp_id":"298",
"title_page":"",
"description_short":"",
"title_ru":"Люди Икс 2",
"title_en":"X2",
"description":"Мутанты продолжают борьбу...",
"poster":"1",
"type":"0",
"year":"2003",
"country":"Канада,США",
"genre":"фантастика,боевик,триллер,приключения",
"director":"Брайан Сингер",
"actor":"Патрик Стюарт,Хью Джекман,Иэн МакКеллен,Холли Берри,Фамке Янссен",
"premiere":"2003-04-25",
"kp_rating":"75",
"kp_vote":"127579",
"imdb_rating":"75",
"imdb_vote":"456928",
"pictures":"2934854,2934853,2934852",
"player":"",
"quality":"",
"translate":"",
"custom":"{\n \"unique\": true\n}"
}
}
/admin/change
{
"movie":{
"id":"298",
"kp_id":"298",
"title_page":"",
"description_short":"",
"title_ru":"Люди Икс 2",
"title_en":"X2",
"description":"Мутанты продолжают борьбу...",
"poster":"1",
"type":"0",
"year":"2003",
"country":"Канада,США",
"genre":"фантастика,боевик,триллер,приключения",
"director":"Брайан Сингер",
"actor":"Патрик Стюарт,Хью Джекман,Иэн МакКеллен,Холли Берри,Фамке Янссен",
"premiere":"2003-04-25",
"kp_rating":"75",
"kp_vote":"127579",
"imdb_rating":"75",
"imdb_vote":"456928",
"pictures":"2934854,2934853,2934852",
"player":"",
"quality":"",
"translate":"",
"custom":"{\n \"unique\": true\n}"
}
}
/admin/change
{
"movie":{
"id":"298",
"kp_id":"298",
"title_page":"",
"description_short":"",
"title_ru":"Люди Икс 2",
"title_en":"X2",
"description":"Мутанты продолжают борьбу...",
"poster":"1",
"type":"0",
"year":"2003",
"country":"Канада,США",
"genre":"фантастика,боевик,триллер,приключения",
"director":"Брайан Сингер",
"actor":"Патрик Стюарт,Хью Джекман,Иэн МакКеллен,Холли Берри,Фамке Янссен",
"premiere":"2003-04-25",
"kp_rating":"75",
"kp_vote":"127579",
"imdb_rating":"75",
"imdb_vote":"456928",
"pictures":"2934854,2934853,2934852",
"player":"",
"quality":"",
"translate":"",
"custom":"{\n \"unique\": true\n}"
}
}
id
вставляйте.
<?php
function Film($url, $user, $pass, array $params) {
$query = http_build_query($params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
$user = "MY_USER";
$pass = "MY_PASS";
$kp_id = "623250";
$url = "http://film.a-kom.biz/admin/change";
$player = "http://172.30.31.240:80/vod/bunny.mp4";
$params = array(
"kp_id"=>"$kp_id",
"title_page"=>"TEST",
"player"=>"$player"
);
$send = Film($url, $user, $pass, $params);
print_r($send);
?>
<?php
function Film($url, $user, $pass, array $params) {
$query = http_build_query($params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
$user = "MY_USER";
$pass = "MY_PASS";
$kp_id = "623250";
$url = "http://film.a-kom.biz/admin/change";
$player = "http://172.30.31.240:80/vod/bunny.mp4";
$params = array(
"movie" => array (
"kp_id"=>"$kp_id",
"title_page"=>"TEST",
"player"=>"$player"
)
);
$send = Film($url, $user, $pass, $params);
print_r($send);
?>
<?php
function LogToFile(string $file, string $l) {
file_put_contents($file,$l,FILE_APPEND);
}
function DoneList(string $file, string $l) {
file_put_contents($file,$l,FILE_APPEND);
}
function ListID(string $chkLIST, string $filmDIR) {
$idLIST = array();
$DIR = new RecursiveDirectoryIterator($filmDIR);
foreach (new RecursiveIteratorIterator($DIR) as $filename => $file) {
if (strpos($filename, '.mp4') !== FALSE) {
$filename = str_replace('.mp4', '', $filename);
$foo = explode("/",$filename);
$ID = array_values(array_slice($foo, -1))[0];
if (ctype_digit($ID) && strlen($ID)>2 && ($ID < 2500000) && (strpos($chkLIST, $ID) === FALSE)) {
$idLIST[] = $ID;
}
}
}
return $idLIST;
}
function ParcePage(string $url) {
$data = file_get_contents($url);
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML( $data );
$links = array();
foreach($dom->getElementsByTagName('div') as $link) {
$links[] = array('text' => $link->nodeValue);
}
$foo = array();
$foo = explode("\n",$links[11]['text']);
$res['name_RU'] = trim($foo[1],"\n");
$res['name_EN'] = trim($foo[2],"\n");
$foo = array();
$foo = explode("\n",$links[12]['text']);
$res['date'] = trim($foo[1],"\n");
$res['country'] = trim($foo[2],"\n");
$res['genre'] = "Коллекция,".trim(str_replace(" и ", ",", $foo[3]),"\n");
$res['description'] = trim($links[22]['text'],"\n");
$links = array();
foreach($dom->getElementsByTagName('dd') as $link) {
$links[] = array('text' => $link->nodeValue);
}
$res['rating'] = trim($links[0]['text'],"\n");
$res['rating_KP'] = trim($links[1]['text'],"\n");
$res['rating_IMDB'] = trim($links[2]['text'],"\n");
$res['director'] = str_replace(" и", ",", trim($links[3]['text'],"\n"));
$res['actor'] = str_replace(" и", ",", trim($links[4]['text'],"\n"));
return $res;
}
function AddFilm(array $params) {
$url = "http://film.a-kom.biz/admin/change";
$user = "MY_USER";
$pass = "MY_PASS";
$query = http_build_query($params);
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_PORT => "80",
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "",
CURLOPT_USERPWD => "$user:$pass",
CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
CURLOPT_POSTFIELDS => $query
));
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
?>
<?php
require_once "action.php";
$filmDIR = "/opt/flussonic/priv";
$workDIR = "/opt/autoadd";
$logDIR = "/opt/autoadd/LOG";
$okLOG = "$logDIR/ok.log";
$errLOG = "$logDIR/err.log";
$chkFILE = "$workDIR/list.xls";
$chkLIST = file_get_contents($chkFILE);
$idLIST = ListID($chkLIST, $filmDIR);
print_r($idLIST);
foreach ($idLIST as $ID) {
$data = ParcePage('http://film.a-kom.biz/movie/id'.$ID);
$params = array(
"movie" => array (
"kp_id" => $ID,
"description" => $data['description'],
"country" => $data['country'],
"genre" => $data['genre'],
"director" => $data['director'],
"actor" => $data['actor'],
"player" => "http://172.30.31.240:80/vod/".
$ID.".mp4/embed.html?autoplay=false"
));
$send = json_decode(AddFilm($params), true);
if ((strpos($send['movie'], $ID) !== false) && (strlen($send['description']) > 2) && (strlen($send['name_RU'] > 1) || strlen($send['name_EN'] > 1))) {
$logMSG = date('Y/m/d h:i:s')."\t- OK\t- ".$ID."\t- ".$data['name_RU']."\n";
echo $logMSG;
LogToFile($okLOG, $logMSG);
DoneList($chkFILE,"$ID\n");
} else {
$logMSG = date('Y/m/d h:i:s')."\t- FAILED\t- ".$ID."\n\t Parced ".print_r($data, true)."\n";
echo $logMSG;
LogToFile($errLOG,$logMSG);
}
}
?>
$filmDIR
- где лежат фильмы$workDIR
- где лежит список уже добавленных фильмов (list.xls)$logDIR
- где будут созданы файлы .log$filmDIR
фильмы в формате .mp4(в моём плеере нужен mp4)"player"
в нужном вам виде- у меня это флюсоник, я просто прописал ссылку для его плеера.$data
- там надо прописать ссылку от вашего сайта.$res['genre']
- у меня там добавляется тег "Коллекция" в список жанров.$url
- прописываете url своего сайта.$user
- ваш логин.$pass
- ваш пароль.php autoadd.php
), либо добавить для него задачу в кроне./config/update/default.json
<%- movie.custom.параметр %>
<%- movie.custom.параметр %>