Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Модуль ufmoon: обновление качества фильмов с moonwalk

Тема в разделе "Модули DLE", создана пользователем Sistemos, 14 дек 2015.

14.12.15 в 18:34
22.10.19 в 18:18
1.588
161.991
30
  1. TopicStarter Overlay
    Sistemos

    Sistemos Кодер

    Сообщения:
    729
    Симпатии:
    697
    Лучших ответов:
    0
    Написал модуль DLE, который обновляет качество фильмов с moonwalk.cc. Также добавляет url плеера и перевод, если на сайте ранее был только трейлер.

    Версии от 17.10.17.
    Скачать версию 1.9.3 (для DLE от 10.4 до 11.3), что нового по сравнению с 1.9.2 ?

    .

    Скачать версию 1.9.3.12 (для DLE 12.0 до 13.1):

    Версия для DLE 13.2: Важно - Модуль ufmoon: обновление качества фильмов с moonwalk

    .
    Функционал версий 1.9.3 и 1.9.3.12 полностью одинаковый, просто они для разный версий DLE.

    .


    Чтобы обновиться, с любой версии на любую, нужно закинуть только папки "inc" и "modules" из архива на хостинг, в папку "engine".
    В таком случае настройки модуля сохранятся. Больше ничего не требуется.


    Инструкция по установке внутри архива, скрины в спойлере.:
    1-ufmoon.png
    2-ufmoon.png
    3-ufmoon.png
    4-ufmoon.png

    Назвал модуль ufMoon :)
    Не требует внесения правок в движок. Подключается одной строкой.
    Устанавливается в админку DLE и доступен оттуда для настроек.
    • DLE: 10.4 и выше;
    • Кодировки: windows-1251, utf-8.

    Модуль умеет :
    1. Проверять качество фильма на moonwalk-е и обновлять его на сайте (добавляет\обновляет плеер с лучшим качеством, переводом и меняет значение качества в доп.поле).
    2. Обновлять дату публикации (поднимает фильм, если обновилось качество). Вкл\выкл. в настройках.
    3. Автоматически менять категорию, если обновилось качество. Задается в настройках по желанию. Пример работы этой опции.
    4. Обновлять озвучку (перевод), если обновлено качество. Или добавлять, если ранее был трейлер.
    5. Использовать кэш. В настройках задается минимальное время на которое модуль закэширует результат, чтобы не обращаться к API каждый раз при заходе на страницу новости (время жизни кэша).
    Поясню как действует модуль:
    • если для фильма указано значение Трейлер (в доп.поле качества), то если на мунвалке появится CAMRip, TS, DVDRip или HDRip, то соответственно, он обновит качество на сайте (обновит\добавит ссылку iframe плеера в ваше доп.поле для плеера). Если вместо значения Трейлер вы используете другое название (например, Ожидается), то можно задать его в настройках.
    • если для фильма указано значение CAMRip или TS или DVDRip (или DVDScr, WEBRip), то модуль периодически проверяет эти фильмы на появление лучшего качества.
    • если для фильма указано значение HDRip (WEB-DL, BDRip, BluRay, HDTV) , то модуль ничего не делает (фильмы с таким значением игнорируются, чтобы не создавать лишнюю нагрузку). Также в настройках модуля, в соответствующем поле, можно указать свои значения, которые нужно вам, чтобы модуль игнорировал. Начиная с версии 1.9 появилась опция для более гибкой настройки.
    ---------
    ОТВЕТЫ НА ЧАСТЫЕ ВОПРОСЫ в спойлере:
    Вопрос 1: Подключил модуль, всё по инструкции, но вижу слово “error” у некоторых\всех фильмов вместо качества.
    Слово “error” означает, что модуль настроен не по инструкции. Вывод данного слова сделан мной специально, чтобы было понятно, что вы что-то сделали не так.

    В инструкции есть информация по решению проблемы.
    Вероятнее всего ошибка в регистре символов: регистр символов в настройках модуля должен быть таким же как и в доп.поле со значениями качества,. Например, если в вашем доп.поле указано CAMRip, а в настройках модуля CAMrip, то будет error.

    Пример, скрин настроек:
    nastroiki-ufMoon.png

    Если у вас в списке доп.поля есть значения качества, которые не предусмотрены модулем, то они должны быть перечислены в соответствующем поле настроек "Какие Значения в доп.поле игнорировать?" как показано на скрине.

    Если вы сначала использовали в модуле одно значение для качества, например HDRip, а потом решили переименовать его, например в HD, (или сначала значение Трейлер, а потом Ожидается и т.д.), то нужно следовать такой инструкции по замене .

    * с версии 1.9.2 можно использовать доп.поле "Качество" как перекрестные гиперссылки.


    Вопрос 2: У меня раньше не было доп.поля со значениями качества, я создал его при установке модуля. Будет ли работать модуль?
    Да, будет работать. Модуль выберет для каждого фильма нужное значение качества и добавит\обновит плеер и озвучку, если требуется. Начиная с версии 1.7 никаких дополнительных телодвижений не требуется.


    Вопрос 3: Для некоторых российских и зарубежных фильмов значение качества стоит CAMRip, хотя в плеере качество хорошее, почему так?

    Такое может случаться. От модуля это не зависит, так на данный момент устроено API мунволка.

    Подробнее
    здесь Модуль ufmoon: обновление качества фильмов с moonwalk


    Вопрос 4: Установил модуль, как быстро он обновит качество для всех фильмов? Как часто модуль проверяет и обновляет качество?
    Периодичность проверки качества зависит от соответствующей настройки в модуле и посещаемости вашего сайта (в том числе захода роботов пс и т.д.). Если почистить кэш и обновить страницу, то качество должно обновиться сразу для конкретного фильма.

    Т.е. качество для всех фильмов обновится тогда, когда на каждой странице с фильмом побывает хотя бы один посетитель, или вы сами, или робот. Можете попробовать запустить бесплатную программу Visual SEO Studio, она пробежится по всем страницам сайта и, соответственно, сразу произойдет обновление для всех фильмов.

    Работы по cron-у нет и добавление такой возможности не планируется.


    Вопрос 5: Обновил страницу с фильмом, а качество не обновляется. Чистил кэш. Ничего не помогает. Что не так?
    Где-то ошиблись в подключении или настройке модуля. Проверьте еще раз строку подключения модуля, правильно ли там указали нужные доп.поля (id кинопоиска и названия доп.поля для качества). Уже несколько человек по невнимательности ошибались - вместо id кинопоиска подставляли доп.поле в котором у них находился рейтинг.

    Проверьте, не обернута ли строка подключения в другие dle-теги, мешающие работе модуля. Нет ли лишних пробелов в полях с настройками модуля.


    Вопрос 6: Не проставляется качество для сериалов, что делать?
    Этот модуль для фильмов, а не для сериалов. На Мунвалке для сериалов качество не указано. Поэтому строку подключения модуля не следует выводить для сериалов.

    Если хочется выводить качество для сериалов, тогда качество придется выставлять вручную, потому что по умолчанию будет проставлено значение «Трейлер».

    Также можно использовать такой вариант Модуль ufmoon: обновление качества фильмов с moonwalk чтобы для всех сериалов выводилось автоматически HD, как пример.

    Вопрос 7: Почему ошибка Fatal error: Cannot redeclare cashTiming() (или longReload() ) ?
    Строку подключения модуля вставлять только ОДИН раз в fullstory.tpl ! Об этом же написано в инструкции. :cool:

    Если хочешь вывести качество в shortstory.tpl и другие шаблоны краткой новости, то вставляй просто доп.поле, в котором оно хранится, например [xfvalue_quality].

    Вопрос 8: Установил и настроил по инструкции, но не работает. Ничего из вышеперечисленного не помогло. Что делать?
    Напиши мне в личку, попробуем разобраться вместе. Чтобы я смог помочь, скинь мне:

    1. Скрин настроек модуля;
    2. Скрин доп.поля со значениями качества;
    3. Скрин строки подключения модуля и кода вокруг неё (но лучше в текстовом виде).
    4. Уточни как называется доп.поле в котором у тебя находится id кинопоиска.

    Перед тем как писать мне, попробуй строку подключения модуля перенести в самый низ файла fullstory.tpl и проверить работу. У нескольких человек другие модули мешали работе модуля ufMoon и такой перенос строки решал проблему. Подробнее здесь.



    ПОЛЕЗНЫЕ ССЫЛКИ:
    Интеграция ufMoon и SocialPosting
    Скриншот основных настроек ufMoon (с версии 1.9.2 и выше, можно ставить галку "перекресные ссылки" для качества")

    P.S.
    Я не профи кодер, только основы немного знаю. Учусь писать код :)
    Модуль вы используете на свой страх и риск.
    Перед включением модуля обязательно сделайте резервную копию БД.


    На мороженное R280500603619 :rolleyes:
    ---
    Обновил 15.12.2015 до v1.1: внесены некоторые правки от Gameer.
    ---
    Обновил 16.12.2015 до v1.2:
    Запилил установку модуля в админку DLE, сейчас настройки можно делать прям там, не ковыряясь в файле.
    ---
    Обновил 18.12.2015 до v1.3:
    Добавил возможность некоторые Значения доп.поля с качеством добавлять в исключения.
    Добавил возможность выбрать автоматическую смену категорий, если обновилось качество.
    ---
    Обновил 30.12.2015 до v1.4:
    Добавлена функция обновления (добавления) перевода фильма в нужное доп.поле.
    Добавлена версия модуля для сайта с кодировкой UTF-8.
    Внесены мелкие правки.
    ---
    Обновил 04.01.2016 до v1.5:
    Добавлена опция простановки значения качества для фильмов, у которых оно не было задано изначально (если не использовалось ранее доп.поле для качества).
    ---
    Обновил 08.01.2016 до v1.5.1:
    Исправлен баг с опцией "Поднимать фильм?".
    --
    Обновил 10.01.2016 до v1.5.2:
    Исправил косяк с переводом для кодировки UTF-8. Допущенный в предыдущем обновлении.
    --
    Обновил 11.01.2016 до v1.6:
    Добавлена опция перепроверки CAMrip и TS значений качества за счет парсинга названий файлов на Мунвалке. Сделано для улучшения простановки качества для российских фильмов и простановки TS и DVD качества для зарубежных. Подробнее
    ---
    Обновил 11.01.2016 до v1.6.1:
    Ускорил простановку значения TS, DVD, HD для парсера - убрал "ступеньку" в виде CAMrip значения.

    Обновил 15.01.2016 до v1.6.2:
    Пофиксил баги с датой и изменением категории при работе модуля с включенной опцией "Включить дополнительную перепроверку CAMrip и TS по названию файлов?"

    Обновил 18.01.2016 до v1.7:
    Подробности здесь.

    Обновил 23.02.2016 до v1.7.1:
    Мелкие правки для большей надежности.
    1.7.2
    Добавил опцию автозамены стандартных названий озвучек.
    1.7.5
    Улучшена простановка HD качества, если кривой ответ API.

    Обновил 16.02.2016 до v1.8:
    Добавил несколько новых опций. Подробности здесь.

    Обновил 23.02.2016 до v1.8.1:
    Пофиксил баг в версии 1.8, который при некоторых условиях очищал доп.поля.

    Обновил 27.02.2016 до v1.8.2:
    Добавил опцию автозамены стандартных названий озвучек. Подробнее здесь.
    Один из пользователей поделился списком переводов для автозамены.

    Обновил 04.03.2016 до v1.8.5:
    Убрал мелкий баг с WEBRip качеством (встретился у одного фильма).
    Улучшена простановка HD качества, если кривой ответ API (встречался для нескольких фильмов).
    Улучшена функция простановки WEB-DL, BDRip, BluRay значений.

    Обновил 04.05.2016 до v1.8.6:
    Внесена правка определения HD качества для российских фильмов (нужна была только для тех, кто не использует опцию простановки WEB-DL, BDRip и т.д.).
    Правка была связана с временными проблемами на Мунвалке.

    Обновил 04.05.2016 до v1.9 (beta):
    Добавлена опция для более гибкой настройки обновления для HD фильмов и озвучек.
    Подробнее здесь.

    Обновил 07.05.2016 до v1.8.7 и v1.9.1:
    Внесена правка: добавлен приоритет озвучки "Дубляж" для HD фильмов, если озвучек несколько (эффективна не на 100%, если озвучек более 2-х).

    Обновил 28.08.2016 до v1.9.2:
    1. Улучшена функция перемещения фильмов из категории в категорию при обновлении качества. Сейчас фильм не будет повторно добавляться в категорию в которой он уже находится.
    2. Улучшено определение качества TS, WEBRip, DVDRip, WEB-DL, BDRip.
    3. Добавил возможность использовать доп.поле "Качество" как перекрестные гиперссылки.
     
    Последнее редактирование: 8 июл 2019
    • Нравится Нравится x 30
    • Лучший Лучший x 2
    • Полезно Полезно x 1
  2. PunPun

    PunPun VIP Кинотрафик v2

    Сообщения:
    7.415
    Симпатии:
    3.673
    Лучших ответов:
    32
    1)
    Меняем :
    PHP:
    $id = (int)$id;
    $kp_id = (int)$kp_id;
    На :
    PHP:
    $id intval($id);
    $kp_id intval($kp_id);
    А еще лучше:
    PHP:
    $id is_numeric($id) ? intval($id) : false;
    $kp_id is_numeric($kp_id) ? intval($kp_id) : false;
    if(!
    $id || !$kp_id)
    return;
    Далее. Кэш принимает 3 параметра bool а не string
    PHP:
    $myModule  dle_cache($myConfig['cachePrefix'], $kp_id.$cacheName$myConfig['cacheSuffix']);
    Лучше сделать так :
    PHP:
    $myModule  dle_cache($myConfig['cachePrefix'] . $id$kp_id.$cacheNametrue);
    Далее это :
    PHP:
    $video_info file_get_contents($url_api);
    $data json_decode($video_info);
    $ms count ($data);
    $ms $ms 1// если там два плеера, то беретсІ второй - $data[1]. Р первом, $data[0], плохое качество.
    $film_kach_m = array();
    if (
    $data) {     
        
    $camrip $data[$ms]->{'camrip'};
        if (
    $camrip) {
            
    $film_kach_m['kach_moon'] = 'camrip';
            
    $film_kach_m['iframe_url'] = $data[$ms]->{'iframe_url'};
        } else {
            
    $film_kach_m['kach_moon'] = 'hdrip'
            
    $film_kach_m['iframe_url'] = $data[$ms]->{'iframe_url'};         
        }
        return 
    $film_kach_m;
    }
    На это :
    PHP:
    $data = @end(json_decode(file_get_contents($url_api)));
    $film_kach_m = array();
    if (
    $data)
    {     
        
    $camrip $data->{'camrip'};
        if (
    $camrip) {
            
    $film_kach_m['kach_moon'] = 'camrip';
            
    $film_kach_m['iframe_url'] = $data->{'iframe_url'};
        } else {
            
    $film_kach_m['kach_moon'] = 'hdrip'
            
    $film_kach_m['iframe_url'] = $data->{'iframe_url'};         
        }
        return 
    $film_kach_m;
    }
    Это :
    PHP:
    if ($myOptions['up_date'] != 0){
        
    $newDate date('Y-m-d H:i:s');
        
    $newDate ", date = '$newDate'";
    } else {
        
    $newDate '';        
    }
    На :
    PHP:
    $newDate = ($myOptions['up_date'] > 0) ? ", date = '".date('Y-m-d H:i:s')."'" '';
    Далее
    PHP:
    create_cache($myConfig['cachePrefix'], $myModule$kp_id.$cacheName$myConfig['cacheSuffix']);
    На
    PHP:
    create_cache($myConfig['cachePrefix'] . $id$myModule$kp_id.$cacheNametrue);
    Так код более менее, переделал бы еще пару моментов, но и этот код пойдет.
     
    Последнее редактирование: 15 дек 2015
    • Нравится Нравится x 5
  3. TopicStarter Overlay
    Sistemos

    Sistemos Кодер

    Сообщения:
    729
    Симпатии:
    697
    Лучших ответов:
    0
    @Gameer, ничосе правок :D Спасибо! В правку по функции moonkach вообще не могу въехать, как Ваш код отрабатывает )

    Для написания использовал инфу из статью http://pafnuty.name/statyi/144-make-a-module.html Вроде неплохая для новичка.
     
  4. PunPun

    PunPun VIP Кинотрафик v2

    Сообщения:
    7.415
    Симпатии:
    3.673
    Лучших ответов:
    32
    @end(json_decode(file_get_contents($url_api)));
    file_get_contents - получаем данные
    json_decode - парсим jsone
    end - ставим указатель на последний элемент
     
    • Нравится Нравится x 1
  5. TopicStarter Overlay
    Sistemos

    Sistemos Кодер

    Сообщения:
    729
    Симпатии:
    697
    Лучших ответов:
    0
    Обновление модуля до v1.2 (от 16.12.2015) .

    Что нового:
    Запилил установку модуля в админку DLE, сейчас настройки можно делать прям там, не ковыряясь в файле.
    (инструкция по установке внутри архива)

    Доступен на данный момент только для сайта с кодировкой windows-1251
     

    Вложения:

    • ufmoon.png
      ufmoon.png
      Размер файла:
      76 КБ
      Просмотров:
      201
    Последнее редактирование: 13 янв 2016
    • Нравится Нравится x 2
  6. kild

    kild Команда форума VIP Кинотрафик v2

    Сообщения:
    2.130
    Симпатии:
    1.162
    Лучших ответов:
    2
    прикольный модуль
    встретил много знакомого, ты меня понимаешь ;)
     
    • Нравится Нравится x 1
  7. TopicStarter Overlay
    Sistemos

    Sistemos Кодер

    Сообщения:
    729
    Симпатии:
    697
    Лучших ответов:
    0
    @kild, делал на основе твоего модуля по сериалам , надеюсь не обидишься. Или могу указать копирайт если нужно?
    До этого вообще не знал как пишется модуль под DLE, но буквально за пару дней с помощью твоего кода, подсказок @Gameer-а, и пары статей в интернете, разобрался.
     
    Последнее редактирование: 16 дек 2015
    • Нравится Нравится x 2
  8. kild

    kild Команда форума VIP Кинотрафик v2

    Сообщения:
    2.130
    Симпатии:
    1.162
    Лучших ответов:
    2
    @Sistemos, все нормально)
    думал со временем добавить такой функционал в свой, теперь не придется так что я только за
     
  9. nylmen

    nylmen Команда форума VIP Кинотрафик v2

    Сообщения:
    2.574
    Симпатии:
    702
    Лучших ответов:
    0
    а что простой перекодировкой файлов в UTF не решить проблему ?
     
  10. iKing

    iKing Посетитель

    Сообщения:
    81
    Симпатии:
    13
    Лучших ответов:
    0
    #del
     
    Последнее редактирование: 28 янв 2016
  11. damir

    damir Команда форума VIP Кинотрафик v2

    Сообщения:
    2.155
    Симпатии:
    962
    Лучших ответов:
    0
    А он автоматически это сам делает ? Или просто идет как оповещение о выходе более лучшего качества ? :)
     
  12. Den

    Den Команда форума VIP Кинотрафик v2

    Сообщения:
    2.130
    Симпатии:
    983
    Лучших ответов:
    0
    Может вы договоритесь как-нить и объедините это дело? Чтобы небыло 100500 разных модулей.
     
    • Нравится Нравится x 2
  13. nylmen

    nylmen Команда форума VIP Кинотрафик v2

    Сообщения:
    2.574
    Симпатии:
    702
    Лучших ответов:
    0
    UTFcast софтина и будет вам из 1251 utf за 3 сек.
     
  14. Den

    Den Команда форума VIP Кинотрафик v2

    Сообщения:
    2.130
    Симпатии:
    983
    Лучших ответов:
    0
    Это точно мне адресовано? :eek: Я про UTF ничего не говорил
     
  15. nylmen

    nylmen Команда форума VIP Кинотрафик v2

    Сообщения:
    2.574
    Симпатии:
    702
    Лучших ответов:
    0
    да сори что то не то сцитировал
     
  16. TopicStarter Overlay
    Sistemos

    Sistemos Кодер

    Сообщения:
    729
    Симпатии:
    697
    Лучших ответов:
    0
    не оповещение, он сам обновляет.

    не проверял, может и решается.

    я только за, если такой функционал будет в модуле по сериалам.
     
    • Нравится Нравится x 3
  17. damir

    damir Команда форума VIP Кинотрафик v2

    Сообщения:
    2.155
    Симпатии:
    962
    Лучших ответов:
    0
    @Sistemos, кое-что хотелось бы уточнить.
    Как я понял он будет работать только в том случае, если в фильме указано качество через доп. поля ?
     
  18. TopicStarter Overlay
    Sistemos

    Sistemos Кодер

    Сообщения:
    729
    Симпатии:
    697
    Лучших ответов:
    0
    @zmdamir, да, только в этом случае, проверяет по доп.полям. А как по другому узнать какое качество у вас на сайте?

    Поясню еще как действует модуль:
    - если на сайте Трейлер, то если на мунвалке появится CAMrip или HDrip, то соответственно он обновит качество на сайте.
    - если на сайте CAMrip или TS или DVDrip, то модуль будет ждать появления HDrip, и обновит только после его появления.
    - если на сайте в доп.поле фильма указан HDrip или более лучшее качество, то модуль ничего не делает.

    *20.12.15 добавил это пояснение в первый пост.
     
    Последнее редактирование: 20 дек 2015
    • Нравится Нравится x 1
  19. kild

    kild Команда форума VIP Кинотрафик v2

    Сообщения:
    2.130
    Симпатии:
    1.162
    Лучших ответов:
    2
    Сравнить юрл что введен в доп поле с тем, что есть на мунвалке. Там кстати в апи есть параметр камрип
     
    • Нравится Нравится x 2
  20. MaHarder

    MaHarder Местный

    Сообщения:
    1.054
    Симпатии:
    326
    Лучших ответов:
    0
    а если в поле стоит "нет"?