Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 1557

Přidáno uživatelem David Raška před asi 12 roky(ů)

Opravy:
- Oprava razeni zarizeni

Zobrazit rozdíly:

freenetis/branches/testing/application/i18n/cs_CZ/texts.php
'channel width' => 'Šířka kanálu',
'chars' => 'Znaků',
'check again' => 'Znovu zkontrolovat',
'children interfaces' => 'Položky bridge',
'choose' => 'Vybrat',
'choose date' => 'Vyberte datum',
'choose language' => 'Vyberte jazyk',
freenetis/branches/testing/application/models/device.php
*/
public function select_list_filtered_device_with_user($filter_sql = '')
{
if (empty($filter_sql))
$where = '';
if (!empty($filter_sql))
{
return $this->select_list_device_with_user();
$where = 'WHERE '.$filter_sql;
}
else
{
$devices = $this->db->query("
SELECT device_id AS id, ip_address,
IF(ISNULL(device_name) OR LENGTH(device_name) = 0, device_id, device_name) AS device_name,
df.user_name, user as user_id
FROM
(
SELECT d.id AS device_id, d.name AS device_name, u.id AS user,
CONCAT(u.surname, ' ', u.name, ' - ', u.login) AS user_name, s.id AS subnet,
d.type, ip.ip_address, ap.street_id AS street,
ap.town_id AS town, ap.street_number
FROM devices d
JOIN users u ON d.user_id = u.id
JOIN address_points ap ON ap.id = d.address_point_id
LEFT JOIN ifaces i ON i.device_id = d.id
LEFT JOIN ip_addresses ip ON ip.iface_id = i.id
JOIN subnets s ON ip.subnet_id = s.id
) df
WHERE $filter_sql
GROUP BY device_id
ORDER BY IF(user_id <> ?, 1, 0),
IF(user <> ?, IF(ISNULL(device_name) OR LENGTH(device_name) = 0, 1, 0),
IF(ISNULL(ip_address) OR LENGTH(ip_address) = 0, 1, 0)),
IF(user <> ?, device_name, INET_ATON(ip_address)),
device_name, user_id
", User_Model::MAIN_USER, User_Model::MAIN_USER, User_Model::MAIN_USER);
}
$devices = $this->db->query("
SELECT device_id AS id, ip_address,
IF(ISNULL(device_name) OR LENGTH(device_name) = 0, device_id, device_name) AS device_name,
df.user_name, user as user_id
FROM
(
SELECT d.id AS device_id, d.name AS device_name, u.id AS user,
CONCAT(u.surname, ' ', u.name, ' - ', u.login) AS user_name, s.id AS subnet,
d.type, ip.ip_address, ap.street_id AS street,
ap.town_id AS town, ap.street_number
FROM devices d
JOIN users u ON d.user_id = u.id
JOIN address_points ap ON ap.id = d.address_point_id
LEFT JOIN ifaces i ON i.device_id = d.id
LEFT JOIN ip_addresses ip ON ip.iface_id = i.id
LEFT JOIN subnets s ON ip.subnet_id = s.id
) df
$where
GROUP BY device_id
ORDER BY IF(df.user <> ?, 1, 0), df.user_name,
IF(df.user <> ?, IF(ISNULL(df.ip_address) OR LENGTH(df.ip_address) = 0, 1, 0), 1),
IF(df.user <> ?, INET_ATON(df.ip_address), df.device_name),
df.device_name, df.user
", User_Model::MAIN_USER, User_Model::MAIN_USER, User_Model::MAIN_USER);
$arr_devices = array();
foreach ($devices as $device)
......
}
}
$arr_devices[$device->user_name][$device->id] = $name;
$arr_devices[$device->user_name][] = array('id' => $device->id, 'name' => $name);
}
return $arr_devices;
freenetis/branches/testing/application/controllers/ifaces.php
$bridge_form->dropdown('children_interfaces[]')
->multiple('multiple')
->options($child_ifaces)
->size(15);
->size(15)
->label('Children interfaces');
}
// print port fields only if type is port
freenetis/branches/testing/application/controllers/json.php
$dm = new Device_Model();
$devices = $dm->select_list_filtered_device_with_user($filter->as_sql());
$out_devices = array();
foreach ($devices AS $user_name => $device)
{
$out_devices[] = array('user_name' => $user_name, 'devices' => $device);
}
// output
echo json_encode($devices);
echo json_encode($out_devices);
}
/**
freenetis/branches/testing/application/views/js/devices_add.php
$.getJSON('<?php echo url_lang::base() ?>json/get_filtered_devices?' + urldecode($(this).val()), function (options)
{
// select suggestion
var count = 0;
var reloaded = false;
var type = $tr.find('input[name^="type["]').val();
var sug;
// get suggestions
while (count++ <= 1)
{
sug = suggest_connected_to[type];
if (sug != undefined &&
sug.device_id != undefined &&
sug.iface_id != undefined)
{
if (options[sug.device_id] != undefined)
{
break; // finded => do not reload
}
}
if (!reloaded)
{
reloaded = true;
// reload suggestions
reload_suggestions($select, false);
}
}
// reload suggestions
reload_suggestions($select, false);
var sug = suggest_connected_to[type];
// update form
var options_html = ['<option value="">--- <?php echo __('Select device') ?> ---</option>'];
for (var i in options)
{
options_html.push('<optgroup label="');
options_html.push(i);
options_html.push(options[i]['user_name']);
options_html.push('">');
for (var u in options[i])
for (var u in options[i]['devices'])
{
var device = options[i]['devices'][u];
options_html.push('<option value="');
options_html.push(u);
options_html.push(device['id']);
options_html.push('"');
if (sug != undefined && u == sug.device_id)
if (sug != undefined && device['id'] == sug.device_id)
{
options_html.push(' selected="selected"');
}
options_html.push('>');
options_html.push(options[i][u]);
options_html.push(device['name']);
options_html.push('</option>');
}

Také k dispozici: Unified diff