1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
options.php
См. документацию.
1<?
2$module_id = "fileman";
3$dicsRelPath = '/bitrix/modules/fileman/dictionaries';
4$gzDicsRelPath = BX_PERSONAL_ROOT.'/tmp/dics';
5require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/fileman/include.php");
6
7CUtil::InitJSCore();
8
9if (!$USER->CanDoOperation('fileman_view_all_settings'))
10 $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
11
13{
14 $rsLang = CLanguage::GetList("sort", "desc");
15 $is_valid_lang = false;
16 while ($arLang = $rsLang->Fetch())
17 {
18 if ($lang==$arLang["LID"])
19 {
20 $is_valid_lang = true;
21 break;
22 }
23 }
24 return $is_valid_lang;
25}
26
27if ($_SERVER['REQUEST_METHOD']=="GET" && $USER->CanDoOperation('fileman_edit_all_settings') && ($RestoreDefaults ?? null) <> '' && check_bitrix_sessid())
28{
29 COption::RemoveOption("fileman");
30 $z = CGroup::GetList("id", "asc", array("ACTIVE" => "Y", "ADMIN" => "N"));
31 while($zr = $z->Fetch())
32 $APPLICATION->DelGroupRight($module_id, array($zr["ID"]));
33}
34
35
36global $MESS;
37IncludeModuleLangFile(__FILE__);
38
39//Default file extensions;
40$script_files_default = "php,php3,php4,php5,php6,phtml,pl,asp,aspx,cgi,exe,ico,shtm,shtml";
41
42if($_SERVER['REQUEST_METHOD'] == "POST" && $Update <> '' && $USER->CanDoOperation('fileman_edit_all_settings') && check_bitrix_sessid())
43{
44 if($default_edit!="html" && $default_edit!="php")
45 $default_edit="text";
46 COption::SetOptionString($module_id, "default_edit", $default_edit);
47
48 COption::SetOptionString($module_id, "use_medialib", ($use_medialib ?? null) == 'Y' ? 'Y' : 'N');
49
50 COption::SetOptionString($module_id, "use_editor_3", ($use_editor_3 ?? null) == 'Y' ? 'Y' : 'N');
51 $useEditor3 = ($use_editor_3 ?? null) == "Y";
52
53 if (!$useEditor3)
54 {
55 COption::SetOptionString($module_id, "htmleditor_fullscreen", ($htmleditor_fullscreen ?? null) == "Y" ? "Y" : "N");
56 COption::SetOptionString($module_id, "show_untitled_styles", ($show_untitled_styles ?? null));
57 COption::SetOptionString($module_id, "render_styles_in_classlist", ($render_styles_in_classlist ?? null));
58 COption::SetOptionString($module_id, "allow_render_components", ($allow_render_components ?? null) == 'Y' ? 'Y' : 'N');
59
60
61 /* ********** Toolbars config ************/
62 if (isset($_POST['tlbr']) && is_array($_POST['tlbr']))
63 {
64 foreach ($_POST['tlbr'] as $type => $arToolbars)
65 {
66 if ($arToolbars == 'clean')
67 COption::RemoveOption($module_id, "toolbar_config_".$type);
68
69 // Global toolbar
70 if (
71 is_array($arToolbars)
72 && count($arToolbars) === 1
73 && is_array($arToolbars['global'] ?? null)
74 )
75 {
76 COption::SetOptionString($module_id, "toolbar_config_".$type, serialize($arToolbars['global']));
77 }
78 else // Standart mode
79 {
80 COption::SetOptionString($module_id, "toolbar_config_".$type, serialize($arToolbars));
81 }
82 }
83 }
84
85 // LCA - limit component access
86 COption::SetOptionString($module_id, "use_lca", (($use_lca ?? null) == 'Y' ? 'Y' : 'N'));
87 }
88 COption::SetOptionString($module_id, "replace_new_lines", isset($_POST['replace_new_lines'])? "Y" : "N");
89
90 // ******** Spell ********
91 COption::SetOptionString($module_id, "use_pspell", isset($_POST['use_pspell'])? "Y" : "N");
92
93 if (isset($_POST['user_dics_path']) && $_POST['user_dics_path']!='')
94 COption::SetOptionString($module_id, "user_dics_path", $_POST['user_dics_path']);
95 else
96 COption::SetOptionString($module_id, "user_dics_path","/bitrix/modules/fileman/u_dics");
97
98
99 if (isset($_POST['use_separeted_dics']))
100 COption::SetOptionString($module_id, "use_separeted_dics", "Y");
101 else
102 COption::SetOptionString($module_id, "use_separeted_dics", "N");
103
104 COption::SetOptionString($module_id, "use_custom_spell", "N");
105
106
107 //Handle dictionary loading
108 if (isset($_POST['dic_lang']) && isset($_FILES['dic_aff']) && isset($_FILES['dic_base']) && $_FILES['dic_aff']['name'] != '' && $_FILES['dic_base']['name'] != '')
109 {
110 $dic_lang = $_POST['dic_lang'];
111 if (isValidLang($dic_lang))
112 {
113 $lang_dir = $_SERVER['DOCUMENT_ROOT'].$dicsRelPath.'/'.$dic_lang;
114 $dics_dir = $_SERVER['DOCUMENT_ROOT'].$dicsRelPath.'/'.$dic_lang.'/dics';
115
116 if (!file_exists($lang_dir))
117 mkdir($lang_dir, BX_DIR_PERMISSIONS);
118
119 $source=$_FILES['dic_base']['tmp_name'];
120 $target = $lang_dir.'/'.$dic_lang.'.dic';
121 if (file_exists($target))
122 unlink ($target);
123 move_uploaded_file($source, $target);
124
125 $source=$_FILES['dic_aff']['tmp_name'];
126 $target = $lang_dir.'/'.$dic_lang.'.aff';
127 if (file_exists($target))
128 unlink ($target);
129 move_uploaded_file($source, $target);
130
131 if (!file_exists($dics_dir))
132 mkdir($dics_dir, BX_DIR_PERMISSIONS);
133 COption::SetOptionString($module_id, $dic_lang."_dic_indexed", "N");
134 }
135 }
136
137 //Handle dictionary removing
138 if (isset($_POST['del_dic']))
139 {
140 $lang_dir = $_SERVER['DOCUMENT_ROOT'].$dicsRelPath.'/'.$_POST['del_dic'];
141 if (file_exists($lang_dir) && is_dir($lang_dir))
142 {
143 $dicDir = dir($lang_dir);
144 while (false !== ($entry = $dicDir->read()))
145 {
146 $entry_path = $dicDir->path.'/'.$entry;
147 if (is_dir($entry_path) && $entry=='dics')
148 {
149 //Removing files from 'dics' directory
150 $dicsDir = dir($entry_path);
151 while (false !== ($dic = $dicsDir->read()))
152 {
153 $dic_path = $dicsDir->path.'/'.$dic;
154 if (is_file($dic_path))
155 unlink ($dic_path);
156 }
157 $dicsDir->close();
158 //removing 'dics' directory
159 rmdir($entry_path);
160 }
161 elseif (is_file($entry_path))
162 {
163 unlink ($entry_path);
164 }
165 }
166 $dicDir->close();
167 rmdir($lang_dir);
168 }
169 }
170
171 //Handle dictionary indexing
172 if (isset($_POST['index_dic']))
173 {
174 $lang_dir = $_SERVER['DOCUMENT_ROOT'].$dicsRelPath.'/'.$_POST['index_dic'];
175 if (file_exists($lang_dir) && is_dir($lang_dir))
176 {
177 $dicsDir = dir($lang_dir.'/dics');
178 while (false !== ($dic = $dicsDir->read()))
179 {
180 $dic_path = $dicsDir->path.'/'.$dic;
181 if (is_file($dic_path))
182 unlink ($dic_path);
183 }
184 $dicsDir->close();
185
186 require($_SERVER['DOCUMENT_ROOT'].BX_ROOT.'/modules/fileman/admin/spell_createDictionary.php');
187
188 $CD = new createDictionary();
189 $lang = $_POST['index_dic'];
190 $CD->init($lang,$lang_dir);
191 if ($CD->create())
192 COption::SetOptionString($module_id, $dic_lang."_dic_indexed", "Y");
193 }
194 }
195 // ******** Spell END ********
196
197
198 //Entities
199 if (isset($_POST['ar_entities']))
200 {
201 $ar_entities = is_array($_POST['ar_entities']) ? $_POST['ar_entities'] : [];
202 COption::SetOptionString($module_id, "ar_entities", count($ar_entities) <= 0 ? 'none' : implode(',', $ar_entities));
203 }
204 COption::SetOptionString($module_id, "editor_body_id", htmlspecialcharsbx($editor_body_id));
205 COption::SetOptionString($module_id, "editor_body_class", htmlspecialcharsbx($editor_body_class));
206
207
208 /* ********** Medialib ************/
209 $cur_ml_width = COption::GetOptionInt($module_id, "ml_thumb_width", 140);
210 $cur_ml_height = COption::GetOptionInt($module_id, "ml_thumb_height", 105);
211
212 $ml_width = intval($medialib_thumb_width, 10);
213 if ($ml_width <=0)
214 $ml_width = 140;
215
216 $ml_height = intval($medialib_thumb_height, 10);
217 if ($ml_height <=0)
218 $ml_height = 105;
219
220 if (abs($cur_ml_width - $ml_width) > 10 || abs($cur_ml_height - $ml_height) > 10)
221 CMedialib::DeleteThumbnails();
222
223 COption::SetOptionInt($module_id, "ml_thumb_width", $ml_width);
224 COption::SetOptionInt($module_id, "ml_thumb_height", $ml_height);
225
226 $arMLExt = explode(',', $medialib_ext);
227 $arMLExt_ = array();
228 for ($i = 0, $l = count($arMLExt); $i < $l; $i++)
229 {
230 $ext = mb_strtolower(trim($arMLExt[$i], ' .'));
231 if ($ext <> '')
232 $arMLExt_[] = $ext;
233 }
234 $medialib_ext = implode(',', $arMLExt_);
235 COption::SetOptionString($module_id, "ml_media_extentions", $medialib_ext);
236
237 /* Max size*/
238 $ml_max_width = intval($medialib_max_width);
239 if ($ml_max_width <=0)
240 $ml_max_width = 1024;
241
242 $ml_max_height = intval($medialib_max_height);
243 if ($ml_max_height <=0)
244 $ml_max_height = 1024;
245
246 COption::SetOptionInt($module_id, "ml_max_width", $ml_max_width);
247 COption::SetOptionInt($module_id, "ml_max_height", $ml_max_height);
248
249 /* MEDIALIB TYPES*/
250 $arMLTypes = array();
251 $arMLDelTypes = array();
252 $strAvExt = $medialib_ext;
253
254 foreach ($_POST['ML_TYPE'] as $key => $type)
255 {
256 if (($type["DEL"] ?? null) == "Y")
257 {
258 $arMLDelTypes[] = $key;
259 }
260 //elseif(trim($type["EXT"]) != "" && trim($type["NAME"]) != "" && trim($type["CODE"]) != "")
261 elseif(trim($type["EXT"]) != "" && trim($type["CODE"]) != "")
262 {
263 if ($type["SYS"] == "Y")
264 {
265 $arMLTypes[] = array(
266 'EXT' => $type["EXT"],
267 'CODE' => $type["CODE"],
268 'ID' => $key
269 );
270 }
271 else
272 {
273 $arMLTypes[] = array(
274 'NEW' => ($type["NEW"] ?? null) == "Y",
275 'ID' => $key,
276 'NAME' => $type["NAME"],
277 'CODE' => $type["CODE"],
278 'EXT' => $type["EXT"],
279 'DESCRIPTION' => $type["DESC"],
280 'SYSTEM' => $type["SYS"] == "Y" ? "Y" : "N"
281 );
282 }
283
284 $strAvExt .= ','.$type["EXT"];
285 }
286 }
287
288 CMedialib::DelTypes($arMLDelTypes);
289 CMedialib::SetTypes($arMLTypes);
290
291 $arExt_ = explode(',', $strAvExt);
292 $arAvExt = array();
293 for ($i = 0, $l = count($arExt_); $i < $l; $i++)
294 {
295 $ext = mb_strtolower(trim($arExt_[$i], ' .'));
296 if ($ext <> '' && !in_array($ext, $arAvExt))
297 $arAvExt[] = $ext;
298 }
299 $strAvExt = implode(',', $arAvExt);
300 COption::SetOptionString($module_id, "ml_media_available_ext", $strAvExt);
301
302 /* MEDIALIB END*/
303
304 // Using medialib (or file dialog) by default in HTML-editor and other...
305 COption::SetOptionString($module_id, "ml_use_default", ($medialib_use_default ?? null) == 'Y');
306
307 //File extensions
308 if ($USER->CanDoOperation('edit_php'))
309 {
310 COption::SetOptionString($module_id, "~script_files", $script_files);
311 COption::SetOptionString($module_id, "~allowed_components", $allowed_components);
312 }
313 $addError = false;
314
315 $siteList_ID = unserialize($mSiteList, ['allowed_classes' => false]);
316
317 if(isset($dif_settings))
318 {
319 COption::SetOptionString($module_id, "different_set", "Y");
320
321 $j = 0;
322 while($j < count($siteList_ID))
323 {
324 COption::SetOptionInt($module_id, "num_menu_param", ${"num_".$siteList_ID[$j]["ID"]."_menu_param"}, false, $siteList_ID[$j]["ID"]);
325
326 $menutypes = "";
327 $armt = Array();
328 for($i=0; $i<${"menutypes_".$siteList_ID[$j]["ID"]."_count"}; $i++)
329 {
330 if(${"menutypes_".$siteList_ID[$j]["ID"]."_".$i."_type"} <> '')
331 $armt[${"menutypes_".$siteList_ID[$j]["ID"]."_".$i."_type"}] = ${"menutypes_".$siteList_ID[$j]["ID"]."_".$i."_name"};
332 }
333
334 if(${"menutypes_".$siteList_ID[$j]["ID"]."_new_type"} <> '' && $USER->CanDoOperation('fileman_edit_menu_types'))
335 $armt[${"menutypes_".$siteList_ID[$j]["ID"]."_new_type"}] = ${"menutypes_".$siteList_ID[$j]["ID"]."_new_name"};
336
337 if (mb_strlen(addslashes(serialize($armt))) <= 2000)
338 SetMenuTypes($armt, $siteList_ID[$j]["ID"]);
339 else
340 $addError = GetMessage("FILEMAN_OPTION_ADD_ERROR_MENU").'<br />';
341
342 $arPT = Array();
343 for($i=0; $i<${"propstypes_".$siteList_ID[$j]["ID"]."_count"}; $i++)
344 {
345 ${"propstypes_".$siteList_ID[$j]["ID"]."_".$i."_type"} = ${"propstypes_".$siteList_ID[$j]["ID"]."_".$i."_type"} ?? null;
346 if(${"propstypes_".$siteList_ID[$j]["ID"]."_".$i."_type"} <> '')
347 $arPT[${"propstypes_".$siteList_ID[$j]["ID"]."_".$i."_type"}] = ${"propstypes_".$siteList_ID[$j]["ID"]."_".$i."_name"};
348 }
349 if(${"propstypes_".$siteList_ID[$j]["ID"]."_new_type"} <> '')
350 $arPT[${"propstypes_".$siteList_ID[$j]["ID"]."_new_type"}] = ${"propstypes_".$siteList_ID[$j]["ID"]."_new_name"};
351
352 if(!CFileMan::SetPropstypes($arPT, false, $siteList_ID[$j]["ID"]))
353 $addError .= GetMessage("FILEMAN_OPTION_ADD_ERROR_PROPS");
354 $j++;
355 }
356 }
357 else
358 {
359 COption::SetOptionString($module_id, "different_set", "N");
360 COption::SetOptionInt($module_id, "num_menu_param", $num_menu_param);
361
362 $armt = Array();
363 $menutypes = "";
364 for($i=0; $i<$menutypes_count; $i++)
365 {
366 if(${"menutypes_".$i."_type"} <> '')
367 $armt[${"menutypes_".$i."_type"}] = ${"menutypes_".$i."_name"};
368 }
369 if($menutypes_new_type <> '' && $USER->CanDoOperation('fileman_edit_menu_types'))
370 $armt[$menutypes_new_type] = $menutypes_new_name;
371
372 if (mb_strlen(addslashes(serialize($armt))) <= 2000)
373 SetMenuTypes($armt, $siteList_ID[$j ?? null]["ID"] ?? null);
374 else
375 $addError = GetMessage("FILEMAN_OPTION_ADD_ERROR_MENU").'<br />';
376
377 $propstypes = "";
378 $arPT = Array();
379 for($i=0; $i<$propstypes_count; $i++)
380 {
381 if((${"propstypes_".$i."_type"} ?? null) <> '')
382 $arPT[${"propstypes_".$i."_type"}] = ${"propstypes_".$i."_name"};
383 }
384 if($propstypes_new_type <> '')
385 $arPT[$propstypes_new_type] = $propstypes_new_name;
386
387 if(!CFileMan::SetPropstypes($arPT))
388 $addError .= GetMessage("FILEMAN_OPTION_ADD_ERROR_PROPS");
389
390 $j = 0;
391 while($j < count($siteList_ID))
392 {
393 COption::RemoveOption($module_id, "menutypes", $siteList_ID[$j]["ID"]);
394 COption::RemoveOption($module_id, "propstypes", $siteList_ID[$j]["ID"]);
395 COption::RemoveOption($module_id, "num_menu_param", $siteList_ID[$j]["ID"]);
396 $j++;
397 }
398
399 }
400
401 // Search
402 $search_max_open_file_size = intval($_POST['search_max_open_file_size']);
403 if ($search_max_open_file_size <= 0)
404 $search_max_open_file_size = 1024;
405 COption::SetOptionString($module_id, "search_max_open_file_size", $search_max_open_file_size);
406
407 $search_max_res_count = intval($_POST['search_max_res_count']);
408 if ($search_max_res_count <= 0)
409 $search_max_res_count = '';
410 COption::SetOptionString($module_id, "search_max_res_count", $search_max_res_count);
411
412 $search_time_step = intval($_POST['search_time_step']);
413
414 if ($search_time_step <= 0)
415 $search_time_step = 5;
416
417 COption::SetOptionString($module_id, "search_time_step", $search_time_step);
418
419 $search_mask = $_POST['search_mask'];
420
421 if ($search_mask == "")
422 $search_mask = "*.php";
423
424 COption::SetOptionString($module_id, "search_mask", $search_mask);
425 COption::SetOptionString($module_id, "show_inc_icons", (isset($_POST['show_inc_icons']) ? 'Y' : 'N'));
426 COption::SetOptionString($module_id, "hide_physical_struc", (isset($_POST['hide_physical_struc'])));
427 COption::SetOptionString($module_id, "use_translit", (isset($_POST['use_translit'])));
428 COption::SetOptionString($module_id, "use_translit_google", (isset($_POST['use_translit_google'])));
429 COption::SetOptionString($module_id, "log_menu", (isset($_POST['log_menu']) ? 'Y' : 'N'));
430 COption::SetOptionString($module_id, "log_page", (isset($_POST['log_page']) ? 'Y' : 'N'));
431 COption::SetOptionString($module_id, "use_code_editor", (isset($_POST['use_code_editor']) ? 'Y' : 'N'));
432 COption::SetOptionString($module_id, "google_map_api_key", isset($_POST['google_map_api_key']) ? $_POST['google_map_api_key'] : '');
433 COption::SetOptionString($module_id, "yandex_map_api_key", isset($_POST['yandex_map_api_key']) ? $_POST['yandex_map_api_key'] : '');
434
435 //default groups
436 $sGroups = '';
437 if(is_array($_POST["DEFAULT_EDIT_GROUPS"] ?? null))
438 foreach($_POST["DEFAULT_EDIT_GROUPS"] as $gr)
439 $sGroups .= ($sGroups <> ''? ',':'').intval($gr);
440 COption::SetOptionString('fileman', 'default_edit_groups', $sGroups);
441
442 $archive_step_time = intval($_POST['archive_step_time']);
443 if ($archive_step_time <= 0)
444 $archive_step_time = 30;
445 COption::SetOptionString($module_id, "archive_step_time", $archive_step_time);
446}
447
448
449if ($_SERVER['REQUEST_METHOD']=="GET" && isset($_GET['load_dic']) &&
450 $USER->CanDoOperation('fileman_edit_all_settings') &&
451 COption::GetOptionString($module_id, "use_editor_3", "N") == "Y")
452{
453 if (isValidLang($_GET['load_dic']))
454 {
455 $l_id = $_GET['load_dic'];
456 require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/tar_gz.php");
457 $indexedDicPath = $_SERVER['DOCUMENT_ROOT'].$gzDicsRelPath.'/'.$l_id.'.tar.gz';
458 $oArchiver = new CArchiver($indexedDicPath);
459
460 if ($oArchiver->extractFiles($_SERVER['DOCUMENT_ROOT'].$dicsRelPath.'/'.$l_id))
461 COption::SetOptionString($module_id, $l_id."_dic_indexed", "Y");
462 }
463}
464
466 array("DIV" => "edit1", "TAB" => GetMessage("MAIN_TAB_SET"), "ICON" => "fileman_settings", "TITLE" => GetMessage("MAIN_TAB_TITLE_SET")),
467 array("DIV" => "edit2", "TAB" => GetMessage("MAIN_TAB_VISUAL_EDITOR"), "ICON" => "fileman_settings", "TITLE" => GetMessage("MAIN_TAB_TITLE_VIS_ED_SET")),
468 array("DIV" => "edit5", "TAB" => GetMessage("MAIN_TAB_MEDIALIB"), "ICON" => "fileman_settings", "TITLE" => GetMessage("FILEMAN_SEC_MEDIALIB")),
469 );
470
471if($USER->isAdmin())
472{
473 $rightsTab = array("DIV" => "edit3", "TAB" => GetMessage("MAIN_TAB_RIGHTS"), "ICON" => "fileman_settings", "TITLE" => GetMessage("MAIN_TAB_TITLE_RIGHTS"));
474 $aTabs[] = $rightsTab;
475}
477 $rsSites = CSite::GetList();
478 $i = 0;
479 while($arRes = $rsSites->Fetch())
480 {
481 $siteList[$i]["ID"] = $arRes["ID"];
482 $siteList[$i]["NAME"] = $arRes["NAME"];
483 $i++;
484 }
486 $useEditor3 = COption::GetOptionString($module_id, "use_editor_3", "Y") == "Y";
487 unset($rsSites);
488 unset($arRes);
489
490 if ($addError ?? null)
491 {
493 "DETAILS" => $addError,
494 "TYPE" => "ERROR",
495 ));
496 }
497
498 $tabControl = new CAdmintabControl("tabControl", $aTabs);
499 $tabControl->Begin();
500
501?>
502
503
504<script>
505 function SelectSite(id)
506 {
508 BX('<?= htmlspecialcharsbx($siteList[$i]["ID"]);?>_Propery').style.display='none';
509 <?endfor;?>
510 BX(id+'_Propery').style.display='';
511 }
512
513 function hideSite()
514 {
516 BX('<?= htmlspecialcharsbx($siteList[$i]["ID"]);?>_Propery').style.display='none';
517 <?endfor;?>
518 }
519
521 {
522 var checker = BX(id);
523 var customSpellSettings = BX('customSpellSettings');
524 if (checker.checked)
525 {
526 customSpellSettings.style.display = "block";
527 }
528 else
529 {
530 customSpellSettings.style.display = "none";
531 }
532 }
533</script>
534
535<form method="POST" enctype="multipart/form-data" action="<?echo $APPLICATION->GetCurPage()?>?mid=<?=htmlspecialcharsbx($mid)?>&lang=<?echo LANG?>">
537<?$tabControl->BeginNextTab();?>
538<tr>
539 <td valign="top" width="40%"><?= GetMessage('FILEMAN_OPTION_DEF_EDITOR')?></td>
540 <td valign="top" width="60%">
541
542 <select name="default_edit">
543 <option value="text"><?= GetMessage('FILEMAN_OPTION_EDITOR_TEXT')?></option>
544 <option value="php"<?if(COption::GetOptionString($module_id, "default_edit")=="php")echo " selected"?>><?= GetMessage('FILEMAN_OPTION_EDITOR_PHP')?></option>
545 <option value="html"<?if(COption::GetOptionString($module_id, "default_edit")=="html")echo " selected"?>><?= GetMessage('FILEMAN_OPTION_EDITOR_HTML')?></option>
546 </select>
547 </td>
548</tr>
549 <? if ($USER->CanDoOperation('edit_php')):?>
550 <tr>
551 <td>
552 <?= GetMessage('FILEMAN_OPTION_SCRIPT_FILES')?>:
553 </td>
554 <td>
555 <input type="text" name="script_files" id="script_files" size="40" value="<?= htmlspecialcharsbx(COption::GetOptionString($module_id, "~script_files", $script_files_default));?>">
556 </td>
557 </tr>
558 <tr>
559 <td valign="top">
560 <?= GetMessage('FILEMAN_OPTION_ALLOWED_COMPONENTS')?>:
561 </td>
562 <td>
563 <textarea cols="30" rows="4" name="allowed_components"><?= htmlspecialcharsbx(COption::GetOptionString($module_id, "~allowed_components", ''));?></textarea>
564 </td>
565 </tr>
566 <?endif;?>
567 <tr>
568 <td valign="top" width="40%"><label for="hide_physical_struc"><?= GetMessage('FILEMAN_HIDE_PHYSICAL_STRUC')?>:</label></td>
569 <td valign="top" width="60%">
570 <input type="checkbox" name="hide_physical_struc" id="hide_physical_struc" <? if(COption::GetOptionString($module_id, "hide_physical_struc", false) == true) echo " checked";?>>
571 </td>
572 </tr>
573 <tr>
574 <td valign="top" width="40%"><label for="use_translit"><?= GetMessage('FILEMAN_USE_TRANSLITE')?>:</label></td>
575 <td valign="top" width="60%">
576 <input type="checkbox" name="use_translit" id="use_translit" <? if(COption::GetOptionString($module_id, "use_translit", true) == true) echo " checked";?>>
577 </td>
578 </tr>
579 </tr>
580 <tr>
581 <td valign="top" width="40%"><label for="use_translit_google"><?= GetMessage('FILEMAN_USE_TRANSLITE_EXTERNAL')?>:</label></td>
582 <td valign="top" width="60%">
583 <input type="checkbox" name="use_translit_google" id="use_translit_google" <? if(COption::GetOptionString($module_id, "use_translit_google", true) == true) echo " checked";?>>
584 </td>
585 </tr>
586 <tr>
587 <td class="adm-detail-valign-top"><label for="LOGS"><?=GetMessage("FILEMAN_EVENT_LOG")?>:</label></td>
588 <td>
589 <?$val = COption::GetOptionString("forum", "LOGS", "Q");?>
590 <div class="adm-list">
591 <div class="adm-list-item">
592 <div class="adm-list-control"><input type="checkbox" name="log_menu" id="log_menu" value="Y" <?if(COption::GetOptionString($module_id, "log_menu", "Y")=="Y")echo " checked"?>></div>
593 <div class="adm-list-label"><label for="log_menu"><?=GetMessage("FILEMAN_EVENT_LOG_MENU")?></label></div>
594 </div>
595 <div class="adm-list-item">
596 <div class="adm-list-control"><input type="checkbox" name="log_page" ID="log_page" value="Y" <?if(COption::GetOptionString($module_id, "log_page", "Y")=="Y")echo " checked"?>></div>
597 <div class="adm-list-label"><label for="log_page"><?=GetMessage("FILEMAN_EVENT_LOG_PAGE")?></label></div>
598 </div>
599 </div>
600 </td>
601 </tr>
602
603 </tr>
604 <tr>
605 <td valign="top" width="40%"><label for="use_code_editor"><?= GetMessage('FILEMAN_OPTION_USE_CODE_EDITOR')?>:</label></td>
606 <td valign="top" width="60%">
607 <input type="checkbox" name="use_code_editor" id="use_code_editor" <? if(COption::GetOptionString($module_id, "use_code_editor", "Y") == "Y") echo " checked";?>>
608 </td>
609 </tr>
610 <tr>
611 <td valign="top"><label for="google_map_api_key"><?= GetMessage('FILEMAN_OPTION_GOOGLE_MAP_API_KEY')?>:</label></td>
612 <td valign="top">
613 <a name="google_api_key"></a>
614 <input type="text" size="40" name="google_map_api_key" id="google_map_api_key" value="<?=htmlspecialcharsbx(COption::GetOptionString($module_id, "google_map_api_key", ""));?>">
615 <?=BeginNote();?>
616 <?=GetMessage(
617 "FILEMAN_OPTION_GOOGLE_MAP_API_KEY_NOTE",
618 array(
619 "#A#" => '<a href="https://developers.google.com/maps/documentation/javascript/get-api-key">https://developers.google.com/maps/documentation/javascript/get-api-key</a>'
620 )
621 )?>
622 <?=EndNote();?>
623 </td>
624 </tr>
625
626 <tr>
627 <td valign="top"><label for="yandex_map_api_key"><?= GetMessage('FILEMAN_OPTION_YANDEX_MAP_API_KEY')?>:</label></td>
628 <td valign="top">
629 <a name="yandex_api_key"></a>
630 <input type="text" size="40" name="yandex_map_api_key" id="yandex_map_api_key" value="<?=htmlspecialcharsbx(COption::GetOptionString($module_id, "yandex_map_api_key", ""));?>">
631 <?=BeginNote();?>
632 <?=GetMessage(
633 "FILEMAN_OPTION_YANDEX_MAP_API_KEY_NOTE",
634 array(
635 "#A#" => '<a href="https://tech.yandex.ru/developer-help/doc/#new-key">https://tech.yandex.ru/developer-help/doc/#new-key</a>'
636 )
637 )?>
638 <?=EndNote();?>
639 </td>
640 </tr>
641
642 <tr>
643 <td colspan=2>&nbsp;</td>
644 </tr>
645 <tr class="heading">
646 <td colspan=2><?= GetMessage('FILEMAN_OPTION_SPECIAL_SETTINGS')?></td>
647 </tr>
648 <tr>
649 <td><?= GetMessage('FILEMAN_OPTION_DIFFERENT_SET')?></td>
650 <td><input type="checkbox" name="dif_settings" id="dif_settings_id" onClick="if(this.checked) {BX('comPropery').style.display='none'; BX('site_select_id').disabled=false; SelectSite(BX('site_select_id').value);} else { BX('site_select_id').disabled=true; BX('comPropery').style.display=''; hideSite();}" <? if(COption::GetOptionString($module_id, "different_set", "N") == "Y") echo " checked";?>></td>
651 </tr>
652 <tr>
653 <td><?= GetMessage('FILEMAN_OPTION_FOR_SYTE')?></td>
654 <td>
655 <select name="site_select" id="site_select_id" onChange="SelectSite(this.value)" <? if(COption::GetOptionString($module_id, "different_set", "N") != "Y") echo " disabled"; ?>>
656 <?
657 for($i = 0; $i < $siteCount; $i++)
658 echo "<option value=\"".htmlspecialcharsbx($siteList[$i]["ID"])."\">".htmlspecialcharsbx($siteList[$i]["NAME"])."</option>";
659 ?>
660 </select>
661 </td>
662 </tr>
663 <tr id="comPropery" <? if(COption::GetOptionString($module_id, "different_set", "N") == "Y") echo " style=\"display: none;\""; ?>>
664 <td colspan="2">
665 <table cellspacing="4" cellpadding="0" width="100%">
666 <tr>
667 <td valign="top" width="40%" class="adm-detail-content-cell-l" style="padding: 4px;"><?= GetMessage('FILEMAN_OPTION_MENU_TYPES')?></td>
668 <td valign="top" width="60%" class="adm-detail-content-cell-r">
669 <table cellPadding="2" cellSpacing="2" border="0" width="100%">
670 <tr class="heading">
671 <td align="center" width="40%"><b><?= GetMessage("FILEMAN_OPTION_MENU_TYPE")?></b></td>
672 <td align="center" width="60%"><b><?= GetMessage("FILEMAN_OPTION_MENU_NAME")?></b></td>
673 </tr>
674 <?
675 $armt = GetMenuTypes('', "left=".GetMessage("FILEMAN_OPTION_LEFT_MENU_NAME").",top=".GetMessage("FILEMAN_OPTION_TOP_MENU_NAME"));
676
677
678 $i = 0;
679 foreach($armt as $key => $title):
680 if ($USER->CanDoOperation('fileman_edit_menu_types')):
681 ?>
682 <tr>
683 <td style="padding: 2px;"><input type="text" name="menutypes_<?echo $i?>_type" value="<?= htmlspecialcharsbx($key)?>" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
684 <td style="padding: 2px;"><input type="text" name="menutypes_<?echo $i?>_name" value="<?= htmlspecialcharsbx($title)?>" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
685 </tr>
686 <?else:?>
687 <tr>
688 <td style="padding-left: 5px">
690 <input type="hidden" name="menutypes_<?echo $i?>_type" value="<?echo htmlspecialcharsbx($key)?>">
691 </td>
692 <td style="padding-left: 5px">
694 <input type="hidden" name="menutypes_<?echo $i?>_name" value="<?echo htmlspecialcharsbx($title)?>">
695 </td>
696 </tr>
697 <?
698 endif;
699 $i++;
701 ?>
702 <input type="hidden" name="menutypes_count" value="<?echo $i?>">
703 <?if ($USER->CanDoOperation('fileman_edit_menu_types')):?>
704 <tr>
705 <td><input type="text" name="menutypes_new_type" value="" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
706 <td><input type="text" name="menutypes_new_name" value="" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
707 </tr>
708 <?endif;?>
709 </table>
710 </td>
711 </tr>
712 <tr>
713 <td class="adm-detail-content-cell-l"><?= GetMessage('FILEMAN_OPTION_MENU_PARAMS')?></td>
714 <td class="adm-detail-content-cell-r"><input type="text" name="num_menu_param" size="5" value="<?echo COption::GetOptionInt($module_id, "num_menu_param", 1, "")?>"></td>
715 </tr>
716 <tr>
717 <td valign="top" class="adm-detail-content-cell-l"><?= GetMessage('FILEMAN_OPTION_PROPS_TYPES')?></td>
718 <td valign="top" class="adm-detail-content-cell-r">
719 <table cellpadding="2" cellspacing="2" border="0" width="100%">
720 <tr class="heading">
721 <td align="center" width="40%"><b><?= GetMessage('FILEMAN_OPTION_PROPS_TYPE')?></b></td>
722 <td align="center" width="60%"><b><?= GetMessage('FILEMAN_OPTION_PROPS_NAME')?></b></td>
723 </tr>
724 <?
725
726 $i = 0;
727 foreach (CFileMan::GetPropstypes('') as $key => $val)
728 {
729 ?>
730 <tr>
731 <td><input type="text" name="propstypes_<?= $i?>_type" value="<?= htmlspecialcharsbx($key)?>" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
732 <td><input type="text" name="propstypes_<?= $i?>_name" value="<?= htmlspecialcharsbx($val)?>" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
733 </tr>
734 <?
735 $i++;
736 }
737 ?>
738 <input type="hidden" name="propstypes_count" value="<?echo $i+1;?>">
739 <tr>
740 <td><input type="text" name="propstypes_new_type" value="" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
741 <td><input type="text" name="propstypes_new_name" value="" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
742 </tr>
743 </table>
744 </td>
745 </tr>
746 </td>
747 </tr>
748 </table>
749 </td>
750 </tr>
751 <input type="hidden" name="mSiteList" value="<?=htmlspecialcharsbx(serialize($siteList))?>">
752 <?
753 for($j = 0; $j < $siteCount; $j++)
754 {
755 ?>
756 <tr id="<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_Propery" style="<? if(((COption::GetOptionString($module_id, "different_set", "N") == "Y") && ($j != 0)) || (COption::GetOptionString($module_id, "different_set", "N") == "N")) echo "display: none;"?>">
757 <td colSpan="2">
758 <table cellspacing="4" cellpadding="0" width="100%">
759 <tr>
760 <td valign="top" width="40%" class="adm-detail-content-cell-l"><?= GetMessage('FILEMAN_OPTION_MENU_TYPES')?></td>
761 <td valign="top" width="60%" class="adm-detail-content-cell-r">
762 <table cellPadding="2" cellSpacing="2" border="0" width="100%">
763 <tr class="heading">
764 <td align="center" width="40%"><b><?= GetMessage('FILEMAN_OPTION_MENU_TYPE')?></b></td>
765 <td align="center" width="60%"><b><?= GetMessage('FILEMAN_OPTION_MENU_NAME')?></b></td>
766 </tr>
767 <?
768 $armt = GetMenuTypes($siteList[$j]["ID"], "left=".GetMessage("FILEMAN_OPTION_LEFT_MENU_NAME").",top=".GetMessage("FILEMAN_OPTION_TOP_MENU_NAME"));
769
770 $i = 0;
771 foreach($armt as $key => $title):
772 if ($USER->CanDoOperation('fileman_edit_menu_types')):
773 ?>
774 <tr>
775 <td><input type="text" name="menutypes_<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_<?= $i?>_type" value="<?= htmlspecialcharsbx($key)?>" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
776 <td><input type="text" name="menutypes_<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_<?= $i?>_name" value="<?= htmlspecialcharsbx($title)?>" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
777 </tr>
778 <?else:?>
779 <tr>
780 <td>
781 <?echo htmlspecialcharsbx($key)?>
782 <input type="hidden" name="menutypes_<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_<?= $i?>_type" value="<?= htmlspecialcharsbx($key)?>">
783 </td>
784 <td>
785 <?echo htmlspecialcharsbx($title)?>
786 <input type="hidden" name="menutypes_<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_<?= $i?>_name" value="<?= htmlspecialcharsbx($title)?>">
787 </td>
788 </tr>
789 <?
790 endif;
791 $i++;
793 ?>
794 <input type="hidden" name="menutypes_<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_count" value="<?= $i?>">
795 <?if($USER->CanDoOperation('fileman_edit_menu_types')):?>
796 <tr>
797 <td><input type="text" name="menutypes_<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_new_type" value="" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
798 <td><input type="text" name="menutypes_<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_new_name" value="" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
799 </tr>
800 <?endif;?>
801 </table>
802 </td>
803 </tr>
804 <tr>
805 <td class="adm-detail-content-cell-l"><?= GetMessage('FILEMAN_OPTION_MENU_PARAMS')?></td>
806 <td class="adm-detail-content-cell-r"><input type="text" name="num_<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_menu_param" size="5" value="<?= COption::GetOptionInt($module_id, "num_menu_param", 1, $siteList[$j]["ID"])?>"></td>
807 </tr>
808 <tr>
809 <td valign="top" class="adm-detail-content-cell-l"><?= GetMessage('FILEMAN_OPTION_PROPS_TYPES')?></td>
810 <td class="adm-detail-content-cell-r">
811 <table cellPadding="2" cellSpacing="2" border="0" width="100%">
812 <tr class="heading">
813 <td align="center" width="40%"><b><?= GetMessage('FILEMAN_OPTION_PROPS_TYPE')?></b></td>
814 <td align="center" width="60%"><b><?= GetMessage('FILEMAN_OPTION_PROPS_NAME')?></b></td>
815 </tr>
816 <?
817 $i = 0;
818 foreach (CFileMan::GetPropstypes($siteList[$j]["ID"]) as $key => $val)
819 {?>
820 <tr>
821 <td><input type="text" name="propstypes_<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_<?echo $i?>_type" value="<?= htmlspecialcharsbx($key)?>" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
822 <td><input type="text" name="propstypes_<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_<?echo $i?>_name" value="<?= htmlspecialcharsbx($val)?>" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
823 </tr>
824 <?
825 $i++;
826 }
827 ?>
828 <input type="hidden" name="propstypes_<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_count" value="<?echo $i+1?>">
829 <tr>
830 <td><input type="text" name="propstypes_<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_new_type" value="" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
831 <td><input type="text" name="propstypes_<?= htmlspecialcharsbx($siteList[$j]["ID"])?>_new_name" value="" style="width:100%; -moz-box-sizing: border-box; box-sizing: border-box;"></td>
832 </tr>
833 </table>
834 </td>
835 </tr>
836 </table>
837 </td>
838 </tr>
839
840 <? } ?>
841 <tr class="heading">
842 <td colspan="2"><?= GetMessage("FILEMAN_SEARCH_TITLE")?></td>
843 </tr>
844 <tr>
845 <td><label for="search_max_open_file_size"><?= GetMessage("FILEMAN_SEARCH_MAX_FILE_SIZE")?> (<?= GetMessage("FILEMAN_SEARCH_KB")?>):</label></td>
846 <td><input type="text" name="search_max_open_file_size" id="search_max_open_file_size" value="<?= COption::GetOptionString($module_id, "search_max_open_file_size", "1024")?>"></td>
847 </tr>
848 <tr>
849 <td><label for="search_max_res_count"><?= GetMessage("FILEMAN_SEARCH_MAX_RES_CNT")?>:</label></td>
850 <?
851 $val = COption::GetOptionString($module_id, "search_max_res_count", "");
852 $def_val = ' - '.GetMessage('FILEMAN_SEARCH_NO_LIMITS').' -';
853 ?>
854 <td><input type="text" name="search_max_res_count" id="search_max_res_count" value="<? echo $val != "" ? $val : $def_val; ?>" <? if ($val == ""): ?>class="def-val"<?endif;?> onfocus="if (this.value == '<?= $def_val?>' || this.value == ''){this.value = ''; BX.removeClass(this, 'def-val');}" onblur="if (this.value == ''){this.value = '<?= $def_val?>'; BX.addClass(this, 'def-val');}" />
855 </td>
856 </tr>
857 <tr>
858 <td><label for="search_time_step"><?= GetMessage("FILEMAN_SEARCH_TIME_STEP")?>:</label></td>
859 <td><input type="text" name="search_time_step" id="search_time_step" value="<?= COption::GetOptionString($module_id, "search_time_step", "5"); ?>"></td>
860 </tr>
861 <tr>
862 <td><label for="search_mask"><?= GetMessage("FILEMAN_SEARCH_MASK_DEF")?>:</label></td>
863 <td><input type="text" name="search_mask" id="search_mask" value="<?= htmlspecialcharsbx(COption::GetOptionString($module_id, "search_mask", "*.php"))?>"></td>
864 </tr>
865 <tr class="heading">
866 <td colspan="2"><?= GetMessage("FILEMAN_ARCHIVE_TITLE")?></td>
867 </tr>
868 <tr>
869 <td><label for="archive_step_time"><?= GetMessage("FILEMAN_ARCHIVE_STEP_TIME")?>:</label></td>
870 <td><input type="text" name="archive_step_time" id="archive_step_time" value="<?= htmlspecialcharsbx(COption::GetOptionString($module_id, "archive_step_time", "30"))?>"></td>
871 </tr>
872 </tr>
873 <!--end of archive-->
874<?$tabControl->BeginNextTab();?>
875<tr>
876 <td valign="top"><label for="use_editor_3"><?= GetMessage('FILEMAN_OPTION_USE_EDITOR_3')?></label></td>
877 <td><input type="checkbox" name="use_editor_3" id="use_editor_3" value="Y" <?if($useEditor3) echo " checked"?>></td>
878</tr>
879
880<? if (!$useEditor3):?>
881<tr>
882 <td valign="top"><label for="show_untitled_styles"><?= GetMessage('FILEMAN_OPTION_USE_ONLY_DEFINED_STYLES')?></label></td>
883 <td><input type="checkbox" name="show_untitled_styles" id="show_untitled_styles" value="Y" <?if(COption::GetOptionString($module_id, "show_untitled_styles", "N")=="Y")echo " checked"?>></td>
884</tr>
885<tr>
886 <td valign="top"><label for="render_styles_in_classlist"><?= GetMessage('FILEMAN_OPTION_RENDER_CLASSLIST_STYLE')?>:</label></td>
887 <td><input type="checkbox" name="render_styles_in_classlist" id="render_styles_in_classlist" value="Y" <?if(COption::GetOptionString($module_id, "render_styles_in_classlist", "N") == "Y") echo " checked"?>></td>
888</tr>
889<tr>
890 <td valign="top"><label for="htmleditor_fullscreen"><?= GetMessage('FILEMAN_OPT_FULLSCREEN')?></label></td>
891 <td><input type="checkbox" name="htmleditor_fullscreen" id="htmleditor_fullscreen" value="Y" <?if(COption::GetOptionString($module_id, "htmleditor_fullscreen", "N")=="Y")echo " checked"?>></td>
892</tr>
893<tr>
894 <td valign="top"><label for="allow_render_components"><?= GetMessage('FILEMAN_OPT_ALLOW_RENDER_COMPONENTS')?>:</label></td>
895 <td><input type="checkbox" name="allow_render_components" id="allow_render_components" value="Y" <?if(COption::GetOptionString($module_id, "allow_render_components", "N") == "Y") echo " checked"?>></td>
896</tr>
897<? endif; // $useEditor3?>
898 <tr>
899 <td valign="top"><label for="editor_body_id"><?= GetMessage('FILEMAN_OPTION_EDITOR_BODY_ID')?>:</label></td>
900 <td><input type="text" id="editor_body_id" name="editor_body_id" value="<?= COption::GetOptionString($module_id, "editor_body_id", "")?>" /></td>
901 </tr>
902 <tr>
903 <td valign="top"><label for="editor_body_class"><?= GetMessage('FILEMAN_OPTION_EDITOR_BODY_CLASS')?>:</label></td>
904 <td><input type="text" id="editor_body_class" name="editor_body_class" value="<?= COption::GetOptionString($module_id, "editor_body_class", "")?>" /></td>
905 </tr>
906
907<? if (!$useEditor3):?>
908 <tr class="heading">
909 <td colspan="2"><?= GetMessage("FILEMAN_EDITOR_TOOLBAR_SETTINGS");?></td>
910 </tr>
911<?
912$arEdTypes = array(
913 array(
914 "code" => "filesrc_pub",
915 "editors"=> array("filesrc_pub"),
916 "title" => GetMessage("FILEMAN_EDITOR_TYPE_PUBLIC"),
917 "public" => true
918 ),
919 array(
920 "code" => "filesrc",
921 "editors"=> array("filesrc"),
922 "title" => GetMessage("FILEMAN_EDITOR_TYPE_ADMIN"),
923 "public" => false),
924 array(
925 "code" => "template_edit",
926 "editors"=> array("CONTENT"),
927 "title" => GetMessage("FILEMAN_EDITOR_TYPE_TEMPLATE"),
928 "public" => false
929 )
930);
931
932if (IsModuleInstalled("iblock"))
933{
934 $arEdTypes[] = array(
935 "code" => "iblock_public",
936 "editors"=> array("PREVIEW_TEXT", "DETAIL_TEXT"),
937 "title" => GetMessage("FILEMAN_EDITOR_TYPE_IBLOCK_PUBLIC"),
938 "public" => true
939 );
940 $arEdTypes[] = array(
941 "code" => "iblock_admin",
942 "editors"=> array("PREVIEW_TEXT", "DETAIL_TEXT"),
943 "title" => GetMessage("FILEMAN_EDITOR_TYPE_IBLOCK_ADMIN"),
944 "public" => false
945 );
946}
947
948if (IsModuleInstalled("subscribe"))
949{
950 $arEdTypes[] = array(
951 "code" => "subscribe",
952 "editors"=> array(),
953 "title" => GetMessage("FILEMAN_EDITOR_TYPE_SUBSCRIBE"),
954 "public" => false
955 );
956}
957
958if (IsModuleInstalled("learning"))
959{
960 $arEdTypes[] = array(
961 "code" => "learning_public",
962 "editors"=> array(),
963 "title" => GetMessage("FILEMAN_EDITOR_TYPE_LEARNING_PUBLIC"),
964 "public" => true
965 );
966 $arEdTypes[] = array(
967 "code" => "learning_admin",
968 "editors"=> array(),
969 "title" => GetMessage("FILEMAN_EDITOR_TYPE_LEARNING_ADMIN"),
970 "public" => false
971 );
972}
973
974if (IsModuleInstalled("form"))
975{
976 $arEdTypes[] = array(
977 "code" => "form_edit",
978 "editors"=> array("FORM_TEMPLATE"),
979 "title" => GetMessage("FILEMAN_EDITOR_TYPE_FORM"),
980 "public" => false
981 );
982 $arEdTypes[] = array(
983 "code" => "form_edit_public",
984 "editors"=> array("FORM_TEMPLATE"),
985 "title" => GetMessage("FILEMAN_EDITOR_TYPE_FORM_PUBLIC"),
986 "public" => false
987 );
988}
989
990$arCurConfig = array();
991for ($i = 0, $l = count($arEdTypes); $i < $l; $i++)
992{
993 $arCurConfig[$arEdTypes[$i]['code']] = CFileMan::GetEditorToolbarConfig($arEdTypes[$i]['code']);
994 // for ($j = 0, $n = count($arEdTypes[$i]['editors']); $j < $n; $j++)
995 // {
996 // $arJS = Array();
997 // $arCSS = Array();
998
999 // $events = GetModuleEvents("fileman", "OnBeforeHTMLEditorScriptsGet");
1000 // while($arEvent = $events->Fetch())
1001 // {
1002 // $tmp = ExecuteModuleEventEx($arEvent, array($arEdTypes[$i]['editors'][$j], array()));
1003 // if (!is_array($tmp))
1004 // continue;
1005
1006 // if (is_array($tmp['JS']))
1007 // $arJS = array_merge($arJS, $tmp['JS']);
1008 // if (is_array($tmp['CSS']))
1009 // $arCSS = array_merge($arCSS, $tmp['CSS']);
1010 // }
1011 // }
1012}
1013?>
1014
1015 <tr>
1016 <td width="50%"><label for='ed_toolbar_type'><?= GetMessage("FILEMAN_EDITOR_TYPE");?>:</td>
1017 <td valign="top">
1018 <select name="ed_toolbar_type" id="ed_toolbar_type">
1019 <?for ($i = 0, $l = count($arEdTypes); $i < $l; $i++):?>
1020 <option value="<?= $arEdTypes[$i]["code"]?>"><?= $arEdTypes[$i]["title"]?></option>
1021 <? endfor;?>
1022 </select>
1023 </td>
1024 </tr>
1025 <tr>
1026 <td></td>
1027 <td valign="top">
1028
1029<style>
1030div.bxopt-cont{width: 350px; height: 300px; border: 1px solid #E0E4F1;overflow: auto;}
1031table.bxopt-tbl{border-collapse: collapse;width: 100%;}
1032table.bxopt-tbl td{padding: 0!important;}
1033table.bxopt-tbl td.bxopt-toolbar-title{background-color: #E0E8EA; font-weight: bold; padding: 4px 0!important;}
1034table.bxopt-tbl td.bxopt-toolbar-sep{height: 10px;}
1035table.bxopt-tbl td.bxopt-toolbar-title label{margin-left:31px; cursor: default;}
1036table.bxopt-tbl td.bxopt-check-sell{width: 20px; padding-left: 5px!important;}
1037table.bxopt-tbl td.bxopt-separator{color: #808080;font-style:italic;font-size: 11px;text-align: center;}
1038table.bxopt-tbl td.bxopt-but-icon{width: 25px; padding: 2px 0 0 5px !important;}
1039table.bxopt-tbl td.bxopt-but-icon .bxed-button{width: 20px; height: 20px; background-image: url(/bitrix/images/fileman/htmledit2/_global_iconkit.gif); background-repeat: norepeat;}
1040table.bxopt-list{border-collapse: collapse; border:1px solid #A5ACB2 !important; margin-left: 3px;}
1041table.bxopt-list td{background: #FFFFFF !important;}
1042table.bxopt-list .bxopt-listtitle{background:#FFFFFF!important; font-family:Tahoma,Courier New !important; font-size:11px !important; margin:2px 4px 0!important; overflow:hidden; white-space:nowrap;}
1043table.bxopt-list td.bx-listbutton{background:url("/bitrix/images/fileman/htmledit2/_global_iconkit.gif") no-repeat scroll -63px -59px #E0DEDA !important; border-left:1px solid #A5ACB2 !important; font-size:1pt !important; height:18px !important; width:14px !important;}
1044table.bxopt-tbl td.bxopt-but-title{}
1045table.bxopt-tbl td.bxopt-but-title label{margin: 3px 2px; cursor: default;}
1046</style>
1047 <div id="bxopt_but_title" class="bxopt-cont-title"></div>
1048 <div id="bxopt_but_div" class="bxopt-cont">
1049 </div>
1050
1051<?
1052// Get lang messages for editor for displaying buttons
1053function _GtFMess()
1054{
1055 if(file_exists($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/fileman/lang/'.LANGUAGE_ID.'/admin/fileman_js.php'))
1056 include($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/fileman/lang/'.LANGUAGE_ID.'/admin/fileman_js.php');
1057 else
1058 include($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/fileman/lang/en/admin/fileman_js.php');
1059 return $MESS;
1060}
1061
1062$sMess = "";
1063$aMess = _GtFMess();
1064$aMess = array_keys($aMess);
1065
1066IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/fileman/admin/fileman_js.php');
1067$l = count($aMess);
1068for($i = 0; $i < $l; $i++)
1069 if(mb_substr($aMess[$i], 0, mb_strlen("FILEMAN_JS_")) == "FILEMAN_JS_")
1070 $sMess .= "'".mb_substr($aMess[$i], mb_strlen("FILEMAN_JS_"))."': '".CUtil::addslashes(GetMessage($aMess[$i]))."',";
1071
1072$sMess = rtrim($sMess,',');
1073
1074?>
1075
1076<script>
1077var BX_MESS = {<?=$sMess?>};
1078function BXButtonConfig()
1079{
1080 this.Init();
1081}
1082
1083BXButtonConfig.prototype =
1084{
1085 Init: function()
1086 {
1087 this.pEditorType = BX("ed_toolbar_type");
1088 this.pTitle = BX("bxopt_but_title");
1089 this.pWnd = BX("bxopt_but_div");
1090 this.arChecks = {};
1091 this.types = <?= CUtil::PhpToJSObject($arEdTypes)?>;
1092 this.curConfig = <?= CUtil::PhpToJSObject($arCurConfig)?>;
1093
1094 var
1095 curCode = '<?= isset($_REQUEST['ed_toolbar_type']) ? CUtil::JSEscape($_REQUEST['ed_toolbar_type']) : ''?>',
1096 _this = this, i, l = this.types.length;
1097
1098 this.pEditorType.onchange = function(){_this.ChangeEditorType(this.value);};
1099
1100 window.pPropertybarHandlers = {};
1101 window.oBXEditorUtils = {addDOMHandler: function(){}, appendButton: function(){}};
1102 window._showAllButtons = true;
1103
1104 this.oTypes = {};
1105 for (i = 0; i < l; i++)
1106 this.oTypes[this.types[i].code] = {oType: this.types[i]};
1107
1108 // Load buttons
1109 BX.loadScript('/bitrix/admin/htmleditor2/toolbarbuttons.js', function()
1110 {
1111 _this.buttons = arButtons;
1112 _this.toolbars = window.arToolbars;
1113 _this.globalToolbar = window.arGlobalToolbar;
1114 _this.ChangeEditorType(curCode || _this.types[0].code);
1115 }
1116 );
1117
1118 BX.loadCSS('/bitrix/admin/htmleditor2/editor.css');
1119 },
1120
1121 BuildButtons: function(typeCode)
1122 {
1123 var tableCont = this.pWnd.appendChild(BX.create("TABLE", {props: {className: "bxopt-tbl"}, style: {display: 'none'}}));
1124 this.oTypes[typeCode].pTable = tableCont;
1125 this.oTypes[typeCode].arChecks = {};
1126 this.oTypes[typeCode].arTlbrChecks = {};
1127 // Store
1128 this.oTypes[typeCode].pInputCont = this.pWnd.appendChild(BX.create("DIV"));
1129
1130 var k, i, l, row, chId, checkCell, checkBox, but, chBox, j, val, n;
1131 var _this = this;
1132
1133 if (this.oTypes[typeCode].oType['public'])
1134 {
1135 toolbarId = 'global';
1136 this.AddButton(typeCode, 'new_line', -1, toolbarId);
1137
1138 // Global toolbar
1139 for (i = 0, l = this.globalToolbar.length; i < l; i++)
1140 this.AddButton(typeCode, this.globalToolbar[i], i, toolbarId);
1141
1142 if (this.curConfig[typeCode])
1143 {
1144 for(j = 0, n = this.curConfig[typeCode].length; j < n ; j++)
1145 {
1146 val = this.curConfig[typeCode][j];
1147 if (val.indexOf("-") != -1 && (chBox = BX("bxbut~" + typeCode + "~" + 'global' + "~" + val.substr(1))))
1148 chBox.checked = false;
1149 }
1150 }
1151 }
1152 else
1153 {
1154 for (k in this.toolbars)
1155 {
1156 if (typeof this.toolbars[k] != 'object')
1157 continue;
1158
1159 // Add toolbar title
1160 chId = "bxedtlbr~" + typeCode + "~" + k;
1161 row = tableCont.insertRow(-1);
1162
1163 checkCell = BX.adjust(row.insertCell(-1), {props: {className: "bxopt-check-sell bxopt-toolbar-title"}});
1164 checkBox = checkCell.appendChild(BX.create("INPUT", {props: {type: "checkbox", id: chId, checked: true}}));
1165 this.oTypes[typeCode].arTlbrChecks[k] = checkBox;
1166
1167 //Just on/off button checkboxes
1168 checkBox.onclick = function()
1169 {
1170 var
1171 bCheck = !!this.checked,
1172 _id = this.id.split("~"),
1173 typeCode = _id[1],
1174 tlbrCode = _id[2],
1175 arCh = _this.oTypes[typeCode].arChecks[tlbrCode],
1176 j, k = arCh.length;
1177
1178 for (j = 0; j < k; j++)
1179 arCh[j].checked = bCheck;
1180 _this.SaveConfig(typeCode);
1181 };
1182
1183 BX.adjust(row.insertCell(-1), {props: {className: "bxopt-toolbar-title", colSpan: 2}, html: "<label for=\"" + chId + "\">" + this.toolbars[k][0] + "</label>"});
1184
1185 // Add buttons
1186 for (i = 0, l = this.toolbars[k][1].length; i < l; i++)
1187 this.AddButton(typeCode, this.toolbars[k][1][i], i, k);
1188
1189 // Add toolbar separator
1190 BX.adjust(tableCont.insertRow(-1).insertCell(-1),{props: {className: "bxopt-toolbar-sep", colSpan: 3}});
1191
1192 if (this.curConfig[typeCode] && this.curConfig[typeCode][k])
1193 {
1194 for(j = 0, n = this.curConfig[typeCode][k].length; j < n ; j++)
1195 {
1196 val = this.curConfig[typeCode][k][j];
1197 if (val.indexOf("-") != -1 && (chBox = BX("bxbut~" + typeCode + "~" + k + "~" + val.substr(1))))
1198 chBox.checked = false;
1199 }
1200 }
1201
1202 this.CheckToolbar(typeCode, k);
1203 }
1204 }
1205 },
1206
1207 AddButton: function(typeCode, but, ind, toolbarId)
1208 {
1209 if (typeof but == 'undefined')
1210 return;
1211
1212 var
1213 tableCont = this.oTypes[typeCode].pTable,
1214 row = tableCont.insertRow(-1),
1215 chId = "bxbut~" + typeCode + "~" + toolbarId + "~" + (but == 'line_begin' ? but : ind),
1216 _this = this;
1217
1218 if (!this.oTypes[typeCode].arChecks[toolbarId])
1219 this.oTypes[typeCode].arChecks[toolbarId] = [];
1220
1221 if (but == 'new_line' && ind >= 0)
1222 {
1223 // Add toolbar separator
1224 BX.adjust(row.insertCell(-1), {props: {className: "bxopt-toolbar-sep", colSpan: 3}});
1225 row = tableCont.insertRow(-1);
1226 }
1227
1228 var
1229 checkCell = BX.adjust(row.insertCell(-1), {props: {className: "bxopt-check-sell"}}),
1230 checkBox = checkCell.appendChild(BX.create("INPUT", {props: {type: "checkbox", id: chId}}));
1231
1232 checkBox.checked = true;
1233
1234 if (ind >= 0)
1235 {
1236 this.oTypes[typeCode].arChecks[toolbarId].push(checkBox);
1237
1238 checkBox.onclick = function()
1239 {
1240 var _id = this.id.split("~");
1241 _this.CheckToolbar(_id[1], _id[2]);
1242 _this.SaveConfig(typeCode);
1243 }
1244 }
1245 else
1246 {
1247 checkBox.checked = true;
1248 checkBox.disabled = true;
1249 }
1250
1251 if (but == 'new_line')
1252 {
1253 BX.addClass(checkCell, "bxopt-toolbar-title");
1254 var sepCell = BX.adjust(row.insertCell(-1), {props: {className: "bxopt-toolbar-title", colSpan: 2}, html: "<label for=\"" + chId + "\">" + '<?= GetMessage('FILEMAN_EDITOR_BUT_CONF_NEW_LINE')?>' + "</label>"});
1255 }
1256 else if (but == 'separator')
1257 {
1258 var sepCell = BX.adjust(row.insertCell(-1), {props: {className: "bxopt-separator", colSpan: 2}, html: "<label for=\"" + chId + "\">" + '------------ <?= GetMessage('FILEMAN_EDITOR_BUT_CONF_SEP')?> ------------' + "</label>"});
1259 }
1260 else
1261 {
1262 var iconCell = BX.adjust(row.insertCell(-1), {props: {className: "bxopt-but-icon"}});
1263 var text = but[1].name || but[1].title || but[1].id;
1264
1265 if (but[0] == 'BXButton' || but[0] == 'BXEdColorPicker')
1266 {
1267 var pIcon = iconCell.appendChild(BX.create("IMG", {props: {id: "bx_btn_" + but[1].id, src: "/bitrix/images/1.gif", className: "bxed-button"}}));
1268
1269 var titleCell = BX.adjust(row.insertCell(-1), {props: {className: "bxopt-but-title"}, html: "<label for=\"" + chId + "\">" + text + "</label>"});
1270
1271 }
1272 else if (but[0] == 'BXEdList' || but[0] == 'BXStyleList')
1273 {
1274 iconCell.colSpan = "2";
1275 var listTable = iconCell.appendChild(BX.create("TABLE", {props: {className: "bxopt-list"}, style: {width: (but[1].field_size || 120) + "px"}}));
1276
1277 var r = listTable.insertRow(-1);
1278 r.insertCell(-1).appendChild(BX.create("DIV", {props: {className: "bxopt-listtitle"}, html: "<label for=\"" + chId + "\">" + text + "</label>"}));
1279 BX.adjust(r.insertCell(-1), {props: {className: "bx-listbutton"}, html: "&nbsp;"});
1280 }
1281 }
1282 },
1283
1284 ChangeEditorType: function(type)
1285 {
1286 this.pEditorType.value = type;
1287 for (var k in this.oTypes)
1288 {
1289 if (typeof this.oTypes[k] == 'object' /* && this.oTypes[k].pTable */)
1290 {
1291 if (k == type)
1292 {
1293 if (!this.oTypes[k].pTable)
1294 this.BuildButtons(k);
1295
1296 this.oTypes[k].pTable.style.display = '';
1297 }
1298 else
1299 {
1300 if (this.oTypes[k].pTable)
1301 this.oTypes[k].pTable.style.display = 'none';
1302 }
1303 }
1304 }
1305 },
1306
1307 SaveConfig: function(typeCode)
1308 {
1309 // Clean inputs
1310 BX.cleanNode(this.oTypes[typeCode].pInputCont);
1311
1312 // For global toolbars
1313 if (this.oTypes[typeCode].oType['public'])
1314 {
1315 var
1316 bChanged = false,
1317 value = [],
1318 pCh, _id, ind,
1319 arCh = this.oTypes[typeCode].arChecks['global'],
1320 i, l = arCh.length;
1321
1322 for (i = 0; i < l; i++)
1323 {
1324 ind = arCh[i].id.split("~")[3];
1325 but = this.globalToolbar[ind];
1326 value.push((arCh[i].checked ? "" : "-") + ind.toString());
1327
1328 if (!arCh[i].checked)
1329 bChanged = true;
1330 }
1331
1332 if (bChanged)
1333 {
1334 l = value.length;
1335 for(i = 0; i < l; i++)
1336 {
1337 this.oTypes[typeCode].pInputCont.appendChild(BX.create("INPUT", {props: {type: 'hidden', name: 'tlbr[' + typeCode + '][global][' + i + ']', value: value[i]}}));
1338 }
1339 }
1340 else
1341 {
1342 this.oTypes[typeCode].pInputCont.appendChild(BX.create("INPUT", {props: {type: 'hidden', name: 'tlbr[' + typeCode + ']', value: 'clean'}}));
1343 }
1344 }
1345 else
1346 {
1347 var
1348 bChanged = false,
1349 value = {},
1350 pCh, _id, ind,
1351 arCh = this.oTypes[typeCode].arChecks,
1352 i, l, k;
1353
1354 // For each toolbar
1355 for (k in arCh)
1356 {
1357 if (typeof arCh[k] != 'object')
1358 continue;
1359
1360 l = arCh[k].length;
1361 for (i = 0; i < l; i++)
1362 {
1363 ind = arCh[k][i].id.split("~")[3];
1364
1365 this.oTypes[typeCode].pInputCont.appendChild(BX.create("INPUT", {props: {type: 'hidden', name: 'tlbr[' + typeCode + '][' + k + '][' + i + ']', value: (arCh[k][i].checked ? "" : "-") + ind.toString()}}));
1366
1367 if (!arCh[k][i].checked)
1368 bChanged = true;
1369 }
1370 }
1371
1372 if (!bChanged)
1373 {
1374 BX.cleanNode(this.oTypes[typeCode].pInputCont);
1375 this.oTypes[typeCode].pInputCont.appendChild(BX.create("INPUT", {props: {type: 'hidden', name: 'tlbr[' + typeCode + ']', value: 'clean'}}));
1376 }
1377 }
1378 },
1379
1380 CheckToolbar: function(typeCode, tlbr)
1381 {
1382 if (this.oTypes[typeCode].oType.public)
1383 return;
1384
1385 var
1386 tlbrCh = BX("bxedtlbr~" + typeCode + "~" + tlbr),
1387 bCheck = false,
1388 arCh = this.oTypes[typeCode].arChecks[tlbr],
1389 i, l = arCh.length;
1390
1391 for (i = 0; i < l; i++)
1392 {
1393 if (arCh[i].checked)
1394 {
1395 bCheck = true;
1396 break;
1397 }
1398 }
1399
1400 if (tlbrCh)
1401 tlbrCh.checked = !!bCheck;
1402 }
1403};
1404
1405new BXButtonConfig();
1406
1407</script>
1408 </td>
1409 </tr>
1410
1411<?endif; // $useEditor3?>
1412 <tr class="heading">
1413 <td colspan="2"><? echo GetMessage("FILEMAN_EDITOR_CONVERT_SETTINGS");?></td>
1414 </tr>
1415
1416 <? if ($useEditor3):?>
1417 <tr>
1418 <td width="50%" valign="top"><label for='replace_new_lines'><?echo GetMessage("FILEMAN_REPLACE_NEW_LINES_WITH_BR");?>:</td>
1419 <td valign="top">
1420 <input type="checkbox" name="replace_new_lines" id='replace_new_lines' value="Y" <? if (COption::GetOptionString($module_id, "replace_new_lines", 'Y') == 'Y') echo 'checked';?>>
1421 </td>
1422 </tr>
1423 <? else:?>
1424 <tr>
1425 <td width="50%" valign="top"><label for='use_lca'><?echo GetMessage("FILEMAN_USE_LCA");?>:</td>
1426 <td valign="top">
1427 <input type="checkbox" name="use_lca" id='use_lca' value="Y" <? if (COption::GetOptionString($module_id, "use_lca", 'N') == 'Y') echo 'checked';?>>
1428 </td>
1429 </tr>
1430 <tr>
1431 <td width="50%" valign="top"><?echo GetMessage("FILEMAN_ENTITIES_GROUPS");?>:</td>
1432 <td valign="top">
1433 <?
1434 $opt = COption::GetOptionString($module_id, "ar_entities", 'umlya,greek,other');
1435 if ($opt == 'none')
1436 $ar_entities = array();
1437 else
1438 $ar_entities = explode(',', $opt);
1439 ?>
1440 <table border="0" style="width:100%">
1441 <tr>
1442 <td><input type="checkbox" name="ar_entities[]" id='ent_umlya' value="umlya" <? if(in_array('umlya',$ar_entities)) echo 'checked';?>></td>
1443 <td><label for='ent_umlya'><?echo GetMessage("FILEMAN_ENTITIES_UMLYA");?></label></td>
1444 </tr>
1445 <tr>
1446 <td><input type="checkbox" name="ar_entities[]" id="ent_greek" value="greek" <? if(in_array('greek',$ar_entities)) echo 'checked';?>></td>
1447 <td><label for='ent_greek'><?echo GetMessage("FILEMAN_ENTITIES_GREEK");?></label></td>
1448 </tr>
1449 <tr>
1450 <td><input type="checkbox" name="ar_entities[]" value="other" id="ent_other" <? if(in_array('other',$ar_entities)) echo 'checked';?>></td>
1451 <td><label for='ent_other'><?echo GetMessage("FILEMAN_ENTITIES_OTHER");?></label></td>
1452 </tr>
1453 </table>
1454 </td>
1455 </tr>
1456 <? endif; //$useEditor3 ?>
1457
1458<? if ($useEditor3):?>
1459
1460 <tr class="heading">
1461 <td colspan="2"><? echo GetMessage("FILEMAN_OPTION_SPELL_SET");?></td>
1462 </tr>
1463
1464 <?
1465 if (function_exists('pspell_config_create')):
1466 $use_pspell_checked = (COption::GetOptionString($module_id, "use_pspell", "Y")=="Y") ? "checked" : "";
1467 ?>
1468 <tr>
1469 <td valign="top"><label for="use_pspell"><?echo GetMessage("FILEMAN_OPTION_USE_PSPELL");?></label><br>
1470 <a title="<?echo GetMessage("FILEMAN_OPTION_ADDISH_DICS_TITLE");?>" href="http://aspell.sourceforge.net/" target="blank"><?echo GetMessage("FILEMAN_OPTION_ADDISH_DICS");?></a><br>
1471 </td>
1472 <td>
1473 <input type="checkbox" name="use_pspell" id="use_pspell" value="Y" <?echo $use_pspell_checked;?>>
1474 </td>
1475 </tr>
1476 <tr>
1477 <td><? echo GetMessage("FILEMAN_OPTION_USER_DIC_DIR");?></td>
1478 <td>
1479 <input type="text" name="user_dics_path" style="width: 100%" value="<?= htmlspecialcharsbx(COption::GetOptionString($module_id, "user_dics_path", "/bitrix/modules/fileman/u_dics"))?>">
1480 </td>
1481 </tr>
1482 <tr>
1483 <td><label for="use_separeted_dics"><?= GetMessage("FILEMAN_OPTION_USE_SEP_DICS");?></label></td>
1484 <td>
1485 <input type="checkbox" name="use_separeted_dics" id="use_separeted_dics" value="Y" <?= (COption::GetOptionString($module_id, "use_separeted_dics", "Y")=="Y") ? "checked" : "";?>>
1486 </td>
1487 </tr>
1488 <?else:
1489 COption::SetOptionString($module_id, "use_pspell", "N");
1490 ?>
1491 <tr>
1492 <td valign="top"><?echo GetMessage("FILEMAN_OPTION_USE_PSPELL");?><br>
1493 <a title="<?echo GetMessage("FILEMAN_OPTION_INSTALL_PSPELL_TITLE");?>" href="http://php.net/manual/en/ref.pspell.php" target="blank"><?echo GetMessage("FILEMAN_OPTION_INSTALL_PSPELL");?></a><br>
1494 <a title="<?echo GetMessage("FILEMAN_OPTION_ADDISH_DICS_TITLE");?>" href="http://aspell.sourceforge.net/" target="blank"><?echo GetMessage("FILEMAN_OPTION_ADDISH_DICS");?></a><br>
1495 </td>
1496 <td valign="top">
1497 <?echo GetMessage("FILEMAN_OPTION_NOT_INSTALLED");?>
1498 </td>
1499 </tr>
1500 <?endif; // function_exists('pspell_config_create')?>
1501<? endif; //$useEditor3?>
1502
1503<?
1504/* MEDIALIB TAB*/
1505$tabControl->BeginNextTab();
1506
1508{
1509 $name = htmlspecialcharsbx("ML_TYPE[".$type["id"]."]");
1510 ob_start();
1511?>
1512<div class="bx-ml-type" id="type_cont_<?= $type["id"]?>">
1513<div class="bx-ml-type-label">
1514 <?if ($type["b_new"] ?? false):?>
1515 <input type="hidden" name="<?= $name."[NEW]"?>" value="Y" />
1516 <?endif;?>
1517
1518 <input type="hidden" name="<?= $name."[SYS]"?>" value="<?= $type["system"] ?? false ? "Y" : "N"?>" />
1519
1520 <? if($type["system"] ?? false):?>
1521 <div><?= htmlspecialcharsex($type["name"])?></div>
1522 <? else:?>
1523 <div id="type_name_<?= $type["id"]?>" class="bx-ml-editable"><?= htmlspecialcharsex($type["name"])?></div>
1524 <?endif;?>
1525
1526 <? if($type["code"] != "image" || !$type["system"]):?>
1527 <a id="type_del_<?= $type["id"]?>" class="bx-ml-type-del" href="javascript:void(0);"><?= GetMessage("FILEMAN_OPTION_DELETE")?></a>
1528 <?endif;?>
1529</div>
1530
1531<? if($type["code"] != "image" || !$type["system"]):?>
1532 <div class="bx-ml-type-label-deleted">
1533 <input id="type_empty_<?= $type["id"]?>" type="hidden" value="<?= $type['empty'] ? 'Y' : 'N'?>" />
1534 <input id="type_del_inp_<?= $type["id"]?>" type="hidden" name="<?= $name."[DEL]"?>" value="N" />
1535 <div id="type_del_name_<?= $type["id"]?>"><?= htmlspecialcharsex($type["name"])?></div>
1536 <a id="type_restore_<?= $type["id"]?>" class="bx-ml-type-restore" href="javascript:void(0);"><?= GetMessage("FILEMAN_ML_TYPE_RESTORE")?></a>
1537</div>
1538<?endif;?>
1539
1540<div class="bx-ml-type-params">
1541 <table border="0" width="100%">
1542 <tr<?if(!($type["system"] ?? null)):?> class="adm-detail-required-field"<?endif;?>><td class="adm-detail-content-cell-l bx-ml-td-left" width="40%">
1543 <label for="type_name_inp_<?= $type["id"]?>"><?= GetMessage('FILEMAN_OPTION_PROPS_NAME')?>:</label>
1544 </td><td class="adm-detail-content-cell-r" width="60%">
1545 <? if($type["system"] ?? false):?>
1546 <span class="bx-sys-value"><?= htmlspecialcharsex($type["name"])?></span>
1547 <input type="hidden" id="type_name_inp_<?= $type["id"]?>" value="<?= htmlspecialcharsbx($type["name"])?>" />
1548
1549 <? else:?>
1550 <input type="text" name="<?= $name."[NAME]"?>" id="type_name_inp_<?= htmlspecialcharsbx($type["id"])?>" value="<?= htmlspecialcharsbx($type["name"])?>" size="40" />
1551 <?endif;?>
1552 </td></tr>
1553
1554 <tr<?if(!($type["system"] ?? null)):?> class="adm-detail-content-cell-l adm-detail-required-field"<?endif;?>><td class="bx-ml-td-left" width="40%">
1555 <input type="hidden" name="<?= $name."[CODE]"?>" value="<?= $type["code"]?>" />
1556 <label for="type_code_inp_<?= htmlspecialcharsbx($type["id"])?>"><?= GetMessage('FILEMAN_ML_ADD_TYPE_CODE')?><? if(!($type["system"] ?? null)):?><span class="required"><sup>1</sup></span><?endif;?>:</label>
1557 </td><td class="adm-detail-content-cell-r" width="60%">
1558 <? if($type["system"] ?? false):?>
1559 <span class="bx-sys-value"><?= htmlspecialcharsex($type["code"])?></span>
1560 <input type="hidden" name="<?= $name."[CODE]"?>" value="<?= htmlspecialcharsbx($type["code"])?>" />
1561 <? else:?>
1562 <input type="text" name="<?= $name."[CODE]"?>" id="type_code_inp_<?= htmlspecialcharsbx($type["id"])?>" value="<?= htmlspecialcharsbx($type["code"])?>" size="40" />
1563 <?endif;?>
1564 </td></tr>
1565
1566 <tr class="adm-detail-required-field"><td class="adm-detail-content-cell-l bx-ml-td-left" width="40%">
1567 <label for="type_ext_inp_<?= htmlspecialcharsbx($type["id"])?>"><?= GetMessage('FILEMAN_ML_ADD_TYPE_EXT')?><span class="required"><sup>1</sup></span>:</label>
1568 </td><td class="adm-detail-content-cell-r" width="60%">
1569 <input type="text" name="<?= $name."[EXT]"?>" id="type_ext_inp_<?= htmlspecialcharsbx($type["id"])?>" value="<?= $type["ext"]?>" size="40" />
1570 </td></tr>
1571 <tr><td class="adm-detail-content-cell-l bx-ml-td-left" width="40%">
1572 <label for="type_desc_inp_<?= htmlspecialcharsbx($type["id"])?>"><?= GetMessage('FILEMAN_ML_ADD_TYPE_DESC')?>:</label>
1573 </td><td class="adm-detail-content-cell-r" style="height: 50px;" width="60%">
1574 <? if($type["system"] ?? false):?>
1575 <input name="<?= $name."[DESC]"?>" type="hidden" value="<?= htmlspecialcharsbx($type["desc"])?>" />
1576 <span><?= htmlspecialcharsbx($type["desc"])?></span>
1577 <? else:?>
1578 <textarea name="<?= $name."[DESC]"?>" id="type_desc_inp_<?= htmlspecialcharsbx($type["id"])?>" style="width: 260px;" rows="2" cols="30"><?= htmlspecialcharsbx($type["desc"])?></textarea>
1579 <?endif;?>
1580 </td></tr>
1581 </table>
1582</div>
1583</div>
1584<?
1585 $s = ob_get_contents();
1586 ob_end_clean();
1587 return $s;
1588}
1589?>
1590
1591 <tr>
1592 <?
1593 $useML = (COption::GetOptionString($module_id, "use_medialib", "Y") == "Y");
1594 $displ = $useML ? '' : 'style="display:none;"';
1595 ?>
1596 <td width="40%">
1597 <label for="use_medialib"><?= GetMessage("FILEMAN_OPTION_USE_MEDIALIB")?>:</label></td>
1598 <td width="60%"><input type="checkbox" name="use_medialib" id="use_medialib" value="Y" <?if($useML) echo " checked";?> onclick="BX('edit5_edit_table').className = 'edit-table' + (this.checked ? '' : ' edit-table-ml-hidden');">
1599 <img src="/bitrix/images/1.gif" style="width: 110px; height: 1px;" />
1600 </td>
1601 </tr>
1602 <tr <?= $displ?> class="bx-ml-hidden-row">
1603 <td><label for="medialib_thumb_width"><?= GetMessage("FILEMAN_MEDIALIB_THUMB_SIZE")?>:</label></td>
1604 <td><input type="text" name="medialib_thumb_width" id="medialib_thumb_width" value="<?= COption::GetOptionInt($module_id, "ml_thumb_width", 140)?>" size="6"/> x <input type="text" name="medialib_thumb_height" value="<?= COption::GetOptionInt($module_id, "ml_thumb_height", 105)?>" size="6"/></td>
1605 </tr>
1606 <tr <?= $displ?> class="bx-ml-hidden-row">
1607 <td><label for="medialib_ext"><?= GetMessage("FILEMAN_MEDIA_EXT")?>:</label></td>
1608 <td><input type="text" value="<?= htmlspecialcharsbx(COption::GetOptionString($module_id, "ml_media_extentions", CMedialib::GetDefaultMediaExtentions()))?>" size="40" id="medialib_ext" name="medialib_ext"/></td>
1609 </tr>
1610 <tr <?= $displ?> class="bx-ml-hidden-row">
1611 <td><label for="medialib_max_width"><?= GetMessage("FILEMAN_MEDIALIB_MAX_SIZE")?>:</label></td>
1612 <td><input type="text" name="medialib_max_width" id="medialib_max_width" value="<?= COption::GetOptionInt($module_id, "ml_max_width", 1024)?>" size="6"/> x <input type="text" name="medialib_max_height" value="<?= intval(COption::GetOptionInt($module_id, "ml_max_height", 1024))?>" size="6"/></td>
1613 </tr>
1614 <tr <?= $displ?> class="bx-ml-hidden-row">
1615 <td><label for="medialib_use_default"><?= GetMessage("FILEMAN_MEDIA_USE_DEF")?>:</label></td>
1616 <td><input type="checkbox" value="Y" <?if(COption::GetOptionString($module_id, "ml_use_default", true)) echo " checked";?> id="medialib_use_default" name="medialib_use_default"/></td>
1617 </tr>
1618
1619<?
1620CMedialib::Init();
1621$arMLTypes = CMedialib::GetTypes(array(), true);
1623?>
1624 <tr class="heading bx-ml-hidden-row" <?= $displ?>>
1625 <td colspan=2><?= GetMessage("FILEMAN_SEC_MEDIALIB_TYPES")?></td>
1626 </tr>
1627 <tr <?= $displ?> class="bx-ml-hidden-row"><td colspan="2" align="center">
1628
1629 <table id="bxml_type_tbl">
1630 <?for ($i = 0, $l = count($arMLTypes); $i < $l; $i++):?>
1631 <tr><td>
1633 <?
1634 if ($maxCount <= $arMLTypes[$i]['id'])
1635 $maxCount = $arMLTypes[$i]['id'] + 1;
1636 ?>
1637 </td></tr>
1639 <tr><td align="right">
1640 <input onclick="addType();" type="button" value="<?= GetMessage("FILEMAN_ML_ADD_TYPE")?> >>" title="<?= GetMessage("FILEMAN_ML_ADD_TYPE_TITLE")?>" />
1641 </td></tr>
1642 <tr><td align="left">
1643 <?= BeginNote();?>
1644 <span class="required"><sup>1</sup></span><?= GetMessage("FILEMAN_ONLY_LATIN")?><br>
1645 <?= EndNote();?>
1646 </td></tr>
1647 </table>
1648
1649<script>
1650window.onload = function(){setTimeout(function()
1651{
1652 window.oMLSet = {
1653 pTypeTbl: BX("bxml_type_tbl"),
1654 curCount: <?= $maxCount?>
1655 };
1656
1657 <?for ($i = 0, $l = count($arMLTypes); $i < $l; $i++):?>
1658 InitEventForType('<?= $arMLTypes[$i]['id']?>');
1659 <?endfor;?>
1660},
166150);};
1662
1663function addType()
1664{
1665 var id = window.oMLSet.curCount++;
1666 var newCell = window.oMLSet.pTypeTbl.insertRow(window.oMLSet.pTypeTbl.rows.length - 1).insertCell(-1);
1667 var typeHtml = '<?= CUtil::JSEscape(_MLGetTypeHTML(array("id" => "tmp_ml_type_id", "name" => "", "code" => "", "ext" => "", "icon" => "", "desc" => "", "b_new" => true, "empty" => true)));?>';
1668
1669 // Replace id, and increase "curCount"
1670 typeHtml = typeHtml.replace(/tmp_ml_type_id/ig, id);
1671
1672 var code = [], start, end, i, cnt;
1673 while((start = typeHtml.indexOf('<' + 'script>')) != -1)
1674 {
1675 var end = typeHtml.indexOf('</' + 'script>', start);
1676 if(end == -1)
1677 break;
1678 code[code.length] = typeHtml.substr(start + 8, end - start - 8);
1679 typeHtml = typeHtml.substr(0, start) + typeHtml.substr(end + 9);
1680 }
1681
1682 for(var i = 0, cnt = code.length; i < cnt; i++)
1683 if(code[i] != '')
1684 jsUtils.EvalGlobal(code[i]);
1685 newCell.innerHTML = typeHtml;
1686
1687 setTimeout(function(){InitEventForType(id);}, 50);
1688}
1689
1691{
1692 var oType =
1693 {
1694 pCont: BX('type_cont_' + id),
1695 pName: BX('type_name_' + id),
1696 pNameInp: BX('type_name_inp_' + id),
1697 pDelLink: BX('type_del_' + id),
1698 pRestoreLink: BX('type_restore_' + id),
1699 pDelInput: BX('type_del_inp_' + id),
1700 pEmpty: BX('type_empty_' + id)
1701 };
1702
1703 if (oType.pName && oType.pNameInp)
1704 {
1705 oType.pNameInp.onkeyup = function()
1706 {
1707 while (oType.pName.firstChild)
1708 oType.pName.removeChild(oType.pName.firstChild);
1709
1710 oType.pName.appendChild(document.createTextNode(oType.pNameInp.value));
1711 };
1712
1713 if (oType.pNameInp.value == "")
1714 {
1715 oType.pNameInp.value = "<?= GetMessage("FILEMAN_ML_ADD_TYPE_NEW")?>";
1716 oType.pName.innerHTML = "<?= GetMessage("FILEMAN_ML_ADD_TYPE_NEW")?>";
1717 oType.pNameInp.focus();
1718 oType.pNameInp.select();
1719 }
1720 }
1721
1722 if (oType.pDelLink)
1723 {
1724 oType.pDelLink.onclick = function()
1725 {
1726 if (oType.pEmpty.value == "N")
1727 return alert("<?= GetMessage("FILEMAN_ML_TYPE_CANT_DEL")?>");
1728
1729 oType.pCont.className = "bx-ml-type bx-ml-type-deleted";
1730
1731 if (!oType.pDelName)
1732 oType.pDelName = BX("type_del_name_" + id);
1733
1734 while (oType.pDelName.firstChild)
1735 oType.pDelName.removeChild(oType.pDelName.firstChild);
1736
1737 oType.pDelName.appendChild(document.createTextNode(oType.pNameInp.value));
1738 oType.pDelInput.value = "Y";
1739 };
1740 }
1741
1742 if (oType.pRestoreLink)
1743 {
1744 oType.pRestoreLink.onclick = function()
1745 {
1746 oType.pCont.className = "bx-ml-type";
1747 oType.pDelInput.value = "N";
1748 };
1749 }
1750}
1751
1752</script>
1753 </td></tr>
1754
1755<?if ($USER->IsAdmin()):?>
1756<?$tabControl->BeginNextTab();?>
1757<?require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/admin/group_rights2.php");?>
1758
1759 <tr class="heading">
1760 <td colspan="2"><a name="limitaccess"></a><?= GetMessage('fileman_opt_restricted')?></td>
1761 </tr>
1762 <tr>
1763 <td valign="top"><?= GetMessage('fileman_opt_restricted_rights')?></td>
1764 <td>
1765<?
1766$arGroups = explode(",", COption::GetOptionString('fileman', 'default_edit_groups', ''));
1767$gr = CGroup::GetList("sort", "asc", array("ACTIVE"=>"Y", "ADMIN"=>"N", "ANONYMOUS"=>"N"));
1770while($group = $gr->Fetch())
1771{
1772 $sel = in_array($group["ID"], $arGroups);
1773 if($sel)
1774 $sSel .= ($sSel <> ''? ', ':'').htmlspecialcharsbx($group["NAME"]);
1775 $sOptions .= '<option value="'.$group["ID"].'"'.($sel? " selected":"").'>'.htmlspecialcharsbx($group["NAME"])." [".$group["ID"]."]".'</option>'."\n";
1776}
1777?>
1778 <?if($sSel <> ''):?>
1779 <?= GetMessage('fileman_opt_sel')?> <b><?=$sSel?></b><br><br>
1780 <?endif?>
1781 <select name="DEFAULT_EDIT_GROUPS[]" size="7" multiple>
1782 <?echo $sOptions;?>
1783 </select>
1784 </td>
1785 </tr>
1786<?endif;?>
1787
1788<?$tabControl->Buttons();?>
1789<script>
1790 function RestoreDefaults()
1791 {
1792 if(confirm('<?= AddSlashes(GetMessage("MAIN_HINT_RESTORE_DEFAULTS_WARNING"))?>'))
1793 window.location = "<?= $APPLICATION->GetCurPage()?>?RestoreDefaults=Y&lang=<?echo LANG?>&mid=<?echo urlencode($mid)?>&<?=bitrix_sessid_get()?>";
1794 }
1795</script>
1796<input type="submit" class="adm-btn-save" <?if (!$USER->CanDoOperation('fileman_edit_all_settings')) echo "disabled" ?> name="Update" value="<?= GetMessage('FILEMAN_OPTION_SAVE')?>">
1797<input type="reset" name="reset" onClick="BX('site_select_id').disabled=<? if(COption::GetOptionString($module_id, "different_set", "N") != "Y") echo "true"; else echo "false"; ?>; SelectSite('<?echo htmlspecialcharsbx($siteList[0]["ID"])?>');" value="<?= GetMessage('FILEMAN_OPTION_RESET')?>">
1798<input type="hidden" name="Update" value="Y">
1799<input <?if (!$USER->CanDoOperation('fileman_edit_all_settings')) echo "disabled" ?> type="button" title="<?= GetMessage('MAIN_HINT_RESTORE_DEFAULTS')?>" OnClick="RestoreDefaults();" value="<?= GetMessage('MAIN_RESTORE_DEFAULTS')?>">
1800<?$tabControl->End();?>
1801</form>
return select
Определения access_edit.php:440
$type
Определения options.php:106
const BX_ROOT
Определения bx_root.php:3
global $APPLICATION
Определения include.php:80
$module_id
Определения options.php:6
static ShowMessage($message)
Определения admin_lib.php:2351
static GetList($by='c_sort', $order='asc', $arFilter=[], $SHOW_USERS_AMOUNT="N")
Определения group.php:136
static GetList($by="sort", $order="asc", $arFilter=[])
Определения language.php:12
static GetOptionString($module_id, $name, $def="", $site=false, $bExactSite=false)
Определения option.php:8
static RemoveOption($module_id, $name="", $site=false)
Определения option.php:35
static SetOptionString($module_id, $name, $value="", $desc=false, $site="")
Определения option.php:29
Определения tar_gz.php:13
static GetPropstypes($site="")
Определения fileman.php:2077
static SetPropstypes($arPT=Array(), $desc=false, $site="")
Определения fileman.php:2091
static GetEditorToolbarConfig($editorType)
Определения fileman.php:2204
static PhpToJSObject($arData, $bWS=false, $bSkipTilda=false, $bExtType=false)
Определения util.php:66
collapse(node)
Определения ebay_mip_setup.php:316
& nbsp
Определения epilog_main_admin.php:38
$useEditor3
Определения file_edit.php:7
hidden PROPERTY[<?=$propertyIndex?>][CODE]<?=htmlspecialcharsEx( $propertyCode)?> height
Определения file_new.php:759
bx popup label bx width30 PAGE_NEW_MENU_NAME text width
Определения file_new.php:677
bx popup label bx hidden PROPERTY[<?=$propertyIndex?>][CODE]<?=htmlspecialcharsEx( $propertyCode)?> bx_view_property_<?=$propertyIndex?> overflow
Определения file_new.php:745
background repeat
Определения file_new.php:745
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
background color
Определения file_new.php:745
$gr
Определения file_new.php:147
$maxCount
Определения options.php:1622
$dicsRelPath
Определения options.php:3
INPUT INPUT INPUT INPUT bxedtlbr heading FILEMAN_EDITOR_CONVERT_SETTINGS top FILEMAN_REPLACE_NEW_LINES_WITH_BR top checkbox replace_new_lines Y replace_new_lines top FILEMAN_USE_LCA top checkbox use_lca Y use_lca top FILEMAN_ENTITIES_GROUPS top ar_entities $ar_entities
Определения options.php:1442
$displ
Определения options.php:1594
$i
Определения options.php:478
$arMLTypes
Определения options.php:1621
$gzDicsRelPath
Определения options.php:4
InitEventForType(id)
Определения options.php:1690
hidden mSiteList<?=htmlspecialcharsbx(serialize( $siteList))?><?=htmlspecialcharsbx( $siteList[ $j]["ID"])?> _Propery<? if(((COption::GetOptionString( $module_id, "different_set", "N")=="Y") &&( $j !=0))||(COption::GetOptionString( $module_id, "different_set", "N")=="N")) echo "display: none;"?> top adm detail content cell l top adm detail content cell r heading center center ID left
Определения options.php:768
$armt
Определения options.php:675
$arGroups
Определения options.php:1766
hideSite()
Определения options.php:513
_MLGetTypeHTML($type=array())
Определения options.php:1507
<?endfor;?> addType()
Определения options.php:1663
$script_files_default
Определения options.php:40
$useML
Определения options.php:1593
isValidLang($lang)
Определения options.php:12
showCustomSpellSettings(id)
Определения options.php:520
$sSel
Определения options.php:1769
$rsSites
Определения options.php:477
$sOptions
Определения options.php:1768
EndNote()
Определения filter_tools.php:601
BeginNote($sParams='', $sMessParams='')
Определения filter_tools.php:589
$zr
Определения options.php:5
global $MESS
Определения bill.php:2
$Update
Определения options.php:212
$RestoreDefaults
Определения options.php:55
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $USER
Определения csv_new_run.php:40
$tabControl
Определения csv_new_setup.php:244
$aTabs
Определения csv_new_setup.php:238
endif
Определения csv_new_setup.php:990
if(!defined('SITE_ID')) $lang
Определения include.php:91
$l
Определения options.php:783
$z
Определения options.php:31
bitrix_sessid_post($varname='sessid', $returnInvocations=false)
Определения tools.php:4700
check_bitrix_sessid($varname='sessid')
Определения tools.php:4686
SetMenuTypes($armt, $site='', $description=false)
Определения tools.php:4775
GetMenuTypes($site=false, $default_value=false)
Определения tools.php:4728
IsModuleInstalled($module_id)
Определения tools.php:5301
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
Определения tools.php:2701
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения tools.php:3778
GetMessage($name, $aReplace=null)
Определения tools.php:3397
$name
Определения menu_edit.php:35
white space
Определения options.php:321
global_menu_<?echo $menu["menu_id"]?> adm main menu item icon adm main menu item text text adm main menu hover adm submenu menucontainer menu_id menu_id items_id items_id desktop menu_id block none adm global submenu<?=($subMenuDisplay=="block" ? " adm-global-submenu-active" :"")?> global_submenu_<?echo $menu["menu_id"]?> text MAIN_PR_ADMIN_FAV items adm submenu items wrap adm submenu items stretch wrap BX adminMenu itemsStretchScroll()"> <table class if (!empty( $menu["items"])) elseif ( $menu[ 'menu_id']=='desktop') if ( $menu[ 'menu_id']=='desktop') endforeach
Определения prolog_main_admin.php:255
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
<? endif;?> window document title
Определения prolog_main_admin.php:76
if(empty($signedUserToken)) $key
Определения quickway.php:257
$i
Определения factura.php:643
font style
Определения invoice.php:442
font size
Определения invoice.php:442
</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
for( $i=0, $max=count( $arShownFieldsParams);$i< $max;$i++)
Определения csv.php:28
endfor
Определения template.php:569
text align
Определения template.php:556
$title
Определения pdf.php:123
$siteCount
Определения options.php:69
$siteList
Определения options.php:47
$val
Определения options.php:1793
$arRes
Определения options.php:104
adm detail iblock types adm detail iblock list tr_SITE_ID display
Определения yandex_setup.php:388