Студия креативных разработок DevArt.PRO.
Разработка сайтов и форумов под ключ!
Сильнейшая команда в России по vBulletin - читать подробнее...
 
 
 
 

 
 
Здесь скоро опять что то будет...
 
 
 
 
 
 
Loading

Вернуться   форум vBSupport.org > vBulletin > vBulletin 4.x.x > Made in vBSupport.org 4.x.x

Объявления
  • Изменения в правах
  • Каталог Фрилансеров
  • Добро пожаловать!
  • Premoderation
  • Новичкам!
  • For English speaking users
Ответ
 
Опции темы Опции просмотра
Старый 26.09.2011, 23:34   #1
Эксперт
 
Аватар для artscripts
Парсер телепрограммы Яндекса

это как бы не хак, а обычный парсер, который можно вставить в боковую панельку на своем форуме, для отображения программы теле передач на сутки.

И так создаем блок php http:// site.ru/admincp/block.php
вставляем в него вот такой код (Спасибо Kerk и Sellrion за поправки):

PHP код:
$date0 date("Y-m-d");
   if (!isset(
$channel)) $channel "1";
   if (!isset(
$date)) $date date("Y-m-d");
$your_site 'afishka.cv.ua'//адрес главной страницы Вашего сайта, например: [url]www.yandex.ru[/url]
$use_images 0//использовать картинки: 0 - с сервера яндекса; 1 - со своего сервера (находятся в папке /i/logo/ )
$file = @file_get_contents('http://tv.yandex.ru/?hour=5&$date&period=24&channel=1,2,256,4,5,235,102,104,241,107,276,109,255,330,209,240,108&mode=print');

$offset=+2;
$file preg_replace("#<div>([\d]{1,2}):([\d]{2})#e","'<div>'.date( 'G:i', mktime(intval('\\1')+$offset,intval('\\2'),0) )",$file);
set_time_limit(5);
return 
$file;
          
//return $date; 
Теперь по подробнее о коде

В этом куске кода, перечислены каналы которые вы хотите показывать, или удалить ненужные.

PHP код:
$file = @file_get_contents('http://tv.yandex.ru/?hour=5&$date&period=24&channel=1,2,256,4,5,235,102,104,241,107,276,109,255,330,209,240,108&mode=print'); 
В этом куске кода заключено временное искажение (Яндекс отдает время только московское, значит если у вас хостинг в России, этот код можно смело удалять

PHP код:
$offset=+2;
$file preg_replace("#<div>([\d]{1,2}):([\d]{2})#e","'<div>'.date( 'G:i', mktime(intval('\\1')+$offset,intval('\\2'),0) )",$file); 
если хостинг в германии оставляем
PHP код:
$offset=+2
Если в америке
PHP код:
$offset=+8
и так далее, то есть смещение по времени от Москвы. не путать с часовыми поясами.

Этот код приведенный выше работает на utf-8 если у вас windows-1251 кодировка, то будут кракозяблы, чтобы их небыло ниже этоко кода:

PHP код:
$offset=+2;
$file preg_replace("#<div>([\d]{1,2}):([\d]{2})#e","'<div>'.date( 'G:i', mktime(intval('\\1')+$offset,intval('\\2'),0) )",$file); 
добавьте

PHP код:
$file=iconv("UTF-8","CP1251"$file); 
и все, вуаля, демо можно посмотреть http://about-elf.ru/forum.php

Сильно не пинайте, я хаки писать не умею. поэтому вот так вот в сыром виде, может быть кому пригодится, а ежели нет, то пущай для моего опыта будет

Последний раз редактировалось artscripts; 27.09.2011 в 18:05..
  Ответить с цитированием
Сказали Спасибо:
Скрыть список поблагодаривших

anelly (08.02.2012), kerk (27.09.2011), liner (27.09.2011), Luvilla (26.09.2011), Sven (26.09.2011)
Рекламка
Реклама на форуме

Файловый Архив

  • Неограниченное количество категорий и суб-категорий
  • Тонкие настройки прав доступа
  • Предпросмотр медиа файлов: FLV, IFLV, F4A, F4V, MP4, MP3, MOV и других...
  • Мультизагрузка файлов - SWFUploader
  • Добавление файлов с сервера
Подробности и история обновлений продукта в этой теме
Старый 27.09.2011, 01:16   #2
kerk
k0t
 
Аватар для kerk
в первом блоке пхп кода, два "ретурна", зачем?
потом вот этот код:
PHP код:
$file=implode("",file()); 
для чего получать массив и тут же превращать его в строку?
можно же проще:
PHP код:
$file file_get_contents(); 
сразу получать строку и затем обрабатывать ее
  Ответить с цитированием
Старый 27.09.2011, 01:25   #3
artscripts
Эксперт
 
Аватар для artscripts
kerk, я только учусь, спасибо за подсказку.
  Ответить с цитированием
Старый 27.09.2011, 10:57   #4
Sellrion
В Черном списке
 
Аватар для Sellrion
PHP код:
$file = @file_get_contents(); 
Вот так правильно.
  Ответить с цитированием
Старый 27.09.2011, 11:58   #5
kerk
k0t
 
Аватар для kerk
знак "@" перед функцией, означает подавление ошибок на странице
если мы заведомо знаем, что функция отработает без ошибок, зачем он там нужен?
  Ответить с цитированием
Старый 27.09.2011, 12:09   #6
artscripts
Эксперт
 
Аватар для artscripts
Первый пост обновил, с поправками от kerk ))
  Ответить с цитированием
Старый 27.09.2011, 12:10   #7
Sellrion
В Черном списке
 
Аватар для Sellrion
Цитата:
Сообщение от kerk Посмотреть сообщение
если мы заведомо знаем, что функция отработает без ошибок, зачем он там нужен?
Запомни, Керк, раз и навсегда, что подобные функции требуют подавления ошибок, потому как ты не можешь положиться на доступность удаленного ресурса, содержащего файл. А вообще это делается совершенно не так, потому как если ресурс будет действительно недоступен, то страница с таким кодом будет тупить 90 секунд перед тем как не показать ничего.
  Ответить с цитированием
Старый 27.09.2011, 12:19   #8
artscripts
Эксперт
 
Аватар для artscripts
Sellrion, Ну яндекс недоступным не будет, или вы так не думаете? В нашем случае знак нужен? Я извиняюсь за такие вопросы, я действительно не знаю как правильно со знаком или нет.
  Ответить с цитированием
Старый 27.09.2011, 12:20   #9
Sellrion
В Черном списке
 
Аватар для Sellrion
Цитата:
Сообщение от artscripts Посмотреть сообщение
Ну яндекс недоступным не будет, или вы так не думаете?
Да вы что? Тут вначале года и Скайп пару раз отваливался, если не в курсе.)
Цитата:
Сообщение от artscripts Посмотреть сообщение
В нашем случае знак нужен?
Обязательно.
  Ответить с цитированием
Старый 27.09.2011, 12:21   #10
TAIFUN
Человек
vBSSecurity
 
Аватар для TAIFUN
Цитата:
Сообщение от artscripts Посмотреть сообщение
Ну яндекс недоступным не будет
Да ладно? Неделю или более назад яндекс был в ауте.
  Ответить с цитированием
Ответ

Закладки

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



 
 

Текущее время: 03:10 26.05.2012. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd. Перевод: zCarot