Exemplo n.º 1
0
 function DEMO_Sale_AddMenuItem($menuFile, $menuItem)
 {
     if (CModule::IncludeModule('fileman')) {
         $arResult = CFileMan::GetMenuArray($_SERVER["DOCUMENT_ROOT"] . $menuFile);
         $arMenuItems = $arResult["aMenuLinks"];
         $menuTemplate = $arResult["sMenuTemplate"];
         $bFound = false;
         foreach ($arMenuItems as $item) {
             if ($item[1] == $menuItem[1]) {
                 $bFound = true;
             }
         }
         if (!$bFound) {
             $arMenuItems[] = $menuItem;
             CFileMan::SaveMenu(array($arParams["site_id"], $menuFile), $arMenuItems, $menuTemplate);
         }
     }
 }
Exemplo n.º 2
0
         $arGroups = $arEditGroups;
     }
     //write permissions
     if ($arGroups !== false) {
         $arPermission = array("*" => "D");
         foreach ($arGroups as $group) {
             $arPermission[$group] = 'X';
         }
         $APPLICATION->SetFileAccessPermission(array($site, rtrim($path, "/") . "/" . $fileName), $arPermission);
     }
 }
 $relativePath = rtrim($path, "/") . "/" . $fileName . ($createNewFolder ? "/" : "");
 //Save menu
 if ($addToMenu && array_key_exists($menuType, $arMenu) && CModule::IncludeModule("fileman")) {
     $menuFile = $arMenu[$menuType]["ACTUAL_FILE"];
     $arResult = CFileMan::GetMenuArray($documentRoot . $menuFile);
     $arMenuItems = $arResult["aMenuLinks"];
     $menuTemplate = $arResult["sMenuTemplate"];
     if ($menuItemPosition > count($arMenuItems)) {
         $menuItemPosition = 0;
     }
     //move to the right all items greater current item
     for ($i = count($arMenuItems) - 1; $i >= $menuItemPosition; $i--) {
         $arMenuItems[$i + 1] = $arMenuItems[$i];
     }
     $arMenuItems[$menuItemPosition] = array($menuName, $relativePath, array(), array(), "");
     CFileMan::SaveMenu(array($site, $menuFile), $arMenuItems, $menuTemplate);
     $arUndoParams['arContent']['menu'] = array('menuFile' => $menuFile, 'menuName' => $menuName, 'menuPath' => $relativePath);
     if (COption::GetOptionString($module_id, "log_page", "Y") == "Y") {
         $mt = COption::GetOptionString("fileman", "menutypes", $default_value, $site);
         $mt = unserialize(str_replace("\\", "", $mt));
Exemplo n.º 3
0
        echo bitrix_sessid_post();
        ?>

<?php 
        $aTabs = array(array("DIV" => "edit1", "TAB" => GetMessage("FILEMAN_TAB1"), "ICON" => "fileman", "TITLE" => GetMessage("FILEMAN_TAB1_ALT")));
        $tabControl = new CAdminTabControl("tabControl", $aTabs);
        $tabControl->Begin();
        ?>

<?php 
        $tabControl->BeginNextTab();
        ?>

	<?php 
        if ($bEdit && strlen($strWarning) <= 0) {
            $res = CFileMan::GetMenuArray($abs_path);
            $aMenuLinksTmp = $res["aMenuLinks"];
            $sMenuTemplateTmp = $res["sMenuTemplate"];
        }
        if (!is_array($aMenuLinksTmp)) {
            $aMenuLinksTmp = array();
        }
        ?>

	<tr>
		<td><?php 
        echo GetMessage("FILEMAN_MENU_EDIT_TYPE");
        ?>
</td>
		<td>
			<script>
Exemplo n.º 4
0
		<td><?php 
        echo GetMessage("FILEMAN_H_EDIT_TMENU");
        ?>
</td>
		<td>
			<select id="menutype" name="menutype" onChange="chtyp()">
			<?php 
        $armt = GetMenuTypes($site);
        $arAllItems = array();
        $strSelected = "";
        foreach ($armt as $key => $title) {
            if (!$USER->CanDoFileOperation('fm_edit_existent_file', array($site, $__fd_path . "/." . $key . ".menu.php"))) {
                continue;
            }
            $arItems = array();
            $res = CFileMan::GetMenuArray($DOC_ROOT . $__fd_path . "/." . $key . ".menu.php");
            $aMenuLinksTmp = $res["aMenuLinks"];
            if (!is_array($aMenuLinksTmp)) {
                $aMenuLinksTmp = array();
            }
            $itemcnt = 0;
            $cntMenu = count($aMenuLinksTmp);
            for ($j = 0; $j < $cntMenu; $j++) {
                $aMenuLinksItem = $aMenuLinksTmp[$j];
                $arItems[] = htmlspecialcharsbx($aMenuLinksItem[0]);
            }
            $arAllItems[$key] = $arItems;
            if ($strSelected == "") {
                $strSelected = $key;
            }
            ?>
Exemplo n.º 5
0
 function GetMenuTypes($site, $path, $bEchoResult = false)
 {
     global $USER, $APPLICATION;
     if (!CModule::IncludeModule("fileman")) {
         return $APPLICATION->ThrowException(GetMessage("BX_FD_NO_FILEMAN"));
     }
     $path = Rel2Abs("/", $APPLICATION->UnJSEscape($path));
     $path = CFileMan::SecurePathVar($path);
     $path = rtrim($path, " /\\");
     $armt = GetMenuTypes($site);
     $arAllItems = array();
     $arMenuTypes = array();
     $strSelected = "";
     $DOC_ROOT = CSite::GetSiteDocRoot($site);
     foreach ($armt as $key => $title) {
         $menuname = $path . "/." . $key . ".menu.php";
         if (!$USER->CanDoFileOperation('fm_view_file', array($site, $menuname))) {
             continue;
         }
         $arItems = array();
         $res = CFileMan::GetMenuArray($DOC_ROOT . $menuname);
         $aMenuLinksTmp = $res["aMenuLinks"];
         $itemcnt = 0;
         for ($j = 0; $j < count($aMenuLinksTmp); $j++) {
             $aMenuLinksItem = $aMenuLinksTmp[$j];
             $arItems[] = htmlspecialcharsbx($aMenuLinksItem[0]);
         }
         $arAllItems[$key] = $arItems;
         if ($strSelected == "") {
             $strSelected = $key;
         }
         $arMenuTypes[] = array('key' => $key, 'title' => $title . " [" . $key . "]");
     }
     $arTypes = array_keys($arAllItems);
     $strTypes = "";
     $strItems = "";
     for ($i = 0; $i < count($arTypes); $i++) {
         if ($i > 0) {
             $strTypes .= ",";
             $strItems .= ",";
         }
         $strTypes .= "'" . CUtil::JSEscape($arTypes[$i]) . "'";
         $arItems = $arAllItems[$arTypes[$i]];
         $strItems .= "[";
         for ($j = 0; $j < count($arItems); $j++) {
             if ($j > 0) {
                 $strItems .= ",";
             }
             $strItems .= "'" . CUtil::JSEscape($arItems[$j]) . "'";
         }
         $strItems .= "]";
     }
     $scriptRes = "\n" . 'arFDMenuTypes["' . CUtil::JSEscape($path) . '"] = {types: [' . $strTypes . '], items: [' . $strItems . ']};' . "\n";
     if ($bEchoResult) {
         echo $scriptRes;
     } else {
         return array($arMenuTypes, $scriptRes, $arAllItems[$strSelected]);
     }
 }
Exemplo n.º 6
0
 private function AddMenuItem()
 {
     //Add menu Item
     $MenuFolderPath = $this->IO->CombinePath("/", '/services/');
     $MenuFilePath = $this->IO->CombinePath($MenuFolderPath, ".left.menu.php");
     $AbsMenuFilePath = $this->IO->CombinePath($this->DOCUMENT_ROOT, $MenuFilePath);
     if ($this->IO->FileExists($AbsMenuFilePath)) {
         $MenuResource = CFileMan::GetMenuArray($AbsMenuFilePath);
         $arMenuItems = $MenuResource["aMenuLinks"];
         $bAddMenuItem = true;
         foreach ($arMenuItems as $MenuItem) {
             if (in_array($MenuItem[1], array($this->PublicDir, $this->PublicDir . "index.php"))) {
                 $bAddMenuItem = false;
                 break;
             }
         }
         if ($bAddMenuItem) {
             $arMenuItems[] = array(GetMessage("IDEA_PUBLIC_FILE_MENU_TITLE"), $this->PublicDir, array(), array(), "CBXFeatures::IsFeatureEnabled('Idea')");
             CFileMan::SaveMenu(array($this->SITE_ID, $MenuFilePath), $arMenuItems, "");
         }
     }
 }
Exemplo n.º 7
0
    $arXMLID = array("meeting_rooms_" . $site => '#RESERVE_MEETING_IBLOCK_ID#', "video-meeting_" . $site => '#RESERVE_VMEETING_IBLOCK_ID#');
    $rsIBlock = CIBlock::GetList(array(), array("XML_ID" => array_keys($arXMLID), "TYPE" => "events"));
    while ($arIBlock = $rsIBlock->Fetch()) {
        $arReplace[$arXMLID[$arIBlock['XML_ID']]] = $arIBlock['ID'];
    }
}
if ($io->CreateDirectory($absPath)) {
    $c = str_replace(array_keys($arReplace), array_values($arReplace), file_get_contents(dirname(__FILE__) . "/public/index.php"));
    if ($f = $io->GetFile($absFile)) {
        $f->PutContents($c);
        CUrlRewriter::Add(array('CONDITION' => '#^' . $meeting_folder . '/#', 'RULE' => '', 'ID' => 'bitrix:meetings', 'PATH' => $meeting_folder . '/' . $fileName));
    }
    if (CModule::IncludeModule('fileman')) {
        $absMenuFile = $absMenuPath . '/.left.menu.php';
        $menuFile = $menuFolder . '/.left.menu.php';
        $arResult = CFileMan::GetMenuArray($absMenuFile);
        $arMenuItems = $arResult["aMenuLinks"];
        $menuTemplate = $arResult["sMenuTemplate"];
        $menuItemPosition = 1;
        foreach ($arMenuItems as $item) {
            if ($item[0] == GetMessage('MEETING_MODULE_NAME') || $item[1] == $meeting_folder . '/') {
                $menuItemPosition = -1;
                break;
            }
        }
        if ($menuItemPosition > 0) {
            if ($menuItemPosition > count($arMenuItems)) {
                $menuItemPosition = 0;
            }
            for ($i = count($arMenuItems) - 1; $i >= $menuItemPosition; $i--) {
                $arMenuItems[$i + 1] = $arMenuItems[$i];
Exemplo n.º 8
0
 function AddMenuItem($menuFile, $menuItem, $siteID, $pos = -1)
 {
     if (CModule::IncludeModule('fileman')) {
         $arResult = CFileMan::GetMenuArray($_SERVER["DOCUMENT_ROOT"] . $menuFile);
         $arMenuItems = $arResult["aMenuLinks"];
         $menuTemplate = $arResult["sMenuTemplate"];
         $bFound = false;
         foreach ($arMenuItems as $item) {
             if ($item[1] == $menuItem[1]) {
                 $bFound = true;
             }
         }
         if (!$bFound) {
             if ($pos < 0 || $pos >= count($arMenuItems)) {
                 $arMenuItems[] = $menuItem;
             } else {
                 for ($i = count($arMenuItems); $i > $pos; $i--) {
                     $arMenuItems[$i] = $arMenuItems[$i - 1];
                 }
                 $arMenuItems[$pos] = $menuItem;
             }
             CFileMan::SaveMenu(array($siteID, $menuFile), $arMenuItems, $menuTemplate);
         }
     }
 }
Exemplo n.º 9
0
 if (strlen($foldername) <= 0) {
     $strWarning = GetMessage("FILEMAN_NEWFOLDER_ENTER_NAME");
 } elseif (($mess = CFileMan::CheckFileName($foldername)) !== true) {
     $strWarning = $mess;
 } else {
     $pathto = $io->CombinePath("/", $path, $foldername);
     if ($io->FileExists($DOC_ROOT . $pathto) || $io->DirectoryExists($DOC_ROOT . $pathto)) {
         $strWarning = GetMessage("FILEMAN_NEWFOLDER_EXISTS");
     } else {
         $strWarning = CFileMan::CreateDir(array($site, $pathto));
         if (strlen($strWarning) <= 0) {
             if ($USER->CanDoFileOperation('fm_add_to_menu', $arPath) && $USER->CanDoOperation('fileman_add_element_to_menu') && $mkmenu == "Y" && $bMenuTypeExists) {
                 $arParsedPathTmp = CFileMan::ParsePath(array($site, $pathto), true, false, "", $logical == "Y");
                 $menu_path = $arParsedPathTmp["PREV"] . "/." . $menutype . ".menu.php";
                 if ($USER->CanDoFileOperation('fm_view_file', array($site, $menu_path))) {
                     $res = CFileMan::GetMenuArray($DOC_ROOT . $menu_path);
                     $aMenuLinksTmp = $res["aMenuLinks"];
                     $sMenuTemplateTmp = $res["sMenuTemplate"];
                     $aMenuLinksTmp[] = array($menuname, $arParsedPathTmp["PREV"] . "/" . $arParsedPathTmp["LAST"] . "/", array(), array(), "");
                     CFileMan::SaveMenu(array($site, $menu_path), $aMenuLinksTmp, $sMenuTemplateTmp);
                     if (COption::GetOptionString($module_id, "log_menu", "Y") == "Y") {
                         $mt = COption::GetOptionString("fileman", "menutypes", $default_value, $site);
                         $mt = unserialize(str_replace("\\", "", $mt));
                         $res_log['menu_name'] = $mt[$menutype];
                         $res_log['path'] = substr($path, 1);
                         CEventLog::Log("content", "MENU_EDIT", "fileman", "", serialize($res_log));
                     }
                 }
             }
             if (strlen($sectionname) > 0) {
                 if (COption::GetOptionString($module_id, "log_page", "Y") == "Y") {