Я сейчас прочитал нашу переписку и мне показалось, что мы говорим о разных вещах. Пока доложу, что я уже сделал. Вчера сделал файл php со скриптом, который заменял файлы. Опробовал его - работает нормально. Вот скрипт: // Заносим в массив ВСЕ файлы, которые хотим скопировать из данной директории
$files = array('registered.xml', 'user.xml');
// Путь к файлам, который копируем
$path_download = JPATH_COMPONENT_ADMINISTRATOR.DS;
// Путь, куда копируем
$path_upload = JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_users'.DS.'models'.DS;
$i=0;
foreach($files as $fl)
{
copy($path_download.$fl, $path_upload.$fl);
$i++;
}
echo $i." файлов успешно скопировано...";
Сегодня прочитал у вас, что надо (я так понял) создать класс, а в нём функцию. Я переделал скрипт и получилось так:
class MycomponentInstallerScript
{
function install()
{
// Заносим в массив ВСЕ файлы, которые хотим скопировать из данной директории
$files = array('registered.xml', 'user.xml');
// Путь к файлам, который копируем
$path_download = JPATH_COMPONENT_ADMINISTRATOR.DS;
echo "$path_download</br>";
// Путь, куда копируем
$path_upload = JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_users'.DS.'models'.DS;
/*JPATH_COMPONENT_ADMINISTRATOR.DS.'com_users'.DS.'models'; */
echo $path_upload;
$i=0;
foreach($files as $fl)
{
copy($path_download.$fl, $path_upload.$fl);
$i++;
}
echo $i." файлов успешно скопировано...";
}
}
Вот код моего файла XML, который (через который) Joomla устанавливает мой компонент:
<?xml version="1.0" encoding="utf-8"?>
<install version="1.5.0" type="component">
<name>my</name>
<files>Здесь я перечисляю файлы, которые будут устанавливаться </files>
<install>
<sql>
<file driver="mysql" charset="utf8">install.mysql.utf8.sql</file>
</sql>
</install>
<administration>
<menu>My</menu>
<files>
<filename>index.html</filename>
<filename>install.mysql.utf8.sql</filename>
<filename>my.xml</filename>
<filename>registered.xml</filename>
<filename>user.xml</filename>
<filename>copy.php</filename>
</files>
Здесь поясню: файлы registered.xml и user.xml - это мои файлы и они заменят файлы Joomla, а файл copy.php содержит скрипт, который должен запуститься для замены файлов. И вот в этом месте (когда все файлы скопированы в Joomla) и надо что-то прописать, чтобы запустился скрипт файла copy.php, а он уже установил на свои места файлы registered.xml и user.xml. Я так понял, что для его запуска надо сделать так:
<installfile>copy.php</installfile> - это метод, предложенный Аркадием.
<scriptfile>copy.php</scriptfile> - это метод, предложенный danik.html'ом
Я правильно понял?