コード例 #1
0
    public static function InitScript($Params)
    {
        CUtil::InitJSCore(array('ajax', 'window'));
        $arLangArray = array();
        if ($Params['initSearch']) {
            $arLangArray[] = 'search';
        }
        if ($Params['initServerAccess']) {
            $arLangArray[] = 'server_access';
        }
        if ($Params['initCopy']) {
            $arLangArray[] = 'copy';
        }
        if ($Params['initPack']) {
            $arLangArray[] = 'pack';
        }
        $arSites = array();
        $dbSitesList = CSite::GetList($b = "SORT", $o = "asc");
        while ($arSite = $dbSitesList->GetNext()) {
            $arSites[] = array("id" => $arSite["ID"], "dir" => $arSite["DIR"], "text" => '[' . $arSite["ID"] . '] ' . $arSite["~NAME"], "current" => $arSite["ID"] == $Params['site']);
        }
        $arArcTypes = array();
        $arTypesTmp = CBXArchive::GetAvailableFormats();
        foreach ($arTypesTmp as $key => $value) {
            $arArcTypes[] = array("id" => $key, "text" => ToUpper($key));
        }
        ?>
		<script type="text/javascript" src="/bitrix/js/fileman/fileman_utils.js?v=<?php 
        echo @filemtime($_SERVER['DOCUMENT_ROOT'] . '/bitrix/js/fileman/fileman_utils.js');
        ?>
"></script>

		<script>
		<?php 
        CFilemanUtils::AppendLangMessages($arLangArray);
        ?>

		<?php 
        if ($Params['initSearch']) {
            ?>
		// * * * Search / replace * * *
		var oSearchDialog = new BX.CAdminDialog({
			title : '<?php 
            echo GetMessage('FILEMAN_SEARCH');
            ?>
',
			height: 300,
			width: 570,
			resizable: false
		});

		oSearchDialog.SetButtons([
			new BX.CWindowButton(
			{
				title: "<?php 
            echo GetMessage("FM_UTIL_FIND");
            ?>
",
				id: 'search',
				name: 'search',
				className: 'adm-btn-save',
				action: function(){window.oFMSearch.Search();}
			}),
			new BX.CWindowButton(
			{
				title: "<?php 
            echo GetMessage("FM_UTIL_COUNT");
            ?>
",
				id: 'count',
				name: 'count',
				action: function(){window.oFMSearch.Count()}
			}),
			oSearchDialog.btnCancel
		]);

		window.SearchReplaceRun = function(path, bSearch, ssess, lastValues)
		{
			BX.addClass(oSearchDialog.PARTS.CONTENT, "bx-fm-dialog-tabed");
			oSearchDialog.Show();
			oSearchDialog.adjustSizeEx();
			oSearchDialog.PARTS.CONTENT_DATA.style.height = 'auto';

			if (!window.oFMSearch || !window.oFMSearch.bInited)
			{
				window.oFMSearch = new BXFMSearch(
				{
					oSearchDialog: oSearchDialog,
					lang: '<?php 
            echo LANGUAGE_ID;
            ?>
',
					site: '<?php 
            echo CUtil::JSEscape($Params['site']);
            ?>
',
					sessid_get: '<?php 
            echo bitrix_sessid_get();
            ?>
',
					viewMsFilePath: '<?php 
            echo CUtil::JSEscape($Params['viewMsFilePath']);
            ?>
',
					viewMsFolderPath: '<?php 
            echo CUtil::JSEscape($Params['viewMsFolderPath']);
            ?>
',
					dateFormat: '<?php 
            echo CLang::GetDateFormat("SHORT");
            ?>
',
					oUserConfig: <?php 
            echo CUtil::PhpToJSObject(CFilemanSearch::GetConfig());
            ?>
,
					arLastPathes: <?php 
            echo CUtil::PhpToJSObject(CFilemanUtils::GetLastPathes());
            ?>
,
					arSites: <?php 
            echo CUtil::PhpToJSObject($arSites);
            ?>
				});
			}

			window.oFMSearch.OnOpen({
				path: path,
				bSearch: bSearch,
				ssess: ssess,
				lastValues: lastValues || false
			});
		};
		<?php 
        }
        ?>

		<?php 
        if ($Params['initCopy']) {
            ?>
		// * * * Copy / Move * * *
		var oCopyDialog = new BX.CDialog({
			title : 'copy-move',
			height: 160,
			width: 500,
			resizable: false
		});

		oCopyDialog.SetButtons([
			new BX.CWindowButton(
			{
				title: "ok",
				id: 'ok',
				name: 'ok',
				action: function(){window.oBXFMCopy.Process();}
			}),
			oCopyDialog.btnCancel
		]);

		window.CopyMoveRun = function(arFiles, bCopy)
		{
			oCopyDialog.Show();

			if (!window.oBXFMCopy || !window.oBXFMCopy.bInited)
			{
				window.oBXFMCopy = new BXFMCopy(
				{
					oCopyDialog: oCopyDialog,
					lang: '<?php 
            echo LANGUAGE_ID;
            ?>
',
					site: '<?php 
            echo CUtil::JSEscape($Params['site']);
            ?>
',
					sessid_get: '<?php 
            echo bitrix_sessid_get();
            ?>
',
					viewMsFilePath: '<?php 
            echo CUtil::JSEscape($Params['viewMsFilePath']);
            ?>
',
					viewMsFolderPath: '<?php 
            echo CUtil::JSEscape($Params['viewMsFolderPath']);
            ?>
',
					oUserConfig: <?php 
            echo CUtil::PhpToJSObject(CFilemanCopy::GetConfig());
            ?>
,
					arLastPathes: <?php 
            echo CUtil::PhpToJSObject(CFilemanUtils::GetLastPathes());
            ?>
,
					arSites: <?php 
            echo CUtil::PhpToJSObject($arSites);
            ?>
				});
			}

			window.oBXFMCopy.OnOpen({
				path: BX('quick_path').value,
				arFiles: arFiles,
				bCopy: !!bCopy,
				bSearch: <?php 
            echo $_GET['search'] == "Y" ? 'true' : 'false';
            ?>
,
				ssess: "<?php 
            echo CFilemanSearch::SecureSearchSess($_GET['ssess']);
            ?>
"
			});
		};
		<?php 
        }
        ?>

		<?php 
        if ($Params['initPack']) {
            ?>
		// * * * Pack / Unpack * * *
		var oPackDialog = new BX.CDialog(
		{
			title : 'pack-unpack',
			height: 160,
			width: 500,
			resizable: false
		});

		oPackDialog.SetButtons([
			new BX.CWindowButton(
			{
				title: "ok",
				id: 'ok-pack',
				name: 'ok',
				action: function(){window.oBXFMPack.Process();}
			}),
			new BX.CWindowButton(
			{
				title: "cancel",
				id: 'cancel-pack',
				name: 'cancel'
			})
		]);

		window.PackUnpackRun = function(arFiles, bPack, qPath)
		{
			oPackDialog.Show();

			if (!window.oBXFMPack || !window.oBXFMPack.bInited)
			{
				window.oBXFMPack = new BXFMPack(
				{
					oPackDialog: oPackDialog,
					lang: '<?php 
            echo LANGUAGE_ID;
            ?>
',
					site: '<?php 
            echo CUtil::JSEscape($Params['site']);
            ?>
',
					sessid_get: '<?php 
            echo bitrix_sessid_get();
            ?>
',
					viewMsFilePath: '<?php 
            echo CUtil::JSEscape($Params['viewMsFilePath']);
            ?>
',
					viewMsFolderPath: '<?php 
            echo CUtil::JSEscape($Params['viewMsFolderPath']);
            ?>
',
					arLastPathes: <?php 
            echo CUtil::PhpToJSObject(CFilemanUtils::GetLastPathes());
            ?>
,
					arSites: <?php 
            echo CUtil::PhpToJSObject($arSites);
            ?>
,
					//archive types
					arTypes: <?php 
            echo CUtil::PhpToJSObject($arArcTypes);
            ?>
				});
			}

			window.oBXFMPack.OnOpen({
				path: BX('quick_path').value,
				arFiles: arFiles,
				bPack: !!bPack,
				bSearch: <?php 
            echo $_GET['search'] == "Y" ? 'true' : 'false';
            ?>
,
				ssess: "<?php 
            echo CFilemanSearch::SecureSearchSess($_GET['ssess']);
            ?>
"
			});
		};
		<?php 
        }
        ?>

		// Init hot keys
		BX.bind(BX.browser.IsIE() ? document.body : window, "keydown", function(e)
		{
			if (!e)
				e = window.event;

			<?php 
        if ($Params['initSearch']) {
            ?>
			if (e.ctrlKey && !e.shiftKey && !e.altKey && e.keyCode == 70)
			{
				var js = BX('btn_fileman_search').getAttribute('href');
				BX.evalGlobal(js.substr('javascript: '.length));
				return BX.PreventDefault(e);
			}
			<?php 
        }
        ?>
		});
		</script>
		<?php 
    }