Joomla 1.5 plugin - автоматическая обработка появившегося файла

Тема в разделе "Создание расширений для Joomla", создана пользователем woojin, 01.11.2010.

  1. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    поискал - поискал и не нашёл :(

    вопрос такой, как написать плагин который бы всегда (может по времени, может при перезагрузке страницы) проверял выбранный каталог на наличие в нём определённого файла и при появлении такового производил над ним определённые действия?
    Код (PHP):
    1. defined( '_JEXEC' ) or die( 'Restricted access' );
    2. jimport( 'joomla.plugin.plugin' );
    3. jimport('joomla.filesystem.file');
    4. class plgSystemFileWork extends JPlugin
    5. {
    6.     function plgSystemFileWork(&$subject, $config)
    7.     {
    8.         parent::__construct($subject, $config);
    9.     }
    10.     function onAfterInitialise()
    11.     {
    12.         /*--- тут что то делаем с файлом ---*/
    13.     }
    14. }

    такого типа конструкция не срабатывает!!!!
     
    Последнее редактирование: 01.11.2010
  2.  
  3. sergiks
    Offline

    sergiks специалист

    Регистрация:
    10.10.2010
    Сообщения:
    362
    Симпатии:
    36
    Пол:
    Мужской
    У меня сработала. Вставленная там строчка типа echo "Ура!" красуется вверху каждой страницы.
    В БД этот плагин "прописал"?
     
  4. sergiks
    Offline

    sergiks специалист

    Регистрация:
    10.10.2010
    Сообщения:
    362
    Симпатии:
    36
    Пол:
    Мужской
    Ну и если можно по времени - крон не вариант? А то при хабраэффекте задергают проверять файл )
    Прописать там скажем раз в час дергать определенный URL, типа
    http://yoursite.com/filer/check.html - task, который все и проверит.
     
  5. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    у меня внутри вставлен такой скрипт
    Код (PHP):
    1. function onAfterInitialise()
    2.     {
    3.         $dumppath=JPATH_SITE.DS."tmp".DS."fil.txt";
    4.         $fil=JFile::read($dumppath);
    5.         echo $fil;
    6.         JFile::delete($dumppath);
    7.         return true;
    8.     }

    и не пашет!!!!
    файл не удаляет зараза, как быть?
     
  6. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
     
  7. sergiks
    Offline

    sergiks специалист

    Регистрация:
    10.10.2010
    Сообщения:
    362
    Симпатии:
    36
    Пол:
    Мужской
    права на файл - ок?
    Может, включить отображение ошибок временно и посмотреть, где лажа.
    Там по идее при удалении, если что-то не выходит, должен Warning выскочить.
     
  8. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    в том то и фишка что ни текста он не выводит, ни варнинга не выдаёт, вообще ни чего при всёх включенных параметрах отображения ошибок

    вот если только в php.ini ещё включить
     
  9. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    php.ini
    display_errors = On
    error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

    в Joomla режим отладки тоже включен
     
  10. sergiks
    Offline

    sergiks специалист

    Регистрация:
    10.10.2010
    Сообщения:
    362
    Симпатии:
    36
    Пол:
    Мужской
    FTP режим включен в Joomla?
     
  11. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    нет, а для работы с файлами на сервере он вроде ка не обязателен
     
  12. sergiks
    Offline

    sergiks специалист

    Регистрация:
    10.10.2010
    Сообщения:
    362
    Симпатии:
    36
    Пол:
    Мужской
  13. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    включил FTP без толку
    он даже ничего на самом сайте не отображает, если просто сделать echo 'privet'
    нифига нет ничего - значит плагин не подключился!!!

    я правильно понимаю?

    а коли так, каким образом его подключить?

    в аттаче сам плагин
     

    Вложения:

    • system.zip
      Размер файла:
      816 байт
      Просмотров:
      2
  14. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    хз что конкретно было, поменял имена файлов на filework и всё заработало!!!
    и сообщения стали появляться и удалился и на экран вывелся!!!!
     
  15. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    теперь другая проблема:
    как перехватить ошибку открытия файла, и не отображать её
    без изменения самого скрипта по работе с файлами file.php
     
  16. sergiks
    Offline

    sergiks специалист

    Регистрация:
    10.10.2010
    Сообщения:
    362
    Симпатии:
    36
    Пол:
    Мужской
    перед всеми телодвижениями проверить, есть ли он:
    Код (PHP):
    1. if(JFile::exists('имяфайла')) { здесь все приключения };
     
    woojin нравится это.
  17. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    вот блин!!!!
    ведь знал же что что то где то упустил!!!
    ничего со всеми бывает!!!!

    +1 тебе
     

Поделиться этой страницей

Загрузка...