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
| <?php
if(!defined('DATALIFEENGINE'))
{
die("Hacking attempt!");
}
if (!$meteo) {
$city = "1460"; //город для которого будет погода в данном случае Москва, берем на http://pogoda.mail.ru/informer/index.html
//******************************* установка *****************
//подключение в файле index.php после строчки
//require_once ROOT_DIR . '/engine/init.php';
//вставляем
//require_once ENGINE_DIR.'/modules/meteo.php';
//
//ниже $tpl->set ( '{speedbar}', $tpl->result['speedbar'] );
//добавляем $tpl->set ( '{meteo}', $meteo);
//в main.tpl вашего шаблона вставляем в нужное место {meteo}
//ВСЕ!!!!
//***********************************************************
$cache_file=$_SERVER['DOCUMENT_ROOT']."/engine/cache/meteo.txt";
if (file_exists( $cache_file ) && date('H',filemtime($cache_file))== date("H", mktime(date("H"), 0, 0, 0, 0, 0))){
$f=fopen($cache_file,"rb");
$meteo=fread($f,filesize($cache_file));
}
else{
$url = "http://pogoda.mail.ru/informer/weather.js?city=".$city."&view=2&encoding=win";
$html = file_get_contents($url);
$html = str_replace("document.writeln('",'',$html);
$html = str_replace("');",'',$html);
$html = preg_replace('/<h2>.*?<\/h2>/i','',$html);
$html = preg_replace('/<a.*?[>^]/i','',$html);
$html = str_replace('</a>','',$html);
$html = str_replace('<br>подробный прогноз','',$html);
$html = preg_replace('/<div class=\"top\">.*<\/div>/i','',$html);
$html = str_replace(':1px solid #ced0d9;border-top','',$html);
$meteo = str_replace('h1 a','h1',$html);
@file_put_contents($cache_file,$meteo);
}} |
Модуль информер погоды для DLE
Сегодня сподобило написать меня модуль погоды для DLE. Погода берется из Майлрушного информера кешируется на сайте и обновляется каждый час. Собственно вот код
установка такова. Создаем файл meteo.php помещаем в папку modules и кидаем туда этот код. Далее действуем по инструкции находящейся в самом файле.