/** * Confirm * * Verify that the IP's do not already exist in the pool, then confirm * the new IP address with the user before continuing. */ function confirm() { $begin_ip = ip2long($this->post['begin_address']); $end_ip = ip2long($this->post['end_address']); if ($end_ip == 0 || $end_ip < $begin_ip) { // If the beginning IP is not less than the ending IP, then only the // beginning IP is going to be added to the database. $end_ip = $begin_ip; } // Verify that there will be no duplicates for ($ip = $begin_ip; $ip <= $end_ip; $ip++) { try { load_IPAddressDBO($ip); throw new SWUserException("[DUPLICATE_IP]"); } catch (DBNoRowsFoundException $e) { } } // Store the IP's to be added to the database in the session for ($ip = $begin_ip; $ip <= $end_ip; $ip++) { $ip_dbo = new IPAddressDBO(); $ip_dbo->setIP($ip); $ip_dbo->setServerID($this->get['server']->getID()); $this->session['ip_dbo_array'][] = $ip_dbo; } $this->session['begin_ip'] = new IPAddressDBO(); $this->session['begin_ip']->setIP($begin_ip); $this->session['end_ip'] = new IPAddressDBO(); $this->session['end_ip']->setIP($end_ip); // Show the confirmation page $this->setTemplate("confirm"); }
/** * Validate an IP Address using the Database * * Verifies that the IP address exists in the database * * @param string $data Field data * @return IPAddressDBO IPAddress DBO for this IP * @throws RecordNotFoundException */ public function validate($data) { $data = parent::validate($data); try { $ipAddressDBO = load_IPAddressDBO(intval($data)); } catch (DBNoRowsFoundException $e) { throw new RecordNotFoundException("IPAddress"); } return $ipAddressDBO; }