16 $bselectFirstFilledPanel =
true;
17 foreach($arPanels as
$panel)
18 if (isset(
$panel[
'SELECTED']) && (
$panel[
'SELECTED'] ==
'Y' ||
$panel[
'SELECTED'] ==
true))
19 $bselectFirstFilledPanel =
false;
24 $tabCount =
count($arPanels);
26 foreach($arPanels as
$panel)
28 if (!empty(
$panel[
'ELEMENTS']) && $bselectFirstFilledPanel)
31 $bselectFirstFilledPanel =
false;
36 $bsearch = $bsearchable =
true;
39 if (isset(
$panel[
'SELECTED']) && (
$panel[
'SELECTED'] ==
'Y' ||
$panel[
'SELECTED'] ==
true))
45 $tabs .=
'<a class="bx-finder-box-tab'.($bselect?
' bx-finder-box-tab-selected':
'').($bsearch?
' bx-finder-box-tab-search':
'').
'" hidefocus="true">'.
51 $tabs .=
'<a href="#switchTab" class="bx-finder-box-tab'.($bselect?
' bx-finder-box-tab-selected':
'').($bsearch?
' bx-finder-box-tab-search':
'').
'" onclick="return BX.Finder.SwitchTab(this)" hidefocus="true">'.
55 $elements .=
'<div class="bx-finder-box-tab-content'.($bselect?
' bx-finder-box-tab-content-selected':
'').
'">'.
$panel[
'ELEMENTS'].
'</div>';
58 $html =
'<div class="bx-finder-box">'.
59 ($bsearchable?
'<div class="bx-finder-box-search"><input class="bx-finder-box-search-textbox" name="" onkeyup="BX.Finder.Search(this, \''.$arResult[
'PROVIDER'].
'\')
"></div>': '').
60 '<div class="bx-finder-box-tabs
">'.$tabs.'</div><div class="popup-window-hr popup-window-buttons-hr
"><i></i></div>'.
61 '<div class="bx-finder-box-tabs-content bx-finder-box-tabs-content-window
">'.
62 '<table class="bx-finder-box-tabs-content-table
">'.
64 '<td class="bx-finder-box-tabs-content-cell
">'.
75 public static function GetFinderItem($arParams, $arItem)
78 switch ($arParams['TYPE']) {
80 $html = self::GetFinderItemType1($arParams, $arItem);
83 $html = self::GetFinderItemType2($arParams, $arItem);
86 $html = self::GetFinderItemType3($arParams, $arItem);
89 $html = self::GetFinderItemType4($arParams, $arItem);
92 $html = self::GetFinderItemType5($arParams, $arItem);
95 $html = self::GetFinderItemStructure($arParams, $arItem);
97 case 'structure-item':
98 $html = self::GetFinderItemStructureItem($arParams, $arItem);
101 $html = self::GetFinderItemText($arParams, $arItem);
107 private static function GetFinderItemType1($arParams, $arItem)
109 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
111 $arResult['ID'] = CUtil::AddSlashes($arItem['ID']);
112 $arResult['NAME'] = htmlspecialcharsEx($arItem['NAME']);
114 $html = '<a href="#
'.$arResult['ID
'].'" class="bx-finder-box-item bx-finder-element
" rel="'.$arResult['ID
'].'" onclick="return BX.Finder.onAddItem(\
''.
$arResult[
'PROVIDER'].
'\', 1,
this, \
''.
$arResult[
'ID'].
'\')
" hidefocus="true">'.
115 '<div class="bx-finder-box-item-text
">'.$arResult['NAME'].'</div>'.
120 private static function GetFinderItemType2($arParams, $arItem)
122 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
124 $arResult['ID'] = CUtil::AddSlashes($arItem['ID']);
125 $arResult['NAME'] = htmlspecialcharsEx($arItem['NAME']);
127 $html = '<a href="#
'.$arResult['ID
'].'" class="bx-finder-box-item-t2 bx-finder-element
" rel="'.$arResult['ID
'].'" onclick="return BX.Finder.onAddItem(\
''.
$arResult[
'PROVIDER'].
'\', 2,
this, \
''.
$arResult[
'ID'].
'\')
" hidefocus="true">
128 <div class="bx-finder-box-item-t2-text
">'.$arResult['NAME'].'</div>
134 private static function GetFinderItemType3($arParams, $arItem)
136 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
138 $arResult['ID'] = CUtil::AddSlashes($arItem['ID']);
139 $arResult['AVATAR'] = CUtil::AddSlashes($arItem['AVATAR'] ?? '');
140 $arResult['NAME'] = htmlspecialcharsEx($arItem['NAME'] ?? '');
141 $arResult['DESC'] = htmlspecialcharsEx($arItem['DESC'] ?? '');
143 if (isset($arItem['SUBMENU']) && !empty($arItem['SUBMENU']))
147 $html = '<a href="#
'.$arResult['ID
'].'" class="bx-finder-box-item-t3 bx-finder-element
" rel="'.$arResult['ID
'].'" onclick="return BX.Finder.onAddItem(\
''.
$arResult[
'PROVIDER'].
'\', 3,
this, \
''.
$arResult[
'ID'].
'\')
" hidefocus="true">
148 <div style="'.($arResult['AVATAR
'] <> ''? 'background:url(\
''. Uri::urnEncode(
$arResult[
'AVATAR']).
'\') no-
repeat center center
': '').'" class="bx-finder-box-item-t3-avatar
"></div>
149 <div class="bx-finder-box-item-t3-info
">
150 <div class="bx-finder-box-item-t3-name
">'.$arResult['NAME'].'</div>
151 <div class="bx-finder-box-item-t3-desc
">'.$arResult['DESC'].'</div>
153 <div style="clear: both
"></div>
159 private static function GetFinderItemType4($arParams, $arItem)
161 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
163 $arResult['ID'] = CUtil::AddSlashes($arItem['ID']);
164 $arResult['AVATAR'] = CUtil::AddSlashes($arItem['AVATAR']);
165 $arResult['NAME'] = htmlspecialcharsEx($arItem['NAME']);
166 $arResult['DESC'] = htmlspecialcharsEx($arItem['DESC']);
168 $bopened = isset($arItem['OPEN']) && ($arItem['OPEN'] == 'Y' || $arItem['OPEN'] == true)? true: false;
170 $html = '<div class="bx-finder-box-item-t4
">
171 <a href="#
'.$arResult['ID
'].'" '.($bopened? 'id="bx-finder-box-item-t3-
'.$arResult['ID
'].'"': '').' class="bx-finder-box-item-t3 bx-finder-element
" rel="'.$arResult['ID
'].'" onclick="return BX.Finder.OpenItemFolder(
this)
" hidefocus="true">
172 <div style="'.($arResult['AVATAR
'] <> ''? 'background:url(\
''. Uri::urnEncode(
$arResult[
'AVATAR']).
'\') no-
repeat center center
': '').'" class="bx-finder-box-item-t3-avatar
"></div>
173 <div class="bx-finder-box-item-t3-info
">
174 <div class="bx-finder-box-item-t3-name
">'.$arResult['NAME'].'</div>
175 <div class="bx-finder-box-item-t3-desc
">'.$arResult['DESC'].'</div>
177 <div style="clear: both
"></div>
179 <div class="bx-finder-company-department-children
">';
180 foreach($arItem['CHECKBOX'] as $template => $name)
183 'ID' => str_replace("#ID#
", $arResult['ID'], $template),
185 'DESC' => $arResult['NAME'].': '.$name,
187 $html .= self::GetFinderItemCheckbox($arParams, $arCheck);
193 $html .= '<script>BX.ready(function(){setTimeout(function(){BX.Finder.OpenItemFolder(BX(\'bx-finder-box-item-t3-'.$arResult['ID'].'\'))}, 100)});</script>';
199 private static function GetFinderItemType5($arParams, $arItem)
201 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
203 $arResult['ID'] = CUtil::AddSlashes($arItem['ID']);
204 $arResult['AVATAR'] = CUtil::AddSlashes($arItem['AVATAR']);
205 $arResult['NAME'] = htmlspecialcharsEx($arItem['NAME']);
206 $arResult['DESC'] = htmlspecialcharsEx($arItem['DESC']);
208 $html = '<a href="#
'.$arResult['ID
'].'" class="bx-finder-box-item-t5 bx-finder-element
" rel="'.$arResult['ID
'].'" onclick="return BX.Finder.onAddItem(\
''.
$arResult[
'PROVIDER'].
'\', 5,
this, \
''.
$arResult[
'ID'].
'\')
" hidefocus="true">
209 <div style="'.($arResult['AVATAR
'] <> ''? 'background:url(\
''.Uri::urnEncode(
$arResult[
'AVATAR']).
'\') no-
repeat center center
': '').'" class="bx-finder-box-item-t5-avatar
"></div>
210 <div class="bx-finder-box-item-t5-info
">
211 <div class="bx-finder-box-item-t5-name
">'.$arResult['NAME'].'</div>
212 <div class="bx-finder-box-item-t5-desc
">'.$arResult['DESC'].'</div>
214 <div style="clear: both
"></div>
219 private static function GetFinderItemText($arParams, $arItem)
221 $arResult['TEXT'] = htmlspecialcharsEx($arItem['TEXT']);
223 $html = '<div class="bx-finder-item-text
">'.$arResult['TEXT'].'</div>';
227 private static function GetFinderItemStructure($arParams, $arItem)
230 foreach($arItem as $value)
232 if ($value['TYPE'] == 'category')
234 $html .= self::GetFinderItemStructureCategory($arParams, $value);
235 $html .= '<div class="bx-finder-company-department-children
">';
236 foreach($value['CHECKBOX'] as $template => $name)
239 'ID' => str_replace("#ID#
", $value['ID'], $template),
241 'DESC' => $value['NAME'].': '.$name,
243 $html .= self::GetFinderItemCheckbox($arParams, $arCheck);
245 $html .= self::GetFinderItemStructure($arParams, (!empty($value['CHILD'])? $value['CHILD']: Array()));
249 if (!isset($value['HIDE_ITEM']) || $value['HIDE_ITEM'] == false)
251 $html .= '<div class="bx-finder-company-department-employees
">';
253 foreach($arItem as $value)
255 if ($value['TYPE'] == 'item')
257 $html .= self::GetFinderItemStructureItem($arParams, $value);
262 $html .= '<div class="bx-finder-company-department-employees-loading
">'.GetMessage('FINDER_PLEASE_WAIT').'</div>';
268 private static function GetFinderItemStructureCategory($arParams, $arItem)
270 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
272 $arResult['ID'] = CUtil::AddSlashes($arItem['ID']);
273 $arResult['NAME'] = htmlspecialcharsEx($arItem['NAME']);
275 $bopened = isset($arItem['OPEN']) && ($arItem['OPEN'] == 'Y' || $arItem['OPEN'] == true)? true: false;
277 $html = '<div class="bx-finder-company-department
" '.($bopened? 'id="bx-finder-company-department-
'.$arResult['ID
'].'"': '').'><a href="#
'.$arResult['ID
'].'" class="bx-finder-company-department-inner
" onclick="return BX.Finder.OpenCompanyDepartment(\
''.
$arResult[
'PROVIDER'].
'\', \
''.
$arResult[
'ID'].
'\', this.parentNode)
" hidefocus="true"><div class="bx-finder-company-department-arrow
"></div><div class="bx-finder-company-department-text
">'.$arResult['NAME'].'</div></a></div>';
279 $html .= '<script>BX.ready(function(){setTimeout(function(){BX.Finder.OpenCompanyDepartment(\''.$arResult['PROVIDER'].'\', \''.$arResult['ID'].'\', BX(\'bx-finder-company-department-'.$arResult['ID'].'\'))}, 100)});</script>';
284 private static function GetFinderItemCheckbox($arParams, $arItem)
286 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
288 $arResult['ID'] = CUtil::AddSlashes($arItem['ID']);
289 $arResult['NAME'] = htmlspecialcharsEx($arItem['NAME']);
290 $arResult['DESC'] = CUtil::AddSlashes(htmlspecialcharsbx($arItem['DESC']));
292 $html = '<a href="#
'.$arResult['ID
'].'" class="bx-finder-company-department-check bx-finder-element
" rel="'.$arResult['ID
'].'" onclick="return BX.Finder.onAddItem(\
''.
$arResult[
'PROVIDER'].
'\', \
'structure-checkbox\', this, \''.
$arResult[
'ID'].
'\')
" hidefocus="true">
293 <span class="bx-finder-company-department-check-inner
"><div class="bx-finder-company-department-check-arrow
"></div><div class="bx-finder-company-department-check-text
" rel="'.$arResult['DESC
'].'">'.$arResult['NAME'].'</div></span>
298 private static function GetFinderItemStructureItem($arParams, $arItem)
300 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
302 $arResult['ID'] = CUtil::AddSlashes($arItem['ID']);
303 $arResult['AVATAR'] = CUtil::AddSlashes($arItem['AVATAR']);
304 $arResult['NAME'] = htmlspecialcharsEx($arItem['NAME']);
305 $arResult['DESC'] = empty($arItem['DESC'])? ' ': htmlspecialcharsEx($arItem['DESC']);
307 $html = '<a href="#
'.$arResult['ID
'].'" class="bx-finder-company-department-employee bx-finder-element
" rel="'.$arResult['ID
'].'" onclick="return BX.Finder.onAddItem(\
''.
$arResult[
'PROVIDER'].
'\', \
'structure\', this, \''.
$arResult[
'ID'].
'\')
" hidefocus="true">
308 <div class="bx-finder-company-department-employee-info
">
309 <div class="bx-finder-company-department-employee-name
">'.$arResult['NAME'].'</div>
310 <div class="bx-finder-company-department-employee-
position">'.$arResult['DESC'].'</div>
312 <div style="'.($arResult['AVATAR
'] <> ''? 'background:url(\
''.Uri::urnEncode(
$arResult[
'AVATAR']).
'\') no-
repeat center center
': '').'" class="bx-finder-company-department-employee-avatar
"></div>