Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Текстовый рейтинг с Кинопоиска и IMDB.
Скачать бесплатно Текстовый рейтинг с Кинопоиска и IMDB.
За основу был взят модуль MSW с сайта 0-web.ru. Публикуется с его разрешения.
Начнем с того, что я не программист и многих вещей не знаю (не понимаю), но очень люблю ковырять чужой код, чтобы для себя слепить что-нибудь интересное.
Модуль выводит текстовые средние значения рейтинга и голосов с Кинопоиска и IMDB. Данные не кешируются! Я не знаю как работать с кешем DLE, если кто-то допишет этот функционал, то мы все будем только рады :)
Автор модуля: MSW | 0-web.ru
Автор незначительной модификации: Quest | iTelepat.ru
Проверено на: Dle 9.3
Установка:
Создайте доп. поле к новостям с фильмами:
Название поля: kp
Описание поля: ID фильма на КиноПоиске
Категория: /*выбрать категории с фильмами*/
Тип поля: одна строка
Значение по умолчанию:
Создайте файл kinopoisk.php с таким содержимым:
<?
if( ! defined( 'DATALIFEENGINE' ) ) {
die( "Hacking attempt!" );
}
$kinopoisk = xfieldsdataload($row['xfields']);
$kinopoisk['kp'] = preg_replace('#<(.+?)>#', '', $kinopoisk['kp']);
$kinopoisk = $kinopoisk['kp'];
$rating = file_get_contents("http://rating.kinopoisk.ru/{$kinopoisk}.xml");
preg_match("/kp_rating num_vote=['\"](.+)['\"]>(.+)</isU", $rating, $kp);
$kino_rating = $kp[2];
$kino_votes = ($kino_rating) ? $kp[1] : "";
$kino_votes = $kino_votes;
preg_match("/imdb_rating num_vote=['\"](.+)['\"]>(.+)</isU", $rating, $imdb);
$imdb_rating = $imdb[2];
$imdb_votes = ($imdb_rating) ? $imdb[1] : "";
$imdb_votes = $imdb_votes;
if ($imdb_rating =='') {
$kino_rate = round(($kino_rating), 1);
$sum_vote = number_format($kino_votes);
} elseif ($kino_rating =='') {
$kino_rate = round(($imdb_rating), 1);
$sum_vote = number_format($imdb_votes);
} else {
$kino_rate = round(($kino_rating+$imdb_rating)/2, 1);
$sum_vote = number_format(($kino_votes+$imdb_votes)/2);
};
$tpl->set('{kinopoisk}', $kino_rate);
$tpl->set('{kinopoisk_vote}', $sum_vote);
?>
if( ! defined( 'DATALIFEENGINE' ) ) {
die( "Hacking attempt!" );
}
$kinopoisk = xfieldsdataload($row['xfields']);
$kinopoisk['kp'] = preg_replace('#<(.+?)>#', '', $kinopoisk['kp']);
$kinopoisk = $kinopoisk['kp'];
$rating = file_get_contents("http://rating.kinopoisk.ru/{$kinopoisk}.xml");
preg_match("/kp_rating num_vote=['\"](.+)['\"]>(.+)</isU", $rating, $kp);
$kino_rating = $kp[2];
$kino_votes = ($kino_rating) ? $kp[1] : "";
$kino_votes = $kino_votes;
preg_match("/imdb_rating num_vote=['\"](.+)['\"]>(.+)</isU", $rating, $imdb);
$imdb_rating = $imdb[2];
$imdb_votes = ($imdb_rating) ? $imdb[1] : "";
$imdb_votes = $imdb_votes;
if ($imdb_rating =='') {
$kino_rate = round(($kino_rating), 1);
$sum_vote = number_format($kino_votes);
} elseif ($kino_rating =='') {
$kino_rate = round(($imdb_rating), 1);
$sum_vote = number_format($imdb_votes);
} else {
$kino_rate = round(($kino_rating+$imdb_rating)/2, 1);
$sum_vote = number_format(($kino_votes+$imdb_votes)/2);
};
$tpl->set('{kinopoisk}', $kino_rate);
$tpl->set('{kinopoisk_vote}', $sum_vote);
?>
И поместите его к себе в /engine/modules
В файле show.full.php добавьте:
require_once ROOT_DIR.'/engine/modules/kinopoisk.php';
После:
$tpl->set( '[/full-link]', "</a>" );
Используйте в своем fullstory.tpl:
{kinopoisk} - цифровой рейтинг
{kinopoisk_vote} - количество голосов
{kinopoisk_vote} - количество голосов