83 foreach($menu as $item)
85 if(isset($item[
"items"]) && is_array($item[
"items"]) && !empty($item[
"items"]))
87 if($item[
"items_id"] == $items_id)
88 return $item[
"items"];
101 if(!empty(
$aUserOpt[
"start_menu_links"]))
102 $nLinks = intval(
$aUserOpt[
"start_menu_links"]);
108 if(($pos = array_search($aLink, $aRecent)) !==
false)
109 unset($aRecent[$pos]);
110 array_unshift($aRecent, $aLink);
111 $aRecent = array_slice($aRecent, 0, $nLinks);
125 if(!is_array($aSubmenu) || empty($aSubmenu))
139 if(!is_array($aSubmenu) || empty($aSubmenu))
157 "TEXT"=>$menu[
"text"],
158 "TITLE"=>((
$aUserOpt[
'start_menu_title'] ??
null) <>
'N'? ($menu[
"title"] ??
'').
' '.
GetMessage(
"get_start_menu_dbl") :
''),
159 "GLOBAL_ICON"=>
'adm-menu-'.$menu[
"menu_id"],
160 "LINK"=> isset($menu[
'url']) && $menu[
'url'] ?
'/bitrix/admin/'.$menu[
'url'] :
'',
166 if(
$USER->CanDoOperation(
'edit_own_profile') ||
$USER->CanDoOperation(
'edit_other_settings') ||
$USER->CanDoOperation(
'view_other_settings'))
171 "TITLE"=>((
$aUserOpt[
'start_menu_title'] ??
null) <>
'N'?
GetMessage(
"get_start_menu_add_fav_title"):
''),
172 "ACTION"=>
"BX.admin.startMenuFavAdd(".(!empty(
$_REQUEST[
"back_url_pub"]) ?
"'".CUtil::JSEscape(
$_REQUEST[
"back_url_pub"]).
"'":
"").
");"
176 "TITLE"=>((
$aUserOpt[
'start_menu_title'] ??
null) <>
'N'?
GetMessage(
"get_start_menu_org_fav_title"):
''),
177 "LINK"=>
BX_ROOT.
"/admin/favorite_list.php?lang=".LANGUAGE_ID.
"&back_url_pub=".urlencode(
$_REQUEST[
"back_url_pub"] ??
'')
181 $aFav[1][
"ONCLICK"] =
'BX.admin.startMenuRecent(' . Json::encode($aFav[1]) .
')';
185 while($db_fav_arr = $db_fav->Fetch())
187 if($db_fav_arr[
"COMMON"] ==
"Y" && $db_fav_arr[
"MODULE_ID"] <>
"" &&
$APPLICATION->GetGroupRight($db_fav_arr[
"MODULE_ID"]) <
"R")
190 if($db_fav_arr[
"COMMON"] <> $prevCommon)
192 $aFav[] =
array(
"SEPARATOR"=>
true);
193 $prevCommon = $db_fav_arr[
"COMMON"];
199 $sTitle = $db_fav_arr[
"COMMENTS"];
200 $sTitle = (mb_strlen($sTitle) > 100? mb_substr($sTitle, 0, 100).
"..." : $sTitle);
201 $sTitle = str_replace(
"\r\n",
"\n", $sTitle);
202 $sTitle = str_replace(
"\r",
"\n", $sTitle);
203 $sTitle = str_replace(
"\n",
" ", $sTitle);
211 if ($db_fav_arr[
"URL"])
213 $aItem[
"LINK"] = $db_fav_arr[
"URL"];
215 if (!preg_match(
'/^(http:|https:|\/)/i', $aItem[
"LINK"]))
217 $aItem[
"LINK"] =
'/bitrix/admin/'.$aItem[
"LINK"];
220 $aItem[
"ONCLICK"] =
'BX.admin.startMenuRecent(' . Json::encode($aItem) .
')';
223 if ($db_fav_arr[
'MENU_ID'])
227 if(!is_array($aSubmenu) || empty($aSubmenu))
229 $aItem[
"MENU_URL"] =
'/bitrix/admin/get_start_menu.php?mode=dynamic&lang='.LANGUAGE_ID.
'&admin_mnu_module_id='.urlencode($db_fav_arr[
'MODULE_ID']).
'&admin_mnu_menu_id='.urlencode($db_fav_arr[
'MENU_ID']).($_REQUEST[
"back_url_pub"]<>
''?
'&back_url_pub='.urlencode(
$_REQUEST[
"back_url_pub"]):
'').
'&'.
bitrix_sessid_get();
230 $aItem[
'MENU_PRELOAD'] =
false;
242 "TITLE"=>((
$aUserOpt[
'start_menu_title'] ??
null) <>
'N'?
GetMessage(
"get_start_menu_fav_title"):
''),
243 "GLOBAL_ICON" =>
'adm-menu-favorites',
257 if(!empty(
$aUserOpt[
"start_menu_links"]))
258 $nLinks = intval(
$aUserOpt[
"start_menu_links"]);
261 foreach($aRecent as $recent)
271 "LINK"=>$recent[
"url"],
274 $aItem[
"ONCLICK"] =
'BX.admin.startMenuRecent(' . Json::encode($aItem) .
')';
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)