Esempio n. 1
0
 public static function GetList($bWithParameters = false, $arAllCurrentValues = false)
 {
     $arGadgets = array();
     $folders = array("/bitrix/gadgets", "/local/gadgets");
     foreach ($folders as $folder) {
         // Find all namespaces of gadgets
         $arGdNS = array("bitrix");
         $gdDir = $_SERVER["DOCUMENT_ROOT"] . $folder;
         if (is_dir($gdDir) && ($handle = opendir($gdDir))) {
             while (false !== ($item = readdir($handle))) {
                 if (is_dir($gdDir . "/" . $item) && $item != "." && $item != ".." && $item != "bitrix") {
                     $arGdNS[] = $item;
                 }
             }
             closedir($handle);
         }
         // Find all gadgets
         foreach ($arGdNS as $NS) {
             $gdDir = $_SERVER["DOCUMENT_ROOT"] . $folder . "/" . $NS;
             if (is_dir($gdDir) && ($handle = opendir($gdDir))) {
                 while (false !== ($file = readdir($handle))) {
                     if ($file == "." || $file == "..") {
                         continue;
                     }
                     $arGadgetParams = BXGadget::GetById($NS . "/" . $file, $bWithParameters, $arAllCurrentValues);
                     if ($arGadgetParams) {
                         $arGadgets[$file] = $arGadgetParams;
                     } else {
                         unset($arGadgets[$file]);
                     }
                 }
                 closedir($handle);
             }
         }
     }
     uasort($arGadgets, array("BXGadget", "_sort"));
     return $arGadgets;
 }
Esempio n. 2
0
                 $arUserOptions["GADGETS"][$gdid]["ROW"] = $ks[count($ks) - 1] + 1;
             }
             $arGadget["ID"] = $gdid;
             $arGadget["GADGET_ID"] = $arResult["GADGETS_LIST"][] = $gadget_id;
             $arGadget["TITLE"] = htmlspecialcharsbx($arGadget["NAME"]);
             $arGadget["SETTINGS"] = $arGadgetParams;
             if (is_array($arGadgetParams) && array_key_exists("TITLE_STD", $arGadgetParams) && strlen($arGadgetParams["TITLE_STD"]) > 0) {
                 $arGadget["TITLE"] = htmlspecialcharsbx($arGadgetParams["TITLE_STD"]);
             }
             $arGadget["HIDE"] = $gadgetUserSettings["HIDE"];
             if ($arParams["PERMISSION"] > "R") {
                 $arGadget["USERDATA"] =& $arUserOptions["GADGETS"][$gdid]["USERDATA"];
             } else {
                 $arGadget["USERDATA"] = $arUserOptions["GADGETS"][$gdid]["USERDATA"];
             }
             $arGadget["CONTENT"] = BXGadget::GetGadgetContent($arGadget, $arParams);
             $arResult["GADGETS"][$gadgetUserSettings["COLUMN"]][$gadgetUserSettings["ROW"]] = $arGadget;
             if ($arGadget["FORCE_REDIRECT"]) {
                 $bForceRedirect = true;
             }
         } else {
             unset($arUserOptions["GADGETS"][$gdid]);
         }
     }
 }
 for ($i = 0; $i < $arResult["COLS"]; $i++) {
     ksort($arResult["GADGETS"][$i], SORT_NUMERIC);
 }
 $arResult["GADGETS_LIST"] = array_unique($arResult["GADGETS_LIST"]);
 if ($bForceRedirect) {
     if ($arParams["MULTIPLE"] == "Y") {
Esempio n. 3
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
include_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/components/bitrix/desktop/include.php';
$arGadgetsFixed = array();
$arGadgets = BXGadget::GetList();
foreach ($arGadgets as $gd) {
    if ($gd["SU_ONLY"] == true || $gd["SG_ONLY"] == true) {
        continue;
    }
    if (!array_key_exists("CAN_BE_FIXED", $gd) || !$gd["CAN_BE_FIXED"]) {
        continue;
    }
    if ($gd["EXTRANET_ONLY"] == true && (!CModule::IncludeModule('extranet') || !CExtranet::IsExtranetSite($_REQUEST["src_site"]))) {
        continue;
    }
    if ($gd["SEARCH_ONLY"] == true && !IsModuleInstalled("search")) {
        continue;
    }
    if ($gd["FORUM_ONLY"] == true && !IsModuleInstalled("forum")) {
        continue;
    }
    if ($gd["BLOG_ONLY"] == true && !IsModuleInstalled("blog")) {
        continue;
    }
    if ($gd["PHOTOGALLERY_ONLY"] == true && !IsModuleInstalled("photogallery")) {
        continue;
    }
    if ($gd["WEBDAV_ONLY"] == true && !IsModuleInstalled("webdav")) {
Esempio n. 4
0
    }
    $arComponentParameters["PARAMETERS"]["NAME_TEMPLATE"] = array('TYPE' => 'LIST', 'NAME' => GetMessage('CMDESKTOP_PARAMS_NAME_TEMPLATE'), 'VALUES' => CComponentUtil::GetDefaultNameTemplates(), 'MULTIPLE' => 'N', 'ADDITIONAL_VALUES' => 'Y', 'DEFAULT' => '', 'PARENT' => 'ADDITIONAL_SETTINGS');
    $arComponentParameters["PARAMETERS"]["SHOW_LOGIN"] = array("NAME" => GetMessage("CMDESKTOP_PARAMS_SHOW_LOGIN"), "TYPE" => "CHECKBOX", "MULTIPLE" => "N", "VALUE" => "Y", "DEFAULT" => "Y", "PARENT" => "ADDITIONAL_SETTINGS");
    $arComponentParameters["PARAMETERS"]["DATE_TIME_FORMAT"] = CComponentUtil::GetDateTimeFormatField(GetMessage("CMDESKTOP_PARAMS_DATE_TIME_FORMAT"), 'ADDITIONAL_SETTINGS');
    $arComponentParameters["PARAMETERS"]["DATE_FORMAT"] = CComponentUtil::GetDateFormatField(GetMessage("CMDESKTOP_PARAMS_DATE_FORMAT"), 'ADDITIONAL_SETTINGS');
    $arComponentParameters["PARAMETERS"]["DATE_FORMAT_NO_YEAR"] = CComponentUtil::GetDateFormatField(GetMessage("CMDESKTOP_PARAMS_DATE_FORMAT_NO_YEAR"), 'ADDITIONAL_SETTINGS', true);
    $arComponentParameters["PARAMETERS"]["SHOW_YEAR"] = array("PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("CMDESKTOP_PARAMS_SHOW_YEAR"), "TYPE" => "LIST", "VALUES" => array("Y" => GetMessage("CMDESKTOP_PARAMS_SHOW_YEAR_VALUE_Y"), "M" => GetMessage("CMDESKTOP_PARAMS_SHOW_YEAR_VALUE_M"), "N" => GetMessage("CMDESKTOP_PARAMS_SHOW_YEAR_VALUE_N")), "MULTIPLE" => "N", "DEFAULT" => "M");
}
if ($arCurrentValues["COLUMNS"] > 0) {
    $d = intval(100 / $arCurrentValues["COLUMNS"]) . "%";
    for ($i = 0; $i < $arCurrentValues["COLUMNS"]; $i++) {
        $arComponentParameters["PARAMETERS"]["COLUMN_WIDTH_" . $i] = array("NAME" => GetMessage("CMDESKTOP_PARAMS_COLUMN_WITH") . " #" . ($i + 1), "PARENT" => "DATA_SOURCE", "TYPE" => "STRING", "DEFAULT" => $d);
    }
}
$arComponentParameters["PARAMETERS"]["GADGETS"] = array("NAME" => GetMessage("CMDESKTOP_PARAMS_GADGETS"), "TYPE" => "LIST", "DEFAULT" => "ALL", "PARENT" => "DATA_SOURCE", "MULTIPLE" => "Y", "SIZE" => "10", "REFRESH" => "Y", "VALUES" => array("ALL" => GetMessage("CMDESKTOP_PARAMS_GADGETS_ALL")));
$arGadgets = BXGadget::GetList(true, $arCurrentValues);
foreach ($arGadgets as $gd) {
    if ($gd["SU_ONLY"] == true || $gd["SG_ONLY"] == true) {
        continue;
    }
    if ($gd["EXTRANET_ONLY"] == true && (!CModule::IncludeModule('extranet') || !CExtranet::IsExtranetSite($_REQUEST["src_site"]))) {
        continue;
    }
    if ($gd["SEARCH_ONLY"] == true && !IsModuleInstalled("search")) {
        continue;
    }
    if ($gd["FORUM_ONLY"] == true && !IsModuleInstalled("forum")) {
        continue;
    }
    if ($gd["BLOG_ONLY"] == true && !IsModuleInstalled("blog")) {
        continue;
Esempio n. 5
0
                if (is_array($arUserOptions) && is_array($arUserOptions["GADGETS"]) && is_array($arUserOptions["GADGETS"][$gdid]) && is_array($arUserOptions["GADGETS"][$gdid]["SETTINGS"])) {
                    foreach ($arUserOptions["GADGETS"][$gdid]["SETTINGS"] as $p => $v) {
                        if (is_set($arGadgetParams, $p)) {
                            $arGadgetParams[$p]["VALUE"] = $v;
                        }
                    }
                }
                $arFormGadgetParams = $arGadgetParams;
                if ($_REQUEST["refresh"] == "Y") {
                    foreach ($_REQUEST as $key => $value) {
                        if (strpos($key, "GP_") === 0) {
                            $arFormGadgetParams[substr($key, 3)]["VALUE"] = $value;
                        }
                    }
                }
                $arGadget = BXGadget::GetById($gadget_id, true, $arFormGadgetParams);
                $arGadgetParams = $arGadget["USER_PARAMETERS"];
                if (is_array($arUserOptions) && is_array($arUserOptions["GADGETS"]) && is_array($arUserOptions["GADGETS"][$gdid]) && is_array($arUserOptions["GADGETS"][$gdid]["SETTINGS"])) {
                    foreach ($arUserOptions["GADGETS"][$gdid]["SETTINGS"] as $p => $v) {
                        if (is_set($arGadgetParams, $p) && !array_key_exists("GP_" . $p, $_REQUEST)) {
                            $arGadgetParams[$p]["VALUE"] = $v;
                        }
                    }
                }
                ?>
				<div class="bx-core-dialog-content">
				<form method="POST" name="frm_desktop_settings" id="frm_desktop_settings" action="<?php 
                echo $APPLICATION->GetCurPageParam("", array("refresh"));
                ?>
" enctype="multipart/form-data">
				<?php 
Esempio n. 6
0
 function GetList($bWithParameters = false, $arAllCurrentValues = false)
 {
     // Найдем все пространства имен гаджетов
     $arGdNS = array("bitrix");
     $gdDir = $_SERVER["DOCUMENT_ROOT"] . "/bitrix/gadgets";
     if ($handle = opendir($gdDir)) {
         while (false !== ($item = readdir($handle))) {
             if (is_dir($gdDir . "/" . $item) && $item != "." && $item != ".." && $item != "bitrix") {
                 $arGdNS[] = $item;
             }
         }
     }
     // В цикле найдем все гаджеты
     $arGadgets = array();
     foreach ($arGdNS as $NS) {
         $gdDir = $_SERVER["DOCUMENT_ROOT"] . "/bitrix/gadgets/" . $NS;
         if ($handle = opendir($gdDir)) {
             while (false !== ($file = readdir($handle))) {
                 if ($file == "." || $file == "..") {
                     continue;
                 }
                 $arGadgetParams = BXGadget::GetById($NS . "/" . $file, $bWithParameters, $arAllCurrentValues);
                 if ($arGadgetParams) {
                     $arGadgets[$file] = $arGadgetParams;
                 } else {
                     unset($arGadgets[$file]);
                 }
             }
             closedir($handle);
         }
     }
     uasort($arGadgets, array("BXGadget", "_sort"));
     return $arGadgets;
 }