- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/extlinks.php
- Класс: CWebDavExtLinks
- Вызов: CWebDavExtLinks::PrintDialogDiv
static function PrintDialogDiv($ob)
{
$url = $ob->_path;
$urlFull = $ob->base_url_full . "/";
$fileOptT = CWebDavExtLinks::GetFileOptions($ob);
$GLOBALS["APPLICATION"]->RestartBuffer();
$resUrl = self::GetList(array("URL" => $url, "BASE_URL" => $ob->base_url, "ONLY_CURRENT_USER" => true,));
$linksNum = 0;
$arLinks = array();
$description = "";
if(array_key_exists("DESCRIPTION", $fileOptT) && $fileOptT["DESCRIPTION"] <> '')
{
$description = HTMLToTxt($fileOptT["DESCRIPTION"]);
}
$arUsers = array();
$currUserID = self::GetUserID();
while($arU = $resUrl->Fetch())
{
/*
'URL' => '/1.doc',
'RESOURCE_TYPE' => 'IBLOCK',
'FOLDER' => NULL,
'IBLOCK_TYPE' => 'library',
'IBLOCK_ID' => '19',
'BASE_URL' => '/docs/shared',
'HASH' => 'f9b22cf913a644c0d23b0c88e3c0407e',
'CREATION_DATE' => '1353762751',
'USER_ID' => '1',
'PASSWORD' => 'e10adc3949ba59abbe56e057f20f883e',
'LIFETIME' => '1669122751',
*/
$priority = 0;
$arCurrStr = array( "HASH" => $arU["HASH"]);
if(($arU["LIFETIME"] - time()) < 31536000) //365*24*60*60
{
$arCurrStr["TIME_LEFT"] = GetTime($arU["LIFETIME"] + CTimeZone::GetOffset(), "FULL");
$priority++;
}
if($arU["PASSWORD"] != null)
{
$arCurrStr["PASSWORD"] = true;
$priority += 2;
}
$arUsers[] = $arCurrStr["USER_ID"] = intval($arU["USER_ID"]);
if($arCurrStr["USER_ID"] == $currUserID)
{
$priority -= 100;
}
$arCurrStr["PRIORITY"] = $priority;
$arLinks[] = $arCurrStr;
$linksNum++;
}
$arProfilesLinks = array();
if(self::IsAdmin())
{
$arProfilesLinks = self::GetUserProfilesLinks($arUsers);
}
usort($arLinks, array(CWebDavExtLinks::class, '__SortMethod'));
$fileName = htmlspecialcharsbx(GetFileName(CHTTP::urndecode($url)));
$size = "";
$sizeI = intval($fileOptT["F_SIZE"]);
if($sizeI > 0)
{
$size .= " (" . htmlspecialcharsbx(CFile::FormatSize($sizeI)) . ")";
}
$changeTime = "";
if($fileOptT["CHANGE_TIME"] <> '')
{
$changeTime = " " . GetMessage("WD_EXT_LINKS_DIALOG_CHANGE_TIME") . " " . $fileOptT["CHANGE_TIME"];
}
$demoLink = self::GetFullURL(self::GetUrl() . "/" . self::DEMO_HASH . '/' . self::GetDemoFileName());
?>
echo $fileName; ?> echo $size . $changeTime; ?>
if(self::IsFirstView())
{
?>
echo GetMessage("WD_EXT_LINKS_DIALOG_GREEN_WINDOW_TITLE");?>
echo GetMessage("WD_EXT_LINKS_DIALOG_GREEN_WINDOW_TEXT");?>
echo GetMessage("WD_EXT_LINKS_DIALOG_GREEN_WINDOW_LINK");?>
}
if($linksNum > 0)
{
?>
echo ( str_replace("#n#", '(' . $linksNum . ')', GetMessage("WD_EXT_LINKS_DIALOG_SPOILER_TITLE")) ); ?>
$n = 0;
foreach($arLinks as $v)
{
$n++;
$fileNameT = str_replace(" ", "_", $fileName);
$urlT = self::GetFullExternalURL() . $v["HASH"] . "/" . $fileNameT;
$optionsStr = '';
if(array_key_exists("TIME_LEFT", $v))
{
$optionsStr .= " " . GetMessage("WD_EXT_LINKS_DIALOG_TIME_LEFT") . $v["TIME_LEFT"] . ".";
}
if(array_key_exists("PASSWORD", $v))
{
$optionsStr .= " " . GetMessage("WD_EXT_LINKS_DIALOG_PASSWORD");
}
if(isset($arProfilesLinks[$v["USER_ID"]]))
{
$optionsStr .= " " .GetMessage("WD_EXT_LINKS_DIALOG_USER_NAME") . ": " . $arProfilesLinks[$v["USER_ID"]];
}
if($optionsStr <> '')
{
$optionsStr = '';
}
echo '
' . htmlspecialcharsbx($urlT) . '
' . $optionsStr . '
';
}
?>
echo GetMessage("WD_EXT_LINKS_DIALOG_DELETE_ALL_LINKS"); ?>
}
?>
–
echo GetMessage("WD_EXT_LINKS_DIALOG_FILE_ACCESS_PASS1"); ?>:
echo GetMessage("WD_EXT_LINKS_DIALOG_FILE_ACCESS_PASS2"); ?>:
echo GetMessage("WD_EXT_LINKS_DIALOG_PASS_WRONG"); ?>
echo GetMessage("WD_EXT_LINKS_DIALOG_PASS_EMPTY"); ?>
echo GetMessage("WD_EXT_LINKS_DIALOG_ADD_COMENT"); ?>
echo GetMessage("WD_EXT_LINKS_DIALOG_DELETE_COMENT"); ?>
die();
}