Blad dotyczy wersji LMS 1.10.2 $Id: LMS.class.php,v 1.868.2.11 2007/11/14 08:19:04 alec Exp $
proponowana zmiana: --- lib/LMS.class.php.orig 2008-07-21 16:57:29.509132188 +0200 +++ lib/LMS.class.php 2008-07-21 16:56:17.997562342 +0200 @@ -2416,7 +2416,7 @@ { if(!sizeof($nodes)) break; $ip = array_pop($nodes); - if($i==$ip) + if($i==$ip or $i==ip2long($network['gateway'])) continue; else {
Tomasz Chiliński pisze:
On Mon, 21 Jul 2008 16:36:23 +0200, Arkadiusz Chomicki wrote
w funkcji brakuje sprawdzania czy dane IP nie jest brama. wysylam poprawiona funkcje
Jak byś jeszcze napisał, której wersji LMS dotyczy modyfikacja oraz przesłał łatę do nałożenia na wersję CVS to byłoby super.
function NetworkCompress($id,$shift=0) { $nodes = array(); $network = $this->GetNetworkRecord($id); $address = $network['addresslong'] + $shift; $broadcast = $network['addresslong'] + $network['size'];
foreach($network['nodes']['id'] as $idx => $value) if($value) $nodes[] =
$network['nodes']['addresslong'][$idx]; rsort($nodes);
for($i = $address+1; $i < $broadcast; $i++) { if(!sizeof($nodes)) break; $ip = array_pop($nodes); if($i==$ip or
$i==ip2long($network['gateway'])) continue; else { if(!$this->DB->Execute('UPDATE nodes SET ipaddr=? WHERE ipaddr=?', array($i,$ip))) $this->DB->Execute('UPDATE nodes SET ipaddr_pub=? WHERE ipaddr_pub=?', array($i,$ip)); } } }
-- Arkadiusz Chomicki Wladyslawowo
Pozdrawiam.
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms