Revision 3b2c83b8
Added by Sjon Hortensius over 10 years ago
usr/local/www/guiconfig.inc | ||
---|---|---|
1003 | 1003 |
|
1004 | 1004 |
function alias_info_popup($alias_id){ |
1005 | 1005 |
global $config; |
1006 |
|
|
1007 |
if (!is_array($config['aliases']['alias'][$alias_id])) |
|
1008 |
return; |
|
1009 |
|
|
1006 | 1010 |
$maxlength = 60; |
1007 |
$close_title="title='".gettext('move mouse out this alias to hide')."'"; |
|
1008 |
if (is_array($config['aliases']['alias'][$alias_id])){ |
|
1009 |
$alias_name=$config['aliases']['alias'][$alias_id]; |
|
1010 |
$alias_objects_with_details = "<table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" summary=\"alias info popup\">"; |
|
1011 |
if ($alias_name['url']) { |
|
1012 |
// TODO: Change it when pf supports tables with ports |
|
1013 |
if ($alias_name['type'] == "urltable") { |
|
1014 |
exec("/sbin/pfctl -t {$alias_name['name']} -T show | wc -l", $total_entries); |
|
1015 |
$counter=preg_replace("/\D/","",$total_entries[0]); |
|
1016 |
exec("/sbin/pfctl -t {$alias_name['name']} -T show | head -10002", $alias_addresses); |
|
1017 |
} else { |
|
1018 |
$urlfn = alias_expand_urltable($alias_name['name']); |
|
1019 |
$alias_addresses = explode("\n", file_get_contents($urlfn)); |
|
1020 |
$counter = count($alias_addresses); |
|
1021 |
} |
|
1022 |
$alias_objects_with_details .= "<tr><td colspan=\"3\" $close_title class=\"vncell\">{$alias_name['url']}</td></tr>"; |
|
1023 |
$x=0; |
|
1024 |
foreach ($alias_addresses as $alias_ports_address ) { |
|
1025 |
switch ($x) { |
|
1026 |
case 0: |
|
1027 |
$x++; |
|
1028 |
$alias_objects_with_details .= "<tr><td $close_title class=\"vncell\" width=\"33%\" style=\"background: #FFFFFF;color: #000000;\">{$alias_ports_address}</td>"; |
|
1029 |
break; |
|
1030 |
case 1: |
|
1031 |
$x++; |
|
1032 |
$alias_objects_with_details .= "<td $close_title class=\"vncell\" width=\"33%\" style=\"background: #FFFFFF;color: #000000;\">{$alias_ports_address}</td>"; |
|
1033 |
break; |
|
1034 |
default: |
|
1035 |
$x=0; |
|
1036 |
$alias_objects_with_details .= "<td $close_title class=\"vncell\" width=\"33%\" style=\"background: #FFFFFF;color: #000000;\">{$alias_ports_address}</td><tr>"; |
|
1037 |
break; |
|
1038 |
} |
|
1039 |
} |
|
1040 |
for ($y = $x; $y <= $x; $y++) { |
|
1041 |
$alias_objects_with_details .= "<td $close_title class=\"vncell\" width=\"33%\"> </td>"; |
|
1042 |
} |
|
1043 |
if ($x > 0) { |
|
1044 |
$alias_objects_with_details .= "</tr>"; |
|
1045 |
} |
|
1046 |
if ($counter > 10002) { |
|
1047 |
$alias_objects_with_details .= "<tr><td colspan=\"3\"> ". gettext("listing only first 10k items") . "</td><tr>"; |
|
1048 |
} |
|
1049 |
} |
|
1050 |
else{ |
|
1051 |
$alias_addresses = explode (" ", $alias_name['address']); |
|
1052 |
$alias_details = explode ("||", $alias_name['detail']); |
|
1053 |
$counter = 0; |
|
1054 |
foreach ($alias_addresses as $alias_ports_address) { |
|
1055 |
$alias_objects_with_details .= "<tr><td $close_title width=\"5%\" class=\"vncell\" style=\"background: #FFFFFF;color: #000000;\">{$alias_addresses[$counter]}</td>"; |
|
1056 |
$alias_detail_default = strpos ($alias_details[$counter],"Entry added"); |
|
1057 |
if ($alias_details[$counter] != "" && $alias_detail_default === False) |
|
1058 |
$alias_objects_with_details .="<td $close_title width=\"95%\" class=\"vncell\" style=\"background: #FFFFFF;color: #000000;\">{$alias_details[$counter]}</td>"; |
|
1059 |
else |
|
1060 |
$alias_objects_with_details .="<td $close_title width=\"95%\" class=\"vncell\" style=\"background: #FFFFFF;color: #000000;\"> </td>"; |
|
1061 |
$alias_objects_with_details .= "</tr>"; |
|
1062 |
$counter++; |
|
1063 |
} |
|
1011 |
$alias = $config['aliases']['alias'][$alias_id]; |
|
1012 |
$content = ""; |
|
1013 |
|
|
1014 |
if ($alias['url']) |
|
1015 |
{ |
|
1016 |
// TODO: Change it when pf supports tables with ports |
|
1017 |
if ($alias['type'] == "urltable") { |
|
1018 |
exec("/sbin/pfctl -t {$alias['name']} -T show | wc -l", $total_entries); |
|
1019 |
$counter=preg_replace("/\D/","",$total_entries[0]); |
|
1020 |
exec("/sbin/pfctl -t {$alias['name']} -T show | head -10002", $alias_addresses); |
|
1021 |
} else { |
|
1022 |
$urlfn = alias_expand_urltable($alias['name']); |
|
1023 |
$alias_addresses = explode("\n", file_get_contents($urlfn)); |
|
1024 |
$counter = count($alias_addresses); |
|
1064 | 1025 |
} |
1065 |
$alias_objects_with_details .= "</table>"; |
|
1026 |
|
|
1027 |
$content .= '<h5>'. $alias['url'] .'</h5><ul><li>'. implode('</li><li>', $alias_ports_address) .'</li></ul>'; |
|
1028 |
|
|
1029 |
if ($counter > 10002) |
|
1030 |
$content .= '<i>'. gettext("listing only first 10k items") .'</i>'; |
|
1066 | 1031 |
} |
1067 |
$alias_descr_substr = $alias_name['descr']; |
|
1068 |
if ($strlength >= $maxlength) |
|
1069 |
$alias_descr_substr = substr($alias_descr_substr, 0, $maxlength) . "..."; |
|
1070 |
$item_text = ($counter > 1 ? "items" : "item"); |
|
1071 |
$alias_caption = "{$alias_descr_substr} - {$counter} {$item_text}<a href=\"/firewall_aliases_edit.php?id={$alias_id}\" title=\"".gettext('edit this alias')."\"> edit </a>"; |
|
1072 |
$strlength = strlen ($alias_caption); |
|
1073 |
print "<h1>{$alias_caption}</h1>" . $alias_objects_with_details; |
|
1032 |
else |
|
1033 |
{ |
|
1034 |
$alias_addresses = explode (" ", $alias['address']); |
|
1035 |
$alias_details = explode ("||", $alias['detail']); |
|
1036 |
|
|
1037 |
$content .= '<ul><li>'. implode('</li><li>', $alias_addresses) .'</li></ul>'; |
|
1038 |
} |
|
1039 |
|
|
1040 |
if (strlen($alias['descr']) >= $maxlength) |
|
1041 |
$alias['descr'] = substr($alias['descr'], 0, $maxlength) . '…'; |
|
1042 |
|
|
1043 |
return $content; |
|
1074 | 1044 |
} |
1075 | 1045 |
|
1076 |
function rule_popup($src,$srcport,$dst,$dstport){ |
|
1077 |
global $config,$g; |
|
1078 |
$aliases_array = array(); |
|
1079 |
if ($config['aliases']['alias'] <> "" and is_array($config['aliases']['alias'])) { |
|
1080 |
$descriptions = array (); |
|
1081 |
foreach ($config['aliases']['alias'] as $alias_id=>$alias_name){ |
|
1082 |
$loading_image="<a><img src=\'/themes/{$g['theme']}/images/misc/loader.gif\' alt=\'loader\' /> " .gettext("loading...")."</a>"; |
|
1083 |
switch ($alias_name['type']){ |
|
1084 |
case "port": |
|
1085 |
$width="250"; |
|
1086 |
break; |
|
1087 |
case "urltable": |
|
1088 |
$width="500"; |
|
1089 |
break; |
|
1090 |
default: |
|
1091 |
$width="350"; |
|
1092 |
break; |
|
1093 |
} |
|
1094 |
$span_begin = "<span style=\"cursor: help;\" onmouseover=\"var response_html=domTT_activate(this, event, 'id','ttalias_{$alias_id}','content','{$loading_image}', 'trail', true, 'delay', 300, 'fade', 'both', 'fadeMax', 93, 'styleClass', 'niceTitle','type','velcro','width',{$width});alias_popup('{$alias_id}','{$g['theme']}','".gettext('loading...')."');\" onmouseout=\"this.style.color = ''; domTT_mouseout(this, event);\"><u>"; |
|
1095 |
$span_end = "</u></span>"; |
|
1096 |
if ($alias_name['name'] == $src) { |
|
1097 |
$descriptions['src'] = $span_begin; |
|
1098 |
$descriptions['src_end'] = $span_end; |
|
1099 |
} |
|
1100 |
if ($alias_name['name'] == $srcport) { |
|
1101 |
$descriptions['srcport'] = $span_begin; |
|
1102 |
$descriptions['srcport_end'] = $span_end; |
|
1103 |
} |
|
1104 |
if ($alias_name['name'] == $dst ) { |
|
1105 |
$descriptions['dst'] = $span_begin; |
|
1106 |
$descriptions['dst_end'] = $span_end; |
|
1107 |
} |
|
1108 |
if ($alias_name['name'] == $dstport) { |
|
1109 |
$descriptions['dstport'] = $span_begin; |
|
1110 |
$descriptions['dstport_end'] = $span_end; |
|
1111 |
} |
|
1112 |
} |
|
1113 |
return $descriptions; |
|
1046 |
function rule_columns_with_alias($src, $srcport, $dst, $dstport){ |
|
1047 |
global $config; |
|
1048 |
|
|
1049 |
if ($config['aliases']['alias'] == "" || !is_array($config['aliases']['alias'])) |
|
1050 |
return; |
|
1051 |
|
|
1052 |
$columns = array(); |
|
1053 |
foreach ($config['aliases']['alias'] as $alias_id => $alias_name){ |
|
1054 |
if ($alias_name['name'] == $src) |
|
1055 |
$columns['src'] = $alias_id; |
|
1056 |
elseif ($alias_name['name'] == $srcport) |
|
1057 |
$columns['srcport'] = $alias_id; |
|
1058 |
elseif ($alias_name['name'] == $dst ) |
|
1059 |
$columns['dst'] = $alias_id; |
|
1060 |
elseif ($alias_name['name'] == $dstport) |
|
1061 |
$columns['dstport'] = $alias_id; |
|
1062 |
|
|
1063 |
return $columns; |
|
1114 | 1064 |
} |
1115 | 1065 |
} |
1116 | 1066 |
|
Also available in: Unified diff
initial commit of new firewall_rules
css - add styling for tr.disabled
firewall_rules - migrated to bootstrap
guiconfig - changed alias-popup to be displayed inline instead of xhr
index - no need to serve alias-popup via xhr