Revize 200
Přidáno uživatelem Jiří Sviták před více než 15 roky(ů)
freenetis/trunk/kohana/application/controllers/xls_export.php | ||
---|---|---|
<?php
|
||
class Xls_Export_Controller extends Controller
|
||
{
|
||
function index()
|
||
{
|
||
// requires xls module from library PEAR
|
||
require_once(APPPATH.'vendors/Spreadsheet/Excel/Writer.php');
|
||
// workbook represents xls file
|
||
$workbook = new Spreadsheet_Excel_Writer();
|
||
$workbook->send('database.xls');
|
||
$workbook->setVersion(8);
|
||
// sets xls cells format
|
||
$format_bold =& $workbook->addFormat();
|
||
$format_bold->setBold();
|
||
|
||
// worksheet represents sheet in xls file
|
||
$worksheet =& $workbook->addWorksheet('Clenove');
|
||
//$worksheet->setInputEncoding("UTF-8");
|
||
/*
|
||
// creates database member model
|
||
$member_model = new Member_Model();
|
||
$members = $member_model->find_all();
|
||
$first = true;
|
||
$row = 0;
|
||
$line = $member_model->find(0, FALSE);
|
||
// goes through columns of header
|
||
foreach ($line as $key => $value)
|
||
{
|
||
$valLen = strlen($value);
|
||
// max array stores lenghts of columns in xls sheet
|
||
$max[$key] = $valLen;
|
||
// writes header
|
||
$worksheet->write(0, $col, url_lang::lang('texts.'.$key), $format_bold);
|
||
if ($col >= $colCnt-1)
|
||
$first = false;
|
||
if ($row>=$resultCnt-1)
|
||
$worksheet->setColumn($col, $col, $max[$key]);
|
||
$col++;
|
||
}
|
||
// goes through rows of data
|
||
foreach ($members as $key => $line)
|
||
{
|
||
$colCnt = count($line);
|
||
$col = 0;
|
||
// goes through columns of data and writes them into the sheet
|
||
foreach ($line as $key => $value)
|
||
{
|
||
$valLen = strlen($value);
|
||
if ($max[$key] < $valLen)
|
||
$max[$key] = $valLen;
|
||
// writes data
|
||
$worksheet->write($row, $col, $value);
|
||
if ($row >= $resultCnt)
|
||
$worksheet->setColumn($col, $col, $max[$key]);
|
||
$col++;
|
||
}
|
||
$row++;
|
||
}
|
||
*/
|
||
$workbook->close();
|
||
//url::redirect(url_lang::base().'members/show_all');
|
||
}
|
||
}
|
||
?>
|
freenetis/trunk/kohana/application/controllers/ifaces.php | ||
---|---|---|
$grid->order_field('segment_name')->label(url_lang::lang('texts.Segment name'));
|
||
$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.Show')) ->url(url_lang::base().'ifaces/show') ->action(url_lang::lang('texts.Show'))->class('center');
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Show'))->url(url_lang::base().'ifaces/show')->action(url_lang::lang('texts.Show'))->class('center');
|
||
if ($this->acl_check_edit('Devices_Controller','iface'))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Edit')) ->url(url_lang::base().'ifaces/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
|
||
//$grid->action_field('id')->label(url_lang::lang('texts.Delete')) ->url('delete') ->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Edit'))->url(url_lang::base().'ifaces/edit')->action(url_lang::lang('texts.Edit'))->class('center');
|
||
// to do - access control to delete
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Delete'))->url(url_lang::base().'ifaces/delete') ->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid->datasource( $query );
|
||
$this->template->content = $grid;
|
||
|
||
... | ... | |
//----- end EDIT --------------------------------------------------------------
|
||
//=============================================================================
|
||
|
||
/**
|
||
* Deletes interface. Interface cannot be deleted if there are ip addresses and
|
||
* vlan interfaces assigned to this interface.
|
||
* still not functional...
|
||
* @param $iface_id id of interface to delete
|
||
* @return unknown_type
|
||
*/
|
||
function delete($iface_id)
|
||
{
|
||
/*
|
||
if (isset($iface_id))
|
||
{
|
||
// gets information from session to know where to return
|
||
$ssDevice_id = $this->session->get('ssDevice_id');
|
||
$iface = new Iface_Model($iface_id);
|
||
$ip_model = new Ip_address_Model();
|
||
$vlan_iface_model = new Vlan_iface_Model();
|
||
if ($ip_model->get_count($iface->ip_address) > 0)
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Interface still has assigned ip address.'));
|
||
}
|
||
else
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Interface has been successfully deleted.'));
|
||
}
|
||
if ($ssDevice_id)
|
||
$link_back = url_lang::base().'devices/show/'.$ssDevice_id;
|
||
else
|
||
$link_back = url_lang::base().'ifaces/show_all';
|
||
url::redirect($link_back);
|
||
|
||
}
|
||
else
|
||
{
|
||
Controller::warning(1);
|
||
}
|
||
*/
|
||
}
|
||
|
||
|
||
/**
|
||
* Checks validity of mac address, if already exists in database;
|
||
* @param $mac
|
||
* @return unknown_type
|
||
*/
|
||
function valid_mac($input)
|
||
{
|
||
$iface_model = new IfaceModel();
|
||
if ($iface_model->get_count_of_mac($this->input->$method('mac')) > 0)
|
||
{
|
||
$input->add_error('required', url_lang::lang('texts.MAC address already exists.'));
|
||
}
|
||
}
|
||
}
|
||
|
||
?>
|
freenetis/trunk/kohana/application/controllers/members.php | ||
---|---|---|
|
||
/**
|
||
* Export list of members to xls file. Requires library PEAR.
|
||
* not functional - it says workbook->close() is not defined (creating empty workbook only)
|
||
* looks like it tries to use pear library installed in system instead of our version added to application
|
||
* It looks like there is somewhere before <?php tag a space (or spaces).
|
||
* When the browser tries to post xls file, this spaces are included in the file.
|
||
* The file is corrupted and cannot be opened.
|
||
* Original version of script used for going through rows mysql_fetch_array function.
|
||
* Better solution than foreach is welcome.
|
||
* @return unknown_type
|
||
*/
|
||
function xls_export()
|
||
{
|
||
url::redirect(url_lang::base().'xls_export');
|
||
exit;
|
||
// checks access control
|
||
if (!$this->acl_check_view(get_class($this),'members'))
|
||
Controller::Error(1);
|
freenetis/trunk/kohana/application/controllers/ip_addresses.php | ||
---|---|---|
$filter=new Table_Form(url_lang::base()."ip_addresses/show_all", "get", array(
|
||
|
||
new Table_Form_Item('text','IP_address','IP address'),
|
||
new Table_Form_Item('text','MAC','MAC'),
|
||
new Table_Form_Item('text','MAC','MAC'),
|
||
"tr",
|
||
new Table_Form_Item('text','segment_name','Segment name'),
|
||
new Table_Form_Item('text','device_name','Device name'),
|
||
new Table_Form_Item('text','segment_name','Segment name'),
|
||
new Table_Form_Item('text','device_name','Device name'),
|
||
"tr",
|
||
new Table_Form_Item('text','user','User'),
|
||
new Table_Form_Item('text','user','User'),
|
||
"tr",
|
||
"td",
|
||
new Table_Form_Item('submit','submit','Filter')
|
||
new Table_Form_Item('submit','submit','Filter')
|
||
)
|
||
);
|
||
|
||
... | ... | |
//'separator' => '<br />-----------',
|
||
//'use_paginator' => false,
|
||
//'use_selector' => false,
|
||
'current' => $limit_results, // current selected 'records_per_page' value
|
||
'selector_increace' => 500, // increace
|
||
'current' => $limit_results, // current selected 'records_per_page' value
|
||
'selector_increace' => 500, // increace
|
||
'selector_min' => 500, // minimum where selector start
|
||
'selector_max_multiplier' => 20,
|
||
'base_url' => Config::item('locale.lang').'/ip_addresses/show_all/'.$limit_results.'/'.$order_by.'/'.$order_by_direction ,
|
||
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
|
||
'total_items' => $total_ip, // use db count query here of course
|
||
'base_url' => Config::item('locale.lang').'/ip_addresses/show_all/'.$limit_results.'/'.$order_by.'/'.$order_by_direction ,
|
||
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
|
||
'total_items' => $total_ip, // use db count query here of course
|
||
'items_per_page' => $limit_results, // it may be handy to set defaults for stuff like this in config/pagination.php
|
||
'style' => 'classic',
|
||
'style' => 'classic',
|
||
'order_by' => $order_by,
|
||
'order_by_direction' => $order_by_direction,
|
||
'limit_results' => $limit_results,
|
||
... | ... | |
$grid->action_field('id')->label(url_lang::lang('texts.Delete'))->url(url_lang::base().'ip_addresses/delete')->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid->datasource( $query );
|
||
|
||
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.IP addresses list');
|
||
... | ... | |
|
||
if (!$this->acl_check_view('Devices_Controller','ip_address',$member_id)) Controller::error(1);
|
||
|
||
$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->menu = Controller::render_menu();
|
||
$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->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->table_ip_addresses = $grid_ip_addresses;
|
||
$view->footer = new View('base/footer');
|
||
$view->render(TRUE);
|
||
$view->footer = new View('base/footer');
|
||
$view->render(TRUE);
|
||
} // end of show function
|
||
|
||
/**
|
||
... | ... | |
|
||
|
||
$this->form=$form = new Forge(url_lang::base()."ip_addresses/add/", '', 'POST', array('id' => 'article_form'));
|
||
|
||
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
$iface_model = new Iface_Model();
|
||
... | ... | |
}
|
||
|
||
array_multisort($arr_subnets_nets, SORT_NUMERIC, SORT_ASC,
|
||
$arr_subnets_masks, SORT_NUMERIC, SORT_ASC,
|
||
$arr_subnets_ids, SORT_NUMERIC, SORT_ASC,
|
||
$arr_subnets_netnames, SORT_STRING, SORT_ASC);
|
||
$arr_subnets_masks, SORT_NUMERIC, SORT_ASC,
|
||
$arr_subnets_ids, SORT_NUMERIC, SORT_ASC,
|
||
$arr_subnets_netnames, SORT_STRING, SORT_ASC);
|
||
|
||
$arr_subnets_ips=array_combine($arr_subnets_ids, $arr_subnets_netnames);
|
||
//$form->group('')->label(url_lang::lang('texts.IP addresses'));
|
||
//$form->radio('iface_type')->label(url_lang::lang('texts.IP address').':')->rules('required|length[3,250]');
|
||
|
||
if (!$ssIface_id && !$ssVlan_iface_id) {
|
||
$form->radio('iface_type')->label(url_lang::lang('texts.Interface type').':')->options(array('iface'=>url_lang::lang('texts.Basic').' ','VLAN'=>url_lang::lang('texts.VLAN')))->default('iface')->onchange('ajax_get_ifaces(this.value)');
|
||
}
|
||
else {
|
||
$form->hidden('iface_type')->value($default);
|
||
}
|
||
$form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name').':')
|
||
->options($arr_ifaces)
|
||
->rules('required');
|
||
//->class('ajax')->callback(array($this, 'callback_iface_selected'));
|
||
$form->input('IP_address')->label(url_lang::lang('texts.IP address').':')
|
||
->callback(array($this, 'valid_ip'));
|
||
//$form->group('')->label(url_lang::lang('texts.IP addresses'));
|
||
//$form->radio('iface_type')->label(url_lang::lang('texts.IP address').':')->rules('required|length[3,250]');
|
||
|
||
if (!$ssIface_id && !$ssVlan_iface_id) {
|
||
$form->radio('iface_type')->label(url_lang::lang('texts.Interface type').':')->options(array('iface'=>url_lang::lang('texts.Basic').' ','VLAN'=>url_lang::lang('texts.VLAN')))->default('iface')->onchange('ajax_get_ifaces(this.value)');
|
||
}
|
||
else {
|
||
$form->hidden('iface_type')->value($default);
|
||
}
|
||
$form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name').':')
|
||
->options($arr_ifaces)
|
||
->rules('required');
|
||
//->class('ajax')->callback(array($this, 'callback_iface_selected'));
|
||
$form->input('IP_address')->label(url_lang::lang('texts.IP address').':')
|
||
->callback(array($this, 'valid_ip'));
|
||
|
||
|
||
$form->dropdown('subnet_id')->label(url_lang::lang('texts.Select subnet name').':')
|
||
->options($arr_subnets_names);
|
||
//->class('ajax')->onchange('ajax_get_subnet(this.value)');
|
||
$form->group('')->label(url_lang::lang('texts.or'));
|
||
$form->dropdown('subnet_id2')->label(url_lang::lang('texts.Select subnet IP').':')
|
||
->options($arr_subnets_ips);
|
||
|
||
/**
|
||
* Removed by dulik for SVN rev. 98 - does not work with JavaScript disabled
|
||
* @todo Proper Ajax should be implemented - see http://learn.kohanaphp.com/2008/06/17/jquery-and-kohana-unobtrusive-ajax/
|
||
*
|
||
$form->group('')->label(url_lang::lang('texts.Subnet data'));
|
||
$form->input('subnet_name')->label(url_lang::lang('texts.Subnet name').':')->rules('required|length[3,250]')->callback(array($this, 'callback_subnet_selected'));
|
||
$form->input('subnet_network_address')->label(url_lang::lang('texts.Subnet network address').':')->rules('required|valid_ip')->callback(array($this, 'callback_subnet_selected'));
|
||
$form->input('subnet_netmask')->label(url_lang::lang('texts.Subnet netmask').':')->rules('required')->callback(array($this, 'callback_subnet_selected'));
|
||
$form->input('subnet_ospf_area_id')->label(url_lang::lang('texts.OSPF area ID').':')->rules('valid_digit')->callback(array($this, 'callback_subnet_selected'));
|
||
*/
|
||
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
$form->dropdown('subnet_id')->label(url_lang::lang('texts.Select subnet name').':')
|
||
->options($arr_subnets_names);
|
||
//->class('ajax')->onchange('ajax_get_subnet(this.value)');
|
||
$form->group('')->label(url_lang::lang('texts.or'));
|
||
$form->dropdown('subnet_id2')->label(url_lang::lang('texts.Select subnet IP').':')
|
||
->options($arr_subnets_ips);
|
||
|
||
/**
|
||
* Removed by dulik for SVN rev. 98 - does not work with JavaScript disabled
|
||
* @todo Proper Ajax should be implemented - see http://learn.kohanaphp.com/2008/06/17/jquery-and-kohana-unobtrusive-ajax/
|
||
*
|
||
$form->group('')->label(url_lang::lang('texts.Subnet data'));
|
||
$form->input('subnet_name')->label(url_lang::lang('texts.Subnet name').':')->rules('required|length[3,250]')->callback(array($this, 'callback_subnet_selected'));
|
||
$form->input('subnet_network_address')->label(url_lang::lang('texts.Subnet network address').':')->rules('required|valid_ip')->callback(array($this, 'callback_subnet_selected'));
|
||
$form->input('subnet_netmask')->label(url_lang::lang('texts.Subnet netmask').':')->rules('required')->callback(array($this, 'callback_subnet_selected'));
|
||
$form->input('subnet_ospf_area_id')->label(url_lang::lang('texts.OSPF area ID').':')->rules('valid_digit')->callback(array($this, 'callback_subnet_selected'));
|
||
*/
|
||
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
|
||
|
||
... | ... | |
$ip->subnet_id = $subnet_id;
|
||
}
|
||
/**
|
||
* Removed by dulik for SVN rev. 98 - does not work with JavaScript disabled
|
||
* Removed by dulik for SVN rev. 98 - does not work with JavaScript disabled
|
||
else {
|
||
$subnet = new Subnet_Model();
|
||
|
||
... | ... | |
|
||
$view = new View('template');
|
||
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Create new IP address');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Create new IP address');
|
||
$view->header->menu = Controller::render_menu();
|
||
|
||
$view->content = new View('form');
|
||
$view->content->form = $form->html();
|
||
$view->content->link_back = $link_back;
|
||
$view->content->headline = url_lang::lang('texts.Create new IP address');
|
||
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->render(TRUE);
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->render(TRUE);
|
||
} // end of add function
|
||
|
||
/**
|
||
... | ... | |
if (!$this->acl_check_edit('Devices_Controller', 'ip_address', $member_id)) Controller::error(1);
|
||
|
||
$form = new Forge(url_lang::base()."ip_addresses/edit/".$ip_address_id, '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
|
||
$iface_model = new Iface_Model();
|
||
... | ... | |
}
|
||
|
||
$form->group('')->label(url_lang::lang('texts.IP addresses'));
|
||
|
||
if (!$ssIface_id && !$ssVlan_iface_id) {
|
||
$form->radio('iface_type')->label(url_lang::lang('texts.Interface type').':')->options(array('iface'=>url_lang::lang('texts.Basic').' ','VLAN'=>url_lang::lang('texts.VLAN')))->default($default)->onchange('ajax_get_ifaces(this.value)');
|
||
}
|
||
else {
|
||
$form->hidden('iface_type')->value($default);
|
||
}
|
||
$form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name'))->options($arr_ifaces)->rules('required')->selected($selected)->class('ajax')->callback(array($this, 'callback_iface_selected'));
|
||
$form->input('IP_address')->label(url_lang::lang('texts.IP address').':')->rules('required|valid_ip')->value($ip_address->IP_address);
|
||
$form->dropdown('subnet_id')->label(url_lang::lang('texts.Select subnet name'))->options($arr_subnets)->rules('required')->selected($ip_address->subnet_id);
|
||
/*$form->input('subnet_name')->label(url_lang::lang('texts.Subnet name').':')->rules('length[3,250]');
|
||
$form->input('subnet_network_address')->label(url_lang::lang('texts.Subnet network address').':')->rules('length[3,250]');
|
||
$form->input('subnet_netmask')->label(url_lang::lang('texts.Subnet netmask').':')->rules('length[3,250]');
|
||
*/
|
||
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
|
||
if (!$ssIface_id && !$ssVlan_iface_id)
|
||
{
|
||
$form->radio('iface_type')->label(url_lang::lang('texts.Interface type').':')->options(array('iface'=>url_lang::lang('texts.Basic').' ','VLAN'=>url_lang::lang('texts.VLAN')))->default($default)->onchange('ajax_get_ifaces(this.value)');
|
||
}
|
||
else
|
||
{
|
||
$form->hidden('iface_type')->value($default);
|
||
}
|
||
|
||
$form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name'))->options($arr_ifaces)->rules('required');
|
||
// old version not functional - callback function callback_iface_selected not defined
|
||
//$form->dropdown('iface_id')->label(url_lang::lang('texts.Interface name'))->options($arr_ifaces)->rules('required')->selected($selected)->class('ajax')->callback(array($this, 'callback_iface_selected'));
|
||
|
||
// new version, not functional, problems with somewhere in callback, cannot debug
|
||
$form->input('IP_address')->label(url_lang::lang('texts.IP address').':')->rules('required|valid_ip')->value($ip_address->IP_address)->callback(array($this, 'valid_ip'));
|
||
// old version, functional
|
||
//$form->input('IP_address')->label(url_lang::lang('texts.IP address').':')->value($ip_address->IP_address)->rules('required|valid_ip');
|
||
|
||
$form->dropdown('subnet_id')->label(url_lang::lang('texts.Select subnet name'))->options($arr_subnets)->rules('required')->selected($ip_address->subnet_id);
|
||
|
||
/*$form->input('subnet_name')->label(url_lang::lang('texts.Subnet name').':')->rules('length[3,250]');
|
||
$form->input('subnet_network_address')->label(url_lang::lang('texts.Subnet network address').':')->rules('length[3,250]');
|
||
$form->input('subnet_netmask')->label(url_lang::lang('texts.Subnet netmask').':')->rules('length[3,250]');
|
||
*/
|
||
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
//----- validate form and save data -----------------------------------
|
||
if($form->validate())
|
||
{
|
||
... | ... | |
|
||
|
||
$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->menu = Controller::render_menu();
|
||
$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 = $form->html();
|
||
... | ... | |
$view->content->headline = url_lang::lang('texts.Edit IP address').' - '.$ip_address->IP_address;
|
||
|
||
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->render(TRUE);
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->render(TRUE);
|
||
} // end of edit function
|
||
|
||
/**
|
||
... | ... | |
|
||
if (isset($acc_id))
|
||
{
|
||
$ssIface_id = $this->session->get('ssIface_id');
|
||
$ssVlan_iface_id = $this->session->get('ssVlan_iface_id');
|
||
$model_ip = new Ip_address_Model($acc_id);
|
||
$iface = $model_ip->iface_id;
|
||
$model_ip->delete();
|
||
$this->session->set_flash('message', url_lang::lang('texts.IP address has been deleted.'));
|
||
//url::redirect(url_lang::base().'ifaces/show/'.(int)$iface);
|
||
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;
|
||
else
|
||
$link_back = url_lang::base().'ip_addresses/show_all';
|
||
url::redirect($link_back);
|
||
$ssIface_id = $this->session->get('ssIface_id');
|
||
$ssVlan_iface_id = $this->session->get('ssVlan_iface_id');
|
||
$model_ip = new Ip_address_Model($acc_id);
|
||
$iface = $model_ip->iface_id;
|
||
$model_ip->delete();
|
||
$this->session->set_flash('message', url_lang::lang('texts.IP address has been deleted.'));
|
||
//url::redirect(url_lang::base().'ifaces/show/'.(int)$iface);
|
||
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;
|
||
else
|
||
$link_back = url_lang::base().'ip_addresses/show_all';
|
||
url::redirect($link_back);
|
||
}
|
||
else
|
||
{
|
||
... | ... | |
$input->add_error('required', url_lang::lang('texts.Invalid IP address'));
|
||
}
|
||
|
||
/**
|
||
* Removed by dulik for SVN rev. 98 - does not work with JavaScript disabled
|
||
/**
|
||
* Removed by dulik for SVN rev. 98 - does not work with JavaScript disabled
|
||
|
||
//=============================================================================
|
||
//----- AJAX ------------------------------------------------------------------
|
||
... | ... | |
else {
|
||
$iface_model = new Iface_Model();
|
||
}
|
||
|
||
|
||
$ifaces = $iface_model->select('id','name')->orderby('name')->find_all();
|
||
|
||
$xml = '<ifaces>';
|
||
foreach ($ifaces as $iface)
|
||
{
|
||
$xml .= '<iface><name>'.$iface->id.'</name><value>'.$iface->name.'</value></iface>';
|
||
}
|
||
|
||
$xml .= '</ifaces>';
|
||
header("Content-Type: text/xml");
|
||
echo $xml;
|
||
|
||
$xml = '<ifaces>';
|
||
foreach ($ifaces as $iface)
|
||
{
|
||
$xml .= '<iface><name>'.$iface->id.'</name><value>'.$iface->name.'</value></iface>';
|
||
}
|
||
|
||
$xml .= '</ifaces>';
|
||
header("Content-Type: text/xml");
|
||
echo $xml;
|
||
|
||
}
|
||
|
||
function ajax_check_subnet()
|
||
... | ... | |
|
||
if (!(bool)$subnet->OSPF_area_id) $subnet->OSPF_area_id = ' ';
|
||
|
||
$xml = '<subnet>';
|
||
$xml .= '<subnet_id>'.$subnet_id.'</subnet_id>
|
||
<name>'.$subnet->name.'</name>
|
||
<network_address>'.$subnet->network_address.'</network_address>
|
||
<netmask>'.$subnet->netmask.'</netmask>
|
||
<OSPF_area_id>'.$subnet->OSPF_area_id.'</OSPF_area_id>';
|
||
$xml .= '</subnet>';
|
||
|
||
header("Content-Type: text/xml");
|
||
echo $xml;
|
||
|
||
$xml = '<subnet>';
|
||
$xml .= '<subnet_id>'.$subnet_id.'</subnet_id>
|
||
<name>'.$subnet->name.'</name>
|
||
<network_address>'.$subnet->network_address.'</network_address>
|
||
<netmask>'.$subnet->netmask.'</netmask>
|
||
<OSPF_area_id>'.$subnet->OSPF_area_id.'</OSPF_area_id>';
|
||
$xml .= '</subnet>';
|
||
|
||
header("Content-Type: text/xml");
|
||
echo $xml;
|
||
|
||
}
|
||
//----- end AJAX --------------------------------------------------------------
|
||
//=============================================================================
|
||
... | ... | |
//----- CALLBACKs ------------------------------------------------------------------
|
||
//=============================================================================
|
||
function callback_iface_selected($input)
|
||
{
|
||
if ($input->value < 1)
|
||
{
|
||
$input->add_error('required', url_lang::lang('texts.Select destination account.'));
|
||
}
|
||
|
||
if ($this->iface_type == 'VLAN')
|
||
{
|
||
$model_iface = new Vlan_iface_Model();
|
||
$ifaces = $model_iface->select('id','name')->orderby('name')->find_all();
|
||
$arr_ifaces = array();
|
||
$arr_ifaces[0] = '----- '.url_lang::lang('texts.select interface').' -----';
|
||
foreach ($ifaces as $iface) {
|
||
$arr_ifaces[$iface->id] = $iface->name;
|
||
}
|
||
$input->options($arr_ifaces);
|
||
$input->selected($input->value);
|
||
}
|
||
}
|
||
|
||
function callback_subnet_selected($input)
|
||
{
|
||
if ($input->value != '' && $this->subnet_id) $input->readonly(true);
|
||
|
||
}
|
||
{
|
||
if ($input->value < 1)
|
||
{
|
||
$input->add_error('required', url_lang::lang('texts.Select destination account.'));
|
||
}
|
||
|
||
if ($this->iface_type == 'VLAN')
|
||
{
|
||
$model_iface = new Vlan_iface_Model();
|
||
$ifaces = $model_iface->select('id','name')->orderby('name')->find_all();
|
||
$arr_ifaces = array();
|
||
$arr_ifaces[0] = '----- '.url_lang::lang('texts.select interface').' -----';
|
||
foreach ($ifaces as $iface) {
|
||
$arr_ifaces[$iface->id] = $iface->name;
|
||
}
|
||
$input->options($arr_ifaces);
|
||
$input->selected($input->value);
|
||
}
|
||
}
|
||
|
||
function callback_subnet_selected($input)
|
||
{
|
||
if ($input->value != '' && $this->subnet_id) $input->readonly(true);
|
||
|
||
}
|
||
|
||
*/
|
||
|
||
|
||
//----- end CALLBACKs --------------------------------------------------------------
|
||
//----- end CALLBACKs --------------------------------------------------------------
|
||
//=============================================================================
|
||
}
|
||
?>
|
freenetis/trunk/kohana/application/controllers/devices.php | ||
---|---|---|
|
||
|
||
$filter=new Table_Form(url_lang::base()."devices/show_all", "get", array(
|
||
new Table_Form_Item('text','name','Name'),
|
||
new Table_Form_Item('text','user','User'),
|
||
new Table_Form_Item('text','name','Name'),
|
||
new Table_Form_Item('text','user','User'),
|
||
"tr",
|
||
new Table_Form_Item('select','device_type','Type',$arr_types),
|
||
new Table_Form_Item('hidden','member_id','',array($member_id)),
|
||
"td",
|
||
new Table_Form_Item('submit','submit','Filter')
|
||
new Table_Form_Item('select','device_type','Type',$arr_types),
|
||
new Table_Form_Item('hidden','member_id','',array($member_id)),
|
||
"td",
|
||
new Table_Form_Item('submit','submit','Filter')
|
||
)
|
||
);
|
||
|
||
... | ... | |
//'separator' => '<br />-----------',
|
||
//'use_paginator' => false,
|
||
//'use_selector' => false,
|
||
'current' => $limit_results, // current selected 'records_per_page' value
|
||
'selector_increace' => 500, // increace
|
||
'current' => $limit_results, // current selected 'records_per_page' value
|
||
'selector_increace' => 500, // increace
|
||
'selector_min' => 500, // minimum where selector start
|
||
'selector_max_multiplier' => 20,
|
||
'base_url' => Config::item('locale.lang').'/devices/show_all/'.$limit_results.'/'.$order_by.'/'.$order_by_direction ,
|
||
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
|
||
'total_items' => $total_devices, // use db count query here of course
|
||
'base_url' => Config::item('locale.lang').'/devices/show_all/'.$limit_results.'/'.$order_by.'/'.$order_by_direction ,
|
||
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
|
||
'total_items' => $total_devices, // use db count query here of course
|
||
'items_per_page' => $limit_results, // it may be handy to set defaults for stuff like this in config/pagination.php
|
||
'style' => 'classic',
|
||
'style' => 'classic',
|
||
'order_by' => $order_by,
|
||
'order_by_direction' => $order_by_direction,
|
||
'limit_results' => $limit_results,
|
||
... | ... | |
|
||
$view = new View('template');
|
||
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Devices list');
|
||
$view->header->menu = Controller::render_menu();
|
||
|
||
$view->content = $filter->view . $grid;
|
||
/*
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Devices list');
|
||
$view->header->menu = Controller::render_menu();
|
||
|
||
$view->content = $filter->view . $grid;
|
||
/*
|
||
$view->content->table = $this->template->content;
|
||
$view->content->headline = url_lang::lang('texts.Devices list');*/
|
||
|
||
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->render(TRUE);
|
||
|
||
$view->render(TRUE);
|
||
} // end of show_all function
|
||
|
||
/**
|
||
... | ... | |
//'separator' => '<br />-----------',
|
||
//'use_paginator' => false,
|
||
//'use_selector' => false,
|
||
'current' => $limit_results, // current selected 'records_per_page' value
|
||
'selector_increace' => 500, // increace
|
||
'current' => $limit_results, // current selected 'records_per_page' value
|
||
'selector_increace' => 500, // increace
|
||
'selector_min' => 500, // minimum where selector start
|
||
'selector_max_multiplier' => 10,
|
||
'base_url' => Config::item('locale.lang').'/devices/show_my/'.$limit_results.'/'.$order_by.'/'.$order_by_direction ,
|
||
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
|
||
'total_items' => $total_devices, // use db count query here of course
|
||
'base_url' => Config::item('locale.lang').'/devices/show_my/'.$limit_results.'/'.$order_by.'/'.$order_by_direction ,
|
||
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
|
||
'total_items' => $total_devices, // use db count query here of course
|
||
'items_per_page' => $limit_results, // it may be handy to set defaults for stuff like this in config/pagination.php
|
||
'style' => 'classic',
|
||
'style' => 'classic',
|
||
'order_by' => $order_by,
|
||
'order_by_direction' => $order_by_direction,
|
||
'limit_results' => $limit_results
|
||
... | ... | |
$grid->order_field('u_name')->label(url_lang::lang('texts.user'));
|
||
$grid->order_field('iface_count')->label(url_lang::lang('texts.ifaces'))->class('center');
|
||
$grid->order_field('port_count')->label(url_lang::lang('texts.ports'))->class('center');
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Show')) ->url(url_lang::base().'devices/show') ->action(url_lang::lang('texts.Show'))->class('center');
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Edit')) ->url(url_lang::base().'devices/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Delete')) ->url('delete') ->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Show'))->url(url_lang::base().'devices/show')->action(url_lang::lang('texts.Show'))->class('center');
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Edit'))->url(url_lang::base().'devices/edit')->action(url_lang::lang('texts.Edit'))->class('center');
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Delete'))->url(url_lang::base().'devices/delete')->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid->datasource( $query );
|
||
$this->template->content = $grid;
|
||
|
||
|
||
$view = new View('template');
|
||
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Devices list');
|
||
$view->header->menu = Controller::render_menu();
|
||
|
||
$view->content = new View('show_all');
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Devices list');
|
||
$view->header->menu = Controller::render_menu();
|
||
|
||
$view->content = new View('show_all');
|
||
$view->content->table = $this->template->content;
|
||
$view->content->headline = url_lang::lang('texts.Devices list');
|
||
|
||
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->render(TRUE);
|
||
|
||
$view->render(TRUE);
|
||
} // end of show_my function
|
||
|
||
|
||
... | ... | |
//'separator' => ' - ',
|
||
//'use_paginator' => false,
|
||
//'use_selector' => false,
|
||
'current' => $limit_results, // current selected 'records_per_page' value
|
||
'selector_increace' => 500, // increace
|
||
'current' => $limit_results, // current selected 'records_per_page' value
|
||
'selector_increace' => 500, // increace
|
||
'selector_min' => 500, // minimum where selector start
|
||
'selector_max_multiplier' => 10,
|
||
'base_url' => Config::item('locale.lang').'/devices/show_by_member/'.$member_id.'/'.$limit_results.'/'.$order_by.'/'.$order_by_direction ,
|
||
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
|
||
'total_items' => $total_devices, // use db count query here of course
|
||
'base_url' => Config::item('locale.lang').'/devices/show_by_member/'.$member_id.'/'.$limit_results.'/'.$order_by.'/'.$order_by_direction ,
|
||
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
|
||
'total_items' => $total_devices, // use db count query here of course
|
||
'items_per_page' => $limit_results, // it may be handy to set defaults for stuff like this in config/pagination.php
|
||
'style' => 'classic',
|
||
'style' => 'classic',
|
||
'order_by' => $order_by,
|
||
'order_by_direction' => $order_by_direction,
|
||
'limit_results' => $limit_results,
|
||
... | ... | |
//$grid->order_field('port_count')->label(url_lang::lang('texts.ports'))->class('center');
|
||
|
||
if ($this->acl_check_view(get_class($this),'devices',$member_id))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Device')) ->url(url_lang::base().'devices/show') ->action(url_lang::lang('texts.Show'))->class('center');
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Device'))->url(url_lang::base().'devices/show')->action(url_lang::lang('texts.Show'))->class('center');
|
||
if ($this->acl_check_edit(get_class($this),'devices',$member_id))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Device')) ->url(url_lang::base().'devices/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
|
||
//$grid->action_field('id')->label(url_lang::lang('texts.Delete')) ->url('delete') ->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Device'))->url(url_lang::base().'devices/edit')->action(url_lang::lang('texts.Edit'))->class('center');
|
||
// to do - access control to delete
|
||
// $grid->action_field('id')->label(url_lang::lang('texts.Delete'))->url(url_lang::base().'devices/delete')->action(url_lang::lang('texts.Delete'))->class('center');
|
||
$grid->datasource( $query );
|
||
$this->template->content = $grid;
|
||
|
||
|
||
$view = new View('template');
|
||
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Devices list');
|
||
$view->header->menu = Controller::render_menu();
|
||
|
||
$view->content = new View('show_all');
|
||
$view->header = new View('base/header');
|
||
$view->header->title = url_lang::lang('texts.Devices list');
|
||
$view->header->menu = Controller::render_menu();
|
||
|
||
$view->content = new View('show_all');
|
||
$view->content->table = $this->template->content;
|
||
$view->content->headline = url_lang::lang('texts.Devices list of member').' '.$member->name;
|
||
|
||
|
||
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->render(TRUE);
|
||
|
||
$view->render(TRUE);
|
||
|
||
}
|
||
|
||
... | ... | |
$grid->action_field('id')->label(url_lang::lang('texts.Show')) ->url(url_lang::base().'ifaces/show') ->action(url_lang::lang('texts.Show'))->class('center');
|
||
if ($this->acl_check_edit(get_class($this),'iface',$member_id))
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Edit')) ->url(url_lang::base().'ifaces/edit') ->action(url_lang::lang('texts.Edit'))->class('center');
|
||
//$grid->action_field('id')->label(url_lang::lang('texts.Delete')) ->url('delete') ->action(url_lang::lang('texts.Delete'))->class('center');;
|
||
$grid->datasource( $query );
|
||
// to do - access control
|
||
$grid->action_field('id')->label(url_lang::lang('texts.Delete')) ->url(url_lang::base().'ifaces/delete') ->action(url_lang::lang('texts.Delete'))->class('center');;
|
||
$grid->datasource($query);
|
||
$grid_ifaces = $grid;
|
||
unset($grid);
|
||
|
||
... | ... | |
$submenu .= html::anchor(url_lang::base().'devices/add/', url_lang::lang('texts.add new VLAN iface')).' | ';
|
||
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
// $view->content = new View('content', $data);
|
||
$view->header = new View('base/header');
|
||
// $view->content = new View('content', $data);
|
||
|
||
$view->content = new View('show_device');
|
||
//$view->content->submenu = $submenu;
|
||
... | ... | |
}
|
||
|
||
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->header->title = url_lang::lang('texts.Device detail').' - '.$device->name;
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->render(TRUE);
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->header->title = url_lang::lang('texts.Device detail').' - '.$device->name;
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->render(TRUE);
|
||
}
|
||
//----- end SHOW --------------------------------------------------------------
|
||
//=============================================================================
|
||
... | ... | |
if (!$this->acl_check_new(get_class($this),'devices',$ssMember_id)) Controller::error(1);
|
||
|
||
$form = new Forge(url_lang::base()."devices/add", '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
$form->group('')->label(url_lang::lang('texts.Basic data'));
|
||
$form->group('')->label(url_lang::lang('texts.Basic data'));
|
||
|
||
$model_user = new User_Model;
|
||
|
||
... | ... | |
asort($types);
|
||
|
||
$form->dropdown('user_id')->label(url_lang::lang('texts.user'))->options($arr_users)->rules('required');
|
||
|
||
|
||
$form->input('name')->label(url_lang::lang('texts.Device name').':')->rules('required|length[3,250]');
|
||
$form->dropdown('type')->label(url_lang::lang('texts.Type'))->options($types)->rules('required');
|
||
$form->checkbox('PPPoE_logging_in')->label(url_lang::lang('texts.PPPoE'))->value('1');
|
||
$form->input('login')->label(url_lang::lang('texts.username').':')->rules('length[0,250]');
|
||
$form->input('password')->label(url_lang::lang('texts.password').':')->rules('length[0,250]');
|
||
$form->input('GPS')->label(url_lang::lang('texts.GPS').':')->rules('length[3,100]');
|
||
$form->input('location_address')->label(url_lang::lang('texts.location address').':')->rules('length[3,254]');
|
||
$form->input('location_details')->label(url_lang::lang('texts.location details').':')->rules('length[3,254]');
|
||
$form->textarea('comment')->label(url_lang::lang('texts.comment').':')->rules('length[0,254]');
|
||
$form->checkbox('PPPoE_logging_in')->label(url_lang::lang('texts.PPPoE'))->value('1');
|
||
$form->input('login')->label(url_lang::lang('texts.username').':')->rules('length[0,250]');
|
||
$form->input('password')->label(url_lang::lang('texts.password').':')->rules('length[0,250]');
|
||
$form->input('GPS')->label(url_lang::lang('texts.GPS').':')->rules('length[3,100]');
|
||
$form->input('location_address')->label(url_lang::lang('texts.location address').':')->rules('length[3,254]');
|
||
$form->input('location_details')->label(url_lang::lang('texts.location details').':')->rules('length[3,254]');
|
||
$form->textarea('comment')->label(url_lang::lang('texts.comment').':')->rules('length[0,254]');
|
||
$form->dropdown('first_engineer_id')->label(url_lang::lang('texts.engineer').' 1:')->options($arr_engineers)->rules('required')->selected($this->session->get('user_id'));
|
||
$form->dropdown('second_engineer_id')->label(url_lang::lang('texts.engineer').' 2:')->options($arr_engineers);
|
||
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
|
||
//----- validate form and save data -----------------------------------
|
||
... | ... | |
}
|
||
//----- end validate --------------------------------------------------
|
||
|
||
|
||
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
// $view->content = new View('content', $data);
|
||
|
||
$view->header = new View('base/header');
|
||
// $view->content = new View('content', $data);
|
||
$view->content = new View('form');
|
||
$view->content->form = $form->html();
|
||
|
||
if($ssMember_id)
|
||
{
|
||
$view->content->link_back = html::anchor(url_lang::base().'devices/show_by_member/'.$ssMember_id, url_lang::lang('texts.Back to devices list of this member'));
|
||
... | ... | |
$view->content->link_back = html::anchor(url_lang::base().'devices/show_all/', url_lang::lang('texts.Back to devices list'));
|
||
$view->content->headline = url_lang::lang('texts.Create new devices');
|
||
}
|
||
|
||
|
||
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->header->title = url_lang::lang('texts.Add new device');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->render(TRUE);
|
||
$view->footer = new View('base/footer');
|
||
$view->header->title = url_lang::lang('texts.Add new device');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->render(TRUE);
|
||
}
|
||
//----- end ADD ---------------------------------------------------------------
|
||
//=============================================================================
|
||
... | ... | |
if (!$this->acl_check_edit(get_class($this),'devices',$device->user->member_id)) Controller::error(1);
|
||
|
||
$form = new Forge(url_lang::base()."devices/edit/".$device_id, '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
$form->group('')->label(url_lang::lang('texts.Basic data'));
|
||
$form->group('')->label(url_lang::lang('texts.Basic data'));
|
||
|
||
$model_user = new User_Model;
|
||
$users = $model_user->select('id','name','surname','login')->orderby('id')->find_all();
|
||
... | ... | |
$enum_type_model = new Enum_type_Model();
|
||
$types = $enum_type_model->get_values(Enum_type_Model::id_type_of_device);
|
||
|
||
|
||
$form->dropdown('user_id')->label(url_lang::lang('texts.user'))->options($arr_users)->rules('required')->selected($device->user_id);
|
||
|
||
$form->input('name')->label(url_lang::lang('texts.Device name').':')->rules('required|length[3,250]')->value($device->name);
|
||
$form->dropdown('type')->label(url_lang::lang('texts.type'))->options($types)->rules('required')->selected($device->type);
|
||
$form->checkbox('PPPoE_logging_in')->label(url_lang::lang('texts.PPPoE'))->value('1')->checked($device->PPPoE_logging_in);
|
||
$form->input('login')->label(url_lang::lang('texts.username').':')->rules('length[0,250]')->value($device->login);
|
||
$form->input('password')->label(url_lang::lang('texts.password').':')->rules('length[0,250]')->value($device->password);
|
||
$form->input('GPS')->label(url_lang::lang('texts.GPS').':')->rules('length[3,100]')->value($device->GPS);
|
||
$form->input('location_address')->label(url_lang::lang('texts.location address').':')->rules('length[3,254]')->value($device->location_address);
|
||
$form->input('location_details')->label(url_lang::lang('texts.location details').':')->rules('length[3,254]')->value($device->location_details);
|
||
$form->textarea('comment')->label(url_lang::lang('texts.comment').':')->rules('length[0,254]')->value($device->comment);
|
||
// creates dropdowns for editing engineers; to do - will be solved by new table of device engineers
|
||
/*
|
||
$form->checkbox('PPPoE_logging_in')->label(url_lang::lang('texts.PPPoE'))->value('1')->checked($device->PPPoE_logging_in);
|
||
$form->input('login')->label(url_lang::lang('texts.username').':')->rules('length[0,250]')->value($device->login);
|
||
$form->input('password')->label(url_lang::lang('texts.password').':')->rules('length[0,250]')->value($device->password);
|
||
$form->input('GPS')->label(url_lang::lang('texts.GPS').':')->rules('length[3,100]')->value($device->GPS);
|
||
$form->input('location_address')->label(url_lang::lang('texts.location address').':')->rules('length[3,254]')->value($device->location_address);
|
||
$form->input('location_details')->label(url_lang::lang('texts.location details').':')->rules('length[3,254]')->value($device->location_details);
|
||
$form->textarea('comment')->label(url_lang::lang('texts.comment').':')->rules('length[0,254]')->value($device->comment);
|
||
// creates dropdowns for editing engineers; to do - will be solved by new table of device engineers
|
||
/*
|
||
$form->dropdown('first_engineer_id')->label(url_lang::lang('texts.engineer').' 1:')->options($arr_engineers)->rules('required')->selected($this->session->get('user_id'));
|
||
$form->dropdown('second_engineer_id')->label(url_lang::lang('texts.engineer').' 2:')->options($arr_engineers);
|
||
*/
|
||
$form->submit('submit')->value(url_lang::lang('texts.update'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
*/
|
||
$form->submit('submit')->value(url_lang::lang('texts.update'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
|
||
//----- validate form and save data -----------------------------------
|
||
if($form->validate())
|
||
{
|
||
... | ... | |
url::redirect(url_lang::base().'devices/show/'.$device_model->id);
|
||
exit;
|
||
}
|
||
}
|
||
//----- end validate --------------------------------------------------
|
||
|
||
|
||
} // end of validation
|
||
$view = new View('template');
|
||
$view->header = new View('base/header');
|
||
// $view->content = new View('content', $data);
|
||
|
||
$view->header = new View('base/header');
|
||
// $view->content = new View('content', $data);
|
||
$view->content = new View('form');
|
||
$view->content->form = $form->html();
|
||
$view->content->link_back = html::anchor(url_lang::base().'devices/show_all/', url_lang::lang('texts.Back to devices list'));
|
||
$view->content->headline = url_lang::lang('texts.Edit device').': '.$device->name;
|
||
|
||
$view->footer = new View('base/footer');
|
||
|
||
$view->header->title = url_lang::lang('texts.Edit device');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->render(TRUE);
|
||
$view->footer = new View('base/footer');
|
||
$view->header->title = url_lang::lang('texts.Edit device');
|
||
$view->header->menu = Controller::render_menu();
|
||
$view->render(TRUE);
|
||
} // end of function edit
|
||
|
||
/**
|
||
... | ... | |
if (!$this->acl_check_new(get_class($this),'devices',$ssMember_id)) Controller::error(1);
|
||
|
||
$form = new Forge(url_lang::base()."devices/add_whole", '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
$form->group('')->label(url_lang::lang('texts.Device'));
|
||
$form->group('')->label(url_lang::lang('texts.Device'));
|
||
|
||
$model_user = new User_Model;
|
||
|
||
... | ... | |
$types[0] = '----- '.url_lang::lang('texts.select type').' -----';
|
||
asort($types);
|
||
|
||
// models for adding interface
|
||
//$segment_model = new Segment_Model();
|
||
//$iface_model = new Iface_Model();
|
||
|
||
$subnet_model = new Subnet_Model();
|
||
$subnets = $subnet_model
|
||
->select("id","name","network_address as net_str",
|
||
... | ... | |
$arr_subnets_ids[]=$subnet->id;
|
||
}
|
||
array_multisort($arr_subnets_nets, SORT_NUMERIC, SORT_ASC,
|
||
$arr_subnets_masks, SORT_NUMERIC, SORT_ASC,
|
||
$arr_subnets_ids, SORT_NUMERIC, SORT_ASC,
|
||
$arr_subnets_netnames, SORT_STRING, SORT_ASC);
|
||
|
||
$segment_model = new Segment_Model();
|
||
$segments = $segment_model->select(array('id','name'))->orderby('name')->find_all();
|
||
$arr_segments[0] = '----- '.url_lang::lang('texts.select segment').' -----';
|
||
foreach ($segments as $segment)
|
||
{
|
||
$arr_segments[$segment->id] = $segment->name;
|
||
}
|
||
|
||
// form
|
||
$arr_subnets_masks, SORT_NUMERIC, SORT_ASC,
|
||
$arr_subnets_ids, SORT_NUMERIC, SORT_ASC,
|
||
$arr_subnets_netnames, SORT_STRING, SORT_ASC);
|
||
|
||
$segment_model = new Segment_Model();
|
||
$segments = $segment_model->select(array('id','name'))->orderby('name')->find_all();
|
||
$arr_segments[0] = '----- '.url_lang::lang('texts.select segment').' -----';
|
||
foreach ($segments as $segment)
|
||
{
|
||
$arr_segments[$segment->id] = $segment->name;
|
||
}
|
||
|
||
// form
|
||
// adding device
|
||
$form->dropdown('user_id')->label(url_lang::lang('texts.user'))->options($arr_users)->rules('required');
|
||
$form->dropdown('user_id')->label(url_lang::lang('texts.user'))->options($arr_users)->rules('required');
|
||
$form->input('name')->label(url_lang::lang('texts.Device name').':')->rules('required|length[2,250]');
|
||
$form->dropdown('type')->label(url_lang::lang('texts.Type'))->options($types)->rules('required');
|
||
$form->checkbox('PPPoE_logging_in')->label(url_lang::lang('texts.PPPoE'))->value('1');
|
||
$form->input('login')->label(url_lang::lang('texts.username').':')->rules('length[0,250]');
|
||
$form->input('password')->label(url_lang::lang('texts.password').':')->rules('length[0,250]');
|
||
$form->input('GPS')->label(url_lang::lang('texts.GPS').':')->rules('length[3,100]');
|
||
$form->input('location_address')->label(url_lang::lang('texts.location address').':')->rules('length[3,254]');
|
||
$form->input('location_details')->label(url_lang::lang('texts.location details').':')->rules('length[3,254]');
|
||
$form->textarea('comment')->label(url_lang::lang('texts.comment').':')->rules('length[0,254]');
|
||
$form->checkbox('PPPoE_logging_in')->label(url_lang::lang('texts.PPPoE'))->value('1');
|
||
$form->input('login')->label(url_lang::lang('texts.username').':')->rules('length[0,250]');
|
||
$form->input('password')->label(url_lang::lang('texts.password').':')->rules('length[0,250]');
|
||
$form->input('GPS')->label(url_lang::lang('texts.GPS').':')->rules('length[3,100]');
|
||
$form->input('location_address')->label(url_lang::lang('texts.location address').':')->rules('length[3,254]');
|
||
$form->input('location_details')->label(url_lang::lang('texts.location details').':')->rules('length[3,254]');
|
||
$form->textarea('comment')->label(url_lang::lang('texts.comment').':')->rules('length[0,254]');
|
||
$form->dropdown('first_engineer_id')->label(url_lang::lang('texts.engineer').' 1:')->options($arr_engineers)->rules('required')->selected($this->session->get('user_id'));
|
||
$form->dropdown('second_engineer_id')->label(url_lang::lang('texts.engineer').' 2:')->options($arr_engineers);
|
||
// adding interface
|
||
$form->group('')->label(url_lang::lang('texts.Iface'));
|
||
$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');
|
||
$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');
|
||
// 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]')
|
||
->callback(array($this, 'valid_ip'));
|
||
$form->dropdown('subnet_id')->label(url_lang::lang('texts.Select subnet name').':')->rules('required')
|
||
->options($arr_subnets_names);
|
||
$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]')
|
||
->callback(array($this, 'valid_ip'));
|
||
$form->dropdown('subnet_id')->label(url_lang::lang('texts.Select subnet name').':')->rules('required')
|
||
->options($arr_subnets_names);
|
||
// submit button
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
// validates form and saves data
|
||
if($form->validate())
|
||
... | ... | |
|
||
unset($form_data);
|
||
|
||
// was everything saved successfully?
|
||
// has been everything saved successfully?
|
||
if ($device_saved && $device_engineer_saved && $iface_model_saved && $ip_address_saved)
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Device is successfully saved.'));
|
freenetis/trunk/kohana/application/views/show_device.php | ||
---|---|---|
<td><?php echo $device->GPS ?> <?php echo html::anchor('http://www.mapy.cz/#z=14@st=s@sss=1@mm=FP@ssq=loc:'.$device->GPS, url_lang::lang('texts.Map'), 'target="_blank" title="mapy.cz"') ?></td>
|
||
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Location adrress') ?></th>
|
||
<th><?php echo url_lang::lang('texts.Location address') ?></th>
|
||
<td><?php echo $device->location_address ?></td>
|
||
</tr>
|
||
<tr>
|
Také k dispozici: Unified diff
Snaha pridat mazani rozhrani a kontrolu duplicitnich mac adres. Snaha opravit vadnou editaci ip adres, tez bez uspechu. Opraveny nektere preklady.