Revize 136
Přidáno uživatelem Jiří Sviták před téměř 16 roky(ů)
freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php | ||
---|---|---|
'add new subnet' => 'Přidat novu podsíť',
|
||
'add new user' => 'Přidat nového uživatele',
|
||
'add new vlan interface' => 'Přidat nové VLAN rozhraní',
|
||
'add new vlan' => 'Přidat nový VLAN',
|
||
'add new vlan' => 'Přidat nový VLAN',
|
||
'add new whole device' => 'Přidat nové celé zařízení (router, PC, NB)',
|
||
'add new work' => 'Přidat novou práci',
|
||
'add' => 'Přidat',
|
||
'additional_contacts_infotext' => 'Další kontaktní informace',
|
freenetis/trunk/kohana/application/controllers/devices.php | ||
---|---|---|
|
||
));
|
||
$grid->add_new_button(url_lang::base().'devices/add', url_lang::lang('texts.add new device').' ');
|
||
$grid->add_new_button(url_lang::base().'members/show/'.$member_id, url_lang::lang('texts.back to the member'));
|
||
$grid->add_new_button(url_lang::base().'devices/add_whole', url_lang::lang('texts.add new whole device'));
|
||
$grid->add_new_button(url_lang::base().'members/show/'.$member_id, url_lang::lang('texts.back to the member'));
|
||
$grid->order_field('id')->label('ID')->class('center');
|
||
$grid->order_field('name')->label(url_lang::lang('texts.name'));
|
||
$grid->order_field('type')->label(url_lang::lang('texts.type'));
|
||
... | ... | |
}
|
||
//----- end EDIT --------------------------------------------------------------
|
||
//=============================================================================
|
||
|
||
|
||
//=============================================================================
|
||
//----- ADD WHOLE DEVICE ------------------------------------------------------
|
||
// adds whole device with interface and ip address
|
||
//=============================================================================
|
||
function add_whole()
|
||
{
|
||
|
||
$ssMember_id = $this->session->get('ssMember_id');
|
||
|
||
$form = new Forge(url_lang::base()."devices/add", '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
$form->group('')->label(url_lang::lang('texts.Basic data'));
|
||
|
||
$model_user = new User_Model;
|
||
|
||
// finding member
|
||
if($ssMember_id)
|
||
{
|
||
$member = new Member_Model($ssMember_id);
|
||
$users = $model_user->select('id','name','surname','login')->orderby('id')->find_all_by_member_id($ssMember_id);
|
||
}
|
||
else
|
||
{
|
||
$users = $model_user->select('id','name','surname','login')->orderby('id')->find_all();
|
||
$arr_users[0] = '----- '.url_lang::lang('texts.select user').' -----';
|
||
}
|
||
|
||
|
||
foreach ($users as $user) {
|
||
$arr_users[$user->id] = $user->surname.' '.$user->name.' - '.$user->login;
|
||
}
|
||
asort($arr_users);
|
||
|
||
$engineers = $model_user->select('id','name','surname','login')->orderby('id')->find_all();
|
||
$arr_engineers[0] = '----- '.url_lang::lang('texts.select user').' -----';
|
||
|
||
foreach ($engineers as $engineer) {
|
||
$arr_engineers[$engineer->id] = $engineer->surname.' '.$engineer->name.' - '.$engineer->login;
|
||
}
|
||
asort($arr_engineers);
|
||
|
||
$enum_type_model = new Enum_type_Model();
|
||
$types = $enum_type_model->get_values(Enum_type_Model::id_type_of_device);
|
||
$types[0] = '----- '.url_lang::lang('texts.select type').' -----';
|
||
asort($types);
|
||
|
||
// copied from ifaces.php
|
||
$segment_model = new Segment_Model();
|
||
|
||
|
||
|
||
// copied from ip_addresses.php
|
||
$iface_model = new Iface_Model();
|
||
|
||
$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('name')->find_all();
|
||
$arr_subnets_netnames[]=$arr_subnets_names[] = '----- '.url_lang::lang('texts.select subnet').' -----';
|
||
$arr_subnets_ids[]=$arr_subnets_masks[]=$arr_subnets_nets[]=0;
|
||
foreach ($subnets as $subnet) {
|
||
$arr_subnets_names[$subnet->id] = $subnet->name . ": ". $subnet->net_str."/".$subnet->mask;
|
||
$this->arr_mask_by_id[$subnet->id]=$subnet->mask;
|
||
$this->arr_net_by_id[$subnet->id]=$subnet->net;
|
||
$arr_subnets_nets[] = $subnet->net;
|
||
$arr_subnets_masks[] = $subnet->mask;
|
||
$arr_subnets_netnames[] = $subnet->net_str."/".$subnet->mask.": ".$subnet->name ;
|
||
$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);
|
||
|
||
// form
|
||
// ----
|
||
// adding device only
|
||
$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->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 - copied from ifaces.php
|
||
$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');
|
||
|
||
|
||
// adding ip address - copied from ip_addresses.php
|
||
$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);
|
||
|
||
|
||
// submit button
|
||
$form->submit('submit')->value(url_lang::lang('texts.Save'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
|
||
//----- validate form and save data -----------------------------------
|
||
if($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
|
||
$device_model = new Device_Model();
|
||
|
||
|
||
//foreach($form_data as $key => $value)
|
||
//{
|
||
// $device_model->$key = htmlspecialchars($value);
|
||
//}
|
||
|
||
$engineers_data[] = $form_data["first_engineer_id"];
|
||
if($form_data["second_engineer_id"]>0)
|
||
$engineers_data[] = $form_data["second_engineer_id"];
|
||
|
||
// device model
|
||
$device_model->user_id = htmlspecialchars($form_data["user_id"]);
|
||
$device_model->name = htmlspecialchars($form_data["name"]);
|
||
$device_model->type = htmlspecialchars($form_data["type"]);
|
||
// $device_model->description = htmlspecialchars($form_data["description"]);
|
||
$device_model->PPPoE_logging_in = htmlspecialchars($form_data["PPPoE_logging_in"]);
|
||
$device_model->login = htmlspecialchars($form_data["login"]);
|
||
$device_model->password = htmlspecialchars($form_data["password"]);
|
||
$device_model->GPS = htmlspecialchars($form_data["GPS"]);
|
||
$device_model->location_address = htmlspecialchars($form_data["location_address"]);
|
||
$device_model->location_details = htmlspecialchars($form_data["location_details"]);
|
||
$device_model->comment = htmlspecialchars($form_data["comment"]);
|
||
// model save
|
||
$device_saved = $device_model->save();
|
||
|
||
// engineers
|
||
$device_engineer_saved = TRUE;
|
||
foreach($engineers_data as $engineer_data) {
|
||
|
||
$device_engineer_model = new Device_engineer_Model();
|
||
$device_engineer_model->device_id = $device_model->id;
|
||
$device_engineer_model->user_id = $engineer_data;
|
||
|
||
$device_engineer_saved = $device_engineer_saved && $device_engineer_model->save();
|
||
}
|
||
|
||
|
||
// interface model
|
||
$iface_model->device_id = $device_model->id;
|
||
$iface_model->segment_id = $segment_model->id;
|
||
$iface_model->MAC = htmlspecialchars($form_data["MAC"]);
|
||
$iface_model->name = $device_model->name;
|
||
$iface_model->comment = NULL;
|
||
// iface save
|
||
$iface_model_saved = $iface_model->save();
|
||
|
||
|
||
// ip address model
|
||
$ip->iface_id = htmlspecialchars($form_data["iface_id"]);
|
||
$ip->vlan_iface_id = NULL;
|
||
$ip->subnet_id = $form_data['subnet_id'];
|
||
$ip->IP_address = $form_data['IP_address'];
|
||
$ip->dhcp = NULL;
|
||
|
||
// ip save
|
||
$ip_saved = $ip->save();
|
||
|
||
|
||
unset($form_data);
|
||
|
||
if ($device_saved && $device_engineer_saved && $iface_model_saved && $ip_saved)
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Device is successfully saved.'));
|
||
url::redirect(url_lang::base().'devices/show/'.$device_model->id);
|
||
exit;
|
||
}
|
||
}
|
||
//----- end validate --------------------------------------------------
|
||
|
||
|
||
|
||
$view = new View('template');
|
||
$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->headline = url_lang::lang('texts.Create new devices for member').' '.$member->name;
|
||
}
|
||
else
|
||
{
|
||
$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);
|
||
}
|
||
//----- end ADD WHOLE DEVICE---------------------------------------------------
|
||
//=============================================================================
|
||
}
|
||
?>
|
Také k dispozici: Unified diff
pridana moznost ukladani celeho zarizeni vcetne mac a ip adresy. nedodelane, neuklada se iface a ip_address