1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
finder.php
См. документацию.
1<?
2
4
6class CFinder
7{
8 public function __construct()
9 {
10 }
11
12 public static function GetFinderAppearance($arParams, $arPanels)
13 {
14 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
15
16 $bselectFirstFilledPanel = true;
17 foreach($arPanels as $panel)
18 if (isset($panel['SELECTED']) && ($panel['SELECTED'] == 'Y' || $panel['SELECTED'] == true))
19 $bselectFirstFilledPanel = false;
20
21 $tabs = '';
22 $elements = '';
23 $bsearchable = false;
24 $tabCount = count($arPanels);
25
26 foreach($arPanels as $panel)
27 {
28 if (!empty($panel['ELEMENTS']) && $bselectFirstFilledPanel)
29 {
30 $panel['SELECTED'] = true;
31 $bselectFirstFilledPanel = false;
32 }
33
34 $bsearch = false;
35 if (isset($panel['SEARCH']) && ($panel['SEARCH'] == 'Y' || $panel['SEARCH'] == true))
36 $bsearch = $bsearchable = true;
37
38 $bselect = false;
39 if (isset($panel['SELECTED']) && ($panel['SELECTED'] == 'Y' || $panel['SELECTED'] == true))
40 $bselect = true;
41
42 $panel['NAME'] = htmlspecialcharsEx($panel['NAME']);
43 if ($tabCount == 1)
44 {
45 $tabs .= '<a class="bx-finder-box-tab'.($bselect? ' bx-finder-box-tab-selected': '').($bsearch? ' bx-finder-box-tab-search': '').'" hidefocus="true">'.
46 $panel['NAME'].
47 '</a>';
48 }
49 else
50 {
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">'.
52 $panel['NAME'].
53 '</a>';
54 }
55 $elements .= '<div class="bx-finder-box-tab-content'.($bselect? ' bx-finder-box-tab-content-selected': '').'">'.$panel['ELEMENTS'].'</div>';
56 }
57
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">'.
63 '<tr>'.
64 '<td class="bx-finder-box-tabs-content-cell">'.
65 $elements.
66 '</td>'.
67 '</tr>'.
68 '</table>'.
69 '</div>'.
70 '</div>';
71
72 return $html;
73 }
74
75 public static function GetFinderItem($arParams, $arItem)
76 {
77 $html = '';
78 switch ($arParams['TYPE']) {
79 case 1:
80 $html = self::GetFinderItemType1($arParams, $arItem);
81 break;
82 case 2:
83 $html = self::GetFinderItemType2($arParams, $arItem);
84 break;
85 case 3:
86 $html = self::GetFinderItemType3($arParams, $arItem);
87 break;
88 case 4:
89 $html = self::GetFinderItemType4($arParams, $arItem);
90 break;
91 case 5:
92 $html = self::GetFinderItemType5($arParams, $arItem);
93 break;
94 case 'structure':
95 $html = self::GetFinderItemStructure($arParams, $arItem);
96 break;
97 case 'structure-item':
98 $html = self::GetFinderItemStructureItem($arParams, $arItem);
99 break;
100 case 'text':
101 $html = self::GetFinderItemText($arParams, $arItem);
102 break;
103 }
104 return $html;
105 }
106
107 private static function GetFinderItemType1($arParams, $arItem)
108 {
109 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
110
111 $arResult['ID'] = CUtil::AddSlashes($arItem['ID']);
112 $arResult['NAME'] = htmlspecialcharsEx($arItem['NAME']);
113
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>'.
116 '</a>';
117 return $html;
118 }
119
120 private static function GetFinderItemType2($arParams, $arItem)
121 {
122 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
123
124 $arResult['ID'] = CUtil::AddSlashes($arItem['ID']);
125 $arResult['NAME'] = htmlspecialcharsEx($arItem['NAME']);
126
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>
129 </a>';
130
131 return $html;
132 }
133
134 private static function GetFinderItemType3($arParams, $arItem)
135 {
136 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
137
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'] ?? '');
142
143 if (isset($arItem['SUBMENU']) && !empty($arItem['SUBMENU']))
144 {
145 }
146
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>
152 </div>
153 <div style="clear: both"></div>
154 </a>';
155
156 return $html;
157 }
158
159 private static function GetFinderItemType4($arParams, $arItem)
160 {
161 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
162
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']);
167
168 $bopened = isset($arItem['OPEN']) && ($arItem['OPEN'] == 'Y' || $arItem['OPEN'] == true)? true: false;
169
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>
176 </div>
177 <div style="clear: both"></div>
178 </a>
179 <div class="bx-finder-company-department-children">';
180 foreach($arItem['CHECKBOX'] as $template => $name)
181 {
182 $arCheck = Array(
183 'ID' => str_replace("#ID#", $arResult['ID'], $template),
184 'NAME' => $name,
185 'DESC' => $arResult['NAME'].': '.$name,
186 );
187 $html .= self::GetFinderItemCheckbox($arParams, $arCheck);
188 }
189 $html .= ' </div>
190 </div>';
191
192 if ($bopened)
193 $html .= '<script>BX.ready(function(){setTimeout(function(){BX.Finder.OpenItemFolder(BX(\'bx-finder-box-item-t3-'.$arResult['ID'].'\'))}, 100)});</script>';
194
195
196 return $html;
197 }
198
199 private static function GetFinderItemType5($arParams, $arItem)
200 {
201 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
202
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']);
207
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>
213 </div>
214 <div style="clear: both"></div>
215 </a>';
216 return $html;
217 }
218
219 private static function GetFinderItemText($arParams, $arItem)
220 {
221 $arResult['TEXT'] = htmlspecialcharsEx($arItem['TEXT']);
222
223 $html = '<div class="bx-finder-item-text">'.$arResult['TEXT'].'</div>';
224
225 return $html;
226 }
227 private static function GetFinderItemStructure($arParams, $arItem)
228 {
229 $html = '';
230 foreach($arItem as $value)
231 {
232 if ($value['TYPE'] == 'category')
233 {
234 $html .= self::GetFinderItemStructureCategory($arParams, $value);
235 $html .= '<div class="bx-finder-company-department-children">';
236 foreach($value['CHECKBOX'] as $template => $name)
237 {
238 $arCheck = Array(
239 'ID' => str_replace("#ID#", $value['ID'], $template),
240 'NAME' => $name,
241 'DESC' => $value['NAME'].': '.$name,
242 );
243 $html .= self::GetFinderItemCheckbox($arParams, $arCheck);
244 }
245 $html .= self::GetFinderItemStructure($arParams, (!empty($value['CHILD'])? $value['CHILD']: Array()));
246 $html .= '</div>';
247 }
248 }
249 if (!isset($value['HIDE_ITEM']) || $value['HIDE_ITEM'] == false)
250 {
251 $html .= '<div class="bx-finder-company-department-employees">';
252 $bEmptyItem = true;
253 foreach($arItem as $value)
254 {
255 if ($value['TYPE'] == 'item')
256 {
257 $html .= self::GetFinderItemStructureItem($arParams, $value);
258 $bEmptyItem = false;
259 }
260 }
261 if ($bEmptyItem)
262 $html .= '<div class="bx-finder-company-department-employees-loading">'.GetMessage('FINDER_PLEASE_WAIT').'</div>';
263 $html .= '</div>';
264 }
265 return $html;
266 }
267
268 private static function GetFinderItemStructureCategory($arParams, $arItem)
269 {
270 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
271
272 $arResult['ID'] = CUtil::AddSlashes($arItem['ID']);
273 $arResult['NAME'] = htmlspecialcharsEx($arItem['NAME']);
274
275 $bopened = isset($arItem['OPEN']) && ($arItem['OPEN'] == 'Y' || $arItem['OPEN'] == true)? true: false;
276
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>';
278 if ($bopened)
279 $html .= '<script>BX.ready(function(){setTimeout(function(){BX.Finder.OpenCompanyDepartment(\''.$arResult['PROVIDER'].'\', \''.$arResult['ID'].'\', BX(\'bx-finder-company-department-'.$arResult['ID'].'\'))}, 100)});</script>';
280
281 return $html;
282 }
283
284 private static function GetFinderItemCheckbox($arParams, $arItem)
285 {
286 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
287
288 $arResult['ID'] = CUtil::AddSlashes($arItem['ID']);
289 $arResult['NAME'] = htmlspecialcharsEx($arItem['NAME']);
290 $arResult['DESC'] = CUtil::AddSlashes(htmlspecialcharsbx($arItem['DESC']));
291
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>
294 </a>';
295
296 return $html;
297 }
298 private static function GetFinderItemStructureItem($arParams, $arItem)
299 {
300 $arResult['PROVIDER'] = CUtil::AddSlashes($arParams['PROVIDER']);
301
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'])? '&nbsp;': htmlspecialcharsEx($arItem['DESC']);
306
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>
311 </div>
312 <div style="'.($arResult['AVATAR'] <> ''? 'background:url(\''.Uri::urnEncode($arResult['AVATAR']).'\') no-repeat center center': '').'" class="bx-finder-company-department-employee-avatar"></div>
313 </a>';
314
315 return $html;
316 }
317}
318
319?>
$arParams
Определения access_dialog.php:21
$arResult
Определения generate_coupon.php:16
Определения uri.php:17
Определения finder.php:7
static GetFinderAppearance($arParams, $arPanels)
Определения finder.php:12
__construct()
Определения finder.php:8
$tabs
Определения options.php:101
background position
Определения file_new.php:745
background repeat
Определения file_new.php:745
$panel
Определения options.php:177
htmlspecialcharsEx($str)
Определения tools.php:2685
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения tools.php:3778
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
Определения waybill.php:936