1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
options.php
См. документацию.
1<?php
2
4
6
7$moduleID = 'cluster';
8$right = CMain::GetGroupRight($moduleID);
9
10if ($right < 'R')
11{
12 return;
13}
14
15function getCacheType(string $moduleID): string
16{
17 return match(Bitrix\Main\Config\Option::get($moduleID, 'cache_type', 'memcache'))
18 {
19 'memcache' => 'memcache',
20 'memcached' => 'memcached',
21 'redis' => 'redis',
22 'default' => 'memcache',
23 };
24}
25
26function getCache(string $moduleID): string
27{
28 $cacheType = getCacheType($moduleID);
29 if ($cacheType == 'memcache')
30 {
31 $cache = CClusterMemcache::class;
32 }
33 elseif ($cacheType == 'redis')
34 {
35 $cache = CClusterRedis::class;
36 }
37 else
38 {
39 $cache = Bitrix\Cluster\MemcachedClusterHelper::class;
40 }
41 return $cache;
42}
43
45
46IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'] . BX_ROOT . '/modules/main/options.php');
47
49 [
50 'max_slave_delay',
51 Loc::getMessage('CLUSTER_OPTIONS_MAX_SLAVE_DELAY') . ' ',
52 ['text', 6]
53 ],
54 [
55 'cache_type',
56 Loc::getMessage('CLUSTER_OPTIONS_CACHE_TYPE'),
57 [
58 'select',
59 [
60 'memcache' => Loc::getMessage('CLUSTER_OPTIONS_CACHE_TYPE_MEMCACHE'),
61 'memcached' => Loc::getMessage('CLUSTER_OPTIONS_CACHE_TYPE_MEMCACHED'),
62 'redis' => Loc::getMessage('CLUSTER_OPTIONS_CACHE_TYPE_REDIS'),
63 ],
64 ],
65 ],
66 [
67 'heading',
68 Loc::getMessage('CLUSTER_OPTIONS_REDIS_SETTINGS'),
69 ['heading', ''],
70 ],
71 [
72 'redis_pconnect',
73 Loc::getMessage('CLUSTER_REDIS_PCONNECT_SETTING'),
74 ['checkbox', 'Y'],
75 ],
76 [
77 'failower_settings',
78 Loc::getMessage('CLUSTER_OPTIONS_REDIS_FAILOWER_SETTINGS'),
79 [
80 'select',
81 [
82 '0' => Loc::getMessage('REDIS_OPTIONS_FAILOWER_NONE'),
83 '1' => Loc::getMessage('REDIS_OPTIONS_FAILOWER_ERROR'),
84 '2' => Loc::getMessage('REDIS_OPTIONS_FAILOVER_DISTRIBUTE'),
85 '3' => Loc::getMessage('REDIS_OPTIONS_FAILOVER_DISTRIBUTE_SLAVES'),
86 ],
87 ],
88 ],
89 [
90 'redis_timeoit',
91 Loc::getMessage('CLUSTER_OPTIONS_REDIS_TIMEOUT') . ' ',
92 ['text', 6],
93 ],
94 [
95 'redis_read_timeout',
96 Loc::getMessage('CLUSTER_OPTIONS_REDIS_READ_TIMEOUT') . ' ',
97 ['text', 6],
98 ],
99];
100
102 [
103 'DIV' => 'edit1',
104 'TAB' => Loc::getMessage('MAIN_TAB_SET'),
105 'ICON' => $moduleID . '_settings',
106 'TITLE' => Loc::getMessage('MAIN_TAB_TITLE_SET'),
107 ],
108];
109
110$tabControl = new CAdminTabControl('tabControl', $tabs);
111
112if (
113 $_SERVER['REQUEST_METHOD'] === 'POST'
114 && (
115 (isset($_REQUEST['Update']) && $_REQUEST['Update'] !== '')
116 || (isset($_REQUEST['Apply']) && $_REQUEST['Apply'] !== '')
117 || (isset($_REQUEST['RestoreDefaults']) && $_REQUEST['RestoreDefaults'] !== '')
118 )
119 && $right === 'W'
121)
122{
123 if (isset($_REQUEST['RestoreDefaults']) && $_REQUEST['RestoreDefaults'] !== '')
124 {
125 COption::RemoveOption($moduleID);
126 }
127 else
128 {
129 foreach ($options as $option)
130 {
131 $name = $option[0];
133 if ($option[2][0] == 'checkbox' && $val != 'Y')
134 {
135 $val = 'N';
136 }
137 COption::SetOptionString($moduleID, $name, $val, $option[1]);
138 }
139 }
140
141 $servers = [];
142 $cache = getCache($moduleID);
143 $rs = $cache::getList();
144 while ($server = $rs->Fetch())
145 {
146 $servers[] = $server;
147 }
148
149 $cache::saveConfig($servers);
150
151 if ($_REQUEST['back_url_settings'] != '')
152 {
153 if (
154 (isset($_REQUEST['Apply']) && $_REQUEST['Apply'] !== '')
155 || (isset($_REQUEST['RestoreDefaults']) && $_REQUEST['RestoreDefaults'] !== '')
156 )
157 {
158 LocalRedirect($APPLICATION->GetCurPage() . '?mid=' . urlencode($moduleID) . '&lang=' . urlencode(LANGUAGE_ID) . '&back_url_settings=' . urlencode($_REQUEST['back_url_settings']) . '&' . $tabControl->ActiveTabParam());
159 }
160 else
161 {
162 LocalRedirect($_REQUEST['back_url_settings']);
163 }
164 }
165 else
166 {
167 LocalRedirect($APPLICATION->GetCurPage() . '?mid=' . urlencode($moduleID) . '&lang=' . urlencode(LANGUAGE_ID) . '&' . $tabControl->ActiveTabParam());
168 }
169}
170
171?><form method="post" action="<?php echo $APPLICATION->GetCurPage();?>?mid=<?php echo urlencode($moduleID);?>&amp;lang=<?php echo LANGUAGE_ID;?>"><?php
172
173$tabControl->Begin();
174$tabControl->BeginNextTab();
175
176foreach ($options as $option)
177{
178 $val = '';
179 $type = $option[2];
180 if ($type[0] != 'heading')
181 {
183 ?><tr><?php
184 ?><td width="40%" nowrap <?php echo ($type[0] == 'textarea') ? 'class="adm-detail-valign-top"' : ''?>><?php
185 ?><label for="<?php echo htmlspecialcharsbx($option[0])?>"><?php echo $option[1]?>:</label><?php
186 ?><td width="60%"><?php
187 }
188
189 if ($type[0] == 'checkbox')
190 {
191 ?><input type="checkbox" name="<?php echo htmlspecialcharsbx($option[0]);?>" id="<?php echo htmlspecialcharsbx($option[0]);?>" value="Y" <?php echo ($val == 'Y') ? 'checked' : '';?>><?php
192 }
193 elseif ($type[0] == 'text')
194 {
195 ?><input type="text" size="<?php echo $type[1]?>" maxlength="255" value="<?php echo htmlspecialcharsbx($val);?>" name="<?php echo htmlspecialcharsbx($option[0]);?>" id="<?php echo htmlspecialcharsbx($option[0]);?>"><?php
196 }
197 elseif ($type[0] == 'textarea')
198 {
199 ?><textarea rows="<?php echo $type[1];?>" cols="<?php echo $type[2];?>" name="<?php echo htmlspecialcharsbx($option[0]);?>" id="<?php echo htmlspecialcharsbx($option[0]);?>"><?php echo htmlspecialcharsbx($val);?></textarea><?php
200 }
201 elseif ($type[0] == 'select')
202 {
203 ?><select name="<?php echo htmlspecialcharsbx($option[0]);?>" ><?php
204 foreach ($type[1] as $key => $value)
205 {
206 ?><option value="<?php echo htmlspecialcharsbx($key);?>" <?php echo ($val == $key) ? 'selected="selected"' : ''?>><?php echo htmlspecialcharsEx($value);?></option><?php
207 }
208 ?></select><?php
209 }
210 elseif ($type[0] == 'heading')
211 {
212 ?><tr class="heading"><td colspan="2"><b><?php echo $option[1];?></b></td></tr><?php
213 }
214
215 if ($type[0] != 'heading')
216 {
217 ?></td></tr><?php
218 }
219}
220
221$tabControl->Buttons();
222
223 ?><input <?php echo ($right < 'W') ? 'disabled' : '' ?> type="submit" name="Update" value="<?php echo Loc::getMessage('MAIN_SAVE')?>" title="<?php echo Loc::getMessage('MAIN_OPT_SAVE_TITLE')?>" class="adm-btn-save"><?php
224 ?><input <?php echo ($right < 'W') ? 'disabled' : '' ?> type="submit" name="Apply" value="<?php echo Loc::getMessage('MAIN_OPT_APPLY')?>" title="<?php echo Loc::getMessage('MAIN_OPT_APPLY_TITLE')?>"><?php
225 if ($_REQUEST['back_url_settings'] != '')
226 {
227 ?><input <?php echo ($right < 'W') ? 'disabled' : ''?> type="button" name="Cancel" value="<?php echo Loc::getMessage('MAIN_OPT_CANCEL')?>" title="<?php echo Loc::getMessage('MAIN_OPT_CANCEL_TITLE')?>" onclick="window.location='<?php echo htmlspecialcharsbx(CUtil::addslashes($_REQUEST['back_url_settings']))?>'"><?php
228 ?><input type="hidden" name="back_url_settings" value="<?php echo htmlspecialcharsbx($_REQUEST['back_url_settings'])?>"><?php
229 }
230 ?><input type="submit" name="RestoreDefaults" title="<?php echo Loc::getMessage('MAIN_HINT_RESTORE_DEFAULTS')?>" onclick="confirm('<?php echo addslashes(Loc::getMessage('MAIN_HINT_RESTORE_DEFAULTS_WARNING'))?>')" value="<?php echo GetMessage('MAIN_RESTORE_DEFAULTS')?>"><?php
231 echo bitrix_sessid_post();
232 $tabControl->End();
233?></form>
return select
Определения access_edit.php:440
$type
Определения options.php:106
const BX_ROOT
Определения bx_root.php:3
global $APPLICATION
Определения include.php:80
static includeModule($moduleName)
Определения loader.php:67
static GetOptionString($module_id, $name, $def="", $site=false, $bExactSite=false)
Определения option.php:8
if( $right< 'R') getCacheType(string $moduleID)
Определения options.php:15
$right
Определения options.php:8
getCache(string $moduleID)
Определения options.php:26
$moduleID
Определения options.php:7
$tabs
Определения options.php:101
$options
Определения commerceml2.php:49
bx popup label bx width30 PAGE_NEW_MENU_NAME text width
Определения file_new.php:677
$_REQUEST["admin_mnu_menu_id"]
Определения get_menu.php:8
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
$tabControl
Определения csv_new_setup.php:244
bitrix_sessid_post($varname='sessid', $returnInvocations=false)
Определения tools.php:4700
check_bitrix_sessid($varname='sessid')
Определения tools.php:4686
htmlspecialcharsEx($str)
Определения tools.php:2685
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
Определения tools.php:2701
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения tools.php:3778
LocalRedirect($url, $skip_security_check=false, $status="302 Found")
Определения tools.php:4005
$name
Определения menu_edit.php:35
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
font size
Определения invoice.php:442
$option
Определения options.php:1711
$val
Определения options.php:1793
$rs
Определения action.php:82