Забыли пароль?
Запросите новый здесь.

Автор темы: Sergcom
ID темы: 487
Информация:
Тема содержит 9 сообщения, была просмотрена 4072 раз.  Имеются прикрепленные файлы.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Плагины
 Распечатать тему
Ошибка в банере погоды если открыт видео плагин (KGB)
Sergcom
Приветствую!

Появилась небольшая проблема:
Установил видео галерею от KGB. У меня на сайте есть баннер погоды (сайт на денвере в локальной сетке), который при входе в видео галерею KGB пишет ошибку -
Скачать исходники  Код
Notice: Undefined variable: itogtime in C:\AppServ\www\fusion\themes\templates\panels.php(33) : eval()'d code on line 10


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

Банер погоды сделан как вставка кода в содержимое панели - код в панели баннера:

Скачать исходники  Код
openside("<center>Погода на сегодня</center>");
$fp = fsockopen ("rp5.ru", 80, $errno, $errstr, 5);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
     if (file_exists("images/weather.png")) {
         $timefile=filemtime("images/weather.png");
        $itogtime=time()-$timefile;
     }
     if($itogtime>3600){
          copy ("http://rp5.ru/informer/100x100x2.php?f=9&id=4527&lang=ru", "images/weather.png");
      }
          print ('<p></p><center><img src="images/weather.png"></center> <center><a href="http://rp5.ru/4527/ru" target="_blank">Погода на неделю</a></center>');

}
closeside();




Подскажите где копать?
 
jikaka
а что на 10 строке файла panels.php?
 
Web
Sergcom
10 строку в коде банера можно посмотреть выше...
if($itogtime>3600){

Мой сайт в локальной сети на денвере и инет бывает отваливается. Погода сделана так, чтобы не копировать каждый раз баннер с сайта погоды, а брать его из локальной папки и отсчитывать время актуальности баннера + данное решение ускоряет загрузку страниц.

Файл panels.php - прикрепил к посту, только судя по ошибке в коде, там он ругается на 33 строку.
Sergcom присоединено следующее:файл:
panels.zip [1.21кБ / 552 Загрузки]

Изменил(а) Sergcom, 10.03.2011 13:29
 
jikaka
ты редактировал файл panels.php
откуда там у тебя параметр "itogtime"?
у меня ничего подобного нету...
 
Web
Sergcom
jikaka написал:
ты редактировал файл panels.php
откуда там у тебя параметр "itogtime"?
у меня ничего подобного нету...



Файл panels.php не редактировал...

"itogtime" - это в коде панели баннера - добавлен вручную через админку в поле "содержание панели". Весь код панели погоды можно посмотреть в моем первом посте.
 
jikaka
"itogtime" - это в коде панели баннера - добавлен вручную через админку в поле "содержание панели". Весь код панели погоды можно посмотреть в моем первом посте.

согласен, подтупил немного
посмотри внимательно:
Загрузить источник  GeSHi: PHP
  1. if (file_exists("images/weather.png")) {
  2. $timefile=filemtime("images/weather.png");
  3. $itogtime=time()-$timefile;
  4. }
  5. if($itogtime>3600){
  6. copy ("http://rp5.ru/informer/100x100x2.php?f=9&id=4527&lang=ru", "images/weather.png");
  7. }
Добавлено за 0.032 секунд, используя GeSHi 1.0.8.10

если первое условие выполняется, то переменная устанавливается как
Загрузить источник  GeSHi: PHP
  1. $itogtime=time()-$timefile;
Добавлено за 0.020 секунд, используя GeSHi 1.0.8.10

а если первое условие не выполняется, то сразу идет проверка неизвестной величины, отсюда и ошибка
 
Web
Polarfox
я так делал если кому то это интересно ваще
http://unlogic.info/forum/viewthread.php?thread_id=50
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
Sergcom
а если первое условие не выполняется, то сразу идет проверка неизвестной величины, отсюда и ошибка


Разобрался. Причина не выполнения условия в том, что баннер находиться в папке "images/weather.png", а при входе в видео галерею Fusion ищет и пытается скопировать баннер в каталог видео галереи: infusions/video_infusions/images/weather.png

Заметил еще, что в моем коде банера функция копирования работает не правильно. (банер копируется только в том случае если в папке уже есть файл weather.png).

Решил проблему путем копирования банера weather.png в папку infusions/video_infusions/images.

В целом работает, но получается как то не очень красиво...
По идее надо сделать свою папку для банера и прописать в коде до нее пути причем желательно не относительные а локальные.
(Проблема еще усложняется, потому как я не силен в PHP - только вникаю (((. Пост Psc - в тему, но для меня сложновато...

Спасибо за помощь!
 
Polarfox
У меня всего 1 функция

Скачать исходники  Код
returncache(путь до удаленного фаела,путь на хосте, время кэша в минутах);
returncache('http://rusfusion.ru/images/smiley/ab.gif',IMAGES.'smileyz.gif',30);



И потом выводим уже кэш-фаел как нада.

На самом деле это простая функция, могло быть все гораздо сложней :)
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)