function GetRequestTupe($arParams) { $pageQ = $_SERVER['REQUEST_URI']; if ($arParsedUrl = parse_url(CWebDavBase::get_request_url())) { $pageQ = $arParsedUrl['path']; } $pageQ = str_replace($arParams["SEF_FOLDER"], "", $pageQ); $arU0 = explode("/", $pageQ); $arU = array(); foreach ($arU0 as $v) { if (strlen($v) > 0) { $arU[] = $v; } } return $arU; }
function base_COPY() { $options = array('path' => $this->_path, 'depth' => isset($_SERVER['HTTP_DEPTH']) ? $_SERVER['HTTP_DEPTH'] : 'infinity', 'overwrite' => isset($_SERVER['HTTP_OVERWRITE']) ? $_SERVER['HTTP_OVERWRITE'] == 'T' : true); $pu = parse_url(CWebDavBase::get_request_url($_SERVER['HTTP_DESTINATION'])); if (intVal($pu['port']) == 80 && strpos($_SERVER["HTTP_HOST"], ":80") === false) { $_SERVER['HTTP_DESTINATION'] = str_replace($pu['host'] . ":" . $pu['port'], $pu['host'], $_SERVER['HTTP_DESTINATION']); $pu = parse_url(CWebDavBase::get_request_url($_SERVER['HTTP_DESTINATION'])); } $pu['host_name'] = $pu['host'] . (!empty($pu['port']) ? ":" . $pu['port'] : ""); if (strToLower($pu['host_name']) == strToLower($_SERVER["HTTP_HOST"]) || strToLower($pu['host_name']) == strToLower($_SERVER['SERVER_NAME'])) { $options['dest_url'] = $this->GetCurrentPath($pu['path']); $stat = $this->COPY($options); } else { $stat = $this->ThrowError("412 precondition failed", "WEBDAV_COPY_PRECONDITION", '', __FILE__ . ' ' . __LINE__); } $this->SetStatus($stat); self::set_header('Content-length: 0'); if (substr($stat, 0, 1) == '2') { self::set_header('Location: ' . $this->base_url_full . $pu['path']); } }
function MakeDavRedirect($ob, $currentPageUrl, $baseURL, $path, $is_root = false) { global $APPLICATION, $USER; if ($ob->IsDavHeaders('check_all') || $_SERVER['REQUEST_METHOD'] == 'DELETE') { if (!$USER->IsAuthorized()) { $APPLICATION->RestartBuffer(); CWebDavBase::SetAuthHeader(); header('Content-length: 0'); die; } if (!$ob->CheckWebRights()) { $ob->SetStatus('403 Forbidden'); ShowError(GetMessage("WD_DAV_INSUFFICIENT_RIGHTS")); die; } elseif (!$ob->IsMethodAllow($_SERVER['REQUEST_METHOD'])) { CHTTP::SetStatus('405 Method not allowed'); header('Allow: ' . join(',', array_keys($ob->allow))); ShowError(GetMessage("WD_DAV_UNSUPORTED_METHOD")); die; } else { $APPLICATION->RestartBuffer(); if (isset($_SERVER['HTTP_DESTINATION'])) { $pu = parse_url(CWebDavBase::get_request_url($_SERVER['HTTP_DESTINATION'])); $ob->SetBaseURL($baseURL); $pu['path'] = urldecode($pu['path']); if (strpos($pu['path'], $baseURL) === false) { CHTTP::SetStatus('405 Method not allowed'); header('Allow: ' . join(',', array_keys($ob->allow))); ShowError(GetMessage("WD_DAV_UNSUPORTED_METHOD")); die; } } else { $ob->SetBaseURL($baseURL); } $ob->SetPath($path); $fn = 'base_' . $_SERVER['REQUEST_METHOD']; call_user_func(array(&$ob, $fn)); die; } } else { $ob->SetBaseURL($baseURL); $ob->SetPath(rtrim($path, '/')); if ($is_root) { return; } $ob->IsDir(); if ($ob->arParams['is_file']) { $APPLICATION->RestartBuffer(); $ob->base_GET(); die; } else { LocalRedirect($currentPageUrl); } } }
} ?> <script> BX.ready(function() { if (BX('WDMappingButton')) { BX('WDMappingButton').style.display = 'none'; if (/*@cc_on ! @*/ false) { //try { //if (new ActiveXObject("SharePoint.OpenDocuments.2")) //{ BX('WDMappingButton').style.display = 'block'; BX.bind(BX('WDMappingButton'), 'click', function() { WDMappingDrive("<?php echo CUtil::JSEscape(str_replace(":443", "", CWebDavBase::get_request_url($arParams["BASE_URL"]))); ?> "); BX.WindowManager.Get().Close(); }); //} //} catch(e) { } } } }); var WDToggleCollapseable = function(link, div) { if (div.style.display != 'block') { div.style.display = 'block';