$url = CComponentEngine::MakePathFromTemplate($arParams["~ELEMENT_EDIT_URL"], array("ELEMENT_ID" => $arParams["ELEMENT_ID"], "ACTION" => "EDIT")); if ($arResult["ELEMENT"]["WF_PARENT_ELEMENT_ID"] > 0 && $ob->workflow == "bizproc") { $db_res = CIBlockElement::GetList(array(), array("ID" => $arResult["ELEMENT"]["ID"], "SHOW_NEW" => "Y")); if (!($db_res && ($res = $db_res->Fetch()))) { $url = false; } } } if (!$url && $ob->workflow == "bizproc" && $arResult["ELEMENT"]["WF_PARENT_ELEMENT_ID"] > 0 || $arParams["ACTION"] == "CLONE") { //$url = CComponentEngine::MakePathFromTemplate($arParams["~ELEMENT_VERSIONS_URL"], //array("ELEMENT_ID" => ($arResult["ELEMENT"]["WF_PARENT_ELEMENT_ID"] > 0 ? $arResult["ELEMENT"]["WF_PARENT_ELEMENT_ID"] : $arResult["ELEMENT"]["ID"]))); $url = CComponentEngine::MakePathFromTemplate($arParams["~ELEMENT_URL"], array("ELEMENT_ID" => $arResult["ELEMENT"]["WF_PARENT_ELEMENT_ID"] > 0 ? $arResult["ELEMENT"]["WF_PARENT_ELEMENT_ID"] : $arResult["ELEMENT"]["ID"])); $url = WDAddPageParams($url, array('webdavForm' . $arParams["IBLOCK_ID"] . '_active_tab' => 'tab_version')); } if (!$url) { $arResult["NAV_CHAIN_PATH"] = $ob->GetNavChain(array("section_id" => $arResult["ELEMENT"]["IBLOCK_SECTION_ID"]), true); $url = CComponentEngine::MakePathFromTemplate($arParams["~SECTIONS_URL"], array("PATH" => implode("/", $arResult["NAV_CHAIN_PATH"]), "SECTION_ID" => $arResult["ELEMENT"]["IBLOCK_SECTION_ID"], "ELEMENT_ID" => "files", "ELEMENT_NAME" => "files")); } } if ($_REQUEST["AJAX_CALL"] == "Y" || !empty($_REQUEST["bxajaxid"])) { $APPLICATION->RestartBuffer(); echo CUtil::PhpToJSObject(array("result" => strToLower($arParams["ACTION"] . "ed"), "url" => $url)); die; } if (in_array($arParams["ACTION"], array("LOCK", "UNLOCK"))) { $url = WDAddPageParams($url, array('result' => 'doc' . $arParams["ELEMENT_ID"])); } if ($arParams["ACTION"] == "DELETE") { $url = WDAddPageParams($url, array("result" => "deleted")); } LocalRedirect($url);
if ($res["MODIFIED_BY"] > 0) { if (!array_key_exists($res["MODIFIED_BY"], $arUsersCache)) { $rsUser = CUser::GetByID($res["MODIFIED_BY"]); $arUsersCache[$res["MODIFIED_BY"]] = $rsUser->GetNext(); } $arUsersCache[$res["MODIFIED_BY"]]["URL"] = CComponentEngine::MakePathFromTemplate($arParams["USER_VIEW_URL"], array("USER_ID" => $res['MODIFIED_BY'])); } $res['URL']['DOWNLOAD'] = CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_HISTORY_GET_URL"], array("ELEMENT_ID" => $res['ID'], "ELEMENT_NAME" => $res['NAME'])); $res['URL']['~DOWNLOAD'] = CComponentEngine::MakePathFromTemplate($arParams["~ELEMENT_HISTORY_GET_URL"], array("ELEMENT_ID" => $res['ID'], "ELEMENT_NAME" => $res['NAME'])); $res['URL']['RESTORE'] = CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_HISTORY_URL"], array("ELEMENT_ID" => $arParams["ELEMENT_ID"])); $res['URL']['~RESTORE'] = CComponentEngine::MakePathFromTemplate($arParams["~ELEMENT_HISTORY_URL"], array("ELEMENT_ID" => $arParams["ELEMENT_ID"])); $back_url = urlencode($APPLICATION->GetCurPageParam()); $res["URL"]["RESTORE"] = WDAddPageParams($res["URL"]["RESTORE"], array("history_id" => $res["ID"], "action" => "restore", "edit" => "y", "sessid" => bitrix_sessid(), 'back_url' => $back_url)); $res["URL"]["~RESTORE"] = WDAddPageParams($res["URL"]["~RESTORE"], array("history_id" => $res["ID"], "action" => "restore", "edit" => "y", "sessid" => bitrix_sessid(), 'back_url' => $back_url)); $res["URL"]["DELETE"] = WDAddPageParams($res["URL"]["RESTORE"], array("history_id" => $res["ID"], "action" => "delete", "edit" => "y", "sessid" => bitrix_sessid(), 'back_url' => $back_url)); $res["URL"]["~DELETE"] = WDAddPageParams($res["URL"]["~RESTORE"], array("history_id" => $res["ID"], "action" => "delete", "edit" => "y", "sessid" => bitrix_sessid(), 'back_url' => $back_url)); $res['URL']['~VIEW'] = CComponentEngine::MakePathFromTemplate($arParams["~ELEMENT_URL"], array("ELEMENT_ID" => $res["ID"], "ELEMENT_NAME" => $res["NAME"])); $res['URL']['VIEW'] = CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_URL"], array("ELEMENT_ID" => $res["ID"], "ELEMENT_NAME" => $res["NAME"])); $arResult['VERSIONS'][$res["ID"]] = $res; $arActions = array(array("ICONCLASS" => "element_view", "TITLE" => GetMessage("WD_VIEW_ELEMENT"), "TEXT" => GetMessage("WD_VIEW"), "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~VIEW"]) . "');"), array("ICONCLASS" => "element_download", "TITLE" => GetMessage("WD_DOWNLOAD_ELEMENT"), "TEXT" => GetMessage("WD_DOWNLOAD"), "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~DOWNLOAD"]) . "');")); if ($res["SHOW"]["RESTORE"] == "Y") { $arActions[] = array("ICONCLASS" => "restore_element", "TITLE" => GetMessage("WD_RESTORE_ELEMENT"), "TEXT" => GetMessage("WD_RESTORE"), "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~RESTORE"]) . "');"); } if ($res["SHOW"]["DELETE"] == "Y") { $arActions[] = array("ICONCLASS" => "element_delete", "TITLE" => GetMessage("WD_DELETE_ELEMENT"), "TEXT" => GetMessage("WD_DELETE"), "ONCLICK" => "if(confirm('" . CUtil::JSEscape(GetMessage("WD_DELETE_CONFIRM")) . "')){jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~DELETE"]) . "')};"); } $maxLength = 20; $aCols = array("NAME" => '<a target="_blank" href="' . $res['URL']['DOWNLOAD'] . '">' . $res['NAME'] . '</a>', "WF_STATUS_ID" => '[' . $res["WF_STATUS_ID"] . '] ' . $res["WF_STATUS_TITLE"], "WF_COMMENTS" => strLen($res["~WF_COMMENTS"]) <= $maxLength ? $res["WF_COMMENTS"] : htmlspecialcharsEx(substr($res["~WF_COMMENTS"], 0, $maxLength - 3)) . "..." . ShowJSHint($res["WF_COMMENTS"], array('return' => true)), "MODIFIED_BY" => empty($arUsersCache[$res["MODIFIED_BY"]]) ? $res["USER_NAME"] : '[<a href="' . $arUsersCache[$res["MODIFIED_BY"]]["URL"] . '">' . $res["MODIFIED_BY"] . '</a>] (' . $arUsersCache[$res["MODIFIED_BY"]]["LOGIN"] . ") " . CUser::FormatName($nameTemplate, $arUsersCache[$res["MODIFIED_BY"]], true, false)); $res['TIMESTAMP_X'] = FormatDateFromDB($res['TIMESTAMP_X']); $arResult["VERSIONS_GRID"][$res["ID"]] = array("id" => $res["ID"], "data" => $res, "actions" => $arActions, "columns" => $aCols, "editable" => true); } while ($res = $db_res->GetNext());
if ($ob->CheckRight($arParams["PERMISSION"], "section_section_bind") >= "W" && $arParams["CHECK_CREATOR"] != "Y") { $arButtons[] = array("TEXT" => GetMessage("WD_SECTION_ADD"), "TITLE" => GetMessage("WD_SECTION_ADD_ALT"), "LINK" => "javascript:" . $APPLICATION->GetPopupLink(array("URL" => WDAddPageParams(WDAddPageParams($arResult["URL"]["SECTION"]["~POPUP_ADD"], array('bxpublic' => 'Y')), array("use_light_view" => "Y"), false), "PARAMS" => array("width" => 450, "height" => $arParams["OBJECT"]->Type == "folder" ? 160 : 60, "content_url" => $arResult["URL"]["SECTION"]["~POPUP_ADD"]))), "ICON" => "btn-new section-add"); } if ($ob->CheckRight($arParams["PERMISSION"], "section_edit") >= "W") { $arButtons[] = array("TEXT" => GetMessage("WD_TRASH"), "TITLE" => GetMessage("WD_TRASH"), "LINK" => $arParams["OBJECT"]->base_url . '/' . $arParams["OBJECT"]->meta_names["TRASH"]["alias"], "ICON" => "btn-new " . ($arParams["OBJECT"]->IsTrashEmpty() ? "trash-go" : "trash-go-full")); } } else { if ($ob->CheckRight($arParams["PERMISSION"], "iblock_edit") >= "X") { $url = WDAddPageParams(str_replace("use_light_view=Y", "", $arResult["URL"]["SECTION"]["EMPTY_TRASH"]), array("sessid" => bitrix_sessid(), "edit_section" => "Y", 'get_count_elements' => 'Y')); $arButtons[] = array("TEXT" => GetMessage("WD_CLEAN_TRASH"), "TITLE" => GetMessage("WD_CLEAN_TRASH"), "LINK" => "javascript:WDConfirmTrash('" . CUtil::JSEscape(GetMessage("WD_CLEAN_TRASH")) . "', '" . CUtil::JSEscape(GetMessage("WD_CONFIRM_CLEAN_TRASH")) . "', function() {WDDropTrashFlow('" . $url . "');} );", "ICON" => "btn-new trash-clean"); } } } if ($arParams["SHOW_WEBDAV"] == "Y" && !$bInTrash) { if (!$cannotReadSection) { $arBtnMount = array("TEXT" => GetMessage("WD_MAPING"), "TITLE" => GetMessage("WD_MAPING_ALT"), "LINK" => "javascript:" . $APPLICATION->GetPopupLink(array("URL" => WDAddPageParams($arResult["URL"]["CONNECTOR"], array("use_light_view" => "Y"), false))), "ICON" => "btn-list mapping"); $arFixedSubButtons[] = $arBtnMount; } if (!empty($arResult['GROUP_DISK'])) { if (!empty($arResult['GROUP_DISK']['CONNECTED'])) { $arButtons[] = array("TEXT" => GetMessage("WD_MENU_GROUP_DISK_DISCONNECTED"), "TITLE" => GetMessage("WD_MENU_GROUP_DISK_DISCONNECTED"), 'LINK_PARAM' => 'id="wd-connect-group-disk"', "LINK" => $arResult['GROUP_DISK']['CONNECT_URL'], "ICON" => "btn-list disk-group"); } else { $arButtons[] = array("TEXT" => GetMessage("WD_MENU_GROUP_DISK_CONNECTED"), "TITLE" => GetMessage("WD_MENU_GROUP_DISK_CONNECTED"), 'LINK_PARAM' => 'id="wd-disconnect-group-disk"', "LINK" => $arResult['GROUP_DISK']['DETAIL_URL'], "ICON" => "btn-list disk-group-on"); } } } $arBtnHelp = array("TEXT" => GetMessage("WD_HELP"), "TITLE" => GetMessage("WD_HELP_ALT"), "LINK" => $arResult["URL"]["HELP"], "ICON" => "btn-list help"); if ($bBitrix24Tpl) { $arSubButtons[] = $arBtnHelp; } else { $arButtons[] = $arBtnHelp;
jsPopup_editor = new JCPopup({'suffix':'editor', 'zIndex':parseInt(<?php echo $obJSPopup->jsPopup; ?> .zIndex)+20}); window.structFolderSelect = function(id) { BX("wd_copy_iblock_section_id").value=id; structSubmit(); } window.structFolderCreate = function(elid, id) { var dlg = new BX.CAdminDialog({ 'content_url' : "<?php echo WDAddPageParams(CComponentEngine::MakePathFromTemplate($arParams["SECTION_EDIT_URL"], array("ACTION" => "ADD")), array("use_light_view" => "Y", "AJAX_CALL" => "Y"), false); ?> ".replace('#SECTION_ID#', id), 'width' : 450, 'height' : 40 }); dlg.reloadTree = function() { var md5 = elid.substr(elid.indexOf('_')); var plusID = 'sign'+md5; var dirID = 'dir'+md5; var dir = BX(dirID); var plus = BX(plusID); if (dir) { if (dir.innerHTML.length > 0) dir.innerHTML = ''; dir.style.display = 'none';
$arSavedData = unserialize($arSavedData); } else { $arSavedData = array(); } $arSavedData["fatal_errors"] = is_array($arSavedData["fatal_errors"]) ? $arSavedData["fatal_errors"] : array(); $arSavedData["files"] = is_array($arSavedData["files"]) ? $arSavedData["files"] : array(); } /************** Saved data/*****************************************/ $uploader = $arSavedData = array("fatal_errors" => array_merge($arSavedData["fatal_errors"], $arError), "files" => array_merge($arSavedData["files"], array($arFile["name"] => $result)), "section_id" => $ob->_path); if (isset($_REQUEST["update_document"])) { $uploader["url"] = $arResult["ELEMENT"]["URL"]["EDIT"]; } else { $uploader["url"] = $ob->base_url_full . '/' . $ob->_path; } if (empty($arSavedData["fatal_errors"]) && !empty($arSavedData["files"])) { $uploader["url"] = WDAddPageParams($uploader["url"], array("result" => "uploaded")); } $arResult["RETURN_DATA"] = $uploader; if ((!isset($_REQUEST["FORMAT_ANSWER"]) || $_REQUEST["FORMAT_ANSWER"] != "return") && $_REQUEST["AJAX_CALL"] == "Y") { $arSavedData["time"] = time(); if ($handle = fopen($sTmpPath, "wb+")) { $written = fwrite($handle, serialize($arSavedData)); fclose($handle); } $APPLICATION->RestartBuffer(); if (isset($_REQUEST["CONVERT"]) && $_REQUEST["CONVERT"] == "Y") { array_walk($uploader, '__Escape'); } echo CUtil::PhpToJSObject($uploader); die; }
if (empty($aMsg)) { $redirectTo = $ob->_get_path($ob->GetMetaID("TRASH")); $redirectHilight = 'all_restored'; } } WDClearComponentCache(array("webdav.element.edit", "webdav.element.hist", "webdav.element.upload", "webdav.element.view", "webdav.menu", "webdav.section.edit", "webdav.section.list")); if (!empty($aMsg)) { $e = new CAdminException($aMsg); $GLOBALS["APPLICATION"]->ThrowException($e); return false; } else { $arParams["CONVERT"] = strPos($arParams["~SECTIONS_URL"], "?") === false ? true : false; if (!$arParams["CONVERT"]) { $arParams["CONVERT"] = strPos($arParams["~SECTIONS_URL"], "?") > strPos($arParams["~SECTIONS_URL"], "#PATH#"); } if (empty($redirectTo)) { $url = CComponentEngine::MakePathFromTemplate($arParams["~SECTIONS_URL"], array("PATH" => implode("/", $arParams["CONVERT"] ? $arResult["NAV_CHAIN_UTF8"] : $arResult["NAV_CHAIN"]))); } else { $url = WDAddPageParams(str_replace(array("//", "%23"), array("/", "#"), CComponentEngine::MakePathFromTemplate($arParams["~SECTIONS_URL"], array("PATH" => $redirectTo))), array('result' => $redirectHilight)); } if (isset($_REQUEST["AJAX"])) { if (!(isset($_REQUEST['redirect']) && $_REQUEST['redirect'] == 'N')) { $APPLICATION->RestartBuffer(); echo "<script>window.location = \"" . CUtil::JSEscape($url) . "\";</script>"; die; } } else { LocalRedirect($url); } } return true;
if (!($db_res && ($arResult["ELEMENT"] = $db_res->GetNext()))) { if ($arParams["SET_STATUS_404"] == "Y") { CHTTP::SetStatus("404 Not Found"); } ob_end_clean(); return 0; } elseif ($arParams["OBJECT"]->permission < "W") { ob_end_clean(); return 0; } elseif ($arParams["CHECK_CREATOR"] == "Y" && $arResult["ELEMENT"]["CREATED_BY"] != $GLOBALS['USER']->GetId()) { ShowError(GetMessage("WD_ACCESS_DENIED")); ob_end_clean(); return 0; } $sBPListUrl = CComponentEngine::MakePathFromTemplate($arResult["PATH_TO_USER_FILES_ELEMENT"], array("user_id" => $arResult["USER"]["ID"], "element_id" => $arResult["ELEMENT"]["ID"])); $sBPListUrl = WDAddPageParams($sBPListUrl, array($arParams["FORM_ID"] . "_active_tab" => "tab_bizproc_view")); ?> <ul class="bizproc-list bizproc-document-states"> <li class="bizproc-list-item bizproc-document-start bizproc-list-item-first"> <table class="bizproc-table-main"> <tr> <td class="bizproc-field-name"><?php echo GetMessage("WD_BP_LOG"); ?> </td> <td class="bizproc-field-value"><a href="<?php echo $sBPListUrl; ?> "><?php echo GetMessage("WD_BP_SHOWLIST"); ?>
} $aCols["LOCK_STATUS"] = '<div class="element-lamp-' . $res["LOCK_STATUS"] . '" title="' . ($res["LOCK_STATUS"] == "green" ? GetMessage("IBLOCK_GREEN_ALT") : ($res["LOCK_STATUS"] == "yellow" ? GetMessage("IBLOCK_YELLOW_ALT") : GetMessage("IBLOCK_RED_ALT"))) . '"></div>' . ($res['LOCK_STATUS'] == 'red' && $res['LOCKED_USER_NAME'] != '' ? $aCols['LOCKED_USER_NAME'] : ''); $arChildren = array(); if (!$bDialog && $arParams["WORKFLOW"] == "bizproc" && !empty($res["CHILDREN"])) { foreach ($res["CHILDREN"] as $k => $rs) { $arBProcesses = $arFlags = array(); if (is_array($rs["arDocumentStates"]) && !empty($rs["arDocumentStates"])) { foreach ($rs["arDocumentStates"] as $key => $arDocumentState) { if (!(strlen($arDocumentState["ID"]) > 0 && strlen($arDocumentState["WORKFLOW_STATUS"]) > 0)) { continue; } $arTasksWorkflow = CBPDocument::GetUserTasksForWorkflow($currentUserID, $arDocumentState["ID"]); $bTasks = !empty($arTasksWorkflow); $arFlags["tasks"] = $arFlags["tasks"] == true ? true : $bTasks; $arFlags["inprogress"]++; $arBProcesses[] = '<div class="bizproc-item-title">' . '<div class="bizproc-statuses bizproc-status-' . ($bTasks ? "attention" : "inprogress") . '"></div>' . (!empty($arDocumentState["TEMPLATE_NAME"]) ? $arDocumentState["TEMPLATE_NAME"] : GetMessage("IBLIST_BP")) . ': ' . '<span class="bizproc-item-title bizproc-state-title" style="margin-left:1em;">' . '<a href="' . WDAddPageParams(CComponentEngine::MakePathFromTemplate($arParams["~ELEMENT_URL"], array("ELEMENT_ID" => $rs["ID"], "ACTION" => "EDIT")), array("webdavForm" . $arParams["IBLOCK_ID"] . "_active_tab" => "tab_bizproc_view")) . '">' . ($arDocumentState["STATE_TITLE"] ? $arDocumentState["STATE_TITLE"] : $arDocumentState["STATE_NAME"]) . '</a>' . '</span>' . '</div>'; } } foreach (array("MODIFIED_BY") as $user_key) { $rs[$user_key] = is_array($rs[$user_key]) ? $rs[$user_key] : __parse_user($rs[$user_key], $arParams["USER_VIEW_URL"]); $rs[$user_key] = $rs[$user_key]["LINK"]; } $tmp = '<div class="bizproc-item-title">' . '<div class="bizproc-statuses"></div>' . '<span class="bizproc-item-title bizproc-state-title">' . '<a href="' . CComponentEngine::MakePathFromTemplate($arParams["~ELEMENT_URL"], array("ELEMENT_ID" => $rs["ID"], "ACTION" => "EDIT")) . '">' . str_replace("'", "'", htmlspecialcharsbx($rs["NAME"])) . '</a> (' . $rs["MODIFIED_BY"] . ')' . '</span>' . '</div>'; if (!empty($arBProcesses)) { $tmp = '<div class="bizproc-item-title">' . '<div class="bizproc-statuses bizproc-status-' . ($arFlags["tasks"] ? "attention" : "inprogress") . '"></div>' . '<span class="bizproc-item-title bizproc-state-title">' . '<a href="' . CComponentEngine::MakePathFromTemplate($arParams["~ELEMENT_URL"], array("ELEMENT_ID" => $rs["ID"], "ACTION" => "EDIT")) . '">' . str_replace("'", "'", htmlspecialcharsbx($rs["NAME"])) . '</a> (' . $rs["MODIFIED_BY"] . ')' . '</span>' . '<img src="/bitrix/images/1.gif" onload="WDTooltip' . $rs['ID'] . '(this)" />' . '</div>'; echo '<script> function WDTooltip' . $rs['ID'] . '(elm) { BX.hint_replace(elm, "' . CUtil::JSEscape('<ol class="bizproc-items"><li>' . implode("</li><li>", $arBProcesses) . '</li></ol>') . '"); } </script> ';
function handleFile($hash, &$file, &$package, &$upload, &$error) { $ob = $this->ob; $arResult = $this->arResult; $arParams = $this->arParams; $name = $file["name"]; $arFile = $file["files"]["default"]; $arElement = array(); if (($arFileError = $this->saveFile($name, $arFile, $arElement)) && $arFileError !== true) { $error = new CAdminException($arFileError); $error = $error->GetString(); return false; } $file["element_id"] = $arElement["ID"]; $file["url_get"] = WDAddPageParams($this->getUrl(), array('result' => 'doc' . $arElement["ID"])); $file["url_show"] = str_replace("#ELEMENT_ID#", $arElement["ID"], $arResult["URL"]["EDIT"]); return true; }
if ($db_res && ($obElement = $db_res->GetNextElement())) { $arResult["ELEMENT"]["ORIGINAL"] = $obElement->GetFields() + array("PROPERTIES" => $obElement->GetProperties()); } $ob->_get_file_info_arr($arResult["ELEMENT"]["ORIGINAL"]); __prepare_item_info($arResult["ELEMENT"]["ORIGINAL"], $arParams); } /************** Sections info **************************************/ $arResult["ROOT_SECTION"] = $ob->arRootSection; $arParams["SECTION_ID"] = $arResult["ELEMENT"]["IBLOCK_SECTION_ID"] == $arParams["ROOT_SECTION_ID"] ? 0 : $arResult["ELEMENT"]["IBLOCK_SECTION_ID"]; /************** Another info ***************************************/ $arResult["USERS"] = array($arResult["ELEMENT"]["~MODIFIED_BY"] => $arResult["ELEMENT"]["MODIFIED_BY"], $arResult["ELEMENT"]["~CREATED_BY"] => $arResult["ELEMENT"]["CREATED_BY"], $arResult["ELEMENT"]["~WF_LOCKED_BY"] => $arResult["ELEMENT"]["WF_LOCKED_BY"]); $arResult["ELEMENT"]["MODIFIED_BY"] = $arResult["ELEMENT"]["~MODIFIED_BY"]; $arResult["ELEMENT"]["CREATED_BY"] = $arResult["ELEMENT"]["~CREATED_BY"]; $arResult["ELEMENT"]["WF_LOCKED_BY"] = $arResult["ELEMENT"]["~WF_LOCKED_BY"]; /************** Paths **********************************************/ $arResult["URL"] = $arResult["ELEMENT"]["URL"] + array("OPEN" => $arResult["ELEMENT"]["URL"]["THIS"], "DOWNLOAD_ORIGINAL" => CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_HISTORY_GET_URL"], array("ELEMENT_ID" => $arResult["ELEMENT"]["ORIGINAL"]["ID"], "ID" => $arResult["ELEMENT"]["ORIGINAL"]["ID"], "ELEMENT_NAME" => $arResult["ELEMENT"]["ORIGINAL"]["NAME"])), "VIEW_ORIGINAL" => WDAddPageParams(CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_URL"], array("ELEMENT_ID" => $arResult["ELEMENT"]["ORIGINAL"]["ID"], "ELEMENT_NAME" => $arResult["ELEMENT"]["ORIGINAL"]["NAME"])), array("action" => "view_original")), "DOWNLOAD_LAST" => CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_HISTORY_GET_URL"], array("ELEMENT_ID" => $arResult["ELEMENT"]["LAST_ID"], "ID" => $arResult["ELEMENT"]["LAST_ID"], "ELEMENT_NAME" => $arResult["ELEMENT"]["NAME"])), "VIEW_LAST" => CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_URL"], array("ELEMENT_ID" => $arResult["ELEMENT"]["LAST_ID"], "ELEMENT_NAME" => $arResult["ELEMENT"]["NAME"])), "EDIT_LAST" => CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_EDIT_URL"], array("ELEMENT_ID" => $arResult["ELEMENT"]["LAST_ID"], "ELEMENT_NAME" => $arResult["ELEMENT"]["NAME"], "ACTION" => "EDIT")), "DELETE_LAST" => WDAddPageParams(CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_EDIT_URL"], array("ELEMENT_ID" => $arResult["ELEMENT"]["LAST_ID"], "ACTION" => "DELETE")), array("edit" => "y", "sessid" => bitrix_sessid())), "LOCK_LAST" => WDAddPageParams(CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_EDIT_URL"], array("ELEMENT_ID" => $arResult["ELEMENT"]["LAST_ID"], "ACTION" => "LOCK")), array("edit" => "y", "sessid" => bitrix_sessid())), "UNLOCK_LAST" => WDAddPageParams(CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_EDIT_URL"], array("ELEMENT_ID" => $arResult["ELEMENT"]["LAST_ID"], "ACTION" => "UNLOCK")), array("edit" => "y", "sessid" => bitrix_sessid()))); /************** View mode ******************************************/ $arParams["VIEW_MODE"] = "CURRENT"; if ($arParams["WORKFLOW"] == "workflow" && $arParams["PERMISSION"] >= "U") { $arParams["VIEW_MODE"] = $arResult["ELEMENT"]["REAL_ID"] != $arResult["ELEMENT"]["LAST_ID"] ? "HISTORY" : ($_REQUEST["action"] == "view_original" ? "ORIGINAL" : $arParams["VIEW_MODE"]); } /******************************************************************** /Data ********************************************************************/ $this->IncludeComponentTemplate(); /******************************************************************** Standart operations ********************************************************************/ if ($arParams["SET_TITLE"] == "Y") { $title = GetMessage("WD_TITLE") . " " . $arResult["ELEMENT"]["NAME"]; if ($arParams["VIEW_MODE"] == "HISTORY") {
$arResult["SECTION"]["NAME"] = $_REQUEST["NAME"]; } else { $_REQUEST["IBLOCK_SECTION_ID"] = $arResult["SECTION"]["IBLOCK_SECTION_ID"]; $_REQUEST["NAME"] = $arResult["SECTION"]["NAME"]; } $_REQUEST["IBLOCK_SECTION_ID"] = htmlspecialcharsbx($_REQUEST["IBLOCK_SECTION_ID"]); $_REQUEST["NAME"] = htmlspecialcharsbx($_REQUEST["NAME"]); foreach ($arResult["SECTION"] as $key => $val) { if (substr($key, 0, 1) == "~") { continue; } elseif (!is_set($arResult["SECTION"], "~" . $key)) { $arResult["SECTION"]["~" . $key] = $val; } $arResult["SECTION"][$key] = htmlspecialcharsEx($val); } $arResult["URL"] = array("DELETE" => WDAddPageParams(CComponentEngine::MakePathFromTemplate($arParams["~SECTION_EDIT_URL"], array("PATH" => $arResult["SECTION"]["PATH"], "SECTION_ID" => $arParams["SECTION_ID"], "ACTION" => "DROP")), array("edit_section" => "y", "sessid" => bitrix_sessid()), false)); /******************************************************************** Data ********************************************************************/ $this->IncludeComponentTemplate(); /******************************************************************** Standart operations ********************************************************************/ $arNavChain = $arResult["NAV_CHAIN"]; $res = array(); $sTitle = $arParams["ACTION"] == "ADD" ? GetMessage("WD_NEW") : array_pop($arNavChain); if ($arParams["SET_TITLE"] == "Y") { $APPLICATION->SetTitle($sTitle); } if ($arParams["SET_NAV_CHAIN"] == "Y") { foreach ($arNavChain as $name) {
$arResult["URL"]["SECTION"]["~EDIT"] = CComponentEngine::MakePathFromTemplate($arParams["~SECTION_EDIT_URL"], array("PATH" => $path, "SECTION_ID" => $arParams["SECTION_ID"], "ACTION" => "EDIT")); $arResult["URL"]["SECTION"]["DROP"] = CComponentEngine::MakePathFromTemplate($arParams["SECTION_EDIT_URL"], array("PATH" => $path, "SECTION_ID" => $arParams["SECTION_ID"], "ACTION" => "DROP")); $arResult["URL"]["SECTION"]["~DROP"] = CComponentEngine::MakePathFromTemplate($arParams["~SECTION_EDIT_URL"], array("PATH" => $path, "SECTION_ID" => $arParams["SECTION_ID"], "ACTION" => "DROP")); $arResult["URL"]["SECTION"]["EMPTY_TRASH"] = CComponentEngine::MakePathFromTemplate($arParams["SECTION_EDIT_URL"], array("PATH" => $path, "SECTION_ID" => $ob->GetMetaID('TRASH'), "ACTION" => "DROP")); $arResult["URL"]["SECTION"]["~EMPTY_TRASH"] = CComponentEngine::MakePathFromTemplate($arParams["~SECTION_EDIT_URL"], array("PATH" => $path, "SECTION_ID" => $ob->GetMetaID('TRASH'), "ACTION" => "DROP")); $arResult["URL"]["ELEMENT"]["EDIT"] = CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_EDIT_URL"], array("PATH" => $path, "ELEMENT_ID" => $arParams["ELEMENT_ID"], "ACTION" => "EDIT")); $arResult["URL"]["ELEMENT"]["DELETE"] = CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_EDIT_URL"], array("PATH" => $path, "ELEMENT_ID" => $arParams["ELEMENT_ID"], "ACTION" => "DELETE")); $arResult["URL"]["ELEMENT"]["DELETE"] = WDAddPageParams($arResult["URL"]["ELEMENT"]["DELETE"], array("edit" => "Y", "sessid" => bitrix_sessid())); $arResult["URL"]["ELEMENT"]["UPLOAD"] = CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_UPLOAD_URL"], array("PATH" => $path, "SECTION_ID" => $arParams["SECTION_ID"])); $arResult["URL"]["ELEMENT"]["ADD"] = CComponentEngine::MakePathFromTemplate($arParams["SECTIONS_URL"], array("PATH" => $path, "SECTION_ID" => $arParams["SECTION_ID"])); $arResult["URL"]["ELEMENT"]["BP_VIEW"] = CComponentEngine::MakePathFromTemplate($arParams["WEBDAV_BIZPROC_VIEW_URL"], array("ELEMENT_ID" => $arParams["ELEMENT_ID"])); $arResult["URL"]["HELP"] = CComponentEngine::MakePathFromTemplate($arParams["HELP_URL"], array()); $arResult["URL"]["CONNECTOR"] = CComponentEngine::MakePathFromTemplate($arParams["CONNECTOR_URL"], array()); $arResult["URL"]["SUBSCRIBE"] = CComponentEngine::MakePathFromTemplate($arParams["SECTIONS_URL"], array("PATH" => $path, "SECTION_ID" => $arParams["SECTION_ID"])); $arResult["URL"]["UNSUBSCRIBE"] = WDAddPageParams($arResult["URL"]["SUBSCRIBE"], array("subscribe_forum" => "N", "sessid" => bitrix_sessid())); $arResult["URL"]["SUBSCRIBE"] = WDAddPageParams($arResult["URL"]["SUBSCRIBE"], array("subscribe_forum" => "Y", "sessid" => bitrix_sessid())); /*************** For Custom components *****************************/ $arParams["USE_BIZPROC"] = $ob->workflow == "bizproc" ? "Y" : "N"; $arParams["USE_WORKFLOW"] = $ob->workflow == "workflow" ? "Y" : "N"; $arResult["URL"]["CHAIN"] = array(array("URL" => CComponentEngine::MakePathFromTemplate($arParams["SECTIONS_URL"], array("PATH" => "", "SECTION_ID" => 0)), "TITLE" => empty($arParams["STR_TITLE"]) ? GetMessage("WD_TITLE") : $arParams["STR_TITLE"])); $arResult['BP_PARAM_REQUIRED'] = 'N'; if ($ob->Type == 'iblock') { $arResult['BP_PARAM_REQUIRED'] = $ob->BPParameterRequired() ? 'Y' : 'N'; } /******************************************************************** /Data ********************************************************************/ $arResult['GROUP_DISK'] = array(); if ($ob->attributes['group_id'] && $ob->e_rights && $ob->GetPermission('SECTION', $ob->arParams['item_id'], 'section_edit') && CWebDavTools::isIntranetUser($USER->getId())) { $rootSectionDataForGroup = CWebDavIblock::getRootSectionDataForGroup($ob->attributes['group_id']); $arResult['GROUP_DISK']['CONNECTED'] = !\Bitrix\Webdav\FolderInviteTable::getRow(array('filter' => array('=INVITE_USER_ID' => $USER->getId(), '=USER_ID' => $USER->getId(), '=IS_APPROVED' => true, '=IBLOCK_ID' => $rootSectionDataForGroup['IBLOCK_ID'], '=SECTION_ID' => $rootSectionDataForGroup['SECTION_ID'])));
?> , 'closeAfterUpload': <?php echo isset($_REQUEST["close_after_upload"]) && $_REQUEST["close_after_upload"] == "Y" ? "true" : "false"; ?> , 'dropAutoUpload': <?php echo isset($_REQUEST["bp_param_required"]) ? "false" : "true"; ?> , 'checkFileUrl': "<?php echo CUtil::JSEscape(POST_FORM_ACTION_URI); ?> ", 'uploadFileUrl': "<?php echo CUtil::JSEscape(WDAddPageParams(POST_FORM_ACTION_URI, array('use_light_view' => 'Y'))); ?> ", 'targetUrl': "<?php echo CUtil::JSEscape($url); ?> ", 'updateDocument': <?php echo isset($_REQUEST["update_document"]) ? "true" : "false"; ?> , 'sessid':"<?php echo bitrix_sessid(); ?> ", 'sectionID':"<?php
} elseif ($_REQUEST["ACTION"] == "UNDELETE") { @set_time_limit(0); foreach ($arData["S"] as $section_id) { $result = $ob->Undelete(array("path" => str_replace(array("///", "//"), "/", "/" . $section_id))); if (intVal($result) != 204) { $aMsg[] = array("id" => "ELEMENTS[S][" . $section_id . "]", "text" => GetMessage("WD_ERROR_UNDELETE")); } } foreach ($arData["E"] as $element_id) { $result = $ob->Undelete(array("path" => str_replace(array("///", "//"), "/", "/" . $element_id))); if (intVal($result) != 204) { $aMsg[] = array("id" => "ELEMENTS[E][" . $element_id . "]", "text" => GetMessage("WD_ERROR_UNDELETE")); } } } if (!empty($aMsg)) { $e = new CAdminException($aMsg); $GLOBALS["APPLICATION"]->ThrowException($e); return false; } $arParams["CONVERT"] = strPos($arParams["~SECTIONS_URL"], "?") === false ? true : false; if (!$arParams["CONVERT"]) { $arParams["CONVERT"] = strPos($arParams["~SECTIONS_URL"], "?") > strPos($arParams["~SECTIONS_URL"], "#PATH#"); } $url = CComponentEngine::MakePathFromTemplate($arParams["~SECTIONS_URL"], array("PATH" => implode("/", $arResult["NAV_CHAIN"]))); if ($ACTION == "DELETE") { $url = WDAddPageParams($url, array("result" => "deleted")); } elseif ($ACTION == "UNDELETE") { $url = WDAddPageParams($url, array("result" => "all_restored")); } LocalRedirect($url);
bxGrid.oSaveData[row_id][col_id] = tmp_oSaveData[row_id][col_id]; var btnCancel = BX.findChild(BX('bx_grid_'+gridID+'_action_buttons'), {'tag':'input', 'attr':{'type':'button'}}); btnCancel.onclick = function() { bxGrid.ActionCancel(); var checkAll = BX(gridID+'_check_all'); checkAll.checked = false; bxGrid.SelectAllRows(checkAll); bxGrid.EnableActions(); }; } var WDSearchTag = function(tag) { jsUtils.Redirect({},"<?php echo WDAddPageParams($arResult["ELEMENT"]["URL"]["SECTION"], array("%3FTAGS" => "#tags#")); ?> ".replace("#tags#", BX.util.urlencode(tag))); } function WDCopyLinkDialog(url) { var wdc = new BX.CDialog({'title': '<?php echo CUtil::JSEscape(GetMessage('WD_COPY_LINK_TITLE')); ?> ', 'content':"<form><input type=\"text\" readonly=\"readonly\" style=\"width:482px\"><br /><p><?php echo CUtil::JSEscape(GetMessage("WD_COPY_LINK_HELP")); ?> </p></form>", 'width':520, 'height':120}); wdc.SetButtons("<input type=\"button\" onClick=\"BX.WindowManager.Get().Close()\" value=\"<?php
$dbIB = null; if ($arRight['ENTITY_TYPE'] == 'iblock') { $dbIB = CIBlock::GetList(array(), array('ID' => intval($arRight['ENTITY_ID']))); } elseif ($arRight['ENTITY_TYPE'] == 'section') { $dbIB = CIBlockSection::GetList(array(), array('ID' => intval($arRight['ENTITY_ID']))); } if ($dbIB && ($arIB = $dbIB->Fetch())) { $arRight['ENTITY_SOURCE_NAME'] = $arIB['NAME']; } if ($arRight['ENTITY_TYPE'] == 'iblock' || $arRight['ENTITY_TYPE'] == 'section') { $urlParams = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "ENTITY_TYPE" => strtoupper($arRight['ENTITY_TYPE']), "ENTITY_ID" => intval($arRight['ENTITY_ID'])); if (!empty($arParams["SOCNET_TYPE"]) && $arParams['SOCNET_ID'] > 0) { $urlParams['SOCNET_TYPE'] = $arParams["SOCNET_TYPE"]; $urlParams['SOCNET_ID'] = $arParams['SOCNET_ID']; } $url = WDAddPageParams("/bitrix/components/bitrix/webdav.section.list/templates/.default/iblock_e_rights.php", $urlParams); $arRight['ENTITY_SOURCE_URL'] = $url; } } } $arResult['DATA'] = $arCurrent; $arResult['SUBJECTS'] = $arSubjs; } else { $arResult['DATA'] = array(); $arResult['SUBJECTS'] = array(); } /******************************************************************** /Data ********************************************************************/ $this->IncludeComponentTemplate(); }
Standart operations ********************************************************************/ if ($arParams["SET_TITLE"] == "Y") { $APPLICATION->SetTitle($arParams["ACTION"] == "CLONE" ? GetMessage("WD_TITLE_CLONE") : GetMessage("WD_TITLE")); } if ($arParams["SET_NAV_CHAIN"] == "Y") { $res = array("section_id" => !empty($arResult["ELEMENT_ORIGINAL"]) ? $arResult["ELEMENT_ORIGINAL"]["IBLOCK_SECTION_ID"] : $arResult["ELEMENT"]["IBLOCK_SECTION_ID"]); $arResult["NAV_CHAIN"] = $ob->GetNavChain($res, "array"); $arNavChain = array(); foreach ($arResult["NAV_CHAIN"] as $res) { $arNavChain[] = $res["URL"]; $url = CComponentEngine::MakePathFromTemplate($arParams["~SECTIONS_URL"], array("PATH" => implode("/", $arNavChain), "SECTION_ID" => $res["ID"], "ELEMENT_ID" => "files", "ELEMENT_NAME" => "files")); $GLOBALS["APPLICATION"]->AddChainItem(htmlspecialcharsEx($res["NAME"]), $url); } if (!empty($arResult["ELEMENT_ORIGINAL"])) { $GLOBALS["APPLICATION"]->AddChainItem(GetMessage("WD_ORIGINAL") . ": " . htmlspecialcharsEx($arResult["ELEMENT_ORIGINAL"]["~NAME"]), WDAddPageParams(CComponentEngine::MakePathFromTemplate($arParams["~ELEMENT_URL"], array("PATH" => $arResult["ELEMENT_ORIGINAL"]["PATH"], "SECTION_ID" => intVal(${$arResult}["ELEMENT_ORIGINAL"]["IBLOCK_SECTION_ID"]), "ELEMENT_ID" => $arResult["ELEMENT_ORIGINAL"]["ID"], "ELEMENT_NAME" => $arResult["ELEMENT_ORIGINAL"]["~NAME"])), array($arParams["FORM_ID"] . "_active_tab" => "tab_version"))); } $GLOBALS["APPLICATION"]->AddChainItem(htmlspecialcharsEx($arResult["ELEMENT"]["~NAME"]), $arResult["ELEMENT"]["URL"]["VIEW"]); } if ($arParams["DISPLAY_PANEL"] == "Y" && $USER->IsAuthorized()) { CIBlock::ShowPanel($arParams["IBLOCK_ID"], 0, $arParams["SECTION_ID"], $arParams["IBLOCK_TYPE"], false, $this->GetName()); } /******************************************************************** /Standart operations ********************************************************************/ if ($arParams["WORKFLOW"] == "workflow" && (!empty($arResult["ELEMENT"]["ORIGINAL"]) && intVal($arResult["ELEMENT"]["ORIGINAL"]["WF_STATUS_ID"]) > 1 || empty($arResult["ELEMENT"]["ORIGINAL"]) && intVal($arResult["ELEMENT"]["WF_STATUS_ID"]) > 1)) { return array("ELEMENT_ID" => false); } elseif (!empty($arResult["ELEMENT"]["ORIGINAL"])) { return array("ELEMENT_ID" => $arResult["ELEMENT"]["ORIGINAL"]["ID"], "ELEMENT" => $arResult["ELEMENT"]); } else { return array("ELEMENT_ID" => $arParams["ELEMENT_ID"], "ELEMENT" => $arResult["ELEMENT"]);
{ window.location.reload(true); } var WDFileUpload = function() { fileDownloadDone = false; if (!editMode) { fileDownloadDone = true; } var wait = BX.showWait(); var uploadDialog = null; BX.ajax.get("<?php echo CUtil::JSEscape(WDAddPageParams($arResult["ELEMENT"]["URL"]["UPLOAD"], array("use_light_view" => "Y", "close_after_upload" => "Y", "update_document" => urlencode($arParams["ELEMENT_ID"])), false)); ?> ", null, function(data) { BX.closeWait(null, wait); uploadDialog = new BX.CDialog({"content": data || ' ', "width":650 , "height":150 }); uploadDialog.WDUploaded = false; uploadDialog.WDUpdate = true; editMode = false; BX.addCustomEvent(uploadDialog, 'onBeforeWindowClose', function() { if (!(uploadDialog.WDUploaded)) { editMode = true; } }); uploadDialog.Show(); });
function __build_item_info(&$res, $arParams, $WrapLongWords = false) { global $DB, $USER; static $bTheFirstTimeonPage = true; static $bShowWebdav = true; static $arBPTemplates = array(); static $arOfficeExtensions = false; static $checkParentSectionIsLink = array(); $nameTemplate = "#NOBR##LAST_NAME# #NAME##/NOBR#"; static $arNameFormats = array(); if (!isset($arNameFormats[SITE_ID])) { $arNameFormats[SITE_ID] = CSite::GetNameFormat(false); } if (isset($arNameFormats[SITE_ID])) { $nameTemplate = $arNameFormats[SITE_ID]; } if (!$arOfficeExtensions) { $arOfficeExtensions = __wd_get_office_extensions(); } if (!isset($arParams["OBJECT"])) { return; } $ob = $arParams["OBJECT"]; static $allowExtDocServices = null; if ($allowExtDocServices === null) { $allowExtDocServicesGlobal = CWebDavTools::allowUseExtServiceGlobal(); $allowExtDocServicesLocal = CWebDavTools::allowUseExtServiceLocal(); $allowExtDocServices = $allowExtDocServicesGlobal; if ($ob->arRootSection['UF_USE_EXT_SERVICES'] && $allowExtDocServicesLocal) { $allowExtDocServices = 'Y' == CWebDavIblock::resolveDefaultUseExtServices($ob->arRootSection['UF_USE_EXT_SERVICES']); } } static $rootDataForCurrentUser = null; static $isUserLib = null; if ($rootDataForCurrentUser === null && $USER->getId()) { $rootDataForCurrentUser = CWebDavIblock::getRootSectionDataForUser($USER->getId()); $isUserLib = $ob->attributes['user_id'] == $USER->getId() && !($ob->meta_state == CWebDavIblock::DROPPED); } static $isExtranetUser = null; if ($isExtranetUser === null) { $isExtranetUser = !$USER->getId() || !CWebDavTools::isIntranetUser($USER->getId()); } $bInTrash = "/" . $ob->meta_names["TRASH"]["alias"] == $ob->_udecode($ob->_path); if ($res["TYPE"] != "S" && $arBPTemplates != $arParams["TEMPLATES"]) { $bShowWebdav = true; $arBPTemplates = $arParams["TEMPLATES"]; if (is_array($arParams["TEMPLATES"]) && !empty($arParams["TEMPLATES"])) { foreach ($arParams["TEMPLATES"] as $key => $arTemplateState) { if (in_array($arTemplateState["AUTO_EXECUTE"], array(2, 3, 6, 7)) && (is_array($arTemplateState["PARAMETERS"]) || is_array($arTemplateState["TEMPLATE_PARAMETERS"]))) { $arTemplateState["TEMPLATE_PARAMETERS"] = is_array($arTemplateState["PARAMETERS"]) ? $arTemplateState["PARAMETERS"] : $arTemplateState["TEMPLATE_PARAMETERS"]; foreach ($arTemplateState["TEMPLATE_PARAMETERS"] as $val) { if ($val["Required"] == 1 && empty($val["Default"])) { $bShowWebdav = false; break; } } } } } } $res["bShowWebDav"] = $bShowWebdav; /************** Grid Data ******************************************/ $arActions = array(); if ($res["TYPE"] == "S") { $arActions["section_open"] = array("ICONCLASS" => "section_open", "TITLE" => GetMessage("WD_OPEN_SECTION"), "TEXT" => GetMessage("WD_OPEN"), "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~THIS"]) . "');", "DEFAULT" => true); if ($res["SHOW"]["UNDELETE"] == "Y") { $arActions["section_undelete"] = array("ICONCLASS" => "section_download", "TITLE" => GetMessage("WD_UNDELETE_SECTION"), "TEXT" => GetMessage("WD_UNDELETE"), "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape(WDAddPageParams($res["URL"]["~UNDELETE"], array("edit_section" => "Y", "sessid" => bitrix_sessid()), false)) . "');", "DEFAULT" => false); } if ($res["SHOW"]["EDIT"] == "Y") { if ($ob->Type == "iblock" && $arParams["OBJECT"]->CheckWebRights("", false, array("action" => "create"))) { //sharing with antoher user. Only user_lib files. global $USER; if (!empty($arParams["OBJECT"]->attributes['user_id']) && $arParams["OBJECT"]->attributes['user_id'] == $USER->getID() && !$isExtranetUser) { if (empty($res['LINK'])) { if (!empty($res['SHARED_SECTION'])) { //usage. Show list user $uriToShareSection = $GLOBALS['APPLICATION']->GetCurUri(http_build_query(array('toWDController' => 1, 'wdaction' => 'detail_user_share', 'shareSectionId' => $res["ID"]))); $arActions["section_share"] = array("ICONCLASS" => "section_share", "TITLE" => GetMessage("WD_SHARE_TITLE_2"), "TEXT" => GetMessage("WD_SHARE_NAME_2"), "ONCLICK" => "WDShareFolder('{$uriToShareSection}', {$res["ID"]}, null, '" . CUtil::JSEscape($res["NAME"]) . "')"); } else { if (!isset($checkParentSectionIsLink[$res['IBLOCK_SECTION_ID']])) { $checkParentSectionIsLink[$res['IBLOCK_SECTION_ID']] = CWebDavSymlinkHelper::isLink(CWebDavSymlinkHelper::ENTITY_TYPE_USER, $arParams["OBJECT"]->attributes['user_id'], array('ID' => $res['IBLOCK_SECTION_ID'], 'IBLOCK_ID' => $res['IBLOCK_ID'])); } //if element in link - don't share if (!$checkParentSectionIsLink[$res['IBLOCK_SECTION_ID']]) { $uriToShareSection = $GLOBALS['APPLICATION']->GetCurUri(http_build_query(array('toWDController' => 1, 'wdaction' => 'detail_user_share', 'shareSectionId' => $res["ID"]))); $arActions["section_share"] = array("ICONCLASS" => "section_share", "TITLE" => GetMessage("WD_SHARE_TITLE_2"), "TEXT" => GetMessage("WD_SHARE_NAME_2"), "ONCLICK" => "WDShareFolder('{$uriToShareSection}', {$res["ID"]}, null, '" . CUtil::JSEscape($res["NAME"]) . "')"); } } } else { //usage. Show list user $uriToShareSection = $GLOBALS['APPLICATION']->GetCurUri(http_build_query(array('toWDController' => 1, 'wdaction' => 'info_user_share', 'shareSectionId' => $res['LINK']['SECTION_ID']))); $arActions["section_share"] = array("ICONCLASS" => "section_share", "TITLE" => GetMessage("WD_MANAGE_SHARE_TITLE"), "TEXT" => GetMessage("WD_MANAGE_SHARE_NAME"), "ONCLICK" => "WDShareFolder('{$uriToShareSection}', {$res['LINK']['SECTION_ID']}, '" . CUtil::JSEscape($res["URL"]["~DELETE"]) . "', '" . CUtil::JSEscape($res["NAME"]) . "')"); } } elseif (CWebDavIblock::$possibleUseSymlinkByInternalSections && !$isExtranetUser) { if (empty($res['LINK'])) { if (!empty($res['SHARED_SECTION'])) { //usage. Show list user $uriToShareSection = $GLOBALS['APPLICATION']->GetCurUri(http_build_query(array('toWDController' => 1, 'wdaction' => 'info_user_share', 'shareSectionId' => $res["ID"]))); $uriToDisconnectSection = $GLOBALS['APPLICATION']->GetCurUri(http_build_query(array('toWDController' => 1, 'wdaction' => 'disconnect', 'shareSectionId' => $res["ID"]))); $arActions["section_share"] = array("ICONCLASS" => "section_share", "TITLE" => GetMessage("WD_MANAGE_SHARE_TITLE"), "TEXT" => GetMessage("WD_MANAGE_SHARE_TITLE"), "ONCLICK" => "WDShareFolderInSharedDocs('{$uriToShareSection}', {$res["ID"]}, '{$uriToDisconnectSection}', '" . CUtil::JSEscape($res["NAME"]) . "')"); } else { $uriToShareSection = $GLOBALS['APPLICATION']->GetCurUri(http_build_query(array('toWDController' => 1, 'wdaction' => 'connect', 'shareSectionId' => $res["ID"]))); $arActions["section_share"] = array("ICONCLASS" => "section_share", "TITLE" => GetMessage("WD_SHARE_SECTION_CONNECT_TITLE"), "TEXT" => GetMessage("WD_SHARE_SECTION_CONNECT_NAME"), "ONCLICK" => "showWebdavSharedSectionDiskPopup('{$uriToShareSection}', {$res["ID"]}, null, '" . CUtil::JSEscape($res["NAME"]) . "')"); } } } } $arActions["section_rename"] = array("ICONCLASS" => "section_rename", "TITLE" => GetMessage("WD_RENAME_SECTION_TITLE"), "TEXT" => GetMessage("WD_RENAME_NAME"), "ONCLICK" => "WDRename(BX('ID_" . $res["TYPE"] . $res["ID"] . "'), bxGrid_" . $arParams["GRID_ID"] . ", '" . $arParams["GRID_ID"] . "')"); if ($ob->Type == "iblock" && $arParams["OBJECT"]->CheckWebRights("", false, array("action" => "create"))) { $url = WDAddPageParams($res["URL"]["SECTIONS_DIALOG"], array("ACTION" => "COPY", "NAME" => urlencode($res["NAME"]), "ID" => "S" . $res["ID"]), false); $arActions["section_copy"] = array("ICONCLASS" => "section_copy", "TITLE" => GetMessage("WD_COPY_SECTION_TITLE"), "TEXT" => GetMessage("WD_COPY_NAME"), "ONCLICK" => "(new BX.CDialog({'width': 450, 'heght':400, 'content_url':'" . CUtil::JSEscape($url) . "'})).Show()"); $url = WDAddPageParams($res["URL"]["SECTIONS_DIALOG"], array("ACTION" => "MOVE", "NAME" => urlencode($res["NAME"]), "ID" => "S" . $res["ID"]), false); $arActions["section_move"] = array("ICONCLASS" => "section_move", "TITLE" => GetMessage("WD_MOVE_SECTION_TITLE"), "TEXT" => GetMessage("WD_MOVE_NAME"), "ONCLICK" => "(new BX.CDialog({'width': 450, 'heght':400, 'content_url':'" . CUtil::JSEscape($url) . "'})).Show()"); } } if ($res["SHOW"]["RIGHTS"] == "Y") { $urlParams = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "ENTITY_TYPE" => "SECTION", "ENTITY_ID" => $res['ID'], "back_url" => urlencode($GLOBALS['APPLICATION']->GetCurPage())); if (isset($ob->attributes['user_id'])) { $urlParams['SOCNET_TYPE'] = 'user'; $urlParams['SOCNET_ID'] = $ob->attributes['user_id']; } elseif (isset($ob->attributes['group_id'])) { $urlParams['SOCNET_TYPE'] = 'group'; $urlParams['SOCNET_ID'] = $ob->attributes['group_id']; } $url = WDAddPageParams("/bitrix/components/bitrix/webdav.section.list/templates/.default/iblock_e_rights.php", $urlParams, false); $arActions["section_permissions"] = array("ICONCLASS" => "section_permissions", "TITLE" => GetMessage("WD_SECTION_PERMISSIONS"), "TEXT" => GetMessage("WD_PERMISSIONS"), "ONCLICK" => "(new BX.CDialog({'width': 750, 'heght':400, 'content_url':'" . CUtil::JSEscape($url) . "'})).Show()"); } if ($res["SHOW"]["DELETE"] == "Y" && (!$bInTrash || $bInTrash && $arParams["PERMISSION"] > "W")) { if (!empty($res['LINK'])) { $arActions["section_unshare"] = array("ICONCLASS" => "section_drop", "TITLE" => GetMessage("WD_UNSHARE_SECTION"), "TEXT" => GetMessage("WD_UNSHARE"), "ONCLICK" => "WDConfirm('" . CUtil::JSEscape(GetMessage("WD_UNSHARE_TITLE")) . "', '" . CUtil::JSEscape(GetMessage("WD_UNSHARE_SECTION_CONFIRM", array('#NAME#' => $res['NAME']))) . "', function() {jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~DELETE"]) . "')})"); } elseif (!empty($res['SHARED_SECTION']) && isset($arActions["section_share"])) { $arActions["section_drop"] = array("ICONCLASS" => "section_drop", "TITLE" => GetMessage("WD_DELETE_SECTION"), "TEXT" => GetMessage("WD_DELETE"), "ONCLICK" => "WDConfirm('" . CUtil::JSEscape(GetMessage("WD_DELETE_OWN_SHARE_SECTION_TITLE")) . "', '" . CUtil::JSEscape(GetMessage("WD_DELETE_OWN_SHARE_SECTION_CONFIRM", array('#NAME#' => $res['NAME']))) . "', function() {jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~DELETE"]) . "')})"); } else { $forceDeleteUrl = CHTTP::urlAddParams($res["URL"]["~DELETE"], array('delete_without_trash' => 1)); $arActions["section_drop"] = array("ICONCLASS" => "section_drop", "TITLE" => GetMessage("WD_DELETE_SECTION"), "TEXT" => GetMessage("WD_DELETE")); if ($res["SHOW"]["UNDELETE"] == "Y") { $arActions["section_drop"]['ONCLICK'] = "WDConfirm('" . CUtil::JSEscape(GetMessage("WD_DELETE_TITLE")) . "', '" . CUtil::JSEscape(GetMessage($res["SHOW"]["UNDELETE"] == "Y" ? "WD_DESTROY_SECTION_CONFIRM" : "WD_DELETE_SECTION_CONFIRM", array('#NAME#' => $res['NAME']))) . "', function() {jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~DELETE"]) . "')})"; } elseif ($arParams['OBJECT']->CheckRight($res["E_RIGHTS"], "iblock_edit") >= "X") { $arActions["section_drop"]['ONCLICK'] = "WDConfirmDelete('" . CUtil::JSEscape(GetMessage("WD_DELETE_TITLE")) . "', '" . CUtil::JSEscape(GetMessage("WD_TRASH_DELETE_DESTROY_SECTION_CONFIRM", array("#NAME#" => $res['NAME']))) . "'" . ", '" . CUtil::JSEscape(GetMessage("WD_TRASH_DELETE_BUTTON")) . "'" . ", '" . CUtil::JSEscape(GetMessage("WD_TRASH_DESTROY_BUTTON")) . "'" . ", '" . CUtil::JSEscape(GetMessage("WD_TRASH_CANCEL_DELETE_BUTTON")) . "'" . ", function() { var urlDelete = '" . CUtil::JSEscape($res["URL"]["~DELETE"]) . "'; jsUtils.Redirect([], urlDelete)}" . ", function() { var urlDelete = '" . CUtil::JSEscape($forceDeleteUrl) . "'; jsUtils.Redirect([], urlDelete)})"; } else { $arActions["section_drop"]['ONCLICK'] = "WDConfirm('" . CUtil::JSEscape(GetMessage("WD_DELETE_TITLE")) . "', '" . CUtil::JSEscape(GetMessage("WD_DELETE_SECTION_CONFIRM", array("#NAME#" => $res['NAME']))) . "', function() { var urlDelete = '" . CUtil::JSEscape($res["URL"]["~DELETE"]) . "'; jsUtils.Redirect([], urlDelete)})"; } } } $arActions['preview_launch'] = array('type' => 'folder', 'src' => $res["URL"]["~THIS"], 'title' => $res['NAME'], 'owner' => CUser::FormatName(CSite::GetNameFormat(false), array('LOGIN' => $res['CREATED_BY']['LOGIN'], 'NAME' => $res['CREATED_BY']['NAME'], 'SECOND_NAME' => $res['CREATED_BY']['SECOND_NAME'], 'LAST_NAME' => $res['CREATED_BY']['LAST_NAME']), true, false), 'size' => CFile::FormatSize($res['PROPERTY_WEBDAV_SIZE_VALUE']), 'dateModify' => FormatDate('FULL', MakeTimeStamp($res["TIMESTAMP_X"]))); } else { $arActions["element_open"] = array("ICONCLASS" => "element_open", "TITLE" => GetMessage("WD_OPEN_DOCUMENT"), "TEXT" => GetMessage("WD_OPEN"), "ONCLICK" => "OpenDoc('" . CUtil::JSEscape(htmlspecialcharsbx($res["URL"]["~THIS"])) . "', " . (in_array($res["FILE_EXTENTION"], $arOfficeExtensions) && $arParams['DEFAULT_EDIT'] === 'Y' ? "true" : "false") . ");", "DEFAULT" => true); if ($allowExtDocServices && CWebDavTools::allowPreviewFile($res["FILE_EXTENTION"], $res['PROPERTY_WEBDAV_SIZE_VALUE'])) { //showInViewer $downloadUrl = CUtil::JSEscape($res["URL"]["~DOWNLOAD"]); $editInUrl = $editrUrl = CUtil::JSEscape(($GLOBALS['APPLICATION']->IsHTTPS() ? 'https' : 'http') . '://' . str_replace("//", "/", $_SERVER['HTTP_HOST'] . "/" . $res["URL"]["THIS"])) . '?' . bitrix_sessid_get() . '&editIn=' . CWebDavLogOnlineEditBase::DEFAULT_SERVICE_NAME . '&start=1'; $downloadUrl .= (strpos($downloadUrl, "?") === false ? "?" : "&") . "ncc=1&force_download=1"; $viewerUrl = CUtil::JSEscape(($GLOBALS['APPLICATION']->IsHTTPS() ? 'https' : 'http') . '://' . str_replace("//", "/", $_SERVER['HTTP_HOST'] . "/" . $res["URL"]["THIS"])) . '?showInViewer=1'; $arActions['preview_launch'] = array('type' => 'iframe', 'src' => $viewerUrl, 'download' => $downloadUrl, 'history' => CHTTP::urlAddParams($res['URL']['VIEW'], array('webdavForm' . $res['IBLOCK_ID'] . '_active_tab' => 'tab_history')), 'edit' => $res['LOCK_STATUS'] == 'green' && CWebDavEditDocGoogle::isEditable($res["FILE_EXTENTION"]) && $res['E_RIGHTS']['element_edit'] ? $editInUrl : '', 'askConvert' => CWebDavEditDocGoogle::isNeedConvertExtension($res["FILE_EXTENTION"]), 'title' => $res['NAME'], 'inPersonalLib' => $isUserLib && $res['LOCK_STATUS'] == 'green' && $res['E_RIGHTS']['element_edit'] ? '1' : '', 'externalId' => $isUserLib ? "st{$rootDataForCurrentUser['IBLOCK_ID']}|{$rootDataForCurrentUser['SECTION_ID']}|f{$res['ID']}" : '', 'relativePath' => $res['PATH']); } elseif ($allowExtDocServices && CWebDavEditDocGoogle::isEditable($res["FILE_EXTENTION"])) { //showInViewer $downloadUrl = CUtil::JSEscape($res["URL"]["~DOWNLOAD"]); $editInUrl = $editrUrl = CUtil::JSEscape(($GLOBALS['APPLICATION']->IsHTTPS() ? 'https' : 'http') . '://' . str_replace("//", "/", $_SERVER['HTTP_HOST'] . "/" . $res["URL"]["THIS"])) . '?' . bitrix_sessid_get() . '&editIn=' . CWebDavLogOnlineEditBase::DEFAULT_SERVICE_NAME . '&start=1'; $downloadUrl .= (strpos($downloadUrl, "?") === false ? "?" : "&") . "ncc=1&force_download=1"; $viewerUrl = CUtil::JSEscape(($GLOBALS['APPLICATION']->IsHTTPS() ? 'https' : 'http') . '://' . str_replace("//", "/", $_SERVER['HTTP_HOST'] . "/" . $res["URL"]["THIS"])) . '?showInViewer=1'; $arActions['preview_launch'] = array('type' => 'onlyedit', 'src' => $viewerUrl, 'download' => $downloadUrl, 'history' => CHTTP::urlAddParams($res['URL']['VIEW'], array('webdavForm' . $res['IBLOCK_ID'] . '_active_tab' => 'tab_history')), 'edit' => $res['LOCK_STATUS'] == 'green' && CWebDavEditDocGoogle::isEditable($res["FILE_EXTENTION"]) && $res['E_RIGHTS']['element_edit'] ? $editInUrl : '', 'askConvert' => CWebDavEditDocGoogle::isNeedConvertExtension($res["FILE_EXTENTION"]), 'title' => $res['NAME'], 'owner' => CUser::FormatName(CSite::GetNameFormat(false), array('LOGIN' => $res['CREATED_BY']['LOGIN'], 'NAME' => $res['CREATED_BY']['NAME'], 'SECOND_NAME' => $res['CREATED_BY']['SECOND_NAME'], 'LAST_NAME' => $res['CREATED_BY']['LAST_NAME']), true, false), 'size' => CFile::FormatSize($res['PROPERTY_WEBDAV_SIZE_VALUE']), 'dateModify' => FormatDate('FULL', MakeTimeStamp($res["TIMESTAMP_X"])), 'tooBigSizeMsg' => true, 'inPersonalLib' => $isUserLib && $res['LOCK_STATUS'] == 'green' && $res['E_RIGHTS']['element_edit'] ? '1' : '', 'externalId' => $isUserLib ? "st{$rootDataForCurrentUser['IBLOCK_ID']}|{$rootDataForCurrentUser['SECTION_ID']}|f{$res['ID']}" : '', 'relativePath' => $res['PATH']); } elseif (CFile::IsImage($res['NAME'])) { $downloadUrl = CUtil::JSEscape($res["URL"]["~DOWNLOAD"]); $downloadUrl .= (strpos($downloadUrl, "?") === false ? "?" : "&") . "ncc=1&force_download=1"; $arActions['preview_launch'] = array('type' => 'image', 'src' => $downloadUrl, 'download' => $downloadUrl, 'title' => $res['NAME']); } else { $downloadUrl = CUtil::JSEscape($res["URL"]["~DOWNLOAD"]); $downloadUrl .= (strpos($downloadUrl, "?") === false ? "?" : "&") . "ncc=1&force_download=1"; $arActions['preview_launch'] = array('type' => 'unknown', 'src' => $downloadUrl, 'download' => $downloadUrl, 'title' => $res['NAME'], 'owner' => CUser::FormatName(CSite::GetNameFormat(false), array('LOGIN' => $res['CREATED_BY']['LOGIN'], 'NAME' => $res['CREATED_BY']['NAME'], 'SECOND_NAME' => $res['CREATED_BY']['SECOND_NAME'], 'LAST_NAME' => $res['CREATED_BY']['LAST_NAME']), true, false), 'size' => CFile::FormatSize($res['PROPERTY_WEBDAV_SIZE_VALUE']), 'dateModify' => FormatDate('FULL', MakeTimeStamp($res["TIMESTAMP_X"])), 'tooBigSizeMsg' => $allowExtDocServices && CWebDavTools::allowPreviewFile($res["FILE_EXTENTION"], $res['PROPERTY_WEBDAV_SIZE_VALUE'], false), 'inPersonalLib' => $isUserLib && $res['LOCK_STATUS'] == 'green' && $res['E_RIGHTS']['element_edit'] ? '1' : '', 'externalId' => $isUserLib ? "st{$rootDataForCurrentUser['IBLOCK_ID']}|{$rootDataForCurrentUser['SECTION_ID']}|f{$res['ID']}" : '', 'relativePath' => $res['PATH']); } $downloadUrl = CUtil::JSEscape($res["URL"]["~DOWNLOAD"]); $downloadUrl .= (strpos($downloadUrl, "?") === false ? "?" : "&") . "ncc=1&force_download=1"; $arActions["element_download"] = array("ICONCLASS" => "element_download", "TITLE" => GetMessage("WD_DOWNLOAD_ELEMENT"), "TEXT" => GetMessage("WD_DOWNLOAD"), "ONCLICK" => "window.location.href = '" . $downloadUrl . "';", "DEFAULT" => false); if ($arParams["PERMISSION"] >= "U") { $urlT = CUtil::JSEscape(($GLOBALS['APPLICATION']->IsHTTPS() ? 'https' : 'http') . '://' . str_replace("//", "/", $_SERVER['HTTP_HOST'] . "/" . $res["URL"]["THIS"])); $arActions["copy_ext_link"] = array("ICONCLASS" => "element_ext_link", "TITLE" => GetMessage("WD_COPY_EXT_LINK_TITLE"), "TEXT" => GetMessage("WD_COPY_EXT_LINK"), "ONCLICK" => CWebDavExtLinks::InsertDialogCallText($urlT)); } if ($res["SHOW"]["UNDELETE"] == "Y") { $arActions["element_undelete"] = array("ICONCLASS" => "element_download", "TITLE" => GetMessage("WD_UNDELETE_ELEMENT"), "TEXT" => GetMessage("WD_UNDELETE"), "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape(WDAddPageParams($res["URL"]["~UNDELETE"], array("edit" => "Y", "sessid" => bitrix_sessid()), false)) . "');", "DEFAULT" => false); } if ($arParams["PERMISSION"] >= "U") { if ($res["SHOW"]["LOCK"] == "Y" || $res["SHOW"]["UNLOCK"] == "Y") { $arActions["element_upload"] = array("ICONCLASS" => "element_edit", "TITLE" => GetMessage("WD_UPLOAD_ELEMENT"), "TEXT" => GetMessage("WD_UPLOAD"), "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"][$arParams["OBJECT"]->Type == "folder" ? "EDIT" : "~VIEW"] . '#upload') . "');"); } if ($ob->Type == "iblock" && $res["SHOW"]["UNLOCK"] == "Y") { $arActions["element_unlock"] = array("ICONCLASS" => "element_unlock", "TITLE" => GetMessage("WD_UNLOCK_ELEMENT"), "TEXT" => GetMessage("WD_UNLOCK"), "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~UNLOCK"]) . "');"); } if ($ob->Type == "iblock" && $res["SHOW"]["LOCK"] == "Y") { $arActions["element_lock"] = array("ICONCLASS" => "element_unlock", "TITLE" => GetMessage("WD_LOCK_ELEMENT"), "TEXT" => GetMessage("WD_LOCK"), "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~LOCK"]) . "');"); } if (($res["SHOW"]["LOCK"] == "Y" || $res["SHOW"]["UNLOCK"] == "Y") && in_array($res["FILE_EXTENTION"], $arOfficeExtensions)) { $arActions["element_edit_office"] = array("ICONCLASS" => "element_edit", "TITLE" => GetMessage("WD_EDIT_MSOFFICE"), "TEXT" => GetMessage("WD_EDIT_MSOFFICE_MENU"), "OFFICECHECK" => true, "DISABLED" => !($bShowWebdav && $res["SHOW"]["EDIT"] == "Y"), "ONCLICK" => 'return EditDocWithProgID(\'' . CUtil::addslashes($res["URL"]["~THIS"]) . '\');'); } } $arActions["element_view"] = array("ICONCLASS" => "element_view", "TITLE" => GetMessage("WD_VIEW_ELEMENT"), "TEXT" => GetMessage($res["~TYPE"] == "FILE" ? "WD_PROPERTIES" : "WD_VIEW"), "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"][$res["~TYPE"] == "FILE" ? "EDIT" : "~VIEW"]) . "');"); if ($arParams["USE_COMMENTS"] == "Y" && IsModuleInstalled("forum")) { $arActions["element_comment"] = array("ICONCLASS" => "element_comment", "TITLE" => GetMessage("WD_ELEMENT_COMMENT_NAME"), "TEXT" => GetMessage("WD_ELEMENT_COMMENT_TITLE"), "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~VIEW"] . "?webdavForm" . $arParams["IBLOCK_ID"] . "_active_tab=tab_comments") . "');"); } if ($arParams["PERMISSION"] >= "U") { $arActions["copy_link"] = array("ICONCLASS" => "element_download", "TITLE" => GetMessage("WD_COPY_LINK_TITLE"), "TEXT" => GetMessage("WD_COPY_LINK"), "ONCLICK" => "WDCopyLinkDialog('" . CUtil::JSEscape(($GLOBALS['APPLICATION']->IsHTTPS() ? 'https' : 'http') . '://' . str_replace("//", "/", $_SERVER['HTTP_HOST'] . "/" . $res["URL"]["THIS"])) . "')"); /* $urlT = CUtil::JSEscape(($GLOBALS['APPLICATION']->IsHTTPS() ? 'https' : 'http').'://'.str_replace("//", "/", $_SERVER['HTTP_HOST']."/".$res["URL"]["THIS"])); $arActions["copy_ext_link"] = array( "ICONCLASS" => "element_download", "TITLE" => GetMessage("WD_COPY_EXT_LINK_TITLE"), "TEXT" => GetMessage("WD_COPY_EXT_LINK"), "ONCLICK" => CWebDavExtLinks::InsertDialogCallText($urlT) ); */ if ($res["SHOW"]["HISTORY"] == "Y") { $arActions["element_history"] = array("ICONCLASS" => "element_history" . ($res["SHOW"]["BP"] == "Y" ? " bizproc_history" : ""), "TITLE" => GetMessage("WD_HIST_ELEMENT_ALT"), "TEXT" => GetMessage("WD_HIST_ELEMENT"), "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~VIEW"] . "?webdavForm" . $arParams["IBLOCK_ID"] . "_active_tab=tab_history") . "');"); } if ($res["SHOW"]["LOCK"] == "Y" || $res["SHOW"]["UNLOCK"] == "Y") { if ($res["SHOW"]["BP_VIEW"] == "Y") { $arActionsBpTmp[] = array("ICONCLASS" => "bizproc_document", "TITLE" => GetMessage("IBLIST_A_BP_H"), "TEXT" => GetMessage("IBLIST_A_BP_H"), "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~BP"]) . "');"); } if ($res["SHOW"]["BP_START"] == "Y" && is_array($arParams["TEMPLATES"])) { $arr = array(); foreach ($arParams["TEMPLATES"] as $key => $arWorkflowTemplate) { if (!CBPDocument::CanUserOperateDocument(CBPCanUserOperateOperation::StartWorkflow, $GLOBALS["USER"]->GetID(), $res["DOCUMENT_ID"], array("UserGroups" => $res["USER_GROUPS"], "DocumentStates" => $res["~arDocumentStates"], "WorkflowTemplateList" => $arTemplates, "WorkflowTemplateId" => $arWorkflowTemplate["ID"]))) { continue; } $url = $res["URL"]["~BP_START"]; $url .= (strpos($url, "?") === false ? "?" : "&") . "workflow_template_id=" . $arWorkflowTemplate["ID"] . '&' . bitrix_sessid_get(); $arr[] = array("ICONCLASS" => "", "TITLE" => $arWorkflowTemplate["DESCRIPTION"], "TEXT" => $arWorkflowTemplate["NAME"], "ONCLICK" => "jsUtils.Redirect([], '" . CUtil::JSEscape($url) . "');"); } if (!empty($arr)) { $arActionsBpTmp[] = array("ICONCLASS" => "bizproc_start", "TITLE" => GetMessage("WD_START_BP_TITLE"), "TEXT" => GetMessage("WD_START_BP"), "MENU" => $arr); } } //if ($res["SHOW"]["BP_CLONE"] == "Y") //{ //$arActionsBpTmp[] = array( //"ICONCLASS" => "bizproc_document", //"TITLE" => GetMessage("WD_CREATE_VERSION_ALT"), //"TEXT" => GetMessage("WD_CREATE_VERSION"), //"ONCLICK" => "jsUtils.Redirect([], '".CUtil::JSEscape($res["URL"]["~CLONE"])."');"); //$arActionsBpTmp[] = array( //"ICONCLASS" => "bizproc_document", //"TITLE" => GetMessage("WD_VERSIONS_ALT"), //"TEXT" => GetMessage("WD_VERSIONS"), //"ONCLICK" => "jsUtils.Redirect([], '".CUtil::JSEscape($res["URL"]["~VERSIONS"])."');"); //} if (!empty($arActionsBpTmp)) { $arActions += $arActionsBpTmp; } $arActions["separator_del"] = array("SEPARATOR" => true); if ($ob->Type == "folder" || $ob->Type == "iblock" && $res["WF_PARENT_ELEMENT_ID"] === null) { $arActions["element_rename"] = array("ICONCLASS" => "element_rename", "TITLE" => GetMessage("WD_RENAME_TITLE"), "TEXT" => GetMessage("WD_RENAME_NAME"), "ONCLICK" => "WDRename(BX('ID_" . $res["TYPE"] . $res["ID"] . "'), bxGrid_" . $arParams["GRID_ID"] . ", '" . $arParams["GRID_ID"] . "')"); } } if ($res["SHOW"]["COPY"] == 'Y') { $url = WDAddPageParams($res["URL"]["SECTIONS_DIALOG"], array("ACTION" => "COPY", "NAME" => urlencode($res["NAME"]), "ID" => "E" . $res["ID"]), false); $arActions["element_copy"] = array("ICONCLASS" => "element_copy", "TITLE" => GetMessage("WD_COPY_TITLE"), "TEXT" => GetMessage("WD_COPY_NAME"), "ONCLICK" => "(new BX.CDialog({'width': 450, 'heght':400, 'content_url':'" . CUtil::JSEscape($url) . "'})).Show()"); } if ($ob->Type == "iblock" && $res["WF_PARENT_ELEMENT_ID"] === null && $res["SHOW"]["EDIT"] == "Y") { $url = WDAddPageParams($res["URL"]["SECTIONS_DIALOG"], array("ACTION" => "MOVE", "NAME" => urlencode($res["NAME"]), "ID" => "E" . $res["ID"]), false); $arActions["element_move"] = array("ICONCLASS" => "element_move", "TITLE" => GetMessage("WD_MOVE_TITLE"), "TEXT" => GetMessage("WD_MOVE_NAME"), "ONCLICK" => "(new BX.CDialog({'width': 450, 'heght':400, 'content_url':'" . CUtil::JSEscape($url) . "'})).Show()"); } if ($res["SHOW"]["RIGHTS"] == "Y") { $urlParams = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "ENTITY_TYPE" => "ELEMENT", "ENTITY_ID" => $res['ID'], "back_url" => urlencode($GLOBALS['APPLICATION']->GetCurPageParam())); if (isset($ob->attributes['user_id'])) { $urlParams['SOCNET_TYPE'] = 'user'; $urlParams['SOCNET_ID'] = $ob->attributes['user_id']; } elseif (isset($ob->attributes['group_id'])) { $urlParams['SOCNET_TYPE'] = 'group'; $urlParams['SOCNET_ID'] = $ob->attributes['group_id']; } $url = WDAddPageParams("/bitrix/components/bitrix/webdav.section.list/templates/.default/iblock_e_rights.php", $urlParams, false); $arActions["element_permissions"] = array("ICONCLASS" => "element_permissions", "TITLE" => GetMessage("WD_ELEMENT_PERMISSIONS"), "TEXT" => GetMessage("WD_PERMISSIONS"), "ONCLICK" => "(new BX.CDialog({'width': 750, 'heght':400, 'content_url':'" . CUtil::JSEscape($url) . "'})).Show()"); } if ($res["SHOW"]["DELETE"] == "Y" && (!$bInTrash || $bInTrash && $arParams["PERMISSION"] >= "X")) { $forceDeleteUrl = CHTTP::urlAddParams($res["URL"]["~DELETE"], array('delete_without_trash' => 1)); $arActions["element_delete"] = array("ICONCLASS" => "element_delete", "TITLE" => GetMessage("WD_DELETE_ELEMENT"), "TEXT" => GetMessage("WD_DELETE")); if ($res["SHOW"]["UNDELETE"] == "Y") { $arActions["element_delete"]["ONCLICK"] = "WDConfirm('" . CUtil::JSEscape(GetMessage("WD_DELETE_TITLE")) . "', '" . CUtil::JSEscape(GetMessage($res["SHOW"]["UNDELETE"] == "Y" ? "WD_DESTROY_CONFIRM" : "WD_DELETE_CONFIRM", array("#NAME#" => $res['NAME']))) . "', function() {jsUtils.Redirect([], '" . CUtil::JSEscape($res["URL"]["~DELETE"]) . "')})"; } elseif ($arParams['OBJECT']->CheckRight($res["E_RIGHTS"], "iblock_edit") >= "X") { $arActions["element_delete"]['ONCLICK'] = "WDConfirmDelete('" . CUtil::JSEscape(GetMessage("WD_DELETE_TITLE")) . "', '" . CUtil::JSEscape(GetMessage("WD_TRASH_DELETE_DESTROY_ELEMENT_CONFIRM", array("#NAME#" => $res['NAME']))) . "'" . ", '" . CUtil::JSEscape(GetMessage("WD_TRASH_DELETE_BUTTON")) . "'" . ", '" . CUtil::JSEscape(GetMessage("WD_TRASH_DESTROY_BUTTON")) . "'" . ", '" . CUtil::JSEscape(GetMessage("WD_TRASH_CANCEL_DELETE_BUTTON")) . "'" . ", function() { var urlDelete = '" . CUtil::JSEscape($res["URL"]["~DELETE"]) . "'; jsUtils.Redirect([], urlDelete)}" . ", function() { var urlDelete = '" . CUtil::JSEscape($forceDeleteUrl) . "'; jsUtils.Redirect([], urlDelete)})"; } else { $arActions["element_delete"]['ONCLICK'] = "WDConfirm('" . CUtil::JSEscape(GetMessage("WD_DELETE_TITLE")) . "', '" . CUtil::JSEscape(GetMessage("WD_DELETE_CONFIRM", array("#NAME#" => $res['NAME']))) . "', function() { var urlDelete = '" . CUtil::JSEscape($res["URL"]["~DELETE"]) . "'; jsUtils.Redirect([], urlDelete)})"; } } } } foreach (array("MODIFIED_BY", "CREATED_BY", "WF_LOCKED_BY") as $user_key) { $aCols[$user_key] = is_array($res[$user_key]) ? $res[$user_key] : __parse_user($res[$user_key], $arParams["USER_VIEW_URL"], isset($arParams["NAME_TEMPLATE"]) ? $arParams["NAME_TEMPLATE"] : null); $aCols[$user_key] = "<div class=\"wd-user-link\">" . $aCols[$user_key]['main_user_link'] . "</div>"; } if ($res["TYPE"] == "S") { $classNameForIcon = !empty($res['LINK']) || !empty($res['SHARED_SECTION']) ? 'shared-section-icon' : 'section-icon'; $res["FTYPE"] = "folder"; $aCols["PLAIN_NAME"] = $res["NAME"]; $aCols["NAME"]['shared'] = $res["SHOW"]["SHARED"] ? '<div class="element-shared"></div>' : ''; $aCols["NAME"] = '<div class="section-name"> <div class="' . $classNameForIcon . '"></div>' . $aCols["NAME"]['shared'] . '<a class="section-title" id="sec' . $res['ID'] . '" href="' . $res["URL"]["THIS"] . '"' . 'data-bx-viewer="' . $arActions['preview_launch']['type'] . '" ' . 'data-bx-title="' . htmlspecialcharsbx($arActions['preview_launch']['title']) . '" ' . 'data-bx-src="' . $arActions['preview_launch']['src'] . '" ' . 'data-bx-size="' . $arActions['preview_launch']['size'] . '" ' . 'data-bx-owner="' . htmlspecialcharsbx($arActions['preview_launch']['owner']) . '" ' . 'data-bx-dateModify="' . htmlspecialcharsbx($arActions['preview_launch']['dateModify']) . '" ' . '>' . $res["NAME"] . '</a> </div>'; if ((!empty($res['LINK']) || !empty($res['SHARED_SECTION'])) && isset($arActions["section_share"])) { $aCols['FILE_SIZE'] = '<div id="sec' . $res['ID'] . '-share" class="wd-share-hotkey-share section-name" onclick="' . $arActions["section_share"]['ONCLICK'] . '">' . GetMessage('WD_ALREADY_SHARE_SECTION') . '</div></div> '; } elseif (!empty($arParams["OBJECT"]->attributes['user_id']) && $arParams["OBJECT"]->attributes['user_id'] == $USER->getId() && !empty($arActions["section_share"]) && !$isExtranetUser) { $aCols['FILE_SIZE'] = '<div id="sec' . $res['ID'] . '-share" class="wd-share-hotkey-potential-share section-name" onclick="' . $arActions["section_share"]['ONCLICK'] . '"><div class="shared-section-icon"></div> ' . GetMessage('WD_MAKE_SHARE_SECTION') . '</div> '; } elseif (empty($arParams["OBJECT"]->attributes['user_id']) && CWebDavIblock::$possibleUseSymlinkByInternalSections && !empty($arActions["section_share"]) && !$isExtranetUser) { $aCols['FILE_SIZE'] = '<div id="sec' . $res['ID'] . '-share" class="wd-share-hotkey-potential-share section-name" onclick="' . $arActions["section_share"]['ONCLICK'] . '"><div class="shared-section-icon"></div> ' . GetMessage('WD_SHARE_SECTION_CONNECT_IN_GRID') . '</div> '; } } else { $aCols["NAME"] = array(); $hintLink = __make_hint($res); if (!isset($arParams['MERGE_VIEW'])) { $aCols["NAME"]['hint'] = $res['HINT']; } else { $aCols["NAME"]['hint'] = ''; $hintLink = ''; } $aCols["NAME"]['icon'] = '<div class="element-icon icons icon-' . substr($res["FILE_EXTENTION"], 1) . '"></div>'; $aCols["NAME"]['shared'] = $res["SHOW"]["SHARED"] ? '<div class="element-shared"></div>' : ''; if (strlen($res["NAME"]) == 0) { $aCols["NAME"]["name"] = "<span> </span>"; } else { $resName = $WrapLongWords ? WrapLongWords(htmlspecialcharsbx($res["NAME"])) : htmlspecialcharsbx($res["NAME"]); if ($ob->Type != "iblock") { $aCols["NAME"]['name'] = '<a class="element-title ' . (strlen($hintLink) > 0 ? 'element-hint ' : ' ') . '" id="doc' . $res['ID'] . '" ' . $hintLink . 'href="' . htmlspecialcharsbx($res["URL"]["THIS"]) . '" onclick="return OpenDoc(this, ' . (in_array($res["FILE_EXTENTION"], $arOfficeExtensions) && $arParams['DEFAULT_EDIT'] == 'Y' ? "true" : "false") . ')"' . ' target="_blank"' . (strlen($hintLink) > 0 ? '' : ' title="' . GetMessage("WD_DOWNLOAD_ELEMENT") . '"') . '>' . $resName . '</a>'; } else { $aCols["NAME"]['name'] = '<a class="element-title ' . (strlen($hintLink) > 0 ? 'element-hint ' : ' ') . '" id="doc' . $res['ID'] . '" ' . $hintLink . ' ' . 'data-bx-viewer="' . $arActions['preview_launch']['type'] . '" ' . 'data-bx-title="' . htmlspecialcharsbx($arActions['preview_launch']['title']) . '" ' . 'data-bx-src="' . $arActions['preview_launch']['src'] . '" ' . 'data-bx-historyPage="' . $arActions['preview_launch']['history'] . '" ' . 'data-bx-edit="' . $arActions['preview_launch']['edit'] . '" ' . 'data-bx-isFromUserLib="' . $arActions['preview_launch']['inPersonalLib'] . '" ' . 'data-bx-externalId="' . $arActions['preview_launch']['externalId'] . '" ' . 'data-bx-relativePath="' . $arActions['preview_launch']['relativePath'] . '" ' . 'data-bx-askConvert="' . $arActions['preview_launch']['askConvert'] . '" ' . 'data-bx-download="' . $arActions['preview_launch']['download'] . '" ' . 'data-bx-size="' . $arActions['preview_launch']['size'] . '" ' . 'data-bx-owner="' . htmlspecialcharsbx($arActions['preview_launch']['owner']) . '" ' . 'data-bx-dateModify="' . htmlspecialcharsbx($arActions['preview_launch']['dateModify']) . '" ' . 'data-bx-tooBigSizeMsg="' . htmlspecialcharsbx($arActions['preview_launch']['tooBigSizeMsg']) . '" ' . '>' . $resName . '</a>'; } } $aCols["NAME"]['status'] = ''; if ($arParams["PERMISSION"] >= "U" && in_array($res['LOCK_STATUS'], array("red", "yellow"))) { $aCols["NAME"]['status'] .= '<div class="element-status-' . $res['LOCK_STATUS'] . '">'; if ($res['LOCK_STATUS'] == "yellow") { $aCols["NAME"]['status'] .= '[' . GetMessage("IBLOCK_YELLOW_MSG") . ']'; } else { if (!is_array($res['WF_LOCKED_BY']) && intval($res['WF_LOCKED_BY']) > 0) { $rUserLockedBy = CUser::GetByID($res['WF_LOCKED_BY']); $res['WF_LOCKED_BY'] = $rUserLockedBy->Fetch(); } if (isset($res['WF_LOCKED_BY']['ID']) && $res['WF_LOCKED_BY']['ID'] > 0) { $res['LOCKED_USER_NAME'] = CUser::FormatName($nameTemplate, $res['WF_LOCKED_BY']); $aCols["NAME"]['status'] .= '[' . trim(GetMessage("IBLOCK_RED_MSG", array('#NAME#' => $res['LOCKED_USER_NAME']))) . ']'; } else { $aCols["NAME"]['status'] .= '[' . GetMessage("IBLOCK_RED_MSG_OTHER") . ']'; } } $aCols["NAME"]['status'] .= '</div>'; } if ($arParams["USE_COMMENTS"] == "Y" && intVal($res["PROPERTY_FORUM_MESSAGE_CNT_VALUE"]) > 0) { $aCols["NAME"]['comments'] = '<a href="' . $res["URL"]["VIEW"] . '?webdavForm' . $arParams["IBLOCK_ID"] . '_active_tab=tab_comments" class="element-properties element-comments" title="' . GetMessage("WD_COMMENTS_FOR_DOCUMENT") . " " . intVal($res["PROPERTY_FORUM_MESSAGE_CNT_VALUE"]) . '">' . intVal($res["PROPERTY_FORUM_MESSAGE_CNT_VALUE"]) . '</a>'; } $aCols["PROPERTY_FORUM_MESSAGE_CNT"] = '<a href="' . $res["URL"]["VIEW"] . '">' . intVal($res["PROPERTY_FORUM_MESSAGE_CNT_VALUE"]) . '</a>'; $aCols["BP_PUBLISHED"] = "<div class=\"wd-bp-published wd-bp-published-" . ($res["BP_PUBLISHED"] != "Y" ? "n" : "y") . "\"></div>"; $aCols["NAME"]["version"] = ""; if ($arParams["WORKFLOW"] == "bizproc" && $res["WF_PARENT_ELEMENT_ID"] > 0) { $aCols["NAME"]["version"] = "<span class=\"wd-element-version\">" . GetMessage("WD_NAME_VERSION") . "</span>"; } $aCols["BIZPROC"] = ""; if ($arParams["WORKFLOW"] == "bizproc" && !empty($res["arDocumentStates"])) { $arDocumentStates = $res["arDocumentStates"]; if (count($arDocumentStates) == 1) { $arDocumentState = reset($arDocumentStates); $arTasksWorkflow = CBPDocument::GetUserTasksForWorkflow($GLOBALS["USER"]->GetID(), $arDocumentState["ID"]); $aColss["BIZPROC"] = '<div class="bizproc-item-title">' . (!empty($arDocumentState["TEMPLATE_NAME"]) ? htmlspecialcharsbx(htmlspecialcharsbx($arDocumentState["TEMPLATE_NAME"])) : GetMessage("IBLIST_BP")) . ': ' . '<span class="bizproc-item-title bizproc-state-title" style="">' . '<a href="' . $res["URL"]["BP"] . '">' . (strlen($arDocumentState["STATE_TITLE"]) > 0 ? htmlspecialcharsbx(htmlspecialcharsbx($arDocumentState["STATE_TITLE"])) : htmlspecialcharsbx(htmlspecialcharsbx($arDocumentState["STATE_NAME"]))) . '</a>' . '</span>' . '</div>'; $aColss["BIZPROC"] = str_replace("'", "\"", $aColss["BIZPROC"]); $aCols["NAME"]['bizproc'] = "<div class=\"element-bizproc-status bizproc-statuses " . (!(strlen($arDocumentState["ID"]) <= 0 || strlen($arDocumentState["WORKFLOW_STATUS"]) <= 0) ? 'bizproc-status-' . (empty($arTasksWorkflow) ? "inprogress" : "attention") : '') . "\" onmouseover='BX.hint(this, \"" . addslashes($aColss["BIZPROC"]) . "\")'></div>"; if (!empty($arTasksWorkflow)) { $tmp = array(); foreach ($arTasksWorkflow as $key => $val) { $url = CComponentEngine::MakePathFromTemplate($arParams["WEBDAV_TASK_URL"], array("ELEMENT_ID" => $res["ID"], "ID" => $val["ID"])); $url = WDAddPageParams($url, array("back_url" => urlencode($GLOBALS['APPLICATION']->GetCurPageParam())), false); $tmp[] = '<a href="' . $url . '">' . $val["NAME"] . '</a>'; } $aColss["BIZPROC"] .= '<div class="bizproc-tasks">' . implode(", ", $tmp) . '</div>'; } } else { $arTasks = array(); $bInprogress = false; $tmp = array(); foreach ($arDocumentStates as $key => $arDocumentState) { $arTasksWorkflow = CBPDocument::GetUserTasksForWorkflow($GLOBALS["USER"]->GetID(), $arDocumentState["ID"]); if (!$bInprogress) { $bInprogress = strlen($arDocumentState["ID"]) > 0 && strlen($arDocumentState["WORKFLOW_STATUS"]) > 0; } $tmp[$key] = '<li class="bizproc-item">' . '<div class="bizproc-item-title">' . '<div class="bizproc-statuses ' . (strlen($arDocumentState["ID"]) > 0 && strlen($arDocumentState["WORKFLOW_STATUS"]) > 0 ? 'bizproc-status-' . (empty($arTasksWorkflow) ? "inprogress" : "attention") : '') . '"></div>' . (!empty($arDocumentState["TEMPLATE_NAME"]) ? $arDocumentState["TEMPLATE_NAME"] : GetMessage("IBLIST_BP")) . '</div>' . '<div class="bizproc-item-title bizproc-state-title">' . (strlen($arDocumentState["STATE_TITLE"]) > 0 ? $arDocumentState["STATE_TITLE"] : $arDocumentState["STATE_NAME"]) . '</div>'; if (!empty($arTasksWorkflow)) { $tmp_tasks = array(); foreach ($arTasksWorkflow as $val) { $url = CComponentEngine::MakePathFromTemplate($arParams["WEBDAV_TASK_URL"], array("ELEMENT_ID" => $res["ID"], "ID" => $val["ID"])); $url = WDAddPageParams($url, array("back_url" => urlencode($GLOBALS['APPLICATION']->GetCurPageParam())), false); $tmp_tasks[] = '<a href="' . $url . '">' . $val["NAME"] . '</a>'; $arTasks[] = $val; } $tmp[$key] .= '<div class="bizproc-tasks">' . implode(", ", $tmp_tasks) . '</div>'; } $tmp[$key] .= '</li>'; } $aColss["BIZPROC"] = '<span class="bizproc-item-title">' . GetMessage("WD_BP_R_P") . ': <a href="' . $res["URL"]["BP"] . '" title="' . GetMessage("WD_BP_R_P_TITLE") . '">' . count($arDocumentStates) . '</a>' . '</span>' . (!empty($arTasks) ? '<br /><span class="bizproc-item-title">' . GetMessage("WD_TASKS") . ': <a href="' . $res["URL"]["BP_TASK"] . '" title="' . GetMessage("WD_TASKS_TITLE") . '">' . count($arTasks) . '</a></span>' : ''); $aCols["NAME"]['bizproc'] = "<div class=\"element-bizproc-status bizproc-statuses " . ($bInprogress ? ' bizproc-status-' . (empty($arTasks) ? "inprogress" : "attention") : '') . "\" onmouseover='BX.hint(this, \"" . addslashes($aColss['BIZPROC']) . "\")'></div>"; } $aCols['BIZPROC'] = $aColss['BIZPROC']; } } $aCols["ACTIVE"] = $res["ACTIVE"] == "Y" ? GetMessage("WD_Y") : GetMessage("WD_N"); $aCols["TIMESTAMP_X"] = "<div class='wd_column_date'>" . FormatDate('X', MakeTimeStamp($res["TIMESTAMP_X"])) . "</div>"; $aCols["DATE_CREATE"] = "<div class='wd_column_date'>" . FormatDate('X', MakeTimeStamp($res["DATE_CREATE"])) . "</div>"; $sName = ''; $sRating = ''; if ($res['TYPE'] != 'S') { if ($arParams["SHOW_RATING"] == 'Y' && $arParams["RATING_TAG"] == 'Y') { $sRating = "#RATING#"; } $aCols["NAME"] = $aCols["NAME"]["hint"] . "<div class=\"element-name\">" . $aCols["NAME"]["icon"] . $aCols["NAME"]["shared"] . "<div class=\"element-name-wrapper\">" . $aCols["NAME"]["name"] . $aCols["NAME"]["version"] . CWebDavExtLinks::$icoRepStr . $aCols["NAME"]["comments"] . $sRating . $aCols["NAME"]["status"] . "</div>" . $aCols["NAME"]["bizproc"] . "</div>"; } if ($bTheFirstTimeonPage == true && $res["PERMISSION"] >= "U") { $bTheFirstTimeonPage = false; ?> <script> try { if (/*@cc_on ! @*/ false && new ActiveXObject("SharePoint.OpenDocuments.2")) { BX.ready( function() { setTimeout( function () { try { var res = document.getElementsByTagName("A"); for (var ii = 0; ii < res.length; ii++) { if (res[ii].className.indexOf("element-edit-office") >= 0) { res[ii].style.display = 'block'; } } } catch(e) {} } , 10 ) } ); } } catch(e) {} BX.message({ 'wd_desktop_disk_is_installed': '<?php echo (bool) CWebDavTools::isDesktopDiskInstall(); ?> ' }); </script> <?php } return array("actions" => $arActions, "columns" => $aCols); }
LocalRedirect($url); } } /******************************************************************** / Actions ********************************************************************/ /******************************************************************** Data ********************************************************************/ $oFile = $ob->GetIo()->GetFile($ob->GetIo()->CombinePath($ob->real_path_full, $arElement["ID"])); $arElement["FILE_SIZE"] = $oFile->GetFileSize(); __parse_file_size($arElement, $arResult["ELEMENT"]); $arResult["ELEMENT"]["BASE_NAME"] = str_replace($arResult["ELEMENT"]["EXTENTION"], "", $arResult["ELEMENT"]["NAME"]); $arResult["ELEMENT"]["~TIMESTAMP_X"] = $oFile->GetModificationTime() + CTimeZone::GetOffset(); $arResult["ELEMENT"]["TIMESTAMP_X"] = ConvertTimeStamp($arResult["ELEMENT"]["~TIMESTAMP_X"], "FULL"); $arResult["ELEMENT"]["URL"] = array("THIS" => CComponentEngine::MakePathFromTemplate($arParams["SECTIONS_URL"], array("PATH" => implode("/", $arResult["NAV_CHAIN"]))), "~THIS" => CComponentEngine::MakePathFromTemplate($arParams["~SECTIONS_URL"], array("PATH" => implode("/", $arResult["NAV_CHAIN"]))), "UPLOAD" => CComponentEngine::MakePathFromTemplate($arParams["UPLOAD_URL"], array("PATH" => implode("/", array_map('urlencode', $arResult["NAV_CHAIN"])))), "DELETE" => WDAddPageParams(CComponentEngine::MakePathFromTemplate($arParams["ELEMENT_EDIT_URL"], array("PATH" => implode("/", $arResult["NAV_CHAIN"]), "ACTION" => "DELETE")), array("edit" => "y", "sessid" => bitrix_sessid()))); /******************************************************************** / Data ********************************************************************/ } $this->IncludeComponentTemplate(); /******************************************************************** Standart operations ********************************************************************/ if ($arParams["SET_TITLE"] == "Y") { $APPLICATION->SetTitle(GetMessage("WD_TITLE")); } if ($arParams["SET_NAV_CHAIN"] == "Y") { $arNavChain = array(); foreach ($arResult['NAV_CHAIN'] as $res) { $arNavChain[] = $res;
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } $arResult["ELEMENT"]["URL"]["~DOWNLOAD"] = $arResult["ELEMENT"]["URL"]["DOWNLOAD"]; if (!isset($arParams["THUMB_SIZE"]) && isset($_REQUEST["size"])) { $arParams["THUMB_SIZE"] = $_REQUEST["size"] > 0 && $_REQUEST["size"] < 600 ? $_REQUEST["size"] : 600; } if (isset($arParams["THUMB_SIZE"])) { if (CFile::IsImage($arResult["ELEMENT"]['NAME'], $arResult["ELEMENT"]['FILE']["CONTENT_TYPE"])) { CFile::ScaleImage($arResult["ELEMENT"]["FILE"]["WIDTH"], $arResult["ELEMENT"]["FILE"]["HEIGHT"], array("width" => $arParams["THUMB_SIZE"], "height" => $arParams["THUMB_SIZE"]), BX_RESIZE_IMAGE_PROPORTIONAL, $bNeedCreatePicture, $arSourceSize, $arDestinationSize); if ($bNeedCreatePicture) { $arResult["ELEMENT"]["original"] = array("src" => $arResult["ELEMENT"]["URL"]["DOWNLOAD"], "width" => $arResult["ELEMENT"]["FILE"]["WIDTH"], "height" => $arResult["ELEMENT"]["FILE"]["HEIGHT"]); $arResult["ELEMENT"]["FILE"]["WIDTH"] = $arDestinationSize["width"]; $arResult["ELEMENT"]["FILE"]["HEIGHT"] = $arDestinationSize["height"]; $arResult["ELEMENT"]["URL"]["DOWNLOAD"] = WDAddPageParams($arResult["ELEMENT"]["URL"]["DOWNLOAD"], array("cache_image" => "Y", "width" => $arParams["THUMB_SIZE"], "height" => $arParams["THUMB_SIZE"])); } } }
<?php if (!isset($_REQUEST['AJAX'])) { // set title buttons $this->SetViewTarget("pagetitle", 100); ?> <div id='wd-aggregator-buttons'> <?php if ($GLOBALS['USER']->IsAdmin()) { $sNewFolderPath = $APPLICATION->GetCurPage(false); while (!is_dir(str_replace(array("///", "//"), "/", $_SERVER['DOCUMENT_ROOT'] . $sNewFolderPath))) { $sNewFolderPath = implode('/', array_slice(explode('/', $sNewFolderPath), 0, -1)); } if (strlen($sNewFolderPath) > 0 && substr($sNewFolderPath, -1, 1) !== '/') { $sNewFolderPath .= '/'; } $urlCreateLibrary = $APPLICATION->GetPopupLink(array('URL' => WDAddPageParams('/bitrix/admin/public_file_new.php', array('wiz_template' => 'library', 'lang' => LANGUAGE_ID, 'site' => LANG, 'newFolder' => 'Y', 'path' => $sNewFolderPath, 'back_url' => $APPLICATION->GetCurPage())))); //$urlCreateStorage = $APPLICATION->GetPopupLink(array('URL' => WDAddPageParams('/bitrix/admin/public_file_new.php', array( //'wiz_template'=>'library', //'lang'=>LANGUAGE_ID, //'site'=>LANG, //'mode'=>'folder', //'newFolder'=>'Y', //'path'=>$APPLICATION->GetCurPage(false), //'back_url'=>$APPLICATION->GetCurPage() //)))); ?> <a href="#" onclick="javascript:<?php echo $urlCreateLibrary; ?> " class="button-add"><span class="icon"></span><?php echo GetMessage('WD_AG_ADD_LIBRARY');