Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 1843

Přidáno uživatelem Michal Kliment před více než 11 roky(ů)

Upravy:

- fixes #465 - Optimalizace reloadu DHCP zaznamu (nastaveni priznaku vsem podsitim, do kterych patri vsechna potomkovske rozhrani vytvorene na upravovanem rozhrani)

Zobrazit rozdíly:

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