Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 451

Přidáno uživatelem Jiří Sviták před asi 15 roky(ů)

Oprava bugu pri ukladani ip adresy a mac adresy.

Zobrazit rozdíly:

freenetis/trunk/kohana/application/controllers/ifaces.php
$grid->add_new_button(url_lang::base().'ifaces/add', url_lang::lang('texts.Add new interface'));
$grid->order_field('id')->label('ID');
$grid->order_field('name')->label(url_lang::lang('texts.name'));
$grid->order_field('mac')->label(url_lang::lang('texts.MAC'));
$grid->order_field('device_name')->label(url_lang::lang('texts.Device name'));
$grid->order_field('segment_name')->label(url_lang::lang('texts.Segment name'));
$grid->order_field('comment')->label(url_lang::lang('texts.comment'));
//$grid->order_field('comment')->label(url_lang::lang('texts.comment'));
if ($this->acl_check_view('Devices_Controller','iface'))
$grid->action_field('id')->label(url_lang::lang('texts.Interface'))->url(url_lang::base().'ifaces/show')->action(url_lang::lang('texts.Show'))->class('center');
if ($this->acl_check_edit('Devices_Controller','iface'))
......
// ip addresses
$ip_model = new Ip_address_Model();
$query = $ip_model->select(array('ip_addresses.id','ip_addresses.IP_address','subnets.name as subnet_name'))
$query = $ip_model->select(array('ip_addresses.id','ip_addresses.ip_address','subnets.name as subnet_name'))
->join('subnets','subnets.id=ip_addresses.subnet_id', NULL, 'LEFT')
->orderby('id','ASC')
->find_all_by_iface_id($iface_id);
......
if ($this->acl_check_new('Devices_Controller','ip_address',$member_id))
$grid_ip_addresses->add_new_button(url_lang::base().'ip_addresses/add_to_iface/'.$iface->id, url_lang::lang('texts.Add new IP address'));
$grid_ip_addresses->field('id')->label('ID')->class('center');
$grid_ip_addresses->field('IP_address')->label(url_lang::lang('texts.IP address'));
$grid_ip_addresses->field('ip_address')->label(url_lang::lang('texts.IP address'));
$grid_ip_addresses->field('subnet_name')->label(url_lang::lang('texts.Subnet name'));
if ($this->acl_check_view('Devices_Controller','ip_address',$member_id))
$grid_ip_addresses->action_field('id')->label(url_lang::lang('texts.IP address')) ->url(url_lang::base().'ip_addresses/show') ->action(url_lang::lang('texts.Show'))->class('center');
......
$arr_segments[$segment->id] = $segment->name;
}
$form->dropdown('segment_id')->label(url_lang::lang('texts.Segment name'))->options($arr_segments)->rules('required');
$form->input('MAC')->label(url_lang::lang('texts.MAC').':')->rules('required|length[3,250]');
$form->input('mac')->label(url_lang::lang('texts.MAC').':')->rules('required|length[3,250]');
$form->textarea('comment')->label(url_lang::lang('texts.comment').':')->rules('length[0,254]')->cols('20')->rows('5');
$form->submit('submit')->value(url_lang::lang('texts.Save'));
special::required_forge_style($form, ' *', 'required');
......
$arr_segments[$segment->id] = $segment->name;
}
$form->dropdown('segment_id')->label(url_lang::lang('texts.Segment name'))->options($arr_segments)->rules('required')->selected($iface->segment_id);
$form->input('MAC')->label(url_lang::lang('texts.MAC').':')->rules('required|length[3,250]')->value($iface->MAC);
$form->input('mac')->label(url_lang::lang('texts.MAC').':')->rules('required|length[3,250]')->value($iface->mac);
$form->textarea('comment')->label(url_lang::lang('texts.comment').':')->rules('length[0,254]')->value($iface->comment)->cols('20')->rows('5');
$form->submit('submit')->value(url_lang::lang('texts.update'));
special::required_forge_style($form, ' *', 'required');
freenetis/trunk/kohana/application/controllers/vlan_ifaces.php
$ip_model = new Ip_address_Model();
//$query = $vlan_iface_model->select(array('devices.name as device_name', 'segments.name as segment_name', 'vlan_ifaces.*'))->join('devices', 'devices.id = vlan_ifaces.device_id')->join('segments', 'segments.id = vlan_ifaces.segment_id')->orderby('id','ASC')->find_all_by_device_id($vlan_iface_id);
$query = $ip_model->select(array('ip_addresses.id','ip_addresses.IP_address','subnets.name as subnet_name'))->join('subnets','subnets.id=ip_addresses.subnet_id')->orderby('id','ASC')->find_all_by_vlan_iface_id($vlan_iface_id);
$query = $ip_model->select(array('ip_addresses.id','ip_addresses.ip_address','subnets.name as subnet_name'))->join('subnets','subnets.id=ip_addresses.subnet_id')->orderby('id','ASC')->find_all_by_vlan_iface_id($vlan_iface_id);
$grid_ip_addresses = new Grid(url_lang::base().'vlan_ifaces', null,array(
'use_paginator' => false,
'use_selector' => false
......
if ($this->acl_check_new('Devices_Controller','ip_address'))
$grid_ip_addresses->add_new_button(url_lang::base().'ip_addresses/add_to_vlan_iface/'.$vlan_iface_id, url_lang::lang('texts.Add new IP address'));
$grid_ip_addresses->field('id')->label('ID')->class('center');
$grid_ip_addresses->field('IP_address')->label(url_lang::lang('texts.IP address'));
$grid_ip_addresses->field('ip_address')->label(url_lang::lang('texts.IP address'));
$grid_ip_addresses->field('subnet_name')->label(url_lang::lang('texts.Subnet name'));
if ($this->acl_check_view('Devices_Controller','ip_address'))
$grid_ip_addresses->action_field('id')->label(url_lang::lang('texts.IP address'))->url(url_lang::base().'ip_addresses/show') ->action(url_lang::lang('texts.Show'))->class('center');
freenetis/trunk/kohana/application/controllers/redirect.php
$ip_address = server::remote_addr();
$ip_address_model = new Ip_address_Model();
$this_ip = $ip_address_model->where('IP_address',$ip_address)->find();
$this_ip = $ip_address_model->where('ip_address',$ip_address)->find();
$device_name = '';
$device_type = '';
......
if ($this_ip->id)
{
$mac = $this_ip->iface->MAC;
$mac = $this_ip->iface->mac;
$device_name = $this_ip->iface->device->name;
$enum_type_model = new Enum_type_Model();
......
$arr_ip[3]++;
$gateway_ip = implode('.',$arr_ip);
$ap = $ip_address_model->where('IP_address',$gateway_ip)->find();
$ap = $ip_address_model->where('ip_address',$gateway_ip)->find();
if ($ap->iface_id!=NULL)
{
freenetis/trunk/kohana/application/controllers/ip_addresses.php
if ($this->acl_check_new('Devices_Controller','ip_address'))
$grid->add_new_button(url_lang::base().'ip_addresses/add', url_lang::lang('texts.Add new IP address'));
$grid->order_field('id')->label(url_lang::lang('texts.ID'));
$grid->order_field('IP_address')->label(url_lang::lang('texts.ip addresses'));
$grid->order_field('ip_address')->label(url_lang::lang('texts.ip addresses'));
$grid->order_field('iface_name')->label(url_lang::lang('texts.Interface name'));
$grid->order_field('vlan_iface_name')->label(url_lang::lang('texts.VLAN interface name'));
$grid->order_field('subnet_name')->label(url_lang::lang('texts.Subnet name'));
......
*/
function show($ip_address_id = null)
{
$ip_address = new Ip_address_Model($ip_address_id);
$ip_address = new ip_address_Model($ip_address_id);
if ($ip_address->iface_id)
$member_id = $ip_address->iface->device->user->member_id;
......
$view = new View('template');
$view->header = new View('base/header');
$view->header->title = url_lang::lang('texts.IP address detail').' - '.$ip_address->IP_address;
$view->header->title = url_lang::lang('texts.IP address detail').' - '.$ip_address->ip_address;
$view->header->menu = Controller::render_menu();
$view->content = new View('show_ip_addresses');
$view->content->ip_address = $ip_address;
$view->content->headline = url_lang::lang('texts.IP address detail').' - '.$ip_address->IP_address;
$view->content->headline = url_lang::lang('texts.IP address detail').' - '.$ip_address->ip_address;
//$view->content->table_ip_addresses = $grid_ip_addresses;
$view->footer = new View('base/footer');
$view->render(TRUE);
......
$this->form->dropdown('vlan_iface_id')->label(url_lang::lang('texts.VLAN interface name').':')->options($arr_vlan_ifaces)->callback(array($this, 'check_ifaces'));
$this->form->input('IP_address')->label(url_lang::lang('texts.IP address').':')->rules('required')
$this->form->input('ip_address')->label(url_lang::lang('texts.IP address').':')->rules('required')
->callback(array($this, 'valid_ip'));
......
$form_data[$key] = htmlspecialchars($value);
}
$ip = new Ip_address_Model();
$ip = new ip_address_Model();
if (isset($form_data['iface_id']))
$ip->iface_id = $form_data['iface_id'];
......
if (isset($form_data['vlan_iface_id']))
$ip->vlan_iface_id = $form_data['vlan_iface_id'];
$ip->IP_address = $form_data['IP_address'];
$ip->ip_address = $form_data['ip_address'];
$ip->subnet_id = $form_data['subnet_id'];
......
}
else
{
//$form->IP_address->value("ahoj"); //demo of how to fill a field after validation error
//$form->ip_address->value("ahoj"); //demo of how to fill a field after validation error
}
//----- end validate --------------------------------------------------
......
$this->form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name').':')->options($arr_ifaces);
$this->form->input('IP_address')->label(url_lang::lang('texts.IP address').':')->rules('required')
$this->form->input('ip_address')->label(url_lang::lang('texts.IP address').':')->rules('required')
->callback(array($this, 'valid_ip'));
......
$form_data[$key] = htmlspecialchars($value);
}
$ip = new Ip_address_Model();
$ip = new ip_address_Model();
$ip->iface_id = $form_data['iface_id'];
$ip->IP_address = $form_data['IP_address'];
$ip->ip_address = $form_data['ip_address'];
$ip->subnet_id = $form_data['subnet_id'];
unset($form_data);
......
}
else
{
//$form->IP_address->value("ahoj"); //demo of how to fill a field after validation error
//$form->ip_address->value("ahoj"); //demo of how to fill a field after validation error
}
//----- end validate --------------------------------------------------
......
$this->form->dropdown('vlan_iface_id')->label(url_lang::lang('texts.VLAN interface name').':')->options($arr_vlan_ifaces);
$this->form->input('IP_address')->label(url_lang::lang('texts.IP address').':')->rules('required')
$this->form->input('ip_address')->label(url_lang::lang('texts.IP address').':')->rules('required')
->callback(array($this, 'valid_ip'));
......
$form_data[$key] = htmlspecialchars($value);
}
$ip = new Ip_address_Model();
$ip = new ip_address_Model();
$ip->vlan_iface_id = $form_data['vlan_iface_id'];
$ip->IP_address = $form_data['IP_address'];
$ip->ip_address = $form_data['ip_address'];
$ip->subnet_id = $form_data['subnet_id'];
unset($form_data);
......
}
else
{
//$form->IP_address->value("ahoj"); //demo of how to fill a field after validation error
//$form->ip_address->value("ahoj"); //demo of how to fill a field after validation error
}
//----- end validate --------------------------------------------------
......
if (!$ip_address_id)
Controller::warning(PARAMETER);
$ip_address = new Ip_address_Model($ip_address_id);
$ip_address = new ip_address_Model($ip_address_id);
if (!$ip_address->id)
Controller::error(RECORD);
......
if (count($arr_vlan_ifaces))
$this->form->dropdown('vlan_iface_id')->label(url_lang::lang('texts.VLAN interface name').':')->options($arr_vlan_ifaces)->selected($ip_address->vlan_iface_id)->callback(array($this, 'check_ifaces'));
$this->form->input('IP_address')->label(url_lang::lang('texts.IP address').':')->rules('required')->value($ip_address->IP_address)
$this->form->input('ip_address')->label(url_lang::lang('texts.IP address').':')->rules('required')->value($ip_address->ip_address)
->callback(array($this, 'valid_ip'));
......
$form_data[$key] = htmlspecialchars($value);
}
$ip = new Ip_address_Model($ip_address_id);
$ip = new ip_address_Model($ip_address_id);
if (isset($form_data['iface_id']) && (int) $form_data['iface_id'])
{
......
$ip->vlan_iface_id = $form_data['vlan_iface_id'];
}
$ip->IP_address = $form_data['IP_address'];
$ip->ip_address = $form_data['ip_address'];
$ip->subnet_id = $form_data['subnet_id'];
......
$view = new View('template');
$view->header = new View('base/header');
$view->header->title = url_lang::lang('texts.Edit IP address').' - '.$ip_address->IP_address;
$view->header->title = url_lang::lang('texts.Edit IP address').' - '.$ip_address->ip_address;
$view->header->menu = Controller::render_menu();
$view->content = new View('form');
$view->content->form = $this->form->html();
$view->content->link_back = $link_back;
$view->content->headline = url_lang::lang('texts.Edit IP address').' - '.$ip_address->IP_address;
$view->content->headline = url_lang::lang('texts.Edit IP address').' - '.$ip_address->ip_address;
$view->footer = new View('base/footer');
......
{
if (isset($ip_address_id))
{
$ip_address = new Ip_address_Model($ip_address_id);
$ip_address = new ip_address_Model($ip_address_id);
if ($ip_address->vlan_iface_id)
$link_back = url_lang::base().'vlan_ifaces/show/'.$ip_address->vlan_iface_id;
elseif ($ip_address->iface_id)
......
if (!$ip_address->id)
Controller::error(RECORD);
// identify the owner of IP_address
// identify the owner of ip_address
if ($ip_address->iface_id)
$member_id = $ip_address->iface->device->user->member_id;
else
......
*/
function valid_ip($input)
{
$method=$this->form->IP_address->method; // <FORM> method = POST, GET, ...
$ip=ip2long($this->input->$method('IP_address')); // Submitted values;
$method=$this->form->ip_address->method; // <FORM> method = POST, GET, ...
$ip=ip2long($this->input->$method('ip_address')); // Submitted values;
$subnet_id=$this->input->$method('subnet_id');
......
// checks if exists this ip
$ip_model = new Ip_address_Model();
$ip_model = new ip_address_Model();
$ips = $ip_model->where('IP_address',$input->value)->find_all();
$ips = $ip_model->where('ip_address',$input->value)->find_all();
foreach ($ips as $ip)
{
......
function check_ifaces($input)
{
$method=$this->form->IP_address->method; // <FORM> method = POST, GET, ...
$method=$this->form->ip_address->method; // <FORM> method = POST, GET, ...
$iface_id = $this->input->$method('iface_id');
$vlan_iface_id = $input->value;
if ($iface_id && $vlan_iface_id)
freenetis/trunk/kohana/application/controllers/devices.php
foreach ($ip_iface as $ip)
{
$arr_ip[$i]['iface_id'] = $iface->id;
$arr_ip[$i]['ip_address'] = $ip->IP_address;
$arr_ip[$i]['ip_address'] = $ip->ip_address;
$subnet = $subnet_model->find_by_id($ip->subnet_id);
$arr_ip[$i]['name'] = $subnet->name;
$arr_ip[$i]['network_address'] = $subnet->network_address;
......
$grid->add_new_button(url_lang::base().'ifaces/add/'.$device_id, url_lang::lang('texts.Add new interface'));
$grid->field('id')->label('ID')->class('center');
$grid->field('name')->label(url_lang::lang('texts.name'));
$grid->field('MAC')->label(url_lang::lang('texts.MAC'));
$grid->field('mac')->label(url_lang::lang('texts.MAC'));
$grid->field('segment_name')->label(url_lang::lang('texts.Segment name'));
if ($this->acl_check_view(get_class($this),'iface',$member_id))
$grid->action_field('id')->label(url_lang::lang('texts.Interface')) ->url(url_lang::base().'ifaces/show')->action(url_lang::lang('texts.Show'))->class('center');
......
// adding interface
$form->group('')->label(url_lang::lang('texts.Interface'));
$form->input('MAC')->label(url_lang::lang('texts.MAC').':')->rules('required|length[3,250]');
$form->input('mac')->label(url_lang::lang('texts.MAC').':')->rules('required|length[3,250]');
$form->dropdown('segment_id')->label(url_lang::lang('texts.Segment name').':')->options($arr_segments)->rules('required');
// wireless settings of interface
$form->checkbox('add_wireless')->label(url_lang::lang('texts.Save wireless setting'))->value(1);
......
$form->dropdown('polarization')->label(url_lang::lang('texts.Polarization').':')->options($arr_polarizations)->callback(array($this, 'valid_polarization'));
// adding ip address
$form->group('')->label(url_lang::lang('texts.IP address'));
$form->input('IP_address')->label(url_lang::lang('texts.IP address').':')->rules('required|length[7,15]')
$form->input('ip_address')->label(url_lang::lang('texts.IP address').':')->rules('required|length[7,15]')
->callback(array($this, 'valid_ip'));
$form->dropdown('subnet_id')->label(url_lang::lang('texts.Select subnet name').':')->rules('required')
->options($arr_subnets_names);
......
$iface_model = new Iface_Model();
$iface_model->device_id = $device_model->id;
$iface_model->segment_id = $form_data["segment_id"];
$iface_model->MAC = htmlspecialchars($form_data["MAC"]);
$iface_model->mac = htmlspecialchars($form_data["mac"]);
$iface_model->name = $device_model->name;
$iface_model_saved = $iface_model->save();
......
}
// ip address model
$ip_address_model = new Ip_address_Model();
$ip_address_model = new ip_address_Model();
$ip_address_model->iface_id = $iface_model->id;
$ip_address_model->vlan_iface_id = NULL;
$ip_address_model->subnet_id = $form_data['subnet_id'];
$ip_address_model->IP_address = $form_data['IP_address'];
$ip_address_model->ip_address = $form_data['ip_address'];
$ip_address_model->dhcp = NULL;
$ip_address_saved = $ip_address_model->save();
......
*/
function valid_ip($input)
{
//$method=$form->IP_address->method; // <FORM> method = POST, GET, ...
$ip = ip2long($this->input->post('IP_address')); // Submitted values
//$method=$form->ip_address->method; // <FORM> method = POST, GET, ...
$ip = ip2long($this->input->post('ip_address')); // Submitted values
$subnet_id = $this->input->post('subnet_id');
// if subnet was not selected
if ($subnet_id == 0)
......
$input->add_error('required', url_lang::lang('texts.IP address is required.'));
// checks if exists this ip in database
$ip_model = new Ip_address_Model();
if ($ip_model->get_count($this->input->post('IP_address')) > 0)
$ip_model = new ip_address_Model();
if ($ip_model->get_count($this->input->post('ip_address')) > 0)
{
$input->add_error('required', url_lang::lang('texts.IP address already exists.'));
}
freenetis/trunk/kohana/application/views/ifaces/show.php
</tr>
<tr>
<th><?php echo url_lang::lang('texts.MAC') ?></th>
<td><?php echo $iface->MAC ?></td>
<td><?php echo $iface->mac ?></td>
</tr>
<tr>
<th><?php echo url_lang::lang('texts.Comment') ?></th>
freenetis/trunk/kohana/application/views/show_ip_addresses.php
</tr>
<tr>
<th><?php echo url_lang::lang('texts.IP address') ?></th>
<td><?php echo $ip_address->IP_address ?></td>
<td><?php echo $ip_address->ip_address ?></td>
</tr>
<tr>
<th><?php echo url_lang::lang('texts.Subnet name') ?></th>

Také k dispozici: Unified diff