поискал - поискал и не нашёл вопрос такой, как написать плагин который бы всегда (может по времени, может при перезагрузке страницы) проверял выбранный каталог на наличие в нём определённого файла и при появлении такового производил над ним определённые действия? Код (PHP): defined( '_JEXEC' ) or die( 'Restricted access' ); jimport( 'joomla.plugin.plugin' ); jimport('joomla.filesystem.file'); class plgSystemFileWork extends JPlugin { function plgSystemFileWork(&$subject, $config) { parent::__construct($subject, $config); } function onAfterInitialise() { /*--- тут что то делаем с файлом ---*/ } } такого типа конструкция не срабатывает!!!!
У меня сработала. Вставленная там строчка типа echo "Ура!" красуется вверху каждой страницы. В БД этот плагин "прописал"?
Ну и если можно по времени - крон не вариант? А то при хабраэффекте задергают проверять файл ) Прописать там скажем раз в час дергать определенный URL, типа http://yoursite.com/filer/check.html - task, который все и проверит.
у меня внутри вставлен такой скрипт Код (PHP): function onAfterInitialise() { $dumppath=JPATH_SITE.DS."tmp".DS."fil.txt"; $fil=JFile::read($dumppath); echo $fil; JFile::delete($dumppath); return true; } и не пашет!!!! файл не удаляет зараза, как быть?
права на файл - ок? Может, включить отображение ошибок временно и посмотреть, где лажа. Там по идее при удалении, если что-то не выходит, должен Warning выскочить.
в том то и фишка что ни текста он не выводит, ни варнинга не выдаёт, вообще ни чего при всёх включенных параметрах отображения ошибок вот если только в php.ini ещё включить
php.ini display_errors = On error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED в Joomla режим отладки тоже включен
включил FTP без толку он даже ничего на самом сайте не отображает, если просто сделать echo 'privet' нифига нет ничего - значит плагин не подключился!!! я правильно понимаю? а коли так, каким образом его подключить? в аттаче сам плагин
хз что конкретно было, поменял имена файлов на filework и всё заработало!!! и сообщения стали появляться и удалился и на экран вывелся!!!!
теперь другая проблема: как перехватить ошибку открытия файла, и не отображать её без изменения самого скрипта по работе с файлами file.php
перед всеми телодвижениями проверить, есть ли он: Код (PHP): if(JFile::exists('имяфайла')) { здесь все приключения };