Revize 673
Přidáno uživatelem Jiří Sviták před asi 14 roky(ů)
freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php | ||
---|---|---|
'add new whole device for user' => 'Přidat nové celé zařízení pro uživatele',
|
||
'add new work' => 'Přidat novou práci',
|
||
'add new work report' => 'Přidat nový pracovní výkaz',
|
||
'add redirection to all ip addresses of member' => 'Přidat přesměrování všem IP adresám člena',
|
||
'add smokeping menu item' => 'Přidat položku menu smokepingu',
|
||
'add smokeping record' => 'Přidat záznam smokepingu',
|
||
'add voip account' => 'Přidat VoIP účet',
|
freenetis/trunk/kohana/application/models/device.php | ||
---|---|---|
return self::$db->query("SELECT
|
||
d.id, IFNULL(f.translated_term,e.value) as type, d.name,
|
||
CONCAT(u.name, ' ', u.surname) AS u_name,
|
||
i.mac, i.id AS iface_id, se.name AS segment_name, ip.ip_address, ip.id AS ip_address_id, su.name AS subnet_name
|
||
i.mac, i.id AS iface_id, se.name AS segment_name, ip.ip_address, ip.id AS ip_address_id,
|
||
su.name AS subnet_name, su.id AS subnet_id
|
||
FROM devices d
|
||
JOIN users u ON d.user_id = u.id
|
||
LEFT JOIN enum_types e ON d.type = e.id
|
freenetis/trunk/kohana/application/models/ip_address.php | ||
---|---|---|
*/
|
||
public function get_ip_addresses_of_member($member_id)
|
||
{
|
||
return self::$db->query("SELECT
|
||
ip.id, ip.ip_address
|
||
return self::$db->query("
|
||
SELECT ip.*
|
||
FROM ip_addresses ip
|
||
JOIN ifaces i ON i.id = ip.iface_id
|
||
JOIN devices d ON d.id = i.device_id
|
||
... | ... | |
"); */
|
||
|
||
return self::$db->query("SELECT
|
||
q.id, q.ip_address, q.gateway, d.name AS device_name, m.name AS member_name, d.id AS did, m.id AS mid
|
||
FROM (SELECT
|
||
ip.id, ip.ip_address, ip.gateway, IFNULL(ic1.device_id, ic2.device_id) as device_id
|
||
q.ip_address_id, q.ip_address, q.gateway,
|
||
d.name AS device_name, d.id AS device_id,
|
||
m.name AS member_name, m.id AS member_id
|
||
FROM
|
||
(
|
||
SELECT
|
||
ip.id AS ip_address_id, ip.ip_address, ip.gateway, IFNULL(ic1.device_id, ic2.device_id) as device_id
|
||
FROM ip_addresses ip
|
||
LEFT JOIN ifaces ic1 ON ip.iface_id = ic1.id
|
||
LEFT JOIN vlan_ifaces vic ON ip.vlan_iface_id = vic.id
|
||
LEFT JOIN ifaces ic2 ON vic.iface_id = ic2.id
|
||
WHERE ip.subnet_id = $subnet_id) AS q
|
||
WHERE ip.subnet_id = $subnet_id
|
||
) AS q
|
||
LEFT JOIN devices d ON q.device_id = d.id
|
||
LEFT JOIN users u ON d.user_id = u.id
|
||
LEFT JOIN members m ON u.member_id = m.id
|
freenetis/trunk/kohana/application/controllers/members.php | ||
---|---|---|
echo $redirstr;
|
||
}
|
||
|
||
static function member_field($item, $name)
|
||
{
|
||
if ($item->member_id)
|
||
echo html::anchor(url_lang::base()."members/show/$item->member_id", $item->member_name);
|
||
else
|
||
echo ' ';
|
||
}
|
||
|
||
|
||
/**
|
||
* Shows details of member.
|
||
* @param $member_id id of member to show
|
||
... | ... | |
$user_grid->action_field('id') ->label(url_lang::lang('texts.Devices'))->url(url_lang::base().'devices/show_by_user')->action(url_lang::lang('texts.Show'));
|
||
if ($this->acl_check_edit('Users_Controller', 'work', $member_id))
|
||
$user_grid->action_field('id') ->label(url_lang::lang('texts.Works'))->url(url_lang::base().'works/show_by_user')->action(url_lang::lang('texts.Show'));
|
||
$user_grid->datasource($users);
|
||
$user_grid->datasource($users);
|
||
|
||
// membership interrupts
|
||
$mi_model = new Membership_interrupt_Model();
|
||
$mis = $mi_model->where('member_id', $member_id)->orderby('from')->find_all();
|
||
... | ... | |
$mi_grid->action_field('id') ->label(url_lang::lang('texts.Membership interrupts'))->url(url_lang::base().'membership_interrupts/delete')->action(url_lang::lang('texts.Delete'));
|
||
$mi_grid->datasource($mis);
|
||
|
||
|
||
// active redirections of member
|
||
$db = new Database();
|
||
$messages = $db->query("
|
||
SELECT ip.ip_address, m.id, m.name, mip.ip_address_id, mip.message_id
|
||
FROM messages m
|
||
JOIN messages_ip_addresses mip ON mip.message_id = m.id
|
||
JOIN ip_addresses ip ON mip.ip_address_id = ip.id
|
||
JOIN ifaces i ON ip.iface_id = i.id
|
||
JOIN devices d ON i.device_id = d.id
|
||
JOIN users u ON d.user_id = u.id
|
||
WHERE u.member_id = '$member_id'
|
||
");
|
||
$redir_grid = new Grid(url_lang::base().'members', null, array(
|
||
'use_paginator' => false,
|
||
'use_selector' => false
|
||
));
|
||
if ($this->acl_check_new('Messages_Controller', 'member'))
|
||
$redir_grid->add_new_button(url_lang::base().'redirect/add_member/'.$member_id, url_lang::lang('texts.Add redirection to all ip addresses of member'));
|
||
$redir_grid->field('ip_address')->label(url_lang::lang('texts.IP address'));
|
||
$redir_grid->field('name')->label(url_lang::lang('texts.Message'));
|
||
if ($this->acl_check_delete('Messages_Controller', 'ip_address'))
|
||
$redir_grid->callback_field('redirection')->label(url_lang::lang('texts.Redirection'))->callback("Members_Controller::cancel_redirection");
|
||
$redir_grid->datasource($messages);
|
||
|
||
// billing
|
||
$billing = new Billing();
|
||
|
||
$has_driver = $billing->has_driver();
|
||
$b_account = $billing->get_account($member_id);
|
||
|
||
$voip_sip = new Voip_sip_Model();
|
||
$voip = $voip_sip->get_all_record_by_member_limited($member_id);
|
||
$voip_grid = new Grid(url_lang::base().'members', null, array(
|
||
... | ... | |
$voip_grid->action_field('user_id')->label(url_lang::lang('texts.Account'))->url(url_lang::base().'voip/show')->action(url_lang::lang('texts.Show'));
|
||
$voip_grid->action_field('user_id')->label(url_lang::lang('texts.User'))->url(url_lang::base().'users/show')->action(url_lang::lang('texts.Show'));
|
||
$voip_grid->datasource($voip);
|
||
|
||
if ($has_driver && ($b_account != null))
|
||
{
|
||
$voip_grid->add_new_button(url_lang::base().'voip_calls/show_by_member/'.$member_id, url_lang::lang('texts.List of all calls'));
|
||
if ($member_data->member_id != 1)
|
||
$voip_grid->add_new_button(url_lang::base().'transfers/add_voip/'.$account->id, url_lang::lang('texts.Recharge VoIP credit'));
|
||
}
|
||
|
||
// view
|
||
$view = new View('main');
|
||
$view->title = url_lang::lang('texts.Display member');
|
||
... | ... | |
$view->content->billing_has_driver = $has_driver;
|
||
$view->content->billing_account = $b_account;
|
||
$view->content->mis = $mi_grid;
|
||
$view->content->redir_grid = $redir_grid;
|
||
foreach($member_data as $key=>$val)
|
||
{
|
||
// IE dont render TD border if content is NULL, so we must put nbsp into empty fields.
|
||
... | ... | |
} // end of show function
|
||
|
||
/**
|
||
* Callback field for canceling redirection on member's profile.
|
||
* @author Jiri Svitak
|
||
* @param $item
|
||
* @param $name
|
||
*/
|
||
public static function cancel_redirection($item, $name)
|
||
{
|
||
echo html::anchor(url_lang::base()."redirect/delete/$item->ip_address_id/$item->message_id/member", url_lang::lang('texts.Cancel'));
|
||
}
|
||
|
||
/**
|
||
* Function adds new member to database. Creates user of type member assigned to this member.
|
||
* @return unknown_type
|
||
*/
|
freenetis/trunk/kohana/application/controllers/ifaces.php | ||
---|---|---|
$grid_ip_addresses->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',$member_id))
|
||
$grid_ip_addresses->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').'\');"');
|
||
if ($this->acl_check_new('Messages_Controller', 'ip_address'))
|
||
$grid_ip_addresses->action_field('id')->label(url_lang::lang('texts.IP address'))->url(url_lang::base().'redirect/add')->action(url_lang::lang('texts.Redirect'));
|
||
$grid_ip_addresses->datasource( $query );
|
||
|
||
// vlan interfaces
|
freenetis/trunk/kohana/application/controllers/web_interface.php | ||
---|---|---|
// if necessary update synchronization status in Freenetis
|
||
if (isset($synchronized))
|
||
{
|
||
|
||
// synchronization is necessary
|
||
if ($synchronized == 0)
|
||
{
|
||
|
||
}
|
||
}
|
||
// if central router has not set anything, then this method returns synchronization status of Freenetis
|
||
else
|
||
... | ... | |
*/
|
||
function already_seen()
|
||
{
|
||
|
||
print_r($_POST);
|
||
die();
|
||
}
|
||
|
||
/**
|
||
... | ... | |
*/
|
||
function redirect_content($ip_address = null)
|
||
{
|
||
//echo $ip_address;die();
|
||
// load contact information from database
|
||
$contact = '';
|
||
$contact_information = ORM::factory('message')->where(array('type' => Message_Model::$contact_information))->find();
|
||
... | ... | |
// load message
|
||
$content = '';
|
||
$footer = '';
|
||
//
|
||
// special html page for unknown device message
|
||
if ($ip_address == 'unknown_device_message')
|
||
{
|
||
$message = ORM::factory('message')->where(array('type' => Message_Model::$unknown_device_message))->find();
|
||
$ip_address = server::remote_addr();
|
||
}
|
||
// special html page for cancel message
|
||
elseif ($ip_address == 'cancel_message')
|
||
{
|
||
$message = ORM::factory('message')->where(array('type' => Message_Model::$cancel_message))->find();
|
||
$ip_address = server::remote_addr();
|
||
}
|
||
// html page with current message for given IP address
|
||
else
|
||
{
|
||
$message = $this->db->query("
|
||
... | ... | |
}
|
||
}
|
||
}
|
||
else
|
||
// no redirection set? this may happen, so redirection page will inform user that redirection has been already canceled
|
||
{
|
||
$message = ORM::factory('message')->where(array('type' => Message_Model::$cancel_message))->find();
|
||
$content = $message->text;
|
||
}
|
||
// replace contact and content
|
||
$contact = Redirect_Controller::replace($contact, $ip_address);
|
||
$content = Redirect_Controller::replace($content, $ip_address);
|
freenetis/trunk/kohana/application/controllers/subnets.php | ||
---|---|---|
|
||
static function subnet_field($item, $name)
|
||
{
|
||
echo html::anchor(url_lang::base()."subnets/show/$item->subnet_id", $item->subnet_name);
|
||
if ($item->subnet_id)
|
||
echo html::anchor(url_lang::base()."subnets/show/$item->subnet_id", $item->subnet_name);
|
||
else
|
||
echo ' ';
|
||
}
|
||
|
||
/**
|
||
... | ... | |
'use_paginator' => false,
|
||
'use_selector' => false
|
||
));
|
||
$grid->field('id')->label(url_lang::lang('texts.ID'));
|
||
$grid->field('ip_address')->label(url_lang::lang('texts.IP address'));
|
||
$grid->action_field('id')->label(url_lang::lang('texts.IP address'))->url(url_lang::base().'ip_addresses/show')->action(url_lang::lang('texts.Show'))->class('center');
|
||
$grid->field('device_name')->label(url_lang::lang('texts.Device'));
|
||
$grid->action_field('did')->label(url_lang::lang('texts.Device'))->url(url_lang::base().'devices/show')->action(url_lang::lang('texts.Show'))->class('center');
|
||
$grid->field('member_name')->label(url_lang::lang('texts.Member'));
|
||
$grid->action_field('mid')->label(url_lang::lang('texts.Member'))->url(url_lang::base().'members/show')->action(url_lang::lang('texts.Show'))->class('center');
|
||
$grid->field('ip_address_id')->label(url_lang::lang('texts.ID'));
|
||
//$grid->field('ip_address')->label(url_lang::lang('texts.IP address'));
|
||
$grid->callback_field('ip_address')->label(url_lang::lang('texts.IP address'))->callback('Ip_addresses_Controller::ip_address_field');
|
||
//$grid->field('device_name')->label(url_lang::lang('texts.Device'));
|
||
$grid->callback_field('device_name')->label(url_lang::lang('texts.Device'))->callback('Devices_Controller::device_field');
|
||
//$grid->field('member_name')->label(url_lang::lang('texts.Member'));
|
||
$grid->callback_field('member_name')->label(url_lang::lang('texts.Member'))->callback('Members_Controller::member_field');
|
||
$grid->datasource($ips);
|
||
|
||
$headline = url_lang::lang('texts.Subnet').' '.$subnet->name;
|
freenetis/trunk/kohana/application/controllers/redirect.php | ||
---|---|---|
$message_array[$message->id] = $message->name;
|
||
}
|
||
}
|
||
// no redirection possible for ip address?
|
||
if (empty($message_array))
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.No redirection is possible to set for this IP address.'));
|
||
... | ... | |
* @param $message_id
|
||
* @return unknown_type
|
||
*/
|
||
function delete($ip_address_id = null, $message_id = null)
|
||
function delete($ip_address_id, $message_id, $from = 'ip_address')
|
||
{
|
||
if (!isset($ip_address_id) && !isset($message_id))
|
||
{
|
||
Controller::warning(PARAMETER);
|
||
}
|
||
$array = array();
|
||
if (isset($ip_address_id))
|
||
$where = array();
|
||
if (is_numeric($ip_address_id))
|
||
$array['ip_address_id'] = $ip_address_id;
|
||
if (isset($message_id))
|
||
if (is_numeric($message_id))
|
||
$array['message_id'] = $message_id;
|
||
$db = new Database();
|
||
$db->delete('messages_ip_addresses', $array);
|
||
$ip = new Ip_address_Model($ip_address_id);
|
||
self::update($ip->ip_address);
|
||
$this->session->set_flash('message', url_lang::lang('texts.Redirection has been successfully canceled.'));
|
||
url::redirect(url_lang::base().'ip_addresses/show/'.$ip_address_id);
|
||
if ($from == 'member')
|
||
url::redirect(url_lang::base().'members/show/'.$ip->iface->device->user->member_id);
|
||
else
|
||
url::redirect(url_lang::base().'ip_addresses/show/'.$ip_address_id);
|
||
}
|
||
|
||
/**
|
||
* Adds all IP addresses of member to redirection.
|
||
* @author Jiri Svitak
|
||
* @param unknown_type $member_id
|
||
*/
|
||
function add_member($member_id = null)
|
||
{
|
||
// access rights
|
||
if (!$this->acl_check_edit('Messages_Controller', 'member'))
|
||
Controller::error(ACCESS);
|
||
if (!isset($member_id))
|
||
Controller::warning(PARAMETER);
|
||
// member
|
||
$member = new Member_Model($member_id);
|
||
if ($member->id == 0)
|
||
Controller::error(RECORD);
|
||
// load list of IP addresses belonging to member
|
||
$ip_model = new Ip_address_Model();
|
||
$ips = $ip_model->get_ip_addresses_of_member($member_id);
|
||
// load list of usable redirection message
|
||
$message_model = new Message_Model();
|
||
$messages = $message_model->find_all();
|
||
foreach($ips as $ip)
|
||
{
|
||
foreach($messages as $message)
|
||
{
|
||
// whitelisted IP addresses can be redirected only by redirections which ignore whitelist
|
||
if ($ip->whitelisted && !$message->ignore_whitelist)
|
||
continue;
|
||
// IP address can be manually redirected only to user message, interrupted membership message, debtor message, payment notice message
|
||
if ($message->type == Message_Model::$user_message ||
|
||
$message->type == Message_Model::$interrupted_membership_message ||
|
||
$message->type == Message_Model::$debtor_message ||
|
||
$message->type == Message_Model::$payment_notice_message)
|
||
{
|
||
$message_array[$message->id] = $message->name;
|
||
}
|
||
}
|
||
}
|
||
// no redirection possible for this member?
|
||
if (empty($message_array))
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.No redirection is possible to set for this IP address.'));
|
||
url::redirect(url_lang::base().'members/show/'.$member_id);
|
||
}
|
||
// form
|
||
$form = new Forge(url_lang::base().'redirect/add_member/'.$member_id, '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->group('')->label(url_lang::lang('texts.Redirection'));
|
||
$form->dropdown('message_id')->label(url_lang::lang('texts.Redirection').':')->options($message_array);
|
||
$form->textarea('comment')->label(url_lang::lang('texts.Comment of admin shown to user').':');
|
||
$form->submit('submit')->value(url_lang::lang('texts.Redirect'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
// validation
|
||
if ($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
$db = new Database();
|
||
foreach($ips as $ip)
|
||
{
|
||
// delete old redirection if present
|
||
$db->delete('messages_ip_addresses', array('message_id' => $form_data['message_id'], 'ip_address_id' => $ip->id));
|
||
if (!$ip->whitelisted || $message->ignore_whitelist)
|
||
{
|
||
// database insert sets redirection for ip address
|
||
$db->insert('messages_ip_addresses', array('message_id' => $form_data['message_id'],
|
||
'ip_address_id' => $ip->id, 'user_id' => $this->session->get('user_id'),
|
||
'comment' => $form_data['comment'], 'datetime' => date('Y-m-d H:i:s')));
|
||
// generate html page
|
||
self::update($ip->ip_address);
|
||
}
|
||
}
|
||
// set flash message
|
||
$this->session->set_flash('message', url_lang::lang('texts.Redirection has been successfully set.'));
|
||
url::redirect(url_lang::base().'members/show/'.$member_id);
|
||
}
|
||
else
|
||
{
|
||
// view
|
||
$headline = url_lang::lang('texts.Redirection');
|
||
$view = new View('main');
|
||
$view->title = $headline;
|
||
$view->content = new View('form');
|
||
$view->content->headline = $headline;
|
||
$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$member_id, url_lang::lang('texts.Back to the member'));
|
||
$view->content->form = $form->html();
|
||
$view->render(TRUE);
|
||
}
|
||
}
|
||
|
||
|
||
/**
|
||
* Updates static html file with redirection message.
|
||
* @param $ip_address
|
||
* @return unknown_type
|
||
... | ... | |
{
|
||
$member_name = '???';
|
||
$variable_symbol = '???';
|
||
$current_credit = '???';
|
||
}
|
||
else
|
||
{
|
||
$member_name = $ip->iface->device->user->member->name;
|
||
$variable_symbol = $ip->iface->device->user->member->variable_symbol;
|
||
// current credit
|
||
$account_balance = ORM::factory('account_balance')->where('member_id', $ip->iface->device->user->member_id)->find();
|
||
$current_credit = $account_balance->balance;
|
||
}
|
||
// subnet name
|
||
$subnet_model = new Subnet_Model();
|
||
... | ... | |
$text = str_replace('{member_name}', $member_name, $text);
|
||
// variable symbol of member
|
||
$text = str_replace('{variable_symbol}', $variable_symbol, $text);
|
||
// current credit
|
||
$text = str_replace('{current_credit}', $current_credit, $text);
|
||
return $text;
|
||
}
|
||
|
freenetis/trunk/kohana/application/controllers/ip_addresses.php | ||
---|---|---|
|
||
static function ip_address_field($item, $name)
|
||
{
|
||
echo html::anchor(url_lang::base()."ip_addresses/show/$item->ip_address_id", $item->ip_address);
|
||
if ($item->ip_address_id)
|
||
echo html::anchor(url_lang::base()."ip_addresses/show/$item->ip_address_id", $item->ip_address);
|
||
else
|
||
echo ' ';
|
||
}
|
||
|
||
/**
|
||
... | ... | |
'use_selector' => false
|
||
));
|
||
$grid->field('name')->label(url_lang::lang('texts.Redirection'));
|
||
// @todo access rights
|
||
$grid->callback_field('redirection')->label(url_lang::lang('texts.Redirection'))->callback("Ip_addresses_Controller::cancel_redirection");
|
||
if ($this->acl_check_delete('Messages_Controller', 'ip_address'))
|
||
$grid->callback_field('redirection')->label(url_lang::lang('texts.Redirection'))->callback("Ip_addresses_Controller::cancel_redirection");
|
||
$grid->datasource($messages);
|
||
|
||
$view = new View('main');
|
freenetis/trunk/kohana/application/controllers/devices.php | ||
---|---|---|
$grid->order_field('type')->label(url_lang::lang('texts.Type'));
|
||
//$grid->order_field('u_name')->label(url_lang::lang('texts.User'));
|
||
$grid->order_callback_field('mac')->label(url_lang::lang('texts.MAC address'))->callback('Ifaces_Controller::iface_field');
|
||
$grid->order_field('segment_name')->label(url_lang::lang('texts.Segment'));
|
||
//$grid->order_field('segment_name')->label(url_lang::lang('texts.Segment'));
|
||
$grid->order_callback_field('ip_address')->label(url_lang::lang('texts.IP address'))->callback('Ip_addresses_Controller::ip_address_field');
|
||
$grid->order_callback_field('subnet_name')->label(url_lang::lang('texts.Subnet'))->callback('Subnets_Controller::subnet_field');
|
||
if ($this->acl_check_view(get_class($this),'devices',$user->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');
|
||
//if ($this->acl_check_edit(get_class($this),'devices',$user->member_id))
|
||
... | ... | |
$grid_ips->field('subnet_name')->label(url_lang::lang('texts.Subnet name'));
|
||
if ($this->acl_check_view('Devices_Controller', 'ip_address', $member_id))
|
||
$grid_ips->action_field('id')->label(url_lang::lang('texts.IP address'))->url(url_lang::base().'ip_addresses/show')->action(url_lang::lang('texts.Show'))->class('center');
|
||
// @todo access rights
|
||
if ($this->acl_check_new('Messages_Controller', 'ip_address'))
|
||
$grid_ips->action_field('id')->label(url_lang::lang('texts.IP address'))->url(url_lang::base().'redirect/add')->action(url_lang::lang('texts.Redirect'));
|
||
$grid_ips->datasource($ips);
|
||
|
||
... | ... | |
if (!isset($user_id))
|
||
$user = new User_Model($device_model->user_id);
|
||
if (!$this->acl_check_new(get_class($this), 'devices', $user->member_id))
|
||
Controller::error(ACCESS);
|
||
$device_model->name = htmlspecialchars($form_data["name"]);
|
||
Controller::error(ACCESS);
|
||
if (htmlspecialchars($form_data["name"]) == '')
|
||
$device_model->name = $user->login.'_'.$types[htmlspecialchars($form_data["type"])];
|
||
else
|
||
$device_model->name = htmlspecialchars($form_data["name"]);
|
||
$device_model->trade_name = htmlspecialchars($form_data["trade_name"]);
|
||
$device_model->type = htmlspecialchars($form_data["type"]);
|
||
$device_model->PPPoE_logging_in = htmlspecialchars($form_data["PPPoE_logging_in"]);
|
||
... | ... | |
* and new ip address assigned to this interface.
|
||
* @return unknown_type
|
||
*/
|
||
function add_whole($user_id = null){
|
||
function add_whole($user_id = null)
|
||
{
|
||
$user_model = new User_Model();
|
||
// if the device is added to given user, then only one user will be to select
|
||
$selected_segment = 0;
|
||
... | ... | |
if(isset($user_id))
|
||
{
|
||
$user = new User_Model($user_id);
|
||
if ($user->id == 0)
|
||
Controller::error(RECORD);
|
||
if (!$this->acl_check_new('Devices_Controller', 'devices', $user->member_id))
|
||
Controller::error(ACCESS);
|
||
$selected = $user->id;
|
||
if ($user->id == 0)
|
||
Controller::error(RECORD);
|
||
if (!$this->acl_check_new('Devices_Controller', 'devices', $user->member_id))
|
||
Controller::error(ACCESS);
|
||
$selected = $user->id;
|
||
$selected_GPS = $user->member->address_point->GPS;
|
||
$selected_street_id = $user->member->address_point->street_id;
|
||
$selected_street_number = $user->member->address_point->street_number;
|
||
... | ... | |
if ($found_engineer)
|
||
$selected_engineer = $found_engineer->id;
|
||
$arr_users[$user->id] = $user->surname.' '.$user->name.' - '.$user->login;
|
||
}else{
|
||
}
|
||
else
|
||
{
|
||
if (!$this->acl_check_new('Devices_Controller', 'devices'))
|
||
Controller::error(ACCESS);
|
||
$users = $user_model->select('id','name','surname','login')->orderby('id')->find_all();
|
||
... | ... | |
$form_data = $form->as_array();
|
||
|
||
// device model
|
||
$device_model = new Device_Model();
|
||
$device_model = new Device_Model();
|
||
$device_model->user_id = $form_data["user_id"];
|
||
// access rights
|
||
if (!isset($user_id))
|
||
$user = new User_Model($device_model->user_id);
|
||
if (!$this->acl_check_new(get_class($this), 'devices', $user->member_id))
|
||
Controller::error(ACCESS);
|
||
$device_model->name = htmlspecialchars($form_data["name"]);
|
||
if (htmlspecialchars($form_data["name"]) == '')
|
||
$device_model->name = $user->login.'_'.$types[htmlspecialchars($form_data["type"])];
|
||
else
|
||
$device_model->name = htmlspecialchars($form_data["name"]);
|
||
$device_model->trade_name = htmlspecialchars($form_data["trade_name"]);
|
||
$device_model->type = htmlspecialchars($form_data["type"]);
|
||
$device_model->PPPoE_logging_in = htmlspecialchars($form_data["PPPoE_logging_in"]);
|
||
... | ... | |
// going through interfaces
|
||
foreach($ifaces as $iface)
|
||
{
|
||
//print_r($iface);
|
||
//echo "<br>";
|
||
// ORM doesn't work in this case (1:0 relation), so number of wireless settings has to be detected manually
|
||
// only solution seems to be upgrading to higher version of kohana
|
||
$ws_count = $iface->count_ws_of_iface($iface->id);
|
||
... | ... | |
{
|
||
// before deleting IP address it is necessary to delete redirection from junction table first
|
||
$db = new Database();
|
||
$db->delete('messages_ip_addresses')->where(array('ip_address_id' => $ip->id));
|
||
$db->delete('messages_ip_addresses', array('ip_address_id' => $ip->id));
|
||
// delete IP address
|
||
$ip->delete();
|
||
$deleted_ips++;
|
freenetis/trunk/kohana/application/views/members_show.php | ||
---|---|---|
<br class = "clear" />
|
||
<br />
|
||
|
||
<h3><?php echo url_lang::lang('texts.Active redirections')?></h3>
|
||
<?php echo $redir_grid ?>
|
||
<br />
|
||
|
||
<h3><?php echo url_lang::lang('texts.Users')?></h3>
|
||
<?php echo $users ?>
|
||
<br />
|
||
... | ... | |
<h3><?php echo url_lang::lang('texts.VoIP')?></h3>
|
||
<?php echo $voip ?>
|
||
<br />
|
||
|
||
<h3><?php echo url_lang::lang('texts.Membership interrupts')?></h3>
|
||
<?php echo $mis ?>
|
||
|
||
|
||
|
||
|
Také k dispozici: Unified diff
Sprava presmerovani clena. Opravy chyb. Automaticke doplnovani nazvu zarizeni.