• Модуль: fileman
  • Путь к файлу: ~/bitrix/modules/fileman/classes/general/fileman_utils.php
  • Класс: CFilemanCopy
  • Вызов: CFilemanCopy::Init
public function Init($Params)
{
	global $USER;
	$arWarnings = array();

	if (!$USER->CanDoOperation('fileman_admin_files') && !$USER->CanDoOperation('fileman_admin_folders'))
		$arWarnings[] = GetMessage('FM_UTIL_ACCESS_DENIED');

	$io = CBXVirtualIo::GetInstance();

	$log = $log ?? null;
	if (count($arWarnings) == 0)
	{
		$pathTo = trim($Params['copyTo'], " /");
		$site = CFileMan::__CheckSite($_GET['site']);
		$siteTo = $Params['siteTo'] ? $Params['siteTo'] : $site;
		$pathTo = $pathTo == "" ? "/" : "/".$pathTo."/";

		$absPathTo = CSite::GetSiteDocRoot($siteTo).$pathTo;
		$docRootFrom = CSite::GetSiteDocRoot($site);

		if (!$io->DirectoryExists($absPathTo))
		{
			// Create destination directory
			$bAccess = $USER->CanDoOperation('fileman_admin_folders') && $USER->CanDoFileOperation('fm_create_new_folder',$pathTo);

			if ($Params['createCopyTo'])
			{
				if ($bAccess)
					CFileMan::CreateDir(Array($siteTo, $pathTo));
			}
			else // Ask to user - create destination folder or no?
			{
				?>DirectoryExists($absPath_i);
			$name_i = CFileman::GetFileName($filePath);
			$strWarn = "";

			// Check if file already exists in destination folder
			if ($io->FileExists($absPathTo.$name_i) || ( $bDir_i == $io->DirectoryExists($absPathTo.$name_i) && $bDir_i))
			{
				$fTmp = $io->GetFile($absPathTo.$name_i);
				$fTmp1 = $io->GetFile($absPath_i);
				$altName = CFilemanCopy::GetAltFileName($absPathTo, $name_i, $bDir_i);

				if ($caseOption == 'ask')
				{
					?>