Погодный информер на JohnCMS

1.6K
.
Вобщем установил все как сказано было и вот последний штрих. Было сказано "если показания не пустые то все правильно" показания как раз были пустые! Дальше значит такое "Сейчас будет сконфигурирован файл и показан код для вставки на страницы" жму Далее... Показывает мою страницу с погодой а где обещанный код? Что куда дальше,почитал тему ни че не понял! Ридми нужен! и почемуто вероятность осадков везде всегда 0%
.
(love)лю тво(you) улыбку ;)
SWAT, ты не правильно делаешь что - то , у меня работает этот скриптеГ )
.
У меня тоже уже все нормал но насчет осадков все время 0% хотя снег/дождь каждый день
.
¤
SWAT (16.01.2010/20:25)
У меня тоже уже все нормал но насчет осадков все время 0% хотя снег/дождь каждый день
см. пример
.
Ну у меня все работает кроме как погода на данный момент поэтому я ее закомментировал

Погода в Волновахе
.
Вобщем информер отличный но столкнулся с двумя проблемами!
1//////// не показывает погоду на данный момент + не показывает тут же картинку пришлось закомпенсировать.
2///////// при добавлении двух строк ///// headmod = 'weather'; /// textl = 'погода'; ///// начало вызовать ошибку синтаксиса указав на символ "=" в одной из строк. Что это может быть? Как исправить? Вот мой скрипт
<?

define('_IN_JOHNCMS', 1);

headmod = 'weather';
textl = 'погода';
require_once ("../incfiles/core.php");
require_once ("../incfiles/head.php");
header( "Content-type: text/html; charset=UTF-8");
if (!file_exists ('data')){

echo "Скрипт не настроен. Переходим к установке.<META HTTP-EQUIV=\"Refresh\" CONTENT=\"3; URL=install.php\">";
}else
$file = fopen("data","r");
$file = fread ($file,4);
$url  = "http://xml.weather.co.ua/1.2/forecast/";
$url .= $file;
$url .= "?dayf=1&userid=towap.info&lang=ru";
$file=file_get_contents($url);

// отделяем тег <name>
preg_match_all("#<name>(.*?)</name>#is",$file,$name);
$name=$name[1][0];
echo "Погода в городе: ".$name."<br>";
function weather_now($file)
{
// отделяем тег <current>
preg_match_all("#<current(.*?)>(.*?)</current>#is",$file,$current);
$current=$current[2][0];
echo "<hr><b>Погода на сутки:</b><br>";
// отделяем тег <cloud> и картинку от него
preg_match_all("#<cloud>(.*?)</cloud>#is",$current,$cloud);
$cloud=$cloud[1][0];
    // картинка
preg_match_all("#<pict>(.*?)</pict>#is",$current,$pict);
$pict=$pict[1][0];

// отделяем тег <t>
preg_match_all("#<t>(.*?)</t>#is",$current,$t);
$t=$t[1][0];

// отделяем тег <p>
preg_match_all("#<p>(.*?)</p>#is",$current,$p);
$p=$p[1][0];

// отделяем тег <w>
preg_match_all("#<w>(.*?)</w>#is",$current,$w);
$w=$w[1][0];

// отделяем тег <h>
preg_match_all("#<h>(.*?)</h>#is",$current,$h);
$h=$h[1][0];



// echo "<font size='+2'>".$t;
// echo "</font><img src='/clipart/".$pict."'><br>";
// echo "Давление: ".$p."<br>";
// echo "Скорость верта: ".$w."м/с<br>";
// echo "Влажность: ".$h."%<br><hr>";
}







function weather_forecast($file)
{
$time=array('ночь', 'утро', 'день', 'вечер');
// отделяем тег <forecast>
preg_match_all("#<forecast>(.*?)</forecast>#is",$file,$forecast);
$forecast=$forecast[1][0];
// echo $forecast;

// отделяем тег <date>
// берём всё из тега <date>
preg_match_all('#<day(.*?)>(.*?)</day>#is',$forecast,$day1);
$i=0;
while ($day1[0][$i]!='')
{
	$day=$day1[0][$i];
// ыыы
echo "<hr>Погода на ";
preg_match_all('#day date="(.*?)" hour="(.*?)">#is',$day,$date);
$hour=$date[2][0];
if ($hour==3){echo $time[0];}
if ($hour==9){echo $time[1];}
if ($hour==15){echo $time[2];}
if ($hour==21){echo $time[3];}
$date=$date[1][0];
echo " ".$date."<br><hr>";


// отделяем тег <cloud> и картинку от него
preg_match_all("#<cloud>(.*?)</cloud>#is",$day,$cloud);
$cloud=$cloud[1][0];
    // картинка
preg_match_all("#<pict>(.*?)</pict>#is",$day,$pict);
$pict=$pict[1][0];
echo "<img src=clipart/".$pict."><br>";
// отделяем тег <ppcp>
preg_match_all("#<ppcp>(.*?)</ppcp>#is",$day,$ppcp);
$ppcp=$ppcp[1][0];
echo " Осадков ".$ppcp." %<br>";
// отделяем тег <t>
preg_match_all("#<t>(.*?)</t>#is",$day,$t);
$t=$t[1][0];
preg_match_all("#<min>(.*?)</min>#is",$t,$ot);
preg_match_all("#<max>(.*?)</max>#is",$t,$do);
echo " Температура: ".$ot[1][0]." / ".$do[1][0]."<br>";
// отделяем тег <p>
preg_match_all("#<p>(.*?)</p>#is",$day,$p);
$p=$p[1][0];
preg_match_all("#<min>(.*?)</min>#is",$p,$ot);
preg_match_all("#<max>(.*?)</max>#is",$p,$do);
echo " Давление: ".$ot[1][0]."-".$do[1][0]." <br>";
// отделяем тег <wind>
preg_match_all("#<wind>(.*?)</wind>#is",$day,$w);
$w=$w[1][0];
preg_match_all("#<min>(.*?)</min>#is",$w,$ot);
preg_match_all("#<max>(.*?)</max>#is",$w,$do);
//preg_match_all("#<max>(.*?)</max>#is",$w,$napr);
echo " Скорость ветра: ".$ot[1][0]."-".$do[1][0]." м/с<br>";
$i++;




}
}


weather_now($file);
weather_forecast($file);


require_once ('../incfiles/end.php');
?>
.
¤
SWAT, а символ переменной $ за тебя кто ставить будет?


$headmod = 'weather';
$textl = 'погода';
.
VARG (19.01.2010/00:26)
SWAT, а символ переменной $ за тебя кто ставить будет?
Спасибо помогло не внимателен а вот насчет остального?
Сначала смотрим страничку потом код и ткните мордой! Это исходный скрипт и с самого начала погоду на данный момент не показывало.
http://maxmobi.org.ru/weather/index.php
<?

define('_IN_JOHNCMS', 1);

$headmod = 'weather';
$textl = 'погода в волновахе';
require_once ("../incfiles/core.php");
require_once ("../incfiles/head.php");
header( "Content-type: text/html; charset=UTF-8");
if (!file_exists ('data')){

echo "Скрипт не настроен. Переходим к установке.<META HTTP-EQUIV=\"Refresh\" CONTENT=\"3; URL=install.php\">";
}else
$file = fopen("data","r");
$file = fread ($file,4);
$url  = "http://xml.weather.co.ua/1.2/forecast/";
$url .= $file;
$url .= "?dayf=1&userid=towap.info&lang=ru";
$file=file_get_contents($url);

// отделяем тег <name>
preg_match_all("#<name>(.*?)</name>#is",$file,$name);
$name=$name[1][0];
echo "Погода в городе: ".$name."<br>";
function weather_now($file)
{
// отделяем тег <current>
preg_match_all("#<current(.*?)>(.*?)</current>#is",$file,$current);
$current=$current[2][0];
echo "<hr><b>Погода на сутки:</b><br>";
// отделяем тег <cloud> и картинку от него
preg_match_all("#<cloud>(.*?)</cloud>#is",$current,$cloud);
$cloud=$cloud[1][0];
    // картинка
preg_match_all("#<pict>(.*?)</pict>#is",$current,$pict);
$pict=$pict[1][0];

// отделяем тег <t>
preg_match_all("#<t>(.*?)</t>#is",$current,$t);
$t=$t[1][0];

// отделяем тег <p>
preg_match_all("#<p>(.*?)</p>#is",$current,$p);
$p=$p[1][0];

// отделяем тег <w>
preg_match_all("#<w>(.*?)</w>#is",$current,$w);
$w=$w[1][0];

// отделяем тег <h>
preg_match_all("#<h>(.*?)</h>#is",$current,$h);
$h=$h[1][0];



echo "<font size='+2'>".$t;
echo "</font><img src='/clipart/".$pict."'><br>";
echo "Давление: ".$p."<br>";
echo "Скорость верта: ".$w."м/с<br>";
echo "Влажность: ".$h."%<br><hr>";
}







function weather_forecast($file)
{
$time=array('ночь', 'утро', 'день', 'вечер');
// отделяем тег <forecast>
preg_match_all("#<forecast>(.*?)</forecast>#is",$file,$forecast);
$forecast=$forecast[1][0];
// echo $forecast;

// отделяем тег <date>
// берём всё из тега <date>
preg_match_all('#<day(.*?)>(.*?)</day>#is',$forecast,$day1);
$i=0;
while ($day1[0][$i]!='')
{
	$day=$day1[0][$i];
// ыыы
echo "<hr>Погода на ";
preg_match_all('#day date="(.*?)" hour="(.*?)">#is',$day,$date);
$hour=$date[2][0];
if ($hour==3){echo $time[0];}
if ($hour==9){echo $time[1];}
if ($hour==15){echo $time[2];}
if ($hour==21){echo $time[3];}
$date=$date[1][0];
echo " ".$date."<br><hr>";


// отделяем тег <cloud> и картинку от него
preg_match_all("#<cloud>(.*?)</cloud>#is",$day,$cloud);
$cloud=$cloud[1][0];
    // картинка
preg_match_all("#<pict>(.*?)</pict>#is",$day,$pict);
$pict=$pict[1][0];
echo "<img src=clipart/".$pict."><br>";
// отделяем тег <ppcp>
preg_match_all("#<ppcp>(.*?)</ppcp>#is",$day,$ppcp);
$ppcp=$ppcp[1][0];
echo " Осадков ".$ppcp." %<br>";
// отделяем тег <t>
preg_match_all("#<t>(.*?)</t>#is",$day,$t);
$t=$t[1][0];
preg_match_all("#<min>(.*?)</min>#is",$t,$ot);
preg_match_all("#<max>(.*?)</max>#is",$t,$do);
echo " Температура: ".$ot[1][0]." / ".$do[1][0]."<br>";
// отделяем тег <p>
preg_match_all("#<p>(.*?)</p>#is",$day,$p);
$p=$p[1][0];
preg_match_all("#<min>(.*?)</min>#is",$p,$ot);
preg_match_all("#<max>(.*?)</max>#is",$p,$do);
echo " Давление: ".$ot[1][0]."-".$do[1][0]." <br>";
// отделяем тег <wind>
preg_match_all("#<wind>(.*?)</wind>#is",$day,$w);
$w=$w[1][0];
preg_match_all("#<min>(.*?)</min>#is",$w,$ot);
preg_match_all("#<max>(.*?)</max>#is",$w,$do);
//preg_match_all("#<max>(.*?)</max>#is",$w,$napr);
echo " Скорость ветра: ".$ot[1][0]."-".$do[1][0]." м/с<br>";
$i++;




}
}


weather_now($file);
weather_forecast($file);


require_once ('../incfiles/end.php');
?>
.
Просто на сайте, откуда погода грабится не на все города есть погода на данный момент, поэтому так получается.
.
ZapadIQ
Plut (26.02.2009/15:09)
Вот еще погодный информер под двиг... Запускаем файл Install.php следуем подсказкам. При установке выбираешь только ОДИН! город, для него и будет отображаться. Можно наделать несколько папок под разны
Много папок под разные города можно и не делать. Нужно переименовать существующий index.php в название, например moskva.php и файл data в файл datamoskva, а потом в файле moskva.php изменить немного вот до этого момента
<?

define('_IN_JOHNCMS', 1);

require_once ("../incfiles/core.php");
require_once ("../incfiles/head.php");

header( "Content-type: text/html; charset=UTF-8");
if (!file_exists ('datamoskva')){

echo "Скрипт не настроен. Переходим к установке.<META HTTP-EQUIV=\"Refresh\" CONTENT=\"3; URL=install.php\">";
}else
$file = fopen("datamoskva","r");

То есть, вместо бывшего data прописать datamoskva.
А затем можно снова запускать install.php для выбора нового города, сделать копию moskva.php, переименовать в svoi_gorod.php и с новым файлом data проделать то же самое, что и описано в начале поста.
Всего: 79