Current Path : /var/www/html/clients/amz.e-nk.ru/bitrix/components/bitrix/desktop/ |
Current File : /var/www/html/clients/amz.e-nk.ru/bitrix/components/bitrix/desktop/include.php |
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); $path = str_replace(array("\\", "//"), "/", dirname(__FILE__)."/lang/".LANGUAGE_ID."/include.php"); __IncludeLang($path); function GDCSaveSettings($arParams, $POS) { if ($arParams["DEFAULT_ID"]) { $user_option_id = 0; $arUserOptionsDefault = CUserOptions::GetOption("intranet", "~gadgets_".$arParams["DEFAULT_ID"], false, $user_option_id); } else { $user_option_id = false; $arUserOptionsDefault = false; } $arUserOptions = CUserOptions::GetOption("intranet", "~gadgets_".$arParams["ID"], $arUserOptionsDefault, $user_option_id); if(!is_array($arUserOptions)) $arUserOptions = Array("GADGETS"=>Array()); $arNewUserOptions = Array("GADGETS"=>Array()); foreach($POS as $col=>$items) { foreach($items as $row=>$gdId) { if(substr($gdId, -2, 2) == "*H") { $gdId = substr($gdId, 0, -2); $bHided = true; } else $bHided = false; if(is_array($arUserOptions["GADGETS"][$gdId])) $arNewUserOptions["GADGETS"][$gdId] = $arUserOptions["GADGETS"][$gdId]; else $arNewUserOptions["GADGETS"][$gdId] = Array(); $arNewUserOptions["GADGETS"][$gdId]["COLUMN"] = $col; $arNewUserOptions["GADGETS"][$gdId]["ROW"] = $row; $arNewUserOptions["GADGETS"][$gdId]["HIDE"] = ($bHided?"Y":"N"); } } CUserOptions::SetOption("intranet", "~gadgets_".$arParams["ID"], $arNewUserOptions, false, $user_option_id); } function GDCGetGadgetObject($gdid, $arParams, $arGadgetParams, $bHide = false) { return $arGadget; } class BXGadget { function GetGadgetContent(&$arGadget, $arParams) { global $APPLICATION, $USER; if(file_exists($arGadget["PATH"]."/lang/".LANGUAGE_ID."/index.php")) __IncludeLang($arGadget["PATH"]."/lang/".LANGUAGE_ID."/index.php"); $arGadgetParams = $arGadget["SETTINGS"]; $id = $arGadget["ID"]; ob_start(); include($arGadget["PATH"]."/index.php"); $r = ob_get_contents(); ob_end_clean(); return $r; } 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; } function _sort($ar1, $ar2) { return strcmp($ar1["NAME"], $ar2["NAME"]); } function GetById($id, $bWithParameters = false, $arAllCurrentValues = false) { $id = strtolower($id); $arGdNS = Array("bitrix"); if(($p = strpos($id, "/"))>0) { $arGdNS = Array(substr($id, 0, $p)); $id = substr($id, $p+1); } else { // Íàéäåì âñå ïðîñòðàíñòâà èìåí ãàäæåòîâ $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; } } // Â öèêëå íàéäåì âñå ãàäæåòû $arGadget = false; foreach($arGdNS as $NS) { $gdDir = $_SERVER["DOCUMENT_ROOT"]."/bitrix/gadgets/".$NS; if(is_dir($gdDir."/".$id)) { $arDescription = Array(); if(file_exists($gdDir."/".$id."/lang/".LANGUAGE_ID."/.description.php")) __IncludeLang($gdDir."/".$id."/lang/".LANGUAGE_ID."/.description.php"); if(!file_exists($gdDir."/".$id."/.description.php")) continue; if(!@include($gdDir."/".$id."/.description.php")) { $arGadget = false; continue; } if(isset($arDescription["LANG_ONLY"]) && $arDescription["LANG_ONLY"]!=LANGUAGE_ID) { $arGadget = false; continue; } if($bWithParameters) { $arCurrentValues = Array(); if(is_array($arAllCurrentValues)) { foreach($arAllCurrentValues as $k=>$v) { $pref = "G_".strtoupper($id)."_"; if(substr($k, 0, strlen($pref)) == $pref) $arCurrentValues[substr($k, strlen($pref))] = $v; else { $pref = "GU_".strtoupper($id)."_"; if(substr($k, 0, strlen($pref)) == $pref) $arCurrentValues[substr($k, strlen($pref))] = $v; } } } if(file_exists($gdDir."/".$id."/lang/".LANGUAGE_ID."/.parameters.php")) __IncludeLang($gdDir."/".$id."/lang/".LANGUAGE_ID."/.parameters.php"); $arParameters = Array(); if(file_exists($gdDir."/".$id."/.parameters.php")) include($gdDir."/".$id."/.parameters.php"); $arDescription["PARAMETERS"] = $arParameters["PARAMETERS"]; $arDescription["USER_PARAMETERS"] = array( "TITLE_STD" => Array( "NAME" => GetMessage("CMDESKTOP_UP_TITLE_STD"), "TYPE" => "STRING", "DEFAULT" => "" ) ); if (array_key_exists("USER_PARAMETERS", $arParameters) && is_array($arParameters["USER_PARAMETERS"])) $arDescription["USER_PARAMETERS"] = array_merge($arDescription["USER_PARAMETERS"], $arParameters["USER_PARAMETERS"]); } $arDescription["PATH"] = $gdDir."/".$id; $arDescription["ID"] = strtoupper($id); if($arDescription["ICON"] && substr($arDescription["ICON"], 0, 1)!="/") $arDescription["ICON"] = "/bitrix/gadgets/".$NS."/".$id."/".$arDescription["ICON"]; unset($arDescription["NOPARAMS"]); $arGadget = $arDescription; } } return $arGadget; } } ?>