Доброго времени суток, уважаемые форумчане! Может быть кто-нибудь из Вас уже пробовал создавать группы с помощью API Joomla. Пишу сейчас компонент, где нужно автоматом при создании какого-то проекта создать 7 групп с разными уровнями вложенности для данного проекта, т.е. нажимаю кнопку создать->пишу название проекта->Сохранить-> в таблице компонента создаётся запись с именем проекта, а в таблице jos_usergroups должны создаться эти семь групп, ну и конечно в jos_assets вносится изменения. Изначально писал скрипт в модели, но это не есть правильно, т.к. при каждом обновлении страницы в админке, которая выводит все проекты в таблицу, этот скрипт - будет срабатывать, т.к. данные берутся из модели, если я все правильно понимаю. В какую сторону сейчас смотреть я даже не знаю, или писать функцию, которая при нажатии на кнопку сохранить будет выполнять этот скрипт, или использовать JTable.
Подскажите или направте в нужное русло.
Вот что я имею на данный момент. Скрипт создает вот такие уровни доступа:
|—|— Project Consultant
|—|—|— Project Manager
|—|—|—|— Project Admin
|—|—|—|—|— Certifier Consultant
|—|—|—|—|—|— Certifier Manager
|—|—|—|—|—|—|— Certifier Administrator
|—|—|—|—|—|—|—|— Project name
$sel_lvl = "SELECT lft,rgt FROM #__usergroups";
$db->setQuery($sel_lvl);
$array = $db->loadObjectList();
foreach($array as $value)
{
$lft_sel = $value->lft;
$rgt_sel = $value->rgt;
}
$arr = array(1 => 'Project Consultant_', 2 => 'Project Manager_', 3 => 'Project Admin_', 4 => 'Certifier Consutant_', 5 => 'Certifier Manager_', 6 => 'Certifier Admin_', 7 => 'PR_');
$lvl_ins = new stdClass();
$k = 7;
for($i=1;$i<=$k;$i++)
{
if($i==1)
{
$lvl_ins->parent_id = 6;
$lft_ins = $lft_sel + 3;
$lvl_ins->lft = $lft_ins;
$rgt_ins = $rgt_sel + 2*$k + 1;
$lvl_ins->rgt = $rgt_ins;
$lvl_ins->title = $arr[1];
}
else
{
$lvl_ins->parent_id = $new_id;
$lft_ins = $lft_sel + $i + 2;
$lvl_ins->lft = $lft_ins;
$rgt_ins = $rgt_sel + 2*$k - $i + 2;
$lvl_ins->rgt = $rgt_ins;
$lvl_ins->title = $arr[$i];
}
$db->insertObject('#__usergroups', $lvl_ins);
$new_id = $db->insertid();
}
Заранее Всем благодарен!