- Timestamp:
- 10/03/2009 02:40:08 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/awmn/includes/pages/mynodes/mynodes_range.php
r208 r209 4 4 * 5 5 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 6 7 * 7 8 * This program is free software; you can redistribute it and/or modify … … 28 29 } 29 30 30 function calculate_next_range() {31 function new_range() { 31 32 global $db; 32 33 $range = 256; … … 42 43 INNER JOIN areas", 43 44 "areas.ip_start <= ip_ranges.ip_start AND areas.ip_end >= ip_ranges.ip_end AND areas.id = '".$area_id."'", "" , "ip_end ASC"); 44 45 if (count($data) == 0) { 46 $ret['ip_start'] = $area_ip_start; 47 $ret['ip_end'] = $area_ip_start+$range-1; 48 } elseif ($data[count($data)-1]['ip_end']+$range <= $area_ip_end) { 49 $ret['ip_start'] = $data[count($data)-1]['ip_end']+1; 50 $ret['ip_end'] = $data[count($data)-1]['ip_end']+$range; 51 } else { 52 for ($start = $area_ip_start; $start <= $area_ip_end; $start=$start+$range) { 53 $end = $start+$range-1; 54 $flag = TRUE; 55 for($i=count($data)-1;$i>=0;$i--) { 56 if (($start >= $data[$i]['ip_start'] && $start <= $data[$i]['ip_end']) 57 || ($end >= $data[$i]['ip_start'] && $end <= $data[$i]['ip_end'])) { 58 $flag = FALSE; 59 break; 60 } 61 } 62 if ($flag) { 63 $ret['ip_start'] = $start; 64 $ret['ip_end'] = $end; 45 46 for ($start = $area_ip_start; $start < $area_ip_end; $start=$start+$range) { 47 $end = $start+$range-1; 48 $flag = TRUE; 49 foreach ($data as $t_range) { 50 if (($start >= $t_range['ip_start'] && $start <= $t_range['ip_end']) 51 || ($end >= $t_range['ip_start'] && $end <= $t_range['ip_end'])) { 52 $flag = FALSE; 65 53 break; 66 54 } 55 } 56 if ($flag) { 57 $ret['ip_start'] = $start; 58 $ret['ip_end'] = $end; 59 break; 67 60 } 68 61 } … … 95 88 } 96 89 $form_getrange = $this->form_getrange(); 97 $nextr = $this-> calculate_next_range();90 $nextr = $this->new_range(); 98 91 $status = "waiting"; 99 92 $ret = TRUE;
Note: See TracChangeset
for help on using the changeset viewer.
