Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OpnSense
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kulya
OpnSense
Commits
7786843f
Commit
7786843f
authored
Mar 04, 2016
by
Ad Schellevis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(legacy) refactor load_balancer_pool_edit.php
parent
eeab940d
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
338 additions
and
294 deletions
+338
-294
load_balancer_pool_edit.php
src/www/load_balancer_pool_edit.php
+338
-294
No files found.
src/www/load_balancer_pool_edit.php
View file @
7786843f
<?php
<?php
/*
/*
Copyright (C) 2014-2015
Deciso B.V.
Copyright (C) 2014-2016
Deciso B.V.
Copyright (C) 2005-2008 Bill Marquette <bill.marquette@gmail.com>.
Copyright (C) 2005-2008 Bill Marquette <bill.marquette@gmail.com>.
All rights reserved.
All rights reserved.
...
@@ -31,109 +31,110 @@ require_once("guiconfig.inc");
...
@@ -31,109 +31,110 @@ require_once("guiconfig.inc");
require_once
(
"services.inc"
);
require_once
(
"services.inc"
);
require_once
(
"interfaces.inc"
);
require_once
(
"interfaces.inc"
);
$referer
=
(
isset
(
$_SERVER
[
'HTTP_REFERER'
])
?
$_SERVER
[
'HTTP_REFERER'
]
:
'/load_balancer_pool.php'
);
if
(
!
is_array
(
$config
[
'load_balancer'
][
'lbpool'
]))
{
if
(
empty
(
$config
[
'load_balancer'
][
'lbpool'
])
||
!
is_array
(
$config
[
'load_balancer'
][
'lbpool'
]))
{
$config
[
'load_balancer'
][
'lbpool'
]
=
array
();
$config
[
'load_balancer'
][
'lbpool'
]
=
array
();
}
}
$a_pool
=
&
$config
[
'load_balancer'
][
'lbpool'
];
$a_pool
=
&
$config
[
'load_balancer'
][
'lbpool'
];
if
(
is_numericint
(
$_GET
[
'id'
]))
$copy_fields
=
array
(
'name'
,
'mode'
,
'descr'
,
'port'
,
'retry'
,
'monitor'
,
'servers'
,
'serversdisabled'
);
if
(
$_SERVER
[
'REQUEST_METHOD'
]
===
'GET'
)
{
if
(
isset
(
$_GET
[
'id'
])
&&
!
empty
(
$a_pool
[
$_GET
[
'id'
]]))
{
$id
=
$_GET
[
'id'
];
$id
=
$_GET
[
'id'
];
if
(
isset
(
$_POST
[
'id'
])
&&
is_numericint
(
$_POST
[
'id'
]))
}
$id
=
$_POST
[
'id'
]
;
$pconfig
=
array
()
;
if
(
isset
(
$id
)
&&
$a_pool
[
$id
])
{
// copy fields
$pconfig
[
'name'
]
=
$a_pool
[
$id
][
'name'
];
foreach
(
$copy_fields
as
$fieldname
)
{
$pconfig
[
'mode'
]
=
$a_pool
[
$id
][
'mode'
];
if
(
isset
(
$id
)
&&
isset
(
$a_pool
[
$id
][
$fieldname
]))
{
$pconfig
[
'descr'
]
=
$a_pool
[
$id
][
'descr'
];
$pconfig
[
$fieldname
]
=
$a_pool
[
$id
][
$fieldname
];
$pconfig
[
'port'
]
=
$a_pool
[
$id
][
'port'
];
}
else
{
$pconfig
[
'retry'
]
=
$a_pool
[
$id
][
'retry'
];
$pconfig
[
$fieldname
]
=
null
;
$pconfig
[
'servers'
]
=
&
$a_pool
[
$id
][
'servers'
];
}
$pconfig
[
'serversdisabled'
]
=
&
$a_pool
[
$id
][
'serversdisabled'
];
}
$pconfig
[
'monitor'
]
=
$a_pool
[
$id
][
'monitor'
];
}
if
(
$_POST
)
{
// init arrays
unset
(
$input_errors
);
$pconfig
[
'servers'
]
=
is_array
(
$pconfig
[
'servers'
])
?
$pconfig
[
'servers'
]
:
array
();
$pconfig
[
'serversdisabled'
]
=
is_array
(
$pconfig
[
'serversdisabled'
])
?
$pconfig
[
'serversdisabled'
]
:
array
();
}
elseif
(
$_SERVER
[
'REQUEST_METHOD'
]
===
'POST'
)
{
if
(
isset
(
$_POST
[
'id'
])
&&
!
empty
(
$a_pool
[
$_POST
[
'id'
]]))
{
$id
=
$_POST
[
'id'
];
}
$pconfig
=
$_POST
;
$pconfig
=
$_POST
;
$input_errors
=
array
();
/* input validation */
/* input validation */
$reqdfields
=
explode
(
" "
,
"name mode port monitor servers"
);
$reqdfields
=
explode
(
" "
,
"name mode port monitor servers"
);
$reqdfieldsn
=
array
(
gettext
(
"Name"
),
gettext
(
"Mode"
),
gettext
(
"Port"
),
gettext
(
"Monitor"
),
gettext
(
"Server List"
));
$reqdfieldsn
=
array
(
gettext
(
"Name"
),
gettext
(
"Mode"
),
gettext
(
"Port"
),
gettext
(
"Monitor"
),
gettext
(
"Server List"
));
do_input_validation
(
$_POST
,
$reqdfields
,
$reqdfieldsn
,
$input_errors
);
do_input_validation
(
$pconfig
,
$reqdfields
,
$reqdfieldsn
,
$input_errors
);
/* Ensure that our pool names are unique */
/* Ensure that our pool names are unique */
for
(
$i
=
0
;
isset
(
$config
[
'load_balancer'
][
'lbpool'
][
$i
]);
$i
++
)
for
(
$i
=
0
;
isset
(
$config
[
'load_balancer'
][
'lbpool'
][
$i
]);
$i
++
)
{
if
((
$_POST
[
'name'
]
==
$config
[
'load_balancer'
][
'lbpool'
][
$i
][
'name'
])
&&
(
$i
!=
$id
))
if
(
$pconfig
[
'name'
]
==
$config
[
'load_balancer'
][
'lbpool'
][
$i
][
'name'
]
&&
$i
!=
$id
)
{
$input_errors
[]
=
gettext
(
"This pool name has already been used. Pool names must be unique."
);
$input_errors
[]
=
gettext
(
"This pool name has already been used. Pool names must be unique."
);
}
}
if
(
strpos
(
$_POST
[
'name'
],
" "
)
!==
false
)
if
(
strpos
(
$pconfig
[
'name'
],
" "
)
!==
false
)
{
$input_errors
[]
=
gettext
(
"You cannot use spaces in the 'name' field."
);
$input_errors
[]
=
gettext
(
"You cannot use spaces in the 'name' field."
);
}
if
(
in_array
(
$_POST
[
'name'
],
$reserved_table_names
))
if
(
in_array
(
$pconfig
[
'name'
],
$reserved_table_names
))
{
$input_errors
[]
=
sprintf
(
gettext
(
"The name '%s' is a reserved word and cannot be used."
),
$_POST
[
'name'
]);
$input_errors
[]
=
sprintf
(
gettext
(
"The name '%s' is a reserved word and cannot be used."
),
$_POST
[
'name'
]);
}
if
(
is_alias
(
$_POST
[
'name'
]))
if
(
is_alias
(
$pconfig
[
'name'
]))
{
$input_errors
[]
=
sprintf
(
gettext
(
"Sorry, an alias is already named %s."
),
$_POST
[
'name'
]);
$input_errors
[]
=
sprintf
(
gettext
(
"Sorry, an alias is already named %s."
),
$_POST
[
'name'
]);
}
if
(
!
is_portoralias
(
$_POST
[
'port'
]))
if
(
!
is_portoralias
(
$pconfig
[
'port'
]))
{
$input_errors
[]
=
gettext
(
"The port must be an integer between 1 and 65535, or a port alias."
);
$input_errors
[]
=
gettext
(
"The port must be an integer between 1 and 65535, or a port alias."
);
}
// May as well use is_port as we want a positive integer and such.
// May as well use is_port as we want a positive integer and such.
if
(
!
empty
(
$_POST
[
'retry'
])
&&
!
is_port
(
$_POST
[
'retry'
]))
if
(
!
empty
(
$pconfig
[
'retry'
])
&&
!
is_port
(
$pconfig
[
'retry'
]))
{
$input_errors
[]
=
gettext
(
"The retry value must be an integer between 1 and 65535."
);
$input_errors
[]
=
gettext
(
"The retry value must be an integer between 1 and 65535."
);
}
if
(
is_array
(
$_POST
[
'servers'
]))
{
if
(
is_array
(
$pconfig
[
'servers'
]))
{
foreach
(
$pconfig
[
'servers'
]
as
$svrent
)
{
foreach
(
$pconfig
[
'servers'
]
as
$svrent
)
{
if
(
!
is_ipaddr
(
$svrent
)
&&
!
is_subnetv4
(
$svrent
))
{
if
(
!
is_ipaddr
(
$svrent
)
&&
!
is_subnetv4
(
$svrent
))
{
$input_errors
[]
=
sprintf
(
gettext
(
"%s is not a valid IP address or IPv4 subnet (in
\"
enabled
\"
list)."
),
$svrent
);
$input_errors
[]
=
sprintf
(
gettext
(
"%s is not a valid IP address or IPv4 subnet (in
\"
enabled
\"
list)."
),
$svrent
);
}
}
elseif
(
is_subnetv4
(
$svrent
)
&&
subnet_size
(
$svrent
)
>
64
)
{
else
if
(
is_subnetv4
(
$svrent
)
&&
subnet_size
(
$svrent
)
>
64
)
{
$input_errors
[]
=
sprintf
(
gettext
(
"%s is a subnet containing more than 64 IP addresses (in
\"
enabled
\"
list)."
),
$svrent
);
$input_errors
[]
=
sprintf
(
gettext
(
"%s is a subnet containing more than 64 IP addresses (in
\"
enabled
\"
list)."
),
$svrent
);
}
}
}
}
}
}
if
(
is_array
(
$_POST
[
'serversdisabled'
]))
{
if
(
is_array
(
$pconfig
[
'serversdisabled'
]))
{
foreach
(
$pconfig
[
'serversdisabled'
]
as
$svrent
)
{
foreach
(
$pconfig
[
'serversdisabled'
]
as
$svrent
)
{
if
(
!
is_ipaddr
(
$svrent
)
&&
!
is_subnetv4
(
$svrent
))
{
if
(
!
is_ipaddr
(
$svrent
)
&&
!
is_subnetv4
(
$svrent
))
{
$input_errors
[]
=
sprintf
(
gettext
(
"%s is not a valid IP address or IPv4 subnet (in
\"
disabled
\"
list)."
),
$svrent
);
$input_errors
[]
=
sprintf
(
gettext
(
"%s is not a valid IP address or IPv4 subnet (in
\"
disabled
\"
list)."
),
$svrent
);
}
}
elseif
(
is_subnetv4
(
$svrent
)
&&
subnet_size
(
$svrent
)
>
64
)
{
else
if
(
is_subnetv4
(
$svrent
)
&&
subnet_size
(
$svrent
)
>
64
)
{
$input_errors
[]
=
sprintf
(
gettext
(
"%s is a subnet containing more than 64 IP addresses (in
\"
disabled
\"
list)."
),
$svrent
);
$input_errors
[]
=
sprintf
(
gettext
(
"%s is a subnet containing more than 64 IP addresses (in
\"
disabled
\"
list)."
),
$svrent
);
}
}
}
}
}
}
$m
=
array
();
$m
=
array
();
for
(
$i
=
0
;
isset
(
$config
[
'load_balancer'
][
'monitor_type'
][
$i
]);
$i
++
)
for
(
$i
=
0
;
isset
(
$config
[
'load_balancer'
][
'monitor_type'
][
$i
]);
$i
++
)
{
$m
[
$config
[
'load_balancer'
][
'monitor_type'
][
$i
][
'name'
]]
=
$config
[
'load_balancer'
][
'monitor_type'
][
$i
];
$m
[
$config
[
'load_balancer'
][
'monitor_type'
][
$i
][
'name'
]]
=
$config
[
'load_balancer'
][
'monitor_type'
][
$i
];
}
if
(
!
isset
(
$m
[
$_POST
[
'monitor'
]]))
if
(
!
isset
(
$m
[
$pconfig
[
'monitor'
]]))
{
$input_errors
[]
=
gettext
(
"Invalid monitor chosen."
);
$input_errors
[]
=
gettext
(
"Invalid monitor chosen."
);
}
if
(
!
$input_errors
)
{
if
(
count
(
$input_errors
)
==
0
)
{
$poolent
=
array
();
$poolent
=
array
();
foreach
(
$copy_fields
as
$fieldname
)
{
if
(
isset
(
$id
)
&&
$a_pool
[
$id
])
{
$poolent
[
$fieldname
]
=
$pconfig
[
$fieldname
];
$poolent
=
$a_pool
[
$id
];
}
}
$poolent
[
'name'
]
=
$_POST
[
'name'
];
if
(
isset
(
$id
))
{
$poolent
[
'mode'
]
=
$_POST
[
'mode'
];
$poolent
[
'descr'
]
=
$_POST
[
'descr'
];
$poolent
[
'port'
]
=
$_POST
[
'port'
];
$poolent
[
'retry'
]
=
$_POST
[
'retry'
];
$poolent
[
'servers'
]
=
$_POST
[
'servers'
];
$poolent
[
'serversdisabled'
]
=
$_POST
[
'serversdisabled'
];
$poolent
[
'monitor'
]
=
$_POST
[
'monitor'
];
if
(
isset
(
$id
)
&&
$a_pool
[
$id
])
{
/* modify all virtual servers with this name */
/* modify all virtual servers with this name */
for
(
$i
=
0
;
isset
(
$config
[
'load_balancer'
][
'virtual_server'
][
$i
]);
$i
++
)
{
for
(
$i
=
0
;
isset
(
$config
[
'load_balancer'
][
'virtual_server'
][
$i
]);
$i
++
)
{
if
(
$config
[
'load_balancer'
][
'virtual_server'
][
$i
][
'lbpool'
]
==
$a_pool
[
$id
][
'name'
])
if
(
$config
[
'load_balancer'
][
'virtual_server'
][
$i
][
'lbpool'
]
==
$a_pool
[
$id
][
'name'
])
{
$config
[
'load_balancer'
][
'virtual_server'
][
$i
][
'lbpool'
]
=
$poolent
[
'name'
];
$config
[
'load_balancer'
][
'virtual_server'
][
$i
][
'lbpool'
]
=
$poolent
[
'name'
];
}
}
}
$a_pool
[
$id
]
=
$poolent
;
$a_pool
[
$id
]
=
$poolent
;
}
else
{
}
else
{
$a_pool
[]
=
$poolent
;
$a_pool
[]
=
$poolent
;
...
@@ -142,189 +143,232 @@ if ($_POST) {
...
@@ -142,189 +143,232 @@ if ($_POST) {
mark_subsystem_dirty
(
'loadbalancer'
);
mark_subsystem_dirty
(
'loadbalancer'
);
write_config
();
write_config
();
header
(
"Location: load_balancer_pool.php"
);
header
(
"Location: load_balancer_pool.php"
);
exit
;
exit
;
}
}
}
}
$service_hook
=
'relayd'
;
include
(
"head.inc"
);
$service_hook
=
'relayd'
;
legacy_html_escape_form_data
(
$pconfig
);
include
(
"head.inc"
);
?>
?>
<body>
<body>
<!-- push all available (nestable) aliases in a hidden select box -->
<select
class=
"hidden"
id=
"aliases"
>
<?php
if
(
!
empty
(
$config
[
'aliases'
][
'alias'
]))
:
foreach
(
$config
[
'aliases'
][
'alias'
]
as
$alias
)
:
if
(
$alias
[
'type'
]
==
'port'
)
:?>
<
option
data
-
type
=
"<?=
$alias['type']
;?>"
value
=
"<?=
$alias['name'];?>"><?=$alias['name']
;?></option>
<?php
endif;
endforeach;
endif;
?>
</select>
<?php include("
fbegin
.
inc
"); ?>
<?php include("
fbegin
.
inc
"); ?>
<script type="
text
/
javascript
">
<script type="
text
/
javascript
">
//
<!
[
CDATA
[
$( document ).ready(function() {
function
clearcombo
(){
// init port type ahead
for
(
var
i
=
document
.
iform
.
serversSelect
.
options
.
length
-
1
;
i
>=
0
;
i
--
){
var all_aliases = [];
document
.
iform
.
serversSelect
.
options
[
i
]
=
null
;
$("
#aliases > option").each(function(){
all_aliases
.
push
(
$
(
this
)
.
val
())
});
$
(
"#port"
)
.
typeahead
({
source
:
all_aliases
});
$
(
"#mode"
)
.
change
(
function
(
event
){
event
.
preventDefault
();
if
(
$
(
'#mode'
)
.
val
()
==
'failover'
&&
$
(
'#servers option'
)
.
length
>
1
){
$
(
'#servers option:not(:first)'
)
.
remove
()
.
appendTo
(
'#serversdisabled'
);
}
});
$
(
"#btn_add_to_pool"
)
.
click
(
function
(
event
){
event
.
preventDefault
();
if
(
$
(
'#mode'
)
.
val
()
!=
'failover'
||
$
(
'#servers option'
)
.
length
==
0
){
$
(
'#servers'
)
.
append
(
$
(
'<option>'
,
{
value
:
$
(
"#ipaddr"
)
.
val
()
})
.
text
(
$
(
"#ipaddr"
)
.
val
()));
}
else
{
$
(
'#serversdisabled'
)
.
append
(
$
(
'<option>'
,
{
value
:
$
(
"#ipaddr"
)
.
val
()
})
.
text
(
$
(
"#ipaddr"
)
.
val
()));
}
}
document
.
iform
.
serversSelect
.
selectedIndex
=
-
1
;
});
$
(
"#moveToEnabled"
)
.
click
(
function
(
event
){
event
.
preventDefault
();
if
(
$
(
'#mode'
)
.
val
()
!=
'failover'
||
(
$
(
'#servers option'
)
.
length
==
0
&&
$
(
'#serversdisabled option:selected'
)
.
length
==
1
))
{
$
(
'#serversdisabled option:selected'
)
.
remove
()
.
appendTo
(
'#servers'
);
}
}
//]]>
});
$
(
"#moveToDisabled"
)
.
click
(
function
(
event
){
event
.
preventDefault
();
$
(
'#servers option:selected'
)
.
remove
()
.
appendTo
(
'#serversdisabled'
);
});
$
(
"#btn_del_serversdisabled"
)
.
click
(
function
(
event
){
event
.
preventDefault
();
$
(
'#serversdisabled option:selected'
)
.
remove
();
});
$
(
"#btn_del_servers"
)
.
click
(
function
(
event
){
event
.
preventDefault
();
$
(
'#servers option:selected'
)
.
remove
();
});
$
(
"#save"
)
.
click
(
function
(){
$
(
'#servers option'
)
.
prop
(
'selected'
,
true
);
$
(
'#serversdisabled option'
)
.
prop
(
'selected'
,
true
);
});
});
</
script
>
</
script
>
<script
type=
"text/javascript"
src=
"/javascript/autosuggest.js"
></script>
<script
type=
"text/javascript"
src=
"/javascript/suggestions.js"
></script>
<
section
class
="
page
-
content
-
main
">
<
section
class
="
page
-
content
-
main
">
<div class="
container
-
fluid
">
<div class="
container
-
fluid
">
<div class="
row
">
<div class="
row
">
<?php if (isset(
$input_errors
) && count(
$input_errors
) > 0) print_input_errors(
$input_errors
); ?>
<?php if (isset(
$input_errors
) && count(
$input_errors
) > 0) print_input_errors(
$input_errors
); ?>
<section class="
col
-
xs
-
12
">
<section class="
col
-
xs
-
12
">
<div class="
content
-
box
">
<div class="
content
-
box
">
<form method="
post
" name="
iform
" id="
iform
">
<form
action=
"load_balancer_pool_edit.php"
method=
"post"
name=
"iform"
id=
"iform"
>
<div class="
table
-
responsive
">
<div class="
table
-
responsive
">
<table
class=
"table table-striped table-sort
"
>
<table class="
table
table
-
striped
">
<tr>
<tr>
<td
colspan=
"2"
valign=
"top"
class=
"listtopic"
>
<?=
gettext
(
"Add/edit Load Balancer - Pool entry"
);
?>
</td>
<td>
<strong><?=gettext("
Add
/
edit
-
Pool
entry
"); ?></strong>
</td>
<td align="
right
">
<small><?=gettext("
full
help
"); ?> </small>
<i class="
fa
fa
-
toggle
-
off
text
-
danger
" style="
cursor
:
pointer
;
" id="
show_all_help_page
" type="
button
"></i>
</td>
</tr>
</tr>
<tr
align=
"left"
>
<tr
>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Name"
);
?>
</td>
<td><i class="
fa
fa
-
info
-
circle
text
-
muted
"></i>
<?=gettext("
Name
"); ?></td>
<td
width=
"78%"
class=
"vtable"
colspan=
"2"
>
<td
>
<input
name=
"name"
type=
"text"
<?php
if
(
isset
(
$pconfig
[
'name'
]))
echo
"value=
\"
{
$pconfig
[
'name'
]
}
\"
"
;
?>
size=
"16"
maxlength=
"16
"
/>
<input name="
name
" type="
text
" value="
<?=
$pconfig
[
'name'
];
?>
" />
</td>
</td>
</tr>
</tr>
<tr
align=
"left"
>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Mode"
);
?>
</td>
<td><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Mode"
);
?>
</td>
<td
width=
"78%"
class=
"vtable"
colspan=
"2"
>
<td>
<select
id=
"mode"
name=
"mode"
onchange=
"enforceFailover(); checkPoolControls();"
>
<select
id=
"mode"
name=
"mode"
>
<option
value=
"loadbalance"
<?php
if
(
!
isset
(
$pconfig
[
'mode'
])
||
(
$pconfig
[
'mode'
]
==
"loadbalance"
))
echo
"selected=
\"
selected
\"
"
;
?>
>
<?=
gettext
(
"Load Balance"
);
?>
</option>
<option
value=
"loadbalance"
<?=
$pconfig
[
'mode'
]
==
"loadbalance"
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
<option
value=
"failover"
<?php
if
(
$pconfig
[
'mode'
]
==
"failover"
)
echo
"selected=
\"
selected
\"
"
;
?>
>
<?=
gettext
(
"Manual Failover"
);
?>
</option>
<?=
gettext
(
"Load Balance"
);
?>
</option>
<option
value=
"failover"
<?=
$pconfig
[
'mode'
]
==
"failover"
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
<?=
gettext
(
"Manual Failover"
);
?>
</option>
</select>
</select>
</td>
</td>
</tr>
</tr>
<tr
align=
"left"
>
<tr
>
<td
width=
"22%"
valign=
"top"
class=
"vncell"
>
<?=
gettext
(
"Description"
);
?>
</td>
<td><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Description"
);
?>
</td>
<td
width=
"78%"
class=
"vtable"
colspan=
"2"
>
<td
>
<input
name=
"descr"
type=
"text"
<?php
if
(
isset
(
$pconfig
[
'descr'
]))
echo
"value=
\"
{
$pconfig
[
'descr'
]
}
\"
"
;
?>
size=
"64"
/>
<input
name=
"descr"
type=
"text"
<?php
if
(
isset
(
$pconfig
[
'descr'
]))
echo
"value=
\"
{
$pconfig
[
'descr'
]
}
\"
"
;
?>
size=
"64"
/>
</td>
</td>
</tr>
</tr>
<tr>
<tr
align=
"left"
>
<td><a
id=
"help_for_port"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"Port"
);
?>
</td>
<td
width=
"22%"
valign=
"top"
id=
"monitorport_text"
class=
"vncellreq"
>
<?=
gettext
(
"Port"
);
?>
</td>
<td>
<td
width=
"78%"
class=
"vtable"
colspan=
"2"
>
<input
type=
"text"
id=
"port"
name=
"port"
value=
"
<?=
$pconfig
[
'port'
];
?>
"
/>
<input
class=
"formfldalias"
id=
"port"
name=
"port"
type=
"text"
<?php
if
(
isset
(
$pconfig
[
'port'
]))
echo
"value=
\"
{
$pconfig
[
'port'
]
}
\"
"
;
?>
size=
"16"
maxlength=
"16"
/><br
/>
<div
class=
"hidden"
for=
"help_for_port"
>
<div
id=
"monitorport_desc"
>
<?=
gettext
(
"This is the port your servers are listening on."
);
?>
<br
/>
<?=
gettext
(
"This is the port your servers are listening on."
);
?>
<br
/>
<?=
gettext
(
"You may also specify a port alias listed in Firewall -> Aliases here."
);
?>
<?=
gettext
(
"You may also specify a port alias listed in Firewall -> Aliases here."
);
?>
</div>
</div>
<script
type=
"text/javascript"
>
//
<!
[
CDATA
[
var
addressarray
=
<?=
json_encode
(
get_alias_list
(
array
(
"port"
,
"url_ports"
,
"urltable_ports"
)))
?>
;
var
oTextbox1
=
new
AutoSuggestControl
(
document
.
getElementById
(
"
port
"
),
new
StateSuggestions
(
addressarray
));
//]]>
</script>
</td>
</td>
</tr>
</tr>
<tr
align=
"left"
>
<tr>
<td
width=
"22%"
valign=
"top"
id=
"retry_text"
class=
"vncell"
>
<?=
gettext
(
"Retry"
);
?>
</td>
<td><a
id=
"help_for_retry"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"Retry"
);
?>
</td>
<td
width=
"78%"
class=
"vtable"
colspan=
"2"
>
<td>
<input
name=
"retry"
type=
"text"
<?php
if
(
isset
(
$pconfig
[
'retry'
]))
echo
"value=
\"
{
$pconfig
[
'retry'
]
}
\"
"
;
?>
size=
"16"
maxlength=
"16"
/><br
/>
<input
name=
"retry"
type=
"text"
value=
"
<?=
$pconfig
[
'retry'
];
?>
"
/>
<div
id=
"retry_desc"
>
<?=
gettext
(
"Optionally specify how many times to retry checking a server before declaring it down."
);
?>
</div>
<div
for=
"help_for_retry"
class=
"hidden"
>
<?=
gettext
(
"Optionally specify how many times to retry checking a server before declaring it down."
);
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
colspan=
"2"
>
</td>
<td
colspan=
"2"
><strong>
<?=
gettext
(
"Add item to pool"
);
?>
</strong>
</td>
</tr>
</tr>
<tr>
<tr>
<td
colspan=
"2"
valign=
"top"
class=
"listtopic"
>
<?=
gettext
(
"Add item to pool"
);
?>
</td>
<td><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Monitor"
);
?>
</td>
</tr>
<td>
<tr
align=
"left"
>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Monitor"
);
?>
</td>
<td
width=
"78%"
class=
"vtable"
colspan=
"2"
>
<?php
if
(
count
(
$config
[
'load_balancer'
][
'monitor_type'
]))
:
?>
<select
id=
"monitor"
name=
"monitor"
>
<select
id=
"monitor"
name=
"monitor"
>
<?php
<?php
foreach
(
$config
[
'load_balancer'
][
'monitor_type'
]
as
$monitor
)
{
if
(
!
empty
(
$config
[
'load_balancer'
][
'monitor_type'
]))
:
if
(
$monitor
[
'name'
]
==
$pconfig
[
'monitor'
])
{
foreach
(
$config
[
'load_balancer'
][
'monitor_type'
]
as
$monitor
)
:?>
$selected
=
" selected=
\"
selected
\"
"
;
<
option
value
=
"<?=
$monitor['name']
;?>"
<?=
$monitor
[
'name'
]
==
$pconfig
[
'monitor'
]
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
}
else
{
<?=
$monitor
[
'name'
];
?>
$selected
=
""
;
</option>
}
<?php
echo
"<option value=
\"
{
$monitor
[
'name'
]
}
\"
{
$selected
}
>
{
$monitor
[
'name'
]
}
</option>"
;
endforeach
;
}
endif
;
?>
?>
<?php
else
:
?>
<b>
<?=
gettext
(
"NOTE"
);
?>
:
</b>
<?=
gettext
(
"Please add a monitor IP address on the monitors tab if you wish to use this feature."
);
?>
<?php
endif
;
?>
</select>
</select>
</td>
</td>
</tr>
</tr>
<tr
align=
"left"
>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Server IP Address"
);
?>
</td>
<td><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Server IP Address"
);
?>
</td>
<td
width=
"78%"
class=
"vtable"
colspan=
"2"
>
<td>
<input
name=
"ipaddr"
type=
"text"
size=
"16"
style=
"float: left;"
/>
<div
class=
"input-group"
>
<input
class=
"btn btn-default"
type=
"button"
name=
"button1"
value=
"
<?=
gettext
(
"Add to pool"
);
?>
"
onclick=
"AddServerToPool(document.iform); enforceFailover(); checkPoolControls();"
/><br
/>
<span
class=
"input-group-btn"
>
<button
class=
"btn btn-default"
id=
"btn_add_to_pool"
type=
"button"
>
<?=
gettext
(
"Add to pool"
);
?>
</button>
</span>
<input
class=
"form-control"
id=
"ipaddr"
type=
"text"
>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
colspan=
"2"
>
</td>
<td
colspan=
"2"
><strong>
<?=
gettext
(
"Current Pool Members"
);
?>
</strong>
</td>
</tr>
</tr>
<tr>
<tr>
<td
colspan=
"2"
valign=
"top"
class=
"listtopic"
>
<?=
gettext
(
"Current Pool Members"
);
?>
</td>
<td><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Members"
);
?>
</td>
</tr>
<td>
<table
class=
"table table-condensed"
>
<thead>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Members"
);
?>
</td>
<th>
<?=
gettext
(
"Pool Disabled"
);
?>
</th>
<td
width=
"78%"
class=
"vtable"
colspan=
"2"
valign=
"top"
>
<th></th>
<table
summary=
"members"
>
<th>
<?=
gettext
(
"Enabled (default)"
);
?>
</th>
</tr>
</thead>
<tbody>
<tbody>
<tr>
<tr>
<td
align=
"center"
>
<td>
<b>
<?=
gettext
(
"Pool Disabled"
);
?>
</b>
<select
id=
"serversdisabled"
name=
"serversdisabled[]"
multiple=
"multiple"
>
<br/>
<?php
<select
id=
"serversDisabledSelect"
name=
"serversdisabled[]"
multiple=
"multiple"
size=
"5"
>
foreach
(
$pconfig
[
'serversdisabled'
]
as
$svrent
)
:?>
<?php
<
option
value
=
"<?=
$svrent
;?>"
><?=
$svrent
;
?>
</option>
if
(
is_array
(
$pconfig
[
'serversdisabled'
]))
{
<?php
foreach
(
$pconfig
[
'serversdisabled'
]
as
$svrent
)
{
endforeach
;
?>
if
(
$svrent
!=
''
)
echo
" <option value=
\"
{
$svrent
}
\"
>
{
$svrent
}
</option>
\n
"
;
}
}
?>
</select>
</select>
<input
class=
"btn btn-default"
type=
"button"
name=
"removeDisabled"
value=
"
<?=
gettext
(
"Remove"
);
?>
"
onclick=
"RemoveServerFromPool(document.iform, 'serversdisabled[]');"
/>
<hr/>
<button
id=
"btn_del_serversdisabled"
class=
"btn btn-default btn-xs"
data-toggle=
"tooltip"
><span
class=
"fa fa-trash text-muted"
></span></button>
</td>
</td>
<td>
<td
valign=
"middle"
align=
"center"
>
<button
class=
"btn btn-default btn-xs"
id=
"moveToDisabled"
><span
class=
"glyphicon glyphicon-arrow-left"
></span></button><br
/>
<button
class=
"btn btn-default btn-xs"
id=
"moveToEnabled"
name=
"moveToEnabled"
onclick=
"moveOptions(document.iform.serversDisabledSelect, document.iform.serversSelect); checkPoolControls();"
><span
class=
"glyphicon glyphicon-arrow-left"
></span></button><br
/>
<button
class=
"btn btn-default btn-xs"
id=
"moveToEnabled"
><span
class=
"glyphicon glyphicon-arrow-right"
></span></button>
<button
class=
"btn btn-default btn-xs"
id=
"moveToDisabled"
name=
"moveToDisabled"
onclick=
"moveOptions(document.iform.serversSelect, document.iform.serversDisabledSelect); checkPoolControls();"
><span
class=
"glyphicon glyphicon-arrow-right"
></span></button>
</td>
</td>
<td>
<td
align=
"center"
>
<select
id=
"servers"
name=
"servers[]"
multiple=
"multiple"
>
<b>
<?=
gettext
(
"Enabled (default)"
);
?>
</b>
<?php
<br/>
foreach
(
$pconfig
[
'servers'
]
as
$svrent
)
:?>
<select
id=
"serversSelect"
name=
"servers[]"
multiple=
"multiple"
size=
"5"
>
<
option
value
=
"<?=
$svrent
;?>"
><?=
$svrent
;
?>
</option>
<?php
<?php
if
(
is_array
(
$pconfig
[
'servers'
]))
{
endforeach
;
?>
foreach
(
$pconfig
[
'servers'
]
as
$svrent
)
{
echo
" <option value=
\"
{
$svrent
}
\"
>
{
$svrent
}
</option>
\n
"
;
}
}
?>
</select>
</select>
<input
class=
"btn btn-default"
type=
"button"
name=
"removeEnabled"
value=
"
<?=
gettext
(
"Remove"
);
?>
"
onclick=
"RemoveServerFromPool(document.iform, 'servers[]');"
/>
<hr/>
<button
id=
"btn_del_servers"
class=
"btn btn-default btn-xs"
data-toggle=
"tooltip"
><span
class=
"fa fa-trash text-muted"
></span></button>
</td>
</td>
</tr>
</tr>
</tbody>
</tbody>
</table>
</table>
</td>
</td>
</tr>
</tr>
<tr
align=
"left"
>
<tr
>
<td
width=
"22%"
valign=
"top"
>
</td>
<td
>
</td>
<td
width=
"78%"
>
<td
width=
"78%"
>
<br
/>
<br
/>
<input
name=
"Submit"
type=
"submit"
class=
"btn btn-primary"
value=
"
<?=
gettext
(
"Save"
);
?>
"
onclick=
"AllServers('serversSelect', true); AllServers('serversDisabledSelect', true);"
/>
<input
id=
"save"
name=
"save"
type=
"submit"
class=
"btn btn-primary"
value=
"
<?=
gettext
(
"Save"
);
?>
"
/>
<input
type=
"button"
class=
"btn btn-default"
value=
"
<?=
gettext
(
"Cancel"
);
?>
"
onclick=
"window.location.href='
<?=
$referer
;
?>
'"
/>
<input
type=
"button"
class=
"btn btn-default"
value=
"
<?=
gettext
(
"Cancel"
);
?>
"
onclick=
"window.location.href='
<?=
(
isset
(
$_SERVER
[
'HTTP_REFERER'
])
?
$_SERVER
[
'HTTP_REFERER'
]
:
'/load_balancer_pool.php'
)
;
?>
'"
/>
<?php
if
(
isset
(
$id
)
&&
$a_pool
[
$id
]
&&
$_GET
[
'act'
]
!=
'dup'
)
:
?>
<?php
if
(
isset
(
$id
)
&&
(
empty
(
$_GET
[
'act'
])
||
$_GET
[
'act'
]
!=
'dup'
)
)
:
?>
<input
name=
"id"
type=
"hidden"
value=
"
<?=
htmlspecialchars
(
$id
);
?>
"
/>
<input
name=
"id"
type=
"hidden"
value=
"
<?=
htmlspecialchars
(
$id
);
?>
"
/>
<?php
endif
;
?>
<?php
endif
;
?>
</td>
</td>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment