Revize 412
Přidáno uživatelem Michal Kliment před asi 15 roky(ů)
freenetis/trunk/kohana/application/controllers/members.php | ||
---|---|---|
*/
|
||
function show($member_id = NULL, $order_by = 'member_id', $order_by_direction = 'ASC')
|
||
{
|
||
if (isset($member_id))
|
||
if (!$member_id)
|
||
Controller::warning(PARAMETER);
|
||
if(!$this->acl_check_view(get_class($this),'members',$member_id))
|
||
Controller::error(ACCESS);
|
freenetis/trunk/kohana/application/controllers/ifaces.php | ||
---|---|---|
'use_selector' => false
|
||
));
|
||
if ($this->acl_check_new('Devices_Controller','ip_address',$member_id))
|
||
$grid_ip_addresses->add_new_button(url_lang::base().'ip_addresses/add', url_lang::lang('texts.Add new IP address'));
|
||
$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('subnet_name')->label(url_lang::lang('texts.Subnet name'));
|
||
... | ... | |
'use_selector' => false
|
||
));
|
||
if ($this->acl_check_new('Devices_Controller','vlan_iface',$member_id))
|
||
$grid_VLAN_ifaces->add_new_button(url_lang::base().'vlan_ifaces/add', url_lang::lang('texts.Add new VLAN interface'));
|
||
$grid_VLAN_ifaces->add_new_button(url_lang::base().'vlan_ifaces/add/'.$iface_id, url_lang::lang('texts.Add new VLAN interface'));
|
||
$grid_VLAN_ifaces->field('id')->label('ID')->class('center');
|
||
$grid_VLAN_ifaces->field('name')->label(url_lang::lang('texts.Name'));
|
||
if ($this->acl_check_view('Devices_Controller','vlan_iface',$member_id))
|
freenetis/trunk/kohana/application/controllers/vlan_ifaces.php | ||
---|---|---|
));
|
||
|
||
if ($this->acl_check_new('Devices_Controller','ip_address'))
|
||
$grid_ip_addresses->add_new_button(url_lang::base().'ip_addresses/add', url_lang::lang('texts.Add new 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('subnet_name')->label(url_lang::lang('texts.Subnet name'));
|
||
... | ... | |
|
||
/**
|
||
* Function adds vlan interface.
|
||
* @return unknown_type
|
||
* @param $iface_id
|
||
*/
|
||
function add()
|
||
function add($iface_id = NULL)
|
||
{
|
||
$ssDevice_id = $this->session->get('ssDevice_id');
|
||
$ssIface_id = $this->session->get('ssIface_id');
|
||
|
||
$form = new Forge(url_lang::base()."vlan_ifaces/add/", '', 'POST', array('id' => 'article_form'));
|
||
$form = new Forge(url_lang::base()."vlan_ifaces/add/$iface_id", '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->group('')->label(url_lang::lang('texts.Basic data'));
|
||
$form->input('name')->label(url_lang::lang('texts.VLAN interface name').':')->rules('required|length[3,250]');
|
||
|
||
$member_id = NULL;
|
||
if ($ssIface_id)
|
||
|
||
if ($iface_id)
|
||
{
|
||
$iface = new Iface_Model($ssIface_id);
|
||
$iface = new Iface_Model($iface_id);
|
||
if (!$iface->id)
|
||
Controller::error(RECORD);
|
||
$member_id = $iface->device->user->member_id;
|
||
$form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name'))->options(array($ssIface_id => $iface->name))->rules('required');
|
||
$form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name'))->options(array($iface->id => $iface->name))->rules('required');
|
||
}
|
||
else
|
||
{
|
||
... | ... | |
|
||
}
|
||
|
||
if ($ssIface_id) $link_back = html::anchor(url_lang::base().'ifaces/show/'.$ssIface_id, url_lang::lang('texts.Back to interface parameters'));
|
||
if ($iface_id) $link_back = html::anchor(url_lang::base().'ifaces/show/'.$iface_id, url_lang::lang('texts.Back to interface parameters'));
|
||
else $link_back = html::anchor(url_lang::base().'vlan_ifaces/show_all/', url_lang::lang('texts.Back to VLAN interfaces list'));
|
||
|
||
$view = new View('template');
|
||
... | ... | |
* @return unknown_type
|
||
*/
|
||
function edit($vlan_iface_id = null)
|
||
{
|
||
{
|
||
if (!$vlan_iface_id)
|
||
Controller::warning(PARAMETER);
|
||
|
||
$vlan_iface = new Vlan_iface_Model($vlan_iface_id);
|
||
|
||
if (!$vlan_iface->id)
|
||
Controller::error(RECORD);
|
||
|
||
if (!$this->acl_check_edit('Devices_Controller','vlan_iface',$vlan_iface->iface->device->user->member_id)) Controller::error(1);
|
||
|
||
$ssDevice_id = $this->session->get('ssDevice_id');
|
||
$ssIface_id = $this->session->get('ssIface_id');
|
||
$ssVlan_iface_id = $this->session->get('ssVlan_iface_id');
|
||
|
||
$vlan_iface = new vlan_iface_Model($vlan_iface_id);
|
||
|
||
if (!isset($vlan_iface_id) || $vlan_iface->id == 0) {
|
||
Controller::warning(1);
|
||
}
|
||
|
||
$form = new Forge(url_lang::base()."vlan_ifaces/edit/".$vlan_iface_id, '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
$form->group('')->label(url_lang::lang('texts.Basic data'));
|
||
|
||
$form->input('name')->label(url_lang::lang('texts.name').':')->rules('required|length[3,250]')->value($vlan_iface->name);
|
||
|
||
$iface_model = new Iface_Model();
|
||
$ifaces = $iface_model->select(array('id','name'))->orderby('name')->find_all();
|
||
|
||
foreach ($ifaces as $iface) {
|
||
$arr_ifaces[$iface->id] = $iface->name;
|
||
}
|
||
$form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name'))->options($arr_ifaces)->rules('required')->selected($vlan_iface->iface_id);
|
||
|
||
$member_id = NULL;
|
||
|
||
if ($ssIface_id)
|
||
{
|
||
$iface = new Iface_Model($ssIface_id);
|
||
$member_id = $iface->device->user->member_id;
|
||
$form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name'))->options(array($ssIface_id => $iface->name))->rules('required');
|
||
}
|
||
|
||
else
|
||
{
|
||
|
||
$iface_model = new Iface_Model();
|
||
$ifaces = $iface_model->select(array('id','name'))->orderby('name')->find_all();
|
||
$arr_ifaces[0] = '----- '.url_lang::lang('texts.select interface').' -----';
|
||
foreach ($ifaces as $iface) {
|
||
$arr_ifaces[$iface->id] = $iface->name;
|
||
}
|
||
$form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name'))->options($arr_ifaces)->rules('required')->selected($vlan_iface->iface_id);
|
||
}
|
||
|
||
if (!$this->acl_check_edit('Devices_Controller','vlan_iface',$member_id)) Controller::error(1);
|
||
|
||
$vlan_model = new Vlan_Model();
|
||
$vlans = $vlan_model->select(array('id','name'))->orderby('name')->find_all();
|
||
$arr_vlans[0] = '----- '.url_lang::lang('texts.select vlan').' -----';
|
||
... | ... | |
}
|
||
//----- end validate --------------------------------------------------
|
||
|
||
if ($ssVlan_iface_id) $link_back = html::anchor(url_lang::base().'vlan_ifaces/show/'.$ssVlan_iface_id, url_lang::lang('texts.Back to vlan interface parameters'));
|
||
elseif ($ssIface_id) $link_back = html::anchor(url_lang::base().'ifaces/show/'.$ssIface_id, url_lang::lang('texts.Back to interface parameters'));
|
||
else $link_back = html::anchor(url_lang::base().'ifaces/show_all/', url_lang::lang('texts.Back to interfaces list'));
|
||
$link_back = html::anchor(url_lang::base().'vlan_ifaces/show/'.$vlan_iface_id, url_lang::lang('texts.Back to vlan interface parameters'));
|
||
|
||
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Edit vlan interface').' - '.$vlan_iface->name;
|
freenetis/trunk/kohana/application/controllers/ip_addresses.php | ||
---|---|---|
if (!$this->acl_check_view('Devices_Controller','ip_address'))
|
||
Controller::error(1);
|
||
|
||
//---- delete session device and Iface ----
|
||
$this->session->del('ssDevice_id');
|
||
$this->session->del('ssIface_id');
|
||
$this->session->del('ssVlan_iface_id');
|
||
|
||
$ip_model = new Ip_address_Model();
|
||
|
||
// get new selector
|
||
... | ... | |
'style' => 'classic',
|
||
'order_by' => $order_by,
|
||
'order_by_direction' => $order_by_direction,
|
||
'limit_results' => $limit_results,
|
||
'limit_results' => $limit_results,
|
||
//'query_string' => $this->input->get()
|
||
));
|
||
|
||
... | ... | |
$grid->action_field('id')->label(url_lang::lang('texts.IP address'))->url(url_lang::base().'ip_addresses/edit')->action(url_lang::lang('texts.Edit'))->class('center');
|
||
if ($this->acl_check_delete('Devices_Controller','ip_address'))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.IP address'))->url(url_lang::base().'ip_addresses/delete')->action(url_lang::lang('texts.Delete'))->class('center')->script('onclick="return potvrd(\''.url_lang::lang('texts.Do you want to delete this ip address').'\');"');
|
||
$grid->datasource( $query );
+ $grid->datasource( $query );
|
||
|
||
|
||
$view = new View('template');
|
||
... | ... | |
* @return unknown_type
|
||
*/
|
||
function add()
|
||
{
|
||
//---- Get variable for narrow selecting of selectbox ----
|
||
$ssDevice_id = $this->session->get('ssDevice_id');
|
||
$ssIface_id = $this->session->get('ssIface_id');
|
||
$ssVlan_iface_id = $this->session->get('ssVlan_iface_id');
|
||
|
||
{
|
||
$this->form = new Forge(url_lang::base()."ip_addresses/add", '', 'POST', array('id' => 'article_form'));
|
||
$this->form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
$iface_model = new Iface_Model();
|
||
$vlan_iface_model = new Vlan_iface_Model();
|
||
|
||
$member_id = NULL;
|
||
$arr_ifaces = array();
|
||
$arr_vlan_ifaces = array();
|
||
|
||
$ifaces = $iface_model->select('id','name')->orderby('name')->find_all();
|
||
$vlan_ifaces = $vlan_iface_model->select('id','name')->orderby('name')->find_all();
|
||
|
||
$arr_ifaces[0] = '----- '.url_lang::lang('texts.select interface').' -----';
|
||
$arr_vlan_ifaces[0] = '----- '.url_lang::lang('texts.select vlan interface').' -----';
|
||
|
||
if ($ssIface_id)
|
||
{
|
||
$ifaces = $iface_model->find_all_by_id($ssIface_id);
|
||
$vlan_ifaces = array();
|
||
$member_id = $ifaces->current()->device->user->member_id;
|
||
}
|
||
else if ($ssVlan_iface_id)
|
||
{
|
||
$ifaces = array();
|
||
$vlan_ifaces = $vlan_iface_model->find_all_by_id($ssVlan_iface_id);
|
||
$member_id = $vlan_ifaces->current()->iface->device->user->member_id;
|
||
}
|
||
else
|
||
{
|
||
$ifaces = $iface_model->select('id','name')->orderby('name')->find_all();
|
||
$vlan_ifaces = $vlan_iface_model->select('id','name')->orderby('name')->find_all();
|
||
|
||
$arr_ifaces[0] = '----- '.url_lang::lang('texts.select interface').' -----';
|
||
$arr_vlan_ifaces[0] = '----- '.url_lang::lang('texts.select vlan interface').' -----';
|
||
}
|
||
|
||
if (!$this->acl_check_new('Devices_Controller', 'ip_address',$member_id)) Controller::error(1);
|
||
if (!$this->acl_check_new('Devices_Controller', 'ip_address')) Controller::error(1);
|
||
|
||
foreach ($ifaces as $iface) {
|
||
$arr_ifaces[$iface->id] = $iface->name;
|
||
... | ... | |
$arr_subnets[$subnet->id] = $subnet->net_str.'/'.$subnet->mask.': '.$subnet->name;
|
||
}
|
||
|
||
if (count($arr_ifaces))
|
||
$this->form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name').':')->options($arr_ifaces)->selected($ssIface_id);
|
||
$this->form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name').':')->options($arr_ifaces);
|
||
|
||
if (count($arr_vlan_ifaces))
|
||
$this->form->dropdown('vlan_iface_id')->label(url_lang::lang('texts.VLAN interface name').':')->options($arr_vlan_ifaces)->selected($ssVlan_iface_id)->callback(array($this, 'check_ifaces'));
|
||
$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')
|
||
->callback(array($this, 'valid_ip'));
|
||
... | ... | |
if ($ip->save())
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.IP address is successfully saved.'));
|
||
if ((bool)$ssVlan_iface_id) url::redirect(url_lang::base().'vlan_ifaces/show/'.$ip->vlan_iface_id);
|
||
else if ($ssIface_id) url::redirect(url_lang::base().'ifaces/show/'.$ip->iface_id);
|
||
else url::redirect(url_lang::base().'ip_addresses/show_all');
|
||
url::redirect(url_lang::base().'ip_addresses/show_all');
|
||
exit;
|
||
}
|
||
|
||
... | ... | |
}
|
||
//----- end validate --------------------------------------------------
|
||
|
||
if ($ssVlan_iface_id) $link_back = html::anchor(url_lang::base().'vlan_ifaces/show/'.$ssVlan_iface_id, url_lang::lang('texts.Back to VLAN interface parameters'));
|
||
elseif ($ssIface_id) $link_back = html::anchor(url_lang::base().'ifaces/show/'.$ssIface_id, url_lang::lang('texts.Back to interface parameters'));
|
||
else $link_back = html::anchor(url_lang::base().'ip_addresses/show_all', url_lang::lang('texts.Back to IP addresses list'));
|
||
$link_back = html::anchor(url_lang::base().'ip_addresses/show_all', url_lang::lang('texts.Back to IP addresses list'));
|
||
|
||
|
||
$view = new View('template');
|
||
... | ... | |
|
||
$view->render(TRUE);
|
||
} // end of add function
|
||
|
||
/**
|
||
* @author Michal Kliment
|
||
* Adds new IP address to some iface
|
||
* @param $iface_id id of iface to add new IP address
|
||
*/
|
||
function add_to_iface($iface_id = NULL)
|
||
{
|
||
if (!$iface_id)
|
||
Controller::warning(PARAMETER);
|
||
|
||
$iface = new Iface_Model($iface_id);
|
||
|
||
if (!$iface->id)
|
||
Controller::error(RECORD);
|
||
|
||
$this->form = new Forge(url_lang::base()."ip_addresses/add_to_iface/".$iface_id, '', 'POST', array('id' => 'article_form'));
|
||
$this->form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
$arr_ifaces = array();
|
||
|
||
if (!$this->acl_check_new('Devices_Controller', 'ip_address',$iface->device->user->member_id)) Controller::error(1);
|
||
|
||
$arr_ifaces[$iface->id] = $iface->name;
|
||
|
||
$subnet_model = new Subnet_Model();
|
||
$subnets = $subnet_model
|
||
->select("id","name","network_address as net_str",
|
||
"inet_aton(network_address) as net",
|
||
"32-log2((~inet_aton(netmask) & 0xffffffff) + 1) as mask")
|
||
->orderby('net')->find_all();
|
||
|
||
$arr_subnets[0] = '----- '.url_lang::lang('texts.select subnet').' -----';
|
||
|
||
foreach ($subnets as $subnet)
|
||
{
|
||
$arr_subnets[$subnet->id] = $subnet->net_str.'/'.$subnet->mask.': '.$subnet->name;
|
||
}
|
||
|
||
$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')
|
||
->callback(array($this, 'valid_ip'));
|
||
|
||
|
||
$this->form->dropdown('subnet_id')->label(url_lang::lang('texts.Select subnet name').':')
|
||
->options($arr_subnets)
|
||
->rules('required');
|
||
|
||
$this->form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($this->form, ' *', 'required');
|
||
|
||
//----- validate form and save data -----------------------------------
|
||
if($this->form->validate())
|
||
{
|
||
$form_data = $this->form->as_array();
|
||
|
||
foreach($form_data as $key => $value)
|
||
{
|
||
$form_data[$key] = htmlspecialchars($value);
|
||
}
|
||
|
||
$ip = new Ip_address_Model();
|
||
$ip->iface_id = $form_data['iface_id'];
|
||
$ip->IP_address = $form_data['IP_address'];
|
||
$ip->subnet_id = $form_data['subnet_id'];
|
||
|
||
unset($form_data);
|
||
|
||
if ($ip->save())
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.IP address is successfully saved.'));
|
||
url::redirect(url_lang::base().'ifaces/show/'.$iface_id);
|
||
exit;
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
//$form->IP_address->value("ahoj"); //demo of how to fill a field after validation error
|
||
}
|
||
//----- end validate --------------------------------------------------
|
||
|
||
$link_back = html::anchor(url_lang::base().'ifaces/show/'.$iface_id, url_lang::lang('texts.Back to interface parameters'));
|
||
|
||
$view = new View('template');
|
||
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Add new 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.Add new IP address');
|
||
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->render(TRUE);
|
||
} // end of add function
|
||
|
||
function add_to_vlan_iface($vlan_iface_id = NULL)
|
||
{
|
||
if (!$vlan_iface_id)
|
||
Controller::warning(PARAMETER);
|
||
|
||
$vlan_iface = new Vlan_iface_Model($vlan_iface_id);
|
||
|
||
if (!$vlan_iface->id)
|
||
Controller::error(RECORD);
|
||
|
||
$this->form = new Forge(url_lang::base()."ip_addresses/add_to_vlan_iface/".$vlan_iface_id, '', 'POST', array('id' => 'article_form'));
|
||
$this->form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
$arr_vlan_ifaces = array();
|
||
|
||
if (!$this->acl_check_new('Devices_Controller', 'ip_address',$vlan_iface->iface->device->user->member_id)) Controller::error(1);
|
||
|
||
$arr_vlan_ifaces[$vlan_iface->id] = $vlan_iface->name;
|
||
|
||
$subnet_model = new Subnet_Model();
|
||
$subnets = $subnet_model
|
||
->select("id","name","network_address as net_str",
|
||
"inet_aton(network_address) as net",
|
||
"32-log2((~inet_aton(netmask) & 0xffffffff) + 1) as mask")
|
||
->orderby('net')->find_all();
|
||
|
||
$arr_subnets[0] = '----- '.url_lang::lang('texts.select subnet').' -----';
|
||
|
||
foreach ($subnets as $subnet)
|
||
{
|
||
$arr_subnets[$subnet->id] = $subnet->net_str.'/'.$subnet->mask.': '.$subnet->name;
|
||
}
|
||
|
||
$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')
|
||
->callback(array($this, 'valid_ip'));
|
||
|
||
|
||
$this->form->dropdown('subnet_id')->label(url_lang::lang('texts.Select subnet name').':')
|
||
->options($arr_subnets)
|
||
->rules('required');
|
||
|
||
$this->form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($this->form, ' *', 'required');
|
||
|
||
//----- validate form and save data -----------------------------------
|
||
if($this->form->validate())
|
||
{
|
||
$form_data = $this->form->as_array();
|
||
|
||
foreach($form_data as $key => $value)
|
||
{
|
||
$form_data[$key] = htmlspecialchars($value);
|
||
}
|
||
|
||
$ip = new Ip_address_Model();
|
||
$ip->vlan_iface_id = $form_data['vlan_iface_id'];
|
||
$ip->IP_address = $form_data['IP_address'];
|
||
$ip->subnet_id = $form_data['subnet_id'];
|
||
|
||
unset($form_data);
|
||
|
||
if ($ip->save())
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.IP address is successfully saved.'));
|
||
url::redirect(url_lang::base().'vlan_ifaces/show/'.$vlan_iface_id);
|
||
exit;
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
//$form->IP_address->value("ahoj"); //demo of how to fill a field after validation error
|
||
}
|
||
//----- end validate --------------------------------------------------
|
||
|
||
$link_back = html::anchor(url_lang::base().'vlan_ifaces/show/'.$vlan_iface_id, url_lang::lang('texts.Back to VLAN interface parameters'));
|
||
|
||
$view = new View('template');
|
||
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Add new 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.Add new IP address');
|
||
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->render(TRUE);
|
||
} // end of add function
|
||
|
||
function edit($ip_address_id = NULL)
|
||
{
|
||
//---- Get variable for narrow selecting of selectbox ----
|
||
$ssDevice_id = $this->session->get('ssDevice_id');
|
||
$ssIface_id = $this->session->get('ssIface_id');
|
||
$ssVlan_iface_id = $this->session->get('ssVlan_iface_id');
|
||
|
||
{
|
||
$this->form = new Forge(url_lang::base()."ip_addresses/edit/".$ip_address_id, '', 'POST', array('id' => 'article_form'));
|
||
$this->form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
... | ... | |
$iface_selected = $ip_address->iface_id;
|
||
$vlan_iface_selected = $ip_address->vlan_iface_id;
|
||
|
||
if ($ip_address->iface_id && $ssIface_id == $ip_address->iface_id)
|
||
if ($ip_address->iface_id)
|
||
{
|
||
$ifaces = $iface_model->find_all_by_id($ssIface_id);
|
||
$ifaces = $iface_model->find_all_by_id($ip_address->iface_id);
|
||
$vlan_ifaces = array();
|
||
}
|
||
else if ($ip_address->vlan_iface_id && $ssVlan_iface_id == $ip_address->vlan_iface_id)
|
||
else
|
||
{
|
||
$ifaces = array();
|
||
$vlan_ifaces = $vlan_iface_model->find_all_by_id($ssVlan_iface_id);
|
||
$vlan_ifaces = $vlan_iface_model->find_all_by_id($ip_address->vlan_iface_id);
|
||
}
|
||
else
|
||
{
|
||
$ifaces = $iface_model->select('id','name')->orderby('name')->find_all();
|
||
$vlan_ifaces = $vlan_iface_model->select('id','name')->orderby('name')->find_all();
|
||
|
||
$arr_ifaces[0] = '----- '.url_lang::lang('texts.select interface').' -----';
|
||
$arr_vlan_ifaces[0] = '----- '.url_lang::lang('texts.select vlan interface').' -----';
|
||
}
|
||
|
||
if (!$this->acl_check_edit('Devices_Controller', 'ip_address',$member_id)) Controller::error(1);
|
||
|
||
... | ... | |
}
|
||
|
||
if (count($arr_ifaces))
|
||
$this->form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name').':')->options($arr_ifaces)->selected($iface_selected);
|
||
$this->form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name').':')->options($arr_ifaces)->selected($ip_address->iface_id);
|
||
|
||
if (count($arr_vlan_ifaces))
|
||
$this->form->dropdown('vlan_iface_id')->label(url_lang::lang('texts.VLAN interface name').':')->options($arr_vlan_ifaces)->selected($vlan_iface_selected)->callback(array($this, 'check_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)
|
||
->callback(array($this, 'valid_ip'));
|
||
... | ... | |
|
||
if ($ip->save()) {
|
||
$this->session->set_flash('message', url_lang::lang('texts.IP address is successfully updated.'));
|
||
if ($ssVlan_iface_id) url::redirect(url_lang::base().'vlan_ifaces/show/'.$ip->vlan_iface_id);
|
||
elseif ($ssIface_id) url::redirect(url_lang::base().'ifaces/show/'.$ip->iface_id);
|
||
else url::redirect(url_lang::base().'ip_addresses/show_all');
|
||
if ($ip->iface_id) url::redirect(url_lang::base().'ifaces/show/'.$ip->iface_id);
|
||
else url::redirect(url_lang::base().'vlan_ifaces/show/'.$ip->vlan_iface_id);
|
||
exit;
|
||
}
|
||
|
||
... | ... | |
|
||
// end validate --------------------------------------------------
|
||
|
||
if ($ssVlan_iface_id) $link_back = html::anchor(url_lang::base().'vlan_ifaces/show/'.$ssVlan_iface_id, url_lang::lang('texts.Back to VLAN interface parameters'));
|
||
elseif ($ssIface_id) $link_back = html::anchor(url_lang::base().'ifaces/show/'.$ssIface_id, url_lang::lang('texts.Back to interface parameters'));
|
||
if ($ip_address->vlan_iface_id) $link_back = html::anchor(url_lang::base().'vlan_ifaces/show/'.$ip_address->vlan_iface_id, url_lang::lang('texts.Back to VLAN interface parameters'));
|
||
elseif ($ip_address->iface_id) $link_back = html::anchor(url_lang::base().'ifaces/show/'.$ip_address->iface_id, url_lang::lang('texts.Back to interface parameters'));
|
||
else $link_back = html::anchor(url_lang::base().'ip_addresses/show_all', url_lang::lang('texts.Back to IP addresses list'));
|
||
|
||
|
||
... | ... | |
{
|
||
if (isset($ip_address_id))
|
||
{
|
||
$ssIface_id = $this->session->get('ssIface_id');
|
||
$ssVlan_iface_id = $this->session->get('ssVlan_iface_id');
|
||
if ($ssVlan_iface_id)
|
||
$link_back = url_lang::base().'vlan_ifaces/show/'.$ssVlan_iface_id;
|
||
elseif ($ssIface_id)
|
||
$link_back = url_lang::base().'ifaces/show/'.$ssIface_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)
|
||
$link_back = url_lang::base().'ifaces/show/'.$ip_address->iface_id;
|
||
else
|
||
$link_back = url_lang::base().'ip_addresses/show_all';
|
||
$ip_address = new Ip_address_Model($ip_address_id);
|
||
|
||
if (!$ip_address->id)
|
||
url::redirect($link_back);
|
||
Controller::error(RECORD);
|
||
// identify the owner of IP_address
|
||
if ($ip_address->iface_id)
|
||
$member_id = $ip_address->iface->device->user->member_id;
|
||
else
|
||
$member_id = $ip_address->vlan_iface->iface->device->user->member_id;
|
||
|
||
if (!$this->acl_check_delete('Devices_Controller', 'ip_address', $member_id))
|
||
Controller::error(1);
|
||
if ($ip_address->delete())
|
||
... | ... | |
//----- end CALLBACKs --------------------------------------------------------------
|
||
//=============================================================================
|
||
}
|
||
?>
|
||
?>
|
Také k dispozici: Unified diff
Opraven bug u zobrazeni profilu clena. Odstraneny skoro vsechny session z kontroleru ip adres a VLAN rozhranich.