Revize 2357
Přidáno uživatelem Ondřej Fibich před asi 10 roky(ů)
freenetis/branches/1.2/application/controllers/links.php | ||
---|---|---|
$grid->datasource($link->get_items());
|
||
|
||
$subnet_header = __('Subnets on link');
|
||
|
||
$grid_subnet = new Grid('subnets/show/'.$link_id, $subnet_header, array
|
||
|
||
$grid_subnet = new Grid('subnets/show/' . $link_id, $subnet_header, array
|
||
(
|
||
'use_paginator' => false,
|
||
'use_selector' => false
|
||
'use_paginator' => false,
|
||
'use_selector' => false
|
||
));
|
||
|
||
$grid_subnet->order_field('id')
|
||
|
||
$grid_subnet->order_field('id')
|
||
->label('ID');
|
||
|
||
|
||
$grid_subnet->order_field('name')
|
||
->label('Subnet');
|
||
|
||
|
||
$grid_subnet->order_callback_field('cidr')
|
||
->label('Network address')
|
||
->callback('callback::cidr_field');
|
||
|
||
|
||
if ($this->acl_check_view('Subnets_Controller', 'subnet'))
|
||
{
|
||
$grid_subnet->grouped_action_field()->add_action('id')
|
||
->icon_action('show')
|
||
->url('subnets/show');
|
||
}
|
||
|
||
$grid_subnet->datasource($link->get_subnets_on_link());
|
||
|
||
$grid_subnet->datasource($link->get_subnets_on_link());
|
||
|
||
$breadcrumbs = breadcrumbs::add()
|
||
->link('links/show_all', 'Links',
|
||
$this->acl_check_view('Links_Controller', 'link'))
|
freenetis/branches/1.2/application/i18n/cs_CZ/texts.php | ||
---|---|---|
'subnets have been successfully removed from cloud' => 'Podsítě byly úspěšně odstraněny z oblasti',
|
||
'subnets list' => 'Seznam podsítí',
|
||
'subnets' => 'Podsítě',
|
||
'subnets on link' => 'Podsítě linky',
|
||
'subnets on link' => 'Podsítě linky',
|
||
'subnets to qos' => 'Podsítě pro QoS',
|
||
'subnets with dhcp' => 'Podsítě s DHCP',
|
||
'suffix' => 'Přípona',
|
freenetis/branches/1.2/application/models/link.php | ||
---|---|---|
* @return Mysql_Result
|
||
*/
|
||
public function get_subnets_on_link($link_id = NULL)
|
||
{
|
||
if ($link_id === NULL && isset($this))
|
||
{
|
||
$link_id = $this->id;
|
||
}
|
||
|
||
// We must search for subnet in all interfaces that has given link_id
|
||
// which covers all ethernet, wireless, port and internal interfaces.
|
||
// For VLAN, Virtual WLAN and bridge interfaces we must also search in
|
||
// ifaces_relationships (for bridge in reverse order).
|
||
{
|
||
if ($link_id === NULL && isset($this))
|
||
{
|
||
$link_id = $this->id;
|
||
}
|
||
|
||
// We must search for subnet in all interfaces that has given link_id
|
||
// which covers all ethernet, wireless, port and internal interfaces.
|
||
// For VLAN, Virtual WLAN and bridge interfaces we must also search in
|
||
// ifaces_relationships (for bridge in reverse order).
|
||
return $this->db->query("
|
||
SELECT s.*, INET_ATON(s.network_address) AS cidr,
|
||
CONCAT(s.network_address, '/',
|
||
32-log2((~inet_aton(s.netmask) & 0xffffffff) + 1)) AS cidr_address
|
||
CONCAT(s.network_address, '/',
|
||
32-log2((~inet_aton(s.netmask) & 0xffffffff) + 1)) AS cidr_address
|
||
FROM (
|
||
(
|
||
SELECT i.* FROM ifaces i
|
||
WHERE i.link_id = ?
|
||
) UNION (
|
||
SELECT child_i.*
|
||
FROM ifaces_relationships ir
|
||
JOIN ifaces child_i ON ir.iface_id = child_i.id
|
||
JOIN ifaces parent_i ON ir.parent_iface_id = parent_i.id
|
||
WHERE child_i.type IN (?, ?) AND parent_i.link_id = ?
|
||
) UNION (
|
||
SELECT i_bridged.*
|
||
FROM ifaces_relationships ir
|
||
JOIN ifaces i_parent ON i_parent.id = ir.parent_iface_id
|
||
JOIN ifaces i_bridged ON i_bridged.id = ir.iface_id
|
||
WHERE i_parent.type = ? AND i_parent.id IN (
|
||
SELECT parent_iface_id FROM ifaces i
|
||
JOIN ifaces_relationships ir ON ir.iface_id = i.id
|
||
WHERE i.link_id = ?
|
||
)
|
||
)
|
||
) AS i
|
||
(
|
||
SELECT i.* FROM ifaces i
|
||
WHERE i.link_id = ?
|
||
) UNION (
|
||
SELECT child_i.*
|
||
FROM ifaces_relationships ir
|
||
JOIN ifaces child_i ON ir.iface_id = child_i.id
|
||
JOIN ifaces parent_i ON ir.parent_iface_id = parent_i.id
|
||
WHERE child_i.type IN (?, ?) AND parent_i.link_id = ?
|
||
) UNION (
|
||
SELECT i_bridged.*
|
||
FROM ifaces_relationships ir
|
||
JOIN ifaces i_parent ON i_parent.id = ir.parent_iface_id
|
||
JOIN ifaces i_bridged ON i_bridged.id = ir.iface_id
|
||
WHERE i_parent.type = ? AND i_parent.id IN (
|
||
SELECT parent_iface_id FROM ifaces i
|
||
JOIN ifaces_relationships ir ON ir.iface_id = i.id
|
||
WHERE i.link_id = ?
|
||
)
|
||
)
|
||
) AS i
|
||
JOIN ip_addresses ip ON ip.iface_id = i.id
|
||
JOIN subnets s ON ip.subnet_id = s.id
|
||
GROUP BY s.id
|
||
JOIN subnets s ON ip.subnet_id = s.id
|
||
GROUP BY s.id
|
||
ORDER BY INET_ATON(s.network_address)
|
||
", $link_id, Iface_Model::TYPE_VLAN, Iface_Model::TYPE_VIRTUAL_AP,
|
||
$link_id, Iface_Model::TYPE_BRIDGE, $link_id);
|
||
}
|
||
|
||
$link_id, Iface_Model::TYPE_BRIDGE, $link_id);
|
||
}
|
||
|
||
}
|
freenetis/branches/1.2/system/libraries/ORM_Iterator.php | ||
---|---|---|
*/
|
||
public function as_arrays()
|
||
{
|
||
$results = $this->result->result_array();
|
||
return ($results) ? $results : array();
|
||
$results = $this->result->result_array();
|
||
return ($results) ? $results : array();
|
||
}
|
||
|
||
/**
|
Také k dispozici: Unified diff
Opravy:
- oprava formatovani kodu z predchozich commitu