Open andreyryabin opened 6 days ago
автор Il'ia Kartovitskii
пример кода
public function up() { if( !\CModule::includeModule( "iblock" ) ) return false; $arTasks = \CTask::getList( [], [ "MODULE_ID" => "iblock" ] ); $taskIds = []; while( $task = $arTasks->fetch() ) $taskIds[ $task["NAME"] ] = $task["ID"]; foreach( $this->codes as $code ) { $iblockId = $this->helper->Iblock()->updateIblockIfExists( $code, [ 'RIGHTS_MODE' => 'E' ] ); $newRights = [ [ 'GROUP' => 'administrators', 'PERM' => 'iblock_full' ], [ 'GROUP' => 'everyone', 'PERM' => 'iblock_read' ] ]; $setRights = []; foreach( $newRights as $i => $arRight ) { $groupId = \CGroup::GetIDByCode( $arRight['GROUP'] ); if( empty( $groupId ) || empty( $taskIds[ $arRight['PERM'] ] ) ) return false; $setRights[ 'n' . $i ] = [ 'GROUP_CODE' => "G$groupId", 'DO_INHERIT' => 'Y', 'TASK_ID' => $taskIds[ $arRight['PERM'] ] ]; } ( new \CIBlockRights( $iblockId ) )->SetRights( $setRights ); $arElementForm = $this->helper->UserOptions()->exportElementForm( $iblockId ); $arElementForm['Доступ|cedit1']['RIGHTS'] = 'Права доступа к элементу'; $this->helper->UserOptions()->saveElementForm( $iblockId, $arElementForm ); } }
автор Il'ia Kartovitskii
пример кода