Revize 1414
Přidáno uživatelem Michal Kliment před asi 12 roky(ů)
freenetis/branches/network/media/css/style.css | ||
---|---|---|
|
||
#tabs {
|
||
border-width: 0px ! important;
|
||
border-bottom: 1px solid #CCCCCC ! important;
|
||
}
|
||
|
||
.ui-corner-all {
|
freenetis/branches/network/application/i18n/cs_CZ/texts.php | ||
---|---|---|
'add new device admin' => 'Přidat nového správce zařízení',
|
||
'add new device engineer' => 'Přidat nového technika zařízení',
|
||
'add new enum type' => 'Přidat nový výčet',
|
||
'add new ethernet interface' => 'Přidat nové ethernetové rozhraní',
|
||
'add new fee' => 'Přidat nový poplatek',
|
||
'add new filter' => 'Přidat nový filter',
|
||
'add new group' => 'Přidat novou skupinu',
|
||
... | ... | |
'add new voip transfer' => 'Přidat nový VoIP převod',
|
||
'add new whole device' => 'Přidat nové celé zařízení',
|
||
'add new whole device for user' => 'Přidat nové celé zařízení pro uživatele',
|
||
'add new wireless interface' => 'Přidat nové bezdrátové rozhraní',
|
||
'add new work' => 'Přidat novou práci',
|
||
'add new work report' => 'Přidat nový pracovní výkaz',
|
||
'add own records' => 'Přidávat vlastní záznamy',
|
||
... | ... | |
'confirmed time' => 'Čas potvrzení',
|
||
'confirmed works' => 'Potvrzené práce',
|
||
'connected to' => 'Připojeno k',
|
||
'connected to device' => 'Připojeno k zařízení',
|
||
'connecting place' => 'Přípojné místo',
|
||
'connections' => 'Připojení',
|
||
'constant symbol' => 'Konstantní symbol',
|
||
... | ... | |
'error: parameter ID is required!' => 'Chyba: parametr ID je povinný!',
|
||
'etc' => 'apod',
|
||
'ethernet' => 'ethernetové',
|
||
'ethernet interfaces' => 'Ethernetová rozhraní',
|
||
'example' => 'Příklad',
|
||
'exclude numbers' => 'Vynechaná čísla',
|
||
'execution time' => 'Doba provádění',
|
||
... | ... | |
'interface name' => 'Název rozhraní',
|
||
'interfaces' => 'Rozhraní',
|
||
'internal' => 'vnitřní',
|
||
'internal interfaces' => 'Vnitřní rozhraní',
|
||
'inteligent select' => 'Inteligentní výběr',
|
||
'interface detail' => 'Detail rozhraní',
|
||
'interface has been successfully saved' => 'Rozhraní bylo úspěšně uloženo.',
|
||
... | ... | |
'monthly member fee' => 'Měsíční členský příspěvek',
|
||
'monthly payment rate' => 'Měsíční splátka',
|
||
'monthly payment rate of devices' => 'Měsíční splátka zařízení',
|
||
'more devices' => 'Více zařízení',
|
||
'multiple choice' => 'Vícenásobná volba',
|
||
'must be logged in' => 'Musíte se přihlásit.',
|
||
'must pay regular fee' => 'Platí pravidelný příspěvek',
|
freenetis/branches/network/application/helpers/callback.php | ||
---|---|---|
}
|
||
|
||
/**
|
||
* Prints value only if it is not empty, else prints dash (or given string)
|
||
*
|
||
* @author Michal Kliment
|
||
* @param type $item
|
||
* @param type $name
|
||
* @param type $args
|
||
*/
|
||
public function not_empty($item, $name, $args = array())
|
||
{
|
||
if ($item->$name === NULL)
|
||
{
|
||
echo (isset($args[0])) ? $args[0] : '-';
|
||
}
|
||
else
|
||
echo $item->$name;
|
||
}
|
||
|
||
/**
|
||
* Callback for percents.
|
||
*
|
||
* @author Ondrej Fibich
|
||
... | ... | |
*/
|
||
public static function bitrate_field ($item, $name, $args = array())
|
||
{
|
||
$byte = TRUE;
|
||
|
||
if (isset($args[0]))
|
||
$byte = $args[0];
|
||
|
||
echo network::size($item->bitrate/1024, $byte);
|
||
if($item->bitrate)
|
||
{
|
||
$byte = TRUE;
|
||
|
||
if (isset($args[0]))
|
||
$byte = $args[0];
|
||
|
||
echo network::size($item->bitrate/1024, $byte);
|
||
}
|
||
else
|
||
echo '-';
|
||
}
|
||
|
||
/**
|
||
... | ... | |
* @param type $item
|
||
* @param type $name
|
||
*/
|
||
public static function connected_device_field ($item, $name)
|
||
{
|
||
if ($item->device_id)
|
||
public static function connected_to_device ($item, $name)
|
||
{
|
||
if ($item->connected_to_device_id)
|
||
{
|
||
$class = $title = '';
|
||
if ($item->devices_count > 1)
|
||
if ($item->connected_to_devices_count == 1)
|
||
{
|
||
$class = 'more';
|
||
$title = $item->devices;
|
||
}
|
||
echo html::anchor(
|
||
url_lang::base().'devices/show/'.$item->device_id,
|
||
$item->device_name, array
|
||
(
|
||
'class' => $class,
|
||
'title' => $title
|
||
)
|
||
);
|
||
echo html::anchor(
|
||
url_lang::base().'devices/show/'.$item->connected_to_device_id,
|
||
$item->connected_to_device_name
|
||
);
|
||
}
|
||
else
|
||
{
|
||
echo "<span class='more' title='".$item->connected_to_devices."'>".__('More devices')."</span>";
|
||
}
|
||
}
|
||
else
|
||
echo "<span style='color: red'>".__('Not connected')."</span>";
|
||
{
|
||
if (Iface_Model::type_has_link($item->type))
|
||
echo "<span style='color: green'>".__('Not connected')."</span>";
|
||
else
|
||
echo '-';
|
||
}
|
||
}
|
||
|
||
/**
|
||
... | ... | |
}
|
||
|
||
/**
|
||
* Callback function to print mode of wireless interface
|
||
*
|
||
* @author Michal Kliment
|
||
* @param object $item
|
||
* @param string $name
|
||
*/
|
||
public static function wireless_mode ($item, $name)
|
||
{
|
||
echo Iface_Model::get_wireless_mode($item->$name);
|
||
}
|
||
|
||
/**
|
||
* Callback function to print frequence of wireless segment
|
||
*
|
||
* @author Michal Kliment
|
||
... | ... | |
}
|
||
|
||
/**
|
||
* Callback function to print mode of wireless interface
|
||
*
|
||
* @author Michal Kliment
|
||
* @param object $item
|
||
* @param string $name
|
||
*/
|
||
public static function wireless_mode ($item, $name)
|
||
{
|
||
echo Link_Model::get_wireless_norm($item->wireless_mode);
|
||
}
|
||
|
||
/**
|
||
* Callback for true false values.
|
||
*
|
||
* @author Ondrej Fibich
|
freenetis/branches/network/application/models/iface.php | ||
---|---|---|
);
|
||
|
||
/**
|
||
* Human format for modes
|
||
* Human format for port modes
|
||
*
|
||
* @var array
|
||
*/
|
||
... | ... | |
);
|
||
|
||
/**
|
||
* Boolean value if iface type can have link
|
||
*
|
||
* @var array
|
||
*/
|
||
private static $type_has_link = array
|
||
(
|
||
self::TYPE_WIRELESS => TRUE,
|
||
self::TYPE_ETHERNET => TRUE,
|
||
self::TYPE_PORT => TRUE,
|
||
self::TYPE_BRIDGE => FALSE,
|
||
self::TYPE_VLAN => FALSE,
|
||
self::TYPE_INTERNAL => FALSE
|
||
);
|
||
|
||
/**
|
||
* Boolean value if iface type can have mac address
|
||
*
|
||
* @var array
|
||
*/
|
||
private static $type_has_mac_address = array
|
||
(
|
||
self::TYPE_WIRELESS => TRUE,
|
||
self::TYPE_ETHERNET => TRUE,
|
||
self::TYPE_PORT => FALSE,
|
||
self::TYPE_BRIDGE => TRUE,
|
||
self::TYPE_VLAN => FALSE,
|
||
self::TYPE_INTERNAL => TRUE
|
||
);
|
||
|
||
/**
|
||
* Tests if type can have link
|
||
*
|
||
* @author Michal Kliment
|
||
* @param type $type
|
||
* @return boolean
|
||
*/
|
||
public static function type_has_link($type)
|
||
{
|
||
if (isset(self::$type_has_link[$type]))
|
||
return self::$type_has_link[$type];
|
||
else
|
||
return FALSE;
|
||
}
|
||
|
||
/**
|
||
* Tests if type can have mac address
|
||
*
|
||
* @author Michal Kliment
|
||
* @param type $type
|
||
* @return boolean
|
||
*/
|
||
public static function type_has_mac_address($type)
|
||
{
|
||
if (isset(self::$type_has_mac_address[$type]))
|
||
return self::$type_has_mac_address[$type];
|
||
else
|
||
return FALSE;
|
||
}
|
||
|
||
/**
|
||
* Returns type of current interface
|
||
*
|
||
* @author Michal Kliment
|
||
... | ... | |
* @param int $device_id
|
||
* @return Mysql_Result object
|
||
*/
|
||
public function get_all_ifaces_of_device($device_id, $duplicates = FALSE, $type = NULL)
|
||
{
|
||
$group_by = '';
|
||
|
||
// removes duplicates
|
||
if (!$duplicates)
|
||
$group_by = 'GROUP BY i.id';
|
||
|
||
public function get_all_ifaces_of_device($device_id, $type = NULL)
|
||
{
|
||
$where = '';
|
||
if ($type)
|
||
$where = 'AND i.type = '.intval($type);
|
||
|
||
return $this->db->query("
|
||
SELECT i.id, i.id AS iface_id, i.link_id, l.name AS link_name,
|
||
i.mac, i.name, i.comment, ip.subnet_id, sb.name as subnet_name,
|
||
ip.id AS ip_address_id, ip.ip_address,
|
||
32-log2((~INET_ATON(sb.netmask) & 0xffffffff) + 1) AS subnet_range,
|
||
i.type, number, port_mode, bitrate
|
||
SELECT
|
||
i.id, i.id AS iface_id, i.link_id, l.name AS link_name,
|
||
i.mac, i.name, i.comment, i.type, i.number, i.port_mode, l.bitrate,
|
||
cd.id AS connected_to_device_id, cd.name AS connected_to_device_name,
|
||
COUNT(*) AS connected_to_devices_count,
|
||
GROUP_CONCAT(cd.name SEPARATOR ', \\n') AS connected_to_devices
|
||
FROM ifaces i
|
||
LEFT JOIN ip_addresses ip ON ip.iface_id = i.id
|
||
LEFT JOIN links l ON i.link_id = l.id
|
||
LEFT JOIN subnets sb ON ip.subnet_id = sb.id
|
||
LEFT JOIN ifaces ci ON ci.link_id = l.id AND ci.id <> i.id AND
|
||
(
|
||
i.type <> ? OR
|
||
(
|
||
i.type = ? AND
|
||
(
|
||
i.wireless_mode = ? AND ci.wireless_mode = ?
|
||
) OR i.wireless_mode = ?
|
||
)
|
||
)
|
||
LEFT JOIN devices cd ON ci.device_id = cd.id
|
||
WHERE i.device_id = ? $where
|
||
$group_by
|
||
GROUP BY i.id
|
||
ORDER BY i.number, i.type, i.name
|
||
", array($device_id));
|
||
", array
|
||
(
|
||
self::TYPE_WIRELESS,
|
||
self::TYPE_WIRELESS,
|
||
self::WIRELESS_MODE_CLIENT,
|
||
self::WIRELESS_MODE_AP,
|
||
self::WIRELESS_MODE_AP,
|
||
$device_id
|
||
));
|
||
}
|
||
|
||
/**
|
||
... | ... | |
JOIN vlans v ON iv.vlan_id = v.id
|
||
WHERE vi.device_id = ? AND vi.type = ?
|
||
ORDER BY tag_802_1q
|
||
", array($device_id, Iface_Model::TYPE_VLAN));
|
||
", array($device_id, self::TYPE_VLAN));
|
||
}
|
||
|
||
/**
|
||
* Returns all wireless interfaces of device
|
||
*
|
||
* @author Michal Kliment
|
||
* @param type $device_id
|
||
* @return type
|
||
*/
|
||
public function get_all_wireless_ifaces_of_device($device_id)
|
||
{
|
||
return $this->db->query("
|
||
SELECT
|
||
wi.id, wi.name, wi.mac, wi.link_id, l.name AS link_name,
|
||
l.wireless_ssid, wi.wireless_mode, wi.type,
|
||
cd.id AS connected_to_device_id, cd.name AS connected_to_device_name,
|
||
COUNT(*) AS connected_to_devices_count,
|
||
GROUP_CONCAT(cd.name SEPARATOR ', \\n') AS connected_to_devices
|
||
FROM ifaces wi
|
||
LEFT JOIN links l ON wi.link_id = l.id
|
||
LEFT JOIN ifaces ci ON ci.link_id = l.id AND ci.id <> wi.id AND
|
||
(
|
||
(wi.wireless_mode = ? AND ci.wireless_mode = ?) OR
|
||
wi.wireless_mode = ?
|
||
)
|
||
LEFT JOIN devices cd ON ci.device_id = cd.id
|
||
WHERE wi.device_id = ? AND wi.type = ?
|
||
GROUP BY wi.id
|
||
", array
|
||
(
|
||
self::WIRELESS_MODE_CLIENT,
|
||
self::WIRELESS_MODE_AP,
|
||
self::WIRELESS_MODE_AP,
|
||
$device_id,
|
||
self::TYPE_WIRELESS
|
||
));
|
||
}
|
||
|
||
/**
|
||
* Returns all ifaces of device with IP address as gateway
|
freenetis/branches/network/application/controllers/devices.php | ||
---|---|---|
'grids' => array()
|
||
);
|
||
|
||
$ifaces = $iface_model->get_all_ifaces_of_device($device->id, TRUE);
|
||
/**
|
||
* @todo Write new function
|
||
*/
|
||
//$ifaces = $iface_model->get_all_ifaces_of_device($device->id, TRUE);
|
||
|
||
$grid = new Grid(url_lang::base().'devices', null, array
|
||
(
|
||
... | ... | |
$grid_ifaces->field('name')
|
||
->label(__('name'));
|
||
|
||
/*$grid_ifaces->field('mac')
|
||
->label(__('MAC'));*/
|
||
$grid_ifaces->callback_field('mac')
|
||
->callback('callback::not_empty')
|
||
->label(__('MAC'))
|
||
->class('center');
|
||
|
||
/*$grid_ifaces->link_field('link_id')
|
||
->link('links/show', 'link_name')
|
||
->label('Link');*/
|
||
$grid_ifaces->callback_field('connected_to_device')
|
||
->callback('callback::connected_to_device')
|
||
->class('center');
|
||
|
||
$actions = $grid_ifaces->grouped_action_field();
|
||
|
||
... | ... | |
}
|
||
|
||
$grid_ifaces->datasource($ifaces);
|
||
|
||
// internal interfaces of device
|
||
$internal_ifaces = $iface_model->get_all_ifaces_of_device(
|
||
$device_id, Iface_Model::TYPE_INTERNAL
|
||
);
|
||
|
||
// grid
|
||
$grid_internal_ifaces = new Grid(url_lang::base().'devices', null, array
|
||
(
|
||
'use_paginator' => false,
|
||
'use_selector' => false,
|
||
'total_items' => count($internal_ifaces)
|
||
));
|
||
|
||
if ($this->acl_check_new(get_class($this),'iface',$member_id))
|
||
{
|
||
$grid_internal_ifaces->add_new_button(
|
||
url_lang::base().'ifaces/add/'.$device_id.'/'.Iface_Model::TYPE_INTERNAL,
|
||
__('Add new internal interface')
|
||
);
|
||
}
|
||
|
||
$grid_internal_ifaces->field('name')
|
||
->label(__('name'));
|
||
|
||
$grid_internal_ifaces->field('mac')
|
||
->label(__('MAC'));
|
||
|
||
$actions = $grid_internal_ifaces->grouped_action_field();
|
||
|
||
if ($this->acl_check_view(get_class($this),'iface',$member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('show')
|
||
->url('devices/show_iface')
|
||
->class('popup_link');
|
||
}
|
||
|
||
if ($this->acl_check_edit(get_class($this),'iface',$member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('edit')
|
||
->url('ifaces/edit')
|
||
->class('popup_link');
|
||
}
|
||
|
||
if ($this->acl_check_delete('Devices_Controller', 'iface', $member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('delete')
|
||
->url('ifaces/delete')
|
||
->class('delete_link popup_link');
|
||
}
|
||
|
||
$grid_internal_ifaces->datasource($internal_ifaces);
|
||
|
||
// ethernet interfaces of device
|
||
$ethernet_ifaces = $iface_model->get_all_ifaces_of_device(
|
||
$device_id, Iface_Model::TYPE_ETHERNET
|
||
);
|
||
|
||
// grid
|
||
$grid_ethernet_ifaces = new Grid(url_lang::base().'devices', null, array
|
||
(
|
||
'use_paginator' => false,
|
||
'use_selector' => false,
|
||
'total_items' => count($ethernet_ifaces)
|
||
));
|
||
|
||
if ($this->acl_check_new(get_class($this),'iface',$member_id))
|
||
{
|
||
$grid_ethernet_ifaces->add_new_button(
|
||
url_lang::base().'ifaces/add/'.$device_id.'/'.Iface_Model::TYPE_ETHERNET,
|
||
__('Add new ethernet interface')
|
||
);
|
||
}
|
||
|
||
$grid_ethernet_ifaces->field('name')
|
||
->label(__('name'));
|
||
|
||
$grid_ethernet_ifaces->field('mac')
|
||
->label(__('MAC'));
|
||
|
||
$grid_ethernet_ifaces->callback_field('connected_to_device')
|
||
->callback('callback::connected_to_device');
|
||
|
||
$actions = $grid_ethernet_ifaces->grouped_action_field();
|
||
|
||
if ($this->acl_check_view(get_class($this),'iface',$member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('show')
|
||
->url('devices/show_iface')
|
||
->class('popup_link');
|
||
}
|
||
|
||
if ($this->acl_check_edit(get_class($this),'iface',$member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('edit')
|
||
->url('ifaces/edit')
|
||
->class('popup_link');
|
||
}
|
||
|
||
if ($this->acl_check_delete('Devices_Controller', 'iface', $member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('delete')
|
||
->url('ifaces/delete')
|
||
->class('delete_link popup_link');
|
||
}
|
||
|
||
$grid_ethernet_ifaces->datasource($ethernet_ifaces);
|
||
|
||
// wireless interfaces of device
|
||
$wireless_ifaces = $iface_model->get_all_wireless_ifaces_of_device($device->id);
|
||
|
||
// grid
|
||
$grid_wireless_ifaces = new Grid(url_lang::base().'devices', null, array
|
||
(
|
||
'use_paginator' => false,
|
||
'use_selector' => false,
|
||
'total_items' => count($wireless_ifaces)
|
||
));
|
||
|
||
if ($this->acl_check_new(get_class($this),'iface',$member_id))
|
||
{
|
||
$grid_wireless_ifaces->add_new_button(
|
||
url_lang::base().'ifaces/add/'.$device_id.'/'.Iface_Model::TYPE_WIRELESS,
|
||
__('Add new wireless interface')
|
||
);
|
||
}
|
||
|
||
$grid_wireless_ifaces->callback_field('wireless_mode')
|
||
->callback('callback::wireless_mode')
|
||
->label(__('Mode'));
|
||
|
||
$grid_wireless_ifaces->field('name')
|
||
->label(__('name'));
|
||
|
||
$grid_wireless_ifaces->field('wireless_ssid')
|
||
->label(__('SSID'));
|
||
|
||
$grid_wireless_ifaces->field('mac')
|
||
->label(__('MAC'));
|
||
|
||
$grid_wireless_ifaces->callback_field('connected_to_device')
|
||
->callback('callback::connected_to_device');
|
||
|
||
$actions = $grid_wireless_ifaces->grouped_action_field();
|
||
|
||
if ($this->acl_check_view(get_class($this),'iface',$member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('show')
|
||
->url('devices/show_iface')
|
||
->class('popup_link');
|
||
}
|
||
|
||
if ($this->acl_check_edit(get_class($this),'iface',$member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('edit')
|
||
->url('ifaces/edit')
|
||
->class('popup_link');
|
||
}
|
||
|
||
if ($this->acl_check_delete('Devices_Controller', 'iface', $member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('delete')
|
||
->url('ifaces/delete')
|
||
->class('delete_link popup_link');
|
||
}
|
||
|
||
$grid_wireless_ifaces->datasource($wireless_ifaces);
|
||
|
||
// vlans
|
||
$vlan_ifaces = $iface_model->get_all_vlan_ifaces_of_device($device->id);
|
||
... | ... | |
if ($this->acl_check_new(get_class($this),'vlan_iface',$member_id))
|
||
{
|
||
$grid_vlan_ifaces->add_new_button(
|
||
url_lang::base().'vlan_ifaces/add/0/'.$device_id,
|
||
url_lang::base().'ifaces/add/'.$device_id.'/'.Iface_Model::TYPE_VLAN,
|
||
__('Add new VLAN interface')
|
||
);
|
||
}
|
||
... | ... | |
|
||
$grid_vlan_ifaces->datasource($vlan_ifaces);
|
||
|
||
// ip addresses of device
|
||
$ip_address_model = new Ip_address_Model();
|
||
$ips = $ip_address_model->get_ip_addresses_of_device($device_id);
|
||
|
||
$grid_ips = new Grid(url_lang::base().'devices', null, array
|
||
(
|
||
'use_paginator' => false,
|
||
'use_selector' => false,
|
||
'total_items' => count($ips)
|
||
));
|
||
|
||
if ($this->acl_check_new(get_class($this), 'ip_address', $member_id))
|
||
{
|
||
$grid_ips->add_new_button(
|
||
url_lang::base().'ip_addresses/add/'.$device_id,
|
||
__('Add new ip address'),
|
||
array
|
||
(
|
||
'title' => __('Add new ip address'),
|
||
'class' => 'popup_link'
|
||
)
|
||
);
|
||
}
|
||
|
||
$grid_ips->callback_field('ip_address')
|
||
->label(__('IP address'))
|
||
->callback('callback::ip_address_field', TRUE, FALSE, FALSE);
|
||
|
||
$grid_ips->link_field('subnet_id')
|
||
->link('subnets/show', 'subnet_name')
|
||
->label('Subnet');
|
||
|
||
$grid_ips->callback_field('id')
|
||
->label(__('Interface').' / '.__('VLAN Interface'))
|
||
->callback('callback::iface_vlan_iface_field');
|
||
|
||
$actions = $grid_ips->grouped_action_field();
|
||
|
||
if ($this->acl_check_view('Devices_Controller', 'ip_address', $member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('show')
|
||
->url('ip_addresses/show')
|
||
->class('popup_link');
|
||
}
|
||
|
||
if ($this->acl_check_edit('Devices_Controller', 'ip_address', $member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('edit')
|
||
->url('ip_addresses/edit')
|
||
->class('popup_link');
|
||
}
|
||
|
||
if ($this->acl_check_delete('Devices_Controller', 'ip_address', $member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('delete')
|
||
->url('ip_addresses/delete')
|
||
->class('delete_link popup_link');
|
||
}
|
||
|
||
$grid_ips->datasource($ips);
|
||
|
||
// ports of device
|
||
$ports = $iface_model->get_all_ifaces_of_device($device->id, FALSE, Iface_Model::TYPE_PORT);
|
||
$ports = $iface_model->get_all_ifaces_of_device(
|
||
$device->id, Iface_Model::TYPE_PORT
|
||
);
|
||
|
||
$grid_ports = new Grid('devices', null, array
|
||
(
|
||
... | ... | |
if ($this->acl_check_new(get_class($this),'port',$member_id))
|
||
{
|
||
$grid_ports->add_new_button(
|
||
url_lang::base().'ports/add/'.$device_id,
|
||
url_lang::base().'ifaces/add/'.$device_id.'/'.Iface_Model::TYPE_PORT,
|
||
__('Add new port'),
|
||
array
|
||
(
|
||
... | ... | |
->class('center');
|
||
|
||
$grid_ports->field('name')
|
||
->label('Port name')
|
||
->label('Name')
|
||
->class('center');
|
||
|
||
$grid_ports->callback_field('mode')
|
||
... | ... | |
->callback('callback::bitrate_field', FALSE)
|
||
->class('center');
|
||
|
||
$grid_ports->link_field('link_id')
|
||
->link('links/show', 'link_name')
|
||
->label('Link');
|
||
$grid_ports->callback_field('connected_to_device')
|
||
->callback('callback::connected_to_device');
|
||
|
||
/*$grid_ports->field('vlan_count')
|
||
->label('Vlans')
|
||
... | ... | |
}
|
||
|
||
$grid_ports->datasource($ports);
|
||
|
||
// ip addresses of device
|
||
$ip_address_model = new Ip_address_Model();
|
||
$ips = $ip_address_model->get_ip_addresses_of_device($device_id);
|
||
|
||
$grid_ips = new Grid(url_lang::base().'devices', null, array
|
||
(
|
||
'use_paginator' => false,
|
||
'use_selector' => false,
|
||
'total_items' => count($ips)
|
||
));
|
||
|
||
if ($this->acl_check_new(get_class($this), 'ip_address', $member_id))
|
||
{
|
||
$grid_ips->add_new_button(
|
||
url_lang::base().'ip_addresses/add/'.$device_id,
|
||
__('Add new ip address'),
|
||
array
|
||
(
|
||
'title' => __('Add new ip address'),
|
||
'class' => 'popup_link'
|
||
)
|
||
);
|
||
}
|
||
|
||
$grid_ips->callback_field('ip_address')
|
||
->label(__('IP address'))
|
||
->callback('callback::ip_address_field', TRUE, FALSE, FALSE);
|
||
|
||
$grid_ips->link_field('subnet_id')
|
||
->link('subnets/show', 'subnet_name')
|
||
->label('Subnet');
|
||
|
||
$grid_ips->callback_field('id')
|
||
->label(__('Interface').' / '.__('VLAN Interface'))
|
||
->callback('callback::iface_vlan_iface_field');
|
||
|
||
$actions = $grid_ips->grouped_action_field();
|
||
|
||
if ($this->acl_check_view('Devices_Controller', 'ip_address', $member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('show')
|
||
->url('ip_addresses/show')
|
||
->class('popup_link');
|
||
}
|
||
|
||
if ($this->acl_check_edit('Devices_Controller', 'ip_address', $member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('edit')
|
||
->url('ip_addresses/edit')
|
||
->class('popup_link');
|
||
}
|
||
|
||
if ($this->acl_check_delete('Devices_Controller', 'ip_address', $member_id))
|
||
{
|
||
$actions->add_action('id')
|
||
->icon_action('delete')
|
||
->url('ip_addresses/delete')
|
||
->class('delete_link popup_link');
|
||
}
|
||
|
||
$grid_ips->datasource($ips);
|
||
|
||
$gps = "";
|
||
|
||
if (!empty($device->address_point->gps))
|
||
... | ... | |
$view->content->table_device_engineers = $grid_device_engineers;
|
||
$view->content->table_device_admins = $grid_device_admins;
|
||
$view->content->ifaces = $grid_ifaces;
|
||
$view->content->vlan_ifaces = $grid_vlan_ifaces;
|
||
$view->content->vlan_ifaces = (count($vlan_ifaces)) ? $grid_vlan_ifaces : '';
|
||
$view->content->port_ifaces = (count($ports)) ? $grid_ports : '';
|
||
$view->content->table_ip_addresses = $grid_ips;
|
||
$view->content->wireless_ifaces = ''; ////// FIX ME !!!!!!!!!!!!!
|
||
$view->content->ethernet_ifaces = '';
|
||
$view->content->ethernet_ifaces = (count($ethernet_ifaces)) ? $grid_ethernet_ifaces : '';
|
||
$view->content->internal_ifaces = (count($internal_ifaces)) ? $grid_internal_ifaces : '';
|
||
$view->content->wireless_ifaces = (count($wireless_ifaces)) ? $grid_wireless_ifaces : '';
|
||
$view->content->bridge_ifaces = '';
|
||
$view->content->gps = $gps;
|
||
$view->content->gpsx = !empty($gps) ? $gps_result->gpsx : '';
|
freenetis/branches/network/application/upgrade_sql/upgrade_sql.php | ||
---|---|---|
"ALTER TABLE `links` CHANGE `medium_id` `medium` INT( 11 ) NOT NULL",
|
||
|
||
"ALTER TABLE `links`
|
||
ADD `wireless_ssid` INT( 11 ) NULL DEFAULT NULL AFTER `duplex` ,
|
||
ADD `wireless_ssid` VARCHAR( 255 ) NULL DEFAULT NULL AFTER `duplex`,
|
||
ADD `wireless_norm` INT( 11 ) NULL DEFAULT NULL AFTER `wireless_ssid` ,
|
||
ADD `wireless_frequency` INT( 11 ) NULL DEFAULT NULL AFTER `wireless_norm` ,
|
||
ADD `wireless_channel` INT( 11 ) NULL DEFAULT NULL AFTER `wireless_frequency` ,
|
||
... | ... | |
|
||
"ALTER TABLE `ifaces_vlans`
|
||
ADD FOREIGN KEY ( `vlan_id` )
|
||
REFERENCES `vlans` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT ;"
|
||
REFERENCES `vlans` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT ;",
|
||
|
||
"ALTER TABLE `ip_addresses` DROP `redirect`"
|
||
|
||
);
|
freenetis/branches/network/application/views/devices/show.php | ||
---|---|---|
|
||
<br class="clear" />
|
||
<br />
|
||
<br />
|
||
|
||
<?php echo $sec_links ?>
|
||
|
||
<br />
|
||
|
||
<div id="tabs">
|
||
<ul class="tabs" style="font-size: 12px;">
|
||
<li class="ui-corner-all"><a href="#interfaces"><?php echo __('Interfaces') ?></a></li>
|
||
<?php if ($wireless_ifaces != ''): ?>
|
||
<li class="ui-corner-all"><a href="#wireless_interfaces"><?php echo __('Wireless interfaces') ?></a></li>
|
||
<?php if ($internal_ifaces != ''): ?>
|
||
<li class="ui-corner-all"><a href="#internal_interfaces"><?php echo __('Internal interfaces') ?></a></li>
|
||
<?php endif ?>
|
||
<?php if ($ethernet_ifaces != ''): ?>
|
||
<li class="ui-corner-all"><a href="#ethernet_interfaces"><?php echo __('Ethernet interfaces') ?></a></li>
|
||
<?php endif ?>
|
||
<?php if ($wireless_ifaces != ''): ?>
|
||
<li class="ui-corner-all"><a href="#wireless_interfaces"><?php echo __('Wireless interfaces') ?></a></li>
|
||
<?php endif ?>
|
||
<?php if ($vlan_ifaces != ''): ?>
|
||
<li class="ui-corner-all"><a href="#vlan_interfaces"><?php echo __('Vlan interfaces') ?></a></li>
|
||
<?php endif ?>
|
||
... | ... | |
</div>
|
||
<?php } ?>
|
||
|
||
<!-- wireless interfaces -->
|
||
<!-- internal interfaces -->
|
||
<?php if ($this->acl_check_view(get_class($this),'iface',$device->user->member_id)) { ?>
|
||
<div id="wireless_interfaces">
|
||
<?php echo $wireless_ifaces ?>
|
||
<div id="internal_interfaces">
|
||
<?php echo $internal_ifaces ?>
|
||
</div>
|
||
<?php } ?>
|
||
|
||
<!-- ethernet interfaces -->
|
||
<?php if ($this->acl_check_view(get_class($this),'iface',$device->user->member_id)) { ?>
|
||
<div id="ethernet_interfaces">
|
||
<?php echo $ethernet_ifaces ?>
|
||
</div>
|
||
<?php } ?>
|
||
|
||
<!-- wireless interfaces -->
|
||
<?php if ($this->acl_check_view(get_class($this),'iface',$device->user->member_id)) { ?>
|
||
<div id="wireless_interfaces">
|
||
<?php echo $wireless_ifaces ?>
|
||
</div>
|
||
<?php } ?>
|
||
|
||
<!-- vlan interfaces -->
|
||
<?php if ($this->acl_check_view(get_class($this),'iface',$device->user->member_id)) { ?>
|
||
<div id="vlan_interfaces">
|
||
... | ... | |
<!-- bridge interfaces -->
|
||
<?php if ($this->acl_check_view(get_class($this),'iface',$device->user->member_id)) { ?>
|
||
<div id="bridge_interfaces">
|
||
<?php echo $bridge_ifaces ?>
|
||
</div>
|
||
<?php } ?>
|
||
|
Také k dispozici: Unified diff
Upravy:
- dalsi pokracovani praci na #185 - opraveno zobrazeni zarizeni (jeste zbyva doladit)