コード例 #1
0
 function __wd_get_root_section($IBLOCK_ID, $object, $object_id)
 {
     $result = CIBlockWebdavSocnet::GetSectionID($IBLOCK_ID, $object, $object_id);
     if (intval($result) > 0) {
         return $result;
     } else {
         __wd_check_uf_use_bp_property($arParams["IBLOCK_ID"]);
         $arFields = array("IBLOCK_ID" => $IBLOCK_ID, "ACTIVE" => "Y", "SOCNET_GROUP_ID" => false, "IBLOCK_SECTION_ID" => 0, "UF_USE_BP" => "N");
         if ($object == "user") {
             $dbUser = CUser::GetByID($object_id);
             $arUser = $dbUser->Fetch();
             $arFields["NAME"] = trim($arUser['LAST_NAME'] . " " . $arUser['FIRST_NAME']);
             $arFields["NAME"] = trim(!empty($arFields["NAME"]) ? $arFields["NAME"] : $arUser['LOGIN']);
             $arFields['CREATED_BY'] = $arUser['ID'];
             $arFields['MODIFIED_BY'] = $arUser['ID'];
             if (CIBlock::GetArrayByID($IBLOCK_ID, "RIGHTS_MODE") === "E") {
                 $arTasks = CWebDavIblock::GetTasks();
                 $arFields['RIGHTS'] = array('n0' => array('GROUP_CODE' => 'U' . $object_id, 'TASK_ID' => $arTasks['X']));
             }
         } else {
             /*		$res = CSocNetGroup::GetByID($arResult["VARIABLES"]["group_id"]);
             				if (!$res)
             				{
             					$arParams["ERROR_MESSAGE"] = GetMessage("SONET_GROUP_NOT_EXISTS");
             					return 0;
             				} */
             $arFields["SOCNET_GROUP_ID"] = $object_id;
             //$arGroup = CSocNetGroup::GetByID($object_id);
             $arFields["NAME"] = GetMessage("SONET_GROUP_PREFIX") . $object_id;
             $dbGroup = CSocNetGroup::GetList(array(), array("ID" => (int) $object_id), false, false, array("ID", "SITE_ID", "NAME"));
             if ($arGroup = $dbGroup->Fetch()) {
                 $arFields["NAME"] = GetMessage("SONET_GROUP_PREFIX") . $arGroup["NAME"];
             }
             if (CIBlock::GetArrayByID($IBLOCK_ID, "RIGHTS_MODE") === "E") {
                 $arTasks = CWebDavIblock::GetTasks();
                 $arFields['RIGHTS'] = array('n0' => array('GROUP_CODE' => 'SG' . $arFields["SOCNET_GROUP_ID"] . '_A', 'TASK_ID' => $arTasks['X']), 'n1' => array('GROUP_CODE' => 'SG' . $arFields["SOCNET_GROUP_ID"] . '_E', 'TASK_ID' => $arTasks['W']), 'n2' => array('GROUP_CODE' => 'SG' . $arFields["SOCNET_GROUP_ID"] . '_K', 'TASK_ID' => $arTasks['W']));
             }
         }
         if (\Bitrix\Main\Config\Option::get('disk', 'successfully_converted', false) && CModule::includeModule('disk')) {
             \Bitrix\Disk\Driver::getInstance()->addGroupStorage($arFields["SOCNET_GROUP_ID"]);
         }
         $GLOBALS["UF_USE_BP"] = $arFields["UF_USE_BP"];
         $GLOBALS["USER_FIELD_MANAGER"]->EditFormAddFields("IBLOCK_" . $IBLOCK_ID . "_SECTION", $arFields);
         $bs = new CIBlockSection();
         $sectionID = $bs->Add($arFields);
         if (!$sectionID) {
             $arParams["ERROR_MESSAGE"] = $bs->LAST_ERROR;
             return 0;
         }
         WDClearComponentCache(array("webdav.element.edit", "webdav.element.hist", "webdav.element.upload", "webdav.element.view", "webdav.menu", "webdav.section.edit", "webdav.section.list"));
         return true;
         /*
         	if ($ob->workflow == 'bizproc')
         	{
         		__wd_create_default_bp_user_and_groups($arBizProcParameters);
         	}
         */
     }
 }
コード例 #2
0
ファイル: action.php プロジェクト: mrdeadmouse/u136006
        if (intVal($result) != 204) {
            $aMsg[] = array("id" => "ELEMENTS[S][" . $section_id . "]", "text" => GetMessage("WD_ERROR_UNDELETE"));
        }
    }
    foreach ($_REQUEST["ELEMENTS"]["E"] as $element_id) {
        $result = $ob->Undelete(array("element_id" => $element_id));
        if (intVal($result) != 204) {
            $aMsg[] = array("id" => "ELEMENTS[E][" . $element_id . "]", "text" => GetMessage("WD_ERROR_UNDELETE"));
        }
    }
    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"])) {
コード例 #3
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if ($arParams['OBJECT']->CheckRight($arResult["VARIABLES"]["PERMISSION"], "iblock_rights_edit") < "W") {
    ShowError(GetMessage('WD_ACCESS_DENIED'));
    return false;
}
if ($_SERVER['REQUEST_METHOD'] == "POST" && check_bitrix_sessid()) {
    WDClearComponentCache(array("webdav.section.list", "webdav.menu"));
}
$APPLICATION->IncludeComponent("bitrix:bizproc.workflow.edit", "", array("MODULE_ID" => "webdav", "ENTITY" => ENTITY, "DOCUMENT_TYPE" => DOCUMENT_TYPE, "ID" => $arResult['VARIABLES']['ID'], "EDIT_PAGE_TEMPLATE" => $arResult["URL_TEMPLATES"]["webdav_bizproc_workflow_edit"], "LIST_PAGE_URL" => $arResult['URL_TEMPLATES']['webdav_bizproc_workflow_admin'], "SHOW_TOOLBAR" => "Y", "SET_TITLE" => $arParams["SET_TITLE"]));
コード例 #4
0
ファイル: webdavstorage.php プロジェクト: DarneoStudio/bitrix
 protected function clearCache()
 {
     WDClearComponentCache(array('webdav.element.edit', 'webdav.element.hist', 'webdav.element.upload', 'webdav.element.view', 'webdav.menu', 'webdav.section.edit', 'webdav.section.list'));
 }
コード例 #5
0
ファイル: iblock.php プロジェクト: mrdeadmouse/u136006
 public static function getRootSectionIdForUser($iblockId, $userId)
 {
     global $USER_FIELD_MANAGER;
     global $UF_USE_BP;
     $result = CIBlockWebdavSocnet::getSectionId($iblockId, 'user', $userId);
     if (($result = intval($result)) > 0) {
         return $result;
     }
     $fields = array('IBLOCK_ID' => $iblockId, 'ACTIVE' => 'Y', 'SOCNET_GROUP_ID' => false, 'IBLOCK_SECTION_ID' => 0, 'UF_USE_BP' => 'N', 'UF_USE_EXT_SERVICES' => CWebDavIblock::resolveDefaultUseExtServices());
     $user = CUser::getById($userId)->fetch();
     if (empty($user)) {
         return false;
     }
     $fields['NAME'] = trim($user['LAST_NAME'] . ' ' . $user['FIRST_NAME']);
     $fields['NAME'] = trim(!empty($fields["NAME"]) ? $fields['NAME'] : $user['LOGIN']);
     $fields['CREATED_BY'] = $user['ID'];
     $fields['MODIFIED_BY'] = $user['ID'];
     if (CIBlock::GetArrayByID($iblockId, "RIGHTS_MODE") === "E") {
         $tasks = CWebDavIblock::GetTasks();
         $fields['RIGHTS'] = array('n0' => array('GROUP_CODE' => 'U' . $userId, 'TASK_ID' => $tasks['X']));
     }
     $UF_USE_BP = $fields['UF_USE_BP'];
     $USER_FIELD_MANAGER->editFormAddFields('IBLOCK_' . $iblockId . '_SECTION', $fields);
     $section = new CIBlockSection();
     $sectionId = $section->add($fields);
     if (!$sectionId) {
         return false;
     }
     WDClearComponentCache(array('webdav.element.edit', 'webdav.element.hist', 'webdav.element.upload', 'webdav.element.view', 'webdav.menu', 'webdav.section.edit', 'webdav.section.list'));
     return $sectionId;
 }