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
fafe2a0d
Commit
fafe2a0d
authored
Mar 04, 2016
by
Ad Schellevis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(legacy) refactor load_balancer_virtual_server.php
parent
83a109ee
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
180 additions
and
139 deletions
+180
-139
load_balancer_virtual_server.php
src/www/load_balancer_virtual_server.php
+180
-139
No files found.
src/www/load_balancer_virtual_server.php
View file @
fafe2a0d
<?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>.
All rights reserved.
...
...
@@ -54,10 +54,9 @@ function cleanup_lb_marked()
}
/* Load current names so we can make sure we don't remove an anchor that is still in use. */
$vs_a
=
$config
[
'load_balancer'
][
'virtual_server'
];
$active_vsnames
=
array
();
if
(
isset
(
$vs_a
))
{
foreach
(
$vs_a
as
$vs
)
{
if
(
isset
(
$config
[
'load_balancer'
][
'virtual_server'
]
))
{
foreach
(
$config
[
'load_balancer'
][
'virtual_server'
]
as
$vs
)
{
$active_vsnames
[]
=
$vs
[
'name'
];
}
}
...
...
@@ -73,36 +72,29 @@ function cleanup_lb_marked()
}
if
(
!
is_array
(
$config
[
'load_balancer'
][
'virtual_server'
]))
{
if
(
empty
(
$config
[
'load_balancer'
][
'virtual_server'
])
||
!
is_array
(
$config
[
'load_balancer'
][
'virtual_server'
]))
{
$config
[
'load_balancer'
][
'virtual_server'
]
=
array
();
}
$a_vs
=
&
$config
[
'load_balancer'
][
'virtual_server'
];
if
(
$_POST
)
{
$pconfig
=
$_POST
;
if
(
$_POST
[
'apply'
])
{
if
(
$_SERVER
[
'REQUEST_METHOD'
]
===
'POST'
)
{
if
(
isset
(
$_POST
[
'act'
])
&&
$_POST
[
'act'
]
==
"del"
)
{
if
(
isset
(
$_POST
[
'id'
])
&&
!
empty
(
$a_vs
[
$_POST
[
'id'
]])){
cleanup_lb_mark_anchor
(
$a_vs
[
$_POST
[
'id'
]][
'name'
]);
unset
(
$a_vs
[
$_POST
[
'id'
]]);
write_config
();
mark_subsystem_dirty
(
'loadbalancer'
);
}
exit
;
}
elseif
(
!
empty
(
$_POST
[
'apply'
]))
{
relayd_configure
();
filter_configure
();
$savemsg
=
get_std_save_message
();
/* Wipe out old relayd anchors no longer in use. */
cleanup_lb_marked
();
clear_subsystem_dirty
(
'loadbalancer'
);
}
}
if
(
$_GET
[
'act'
]
==
"del"
)
{
if
(
array_key_exists
(
$_GET
[
'id'
],
$a_vs
))
{
if
(
!
$input_errors
)
{
cleanup_lb_mark_anchor
(
$a_vs
[
$_GET
[
'id'
]][
'name'
]);
unset
(
$a_vs
[
$_GET
[
'id'
]]);
write_config
();
mark_subsystem_dirty
(
'loadbalancer'
);
header
(
"Location: load_balancer_virtual_server.php"
);
exit
;
}
}
}
/* Index lbpool array for easy hyperlinking */
...
...
@@ -110,64 +102,113 @@ $poodex = array();
for
(
$i
=
0
;
isset
(
$config
[
'load_balancer'
][
'lbpool'
][
$i
]);
$i
++
)
{
$poodex
[
$config
[
'load_balancer'
][
'lbpool'
][
$i
][
'name'
]]
=
$i
;
}
for
(
$i
=
0
;
isset
(
$config
[
'load_balancer'
][
'virtual_server'
][
$i
]);
$i
++
)
{
if
(
$a_vs
[
$i
])
{
$a_vs
[
$i
][
'poolname'
]
=
"<a href=
\"
/load_balancer_pool_edit.php?id=
{
$poodex
[
$a_vs
[
$i
][
'poolname'
]]
}
\"
>
{
$a_vs
[
$i
][
'poolname'
]
}
</a>"
;
if
(
$a_vs
[
$i
][
'sitedown'
]
!=
''
)
{
$a_vs
[
$i
][
'sitedown'
]
=
"<a href=
\"
/load_balancer_pool_edit.php?id=
{
$poodex
[
$a_vs
[
$i
][
'sitedown'
]]
}
\"
>
{
$a_vs
[
$i
][
'sitedown'
]
}
</a>"
;
}
else
{
$a_vs
[
$i
][
'sitedown'
]
=
'none'
;
}
}
}
$service_hook
=
'relayd'
;
include
(
"head.inc"
);
legacy_html_escape_form_data
(
$a_vs
);
$main_buttons
=
array
(
array
(
'label'
=>
gettext
(
'Add'
),
'href'
=>
'load_balancer_virtual_server_edit.php'
),
);
?>
<body>
<script
type=
"text/javascript"
>
$
(
document
).
ready
(
function
()
{
// delete host action
$
(
"
.act_delete
"
).
click
(
function
(
event
){
event
.
preventDefault
();
var
id
=
$
(
this
).
data
(
"
id
"
);
// delete single
BootstrapDialog
.
show
({
type
:
BootstrapDialog
.
TYPE_DANGER
,
title
:
"
<?=
gettext
(
"Load Balancer: Virtual Server Setup"
);
?>
"
,
message
:
"
<?=
gettext
(
"Do you really want to delete this entry?"
);
?>
"
,
buttons
:
[{
label
:
"
<?=
gettext
(
"No"
);
?>
"
,
action
:
function
(
dialogRef
)
{
dialogRef
.
close
();
}},
{
label
:
"
<?=
gettext
(
"Yes"
);
?>
"
,
action
:
function
(
dialogRef
)
{
$
.
post
(
window
.
location
,
{
act
:
'
del
'
,
id
:
id
},
function
(
data
)
{
location
.
reload
();
});
}
}]
});
});
});
//]]>
</script>
<?php
include
(
"fbegin.inc"
);
?>
<section
class=
"page-content-main"
>
<div
class=
"container-fluid"
>
<div
class=
"row"
>
<?php
if
(
isset
(
$input_errors
)
&&
count
(
$input_errors
)
>
0
)
print_input_errors
(
$input_errors
);
?>
<?php
if
(
isset
(
$savemsg
))
print_info_box
(
$savemsg
);
?>
<?php
if
(
is_subsystem_dirty
(
'loadbalancer'
))
:
?>
<br/>
<?php
print_info_box_apply
(
gettext
(
"The virtual server configuration has been changed"
)
.
".<br />"
.
gettext
(
"You must apply the changes in order for them to take effect."
));
?>
<br
/>
<?php
endif
;
?>
<section
class=
"col-xs-12"
>
<div
class=
"tab-content content-box col-xs-12"
>
<form
action=
"load_balancer_virtual_server.php"
method=
"post"
name=
"iform"
id=
"iform"
>
<form
method=
"post"
name=
"iform"
id=
"iform"
>
<div
class=
"table-responsive"
>
<?php
$t
=
new
MainTable
();
$t
->
edit_uri
(
'load_balancer_virtual_server_edit.php'
);
$t
->
my_uri
(
'load_balancer_virtual_server.php'
);
$t
->
add_column
(
gettext
(
'Name'
),
'name'
,
10
);
$t
->
add_column
(
gettext
(
'Protocol'
),
'relay_protocol'
,
10
);
$t
->
add_column
(
gettext
(
'IP Address'
),
'ipaddr'
,
10
);
$t
->
add_column
(
gettext
(
'Port'
),
'port'
,
10
);
$t
->
add_column
(
gettext
(
'Pool'
),
'poolname'
,
10
);
$t
->
add_column
(
gettext
(
'Fall Back Pool'
),
'sitedown'
,
15
);
$t
->
add_column
(
gettext
(
'Description'
),
'descr'
,
25
);
$t
->
add_button
(
'edit'
);
$t
->
add_button
(
'dup'
);
$t
->
add_button
(
'del'
);
$t
->
add_content_array
(
$a_vs
);
$t
->
display
();
?>
<table
class=
"table table-striped"
>
<thead>
<tr>
<th>
<?=
gettext
(
"Name"
);
?>
</th>
<th>
<?=
gettext
(
"Protocol"
);
?>
</th>
<th>
<?=
gettext
(
"IP Address"
);
?>
</th>
<th>
<?=
gettext
(
'Port'
);
?>
</th>
<th>
<?=
gettext
(
'Pool'
);
?>
</th>
<th>
<?=
gettext
(
'Fall Back Pool'
);
?>
</th>
<th>
<?=
gettext
(
"Description"
);
?>
</th>
<th></th>
</tr>
</thead>
<tbody>
<?php
$i
=
0
;
foreach
(
$a_vs
as
$vs
)
:?>
<
tr
>
<
td
><?=
$vs
[
'name'
];
?>
</td>
<td>
<?=
$vs
[
'relay_protocol'
];
?>
</td>
<td>
<?=
$vs
[
'ipaddr'
];
?>
</td>
<td>
<?=
$vs
[
'port'
];
?>
</td>
<td>
<a
href=
"load_balancer_pool_edit.php?id=
<?=
$poodex
[
$vs
[
'poolname'
]];
?>
"
>
<?=
$vs
[
'poolname'
];
?>
</a>
<td>
<?php
if
(
!
empty
(
$vs
[
'sitedown'
]))
:?>
<
a
href
=
"load_balancer_pool_edit.php?id=<?=
$poodex[$vs['sitedown']]
;?>"
>
<?=
$vs
[
'sitedown'
];
?>
</a>
<?php
else
:?>
<?=
gettext
(
"none"
);
?>
<?php
endif
;
?>
<td>
<?=
$vs
[
'descr'
];
?>
</td>
<td>
<a
href=
"load_balancer_virtual_server_edit.php?id=
<?=
$i
;
?>
"
class=
"btn btn-default btn-xs"
>
<span
class=
"glyphicon glyphicon-pencil"
></span>
</a>
<a
data-id=
"
<?=
$i
;
?>
"
class=
"act_delete btn btn-default btn-xs"
>
<span
class=
"fa fa-trash text-muted"
></span>
</a>
<a
href=
"load_balancer_virtual_server_edit.php?act=dup&id=
<?=
$i
;
?>
"
class=
"btn btn-default btn-xs"
data-toggle=
"tooltip"
title=
"
<?=
gettext
(
"clone rule"
);
?>
"
>
<span
class=
"fa fa-clone text-muted"
></span>
</a>
</td>
</tr>
<?php
++
$i
;
endforeach
;
?>
</tbody>
</table>
</div>
</form>
</div>
...
...
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