Revize 1843
Přidáno uživatelem Michal Kliment před více než 11 roky(ů)
freenetis/branches/1.1/application/models/ip_address.php | ||
---|---|---|
}
|
||
|
||
/**
|
||
* Returns all ip addresses of iface
|
||
* Returns all ip addresses of iface (optional: and with its children ifaces)
|
||
*
|
||
* @author Michal Kliment
|
||
* @param integer $iface_id
|
||
* @param type $with_child
|
||
* @return Mysql_Result
|
||
*/
|
||
public function get_all_ip_addresses_of_iface($iface_id)
|
||
public function get_all_ip_addresses_of_iface($iface_id, $with_children = FALSE)
|
||
{
|
||
if ($with_children)
|
||
$where = 'OR ip.iface_id IN (SELECT iface_id FROM ifaces_relationships WHERE parent_iface_id = '.intval($iface_id).')';
|
||
else
|
||
$where = '';
|
||
|
||
return $this->db->query("
|
||
SELECT ip.id, ip.ip_address, s.name AS subnet_name, s.id AS subnet_id
|
||
FROM ip_addresses ip
|
||
LEFT JOIN subnets s ON s.id = ip.subnet_id
|
||
WHERE ip.iface_id = ?
|
||
WHERE ip.iface_id = ? $where
|
||
ORDER BY id ASC
|
||
", array($iface_id));
|
||
}
|
freenetis/branches/1.1/application/controllers/ifaces.php | ||
---|---|---|
|
||
// expired subnets (#465)
|
||
$expired_subnets = array();
|
||
foreach ($iface->ip_addresses as $ip)
|
||
|
||
$ip_adress_model = new Ip_address_Model();
|
||
$ip_addresses = $ip_adress_model->get_all_ip_addresses_of_iface(
|
||
$iface->id, TRUE
|
||
);
|
||
|
||
foreach ($ip_addresses as $ip)
|
||
{
|
||
$expired_subnets[] = $ip->subnet_id;
|
||
}
|
||
|
||
ORM::factory('subnet')->set_expired_subnets($expired_subnets);
|
||
|
||
$iface->transaction_commit();
|
Také k dispozici: Unified diff
Upravy:
- fixes #465 - Optimalizace reloadu DHCP zaznamu (nastaveni priznaku vsem podsitim, do kterych patri vsechna potomkovske rozhrani vytvorene na upravovanem rozhrani)