function multinet_show_available_networks() { global $ubillingConfig; $alter = $ubillingConfig->getAlter(); // Выбираем все сети $query = "SELECT * from `networks`"; $networks = simple_queryall($query); // Заголовок таблицы $cells = wf_TableCell(__('ID')); $cells .= wf_TableCell(__('First IP')); $cells .= wf_TableCell(__('Last IP')); $cells .= wf_TableCell(__('Network/CIDR')); $cells .= wf_TableCell(__('Network type')); if ($alter['FREERADIUS_ENABLED']) { $cells .= wf_TableCell(__('Use Radius')); } $cells .= wf_TableCell(__('Actions')); $rows = wf_TableRow($cells, 'row1'); // Содержимое таблицы if (!empty($networks)) { foreach ($networks as $network) { $cells = wf_TableCell($network['id']); $cells .= wf_TableCell($network['startip']); $cells .= wf_TableCell($network['endip']); $cells .= wf_TableCell($network['desc']); $cells .= wf_TableCell($network['nettype']); if ($alter['FREERADIUS_ENABLED']) { $cells .= wf_TableCell(web_bool_led($network['use_radius'])); } $actions = wf_JSAlert('?module=multinet&deletenet=' . $network['id'], web_delete_icon(), 'Removing this may lead to irreparable results'); $actions .= wf_JSAlert('?module=multinet&editnet=' . $network['id'], web_edit_icon(), 'Are you serious'); if ($alter['FREERADIUS_ENABLED'] && $network['use_radius']) { $actions .= wf_Link('?module=freeradius&netid=' . $network['id'], web_icon_freeradius('Set RADIUS-attributes')); } $cells .= wf_TableCell($actions); $rows .= wf_TableRow($cells, 'row3'); } } // Результат - таблица $result = wf_TableBody($rows, '100%', '0', 'sortable'); // Отображаем результат show_window(__('Networks'), $result); }
/** * Returns NAS editing grid * * @param array $titles * @param array $keys * @param array $alldata * @param string $module * @param bool $delete * @param bool $edit * @param string $prefix * @return string */ function web_GridEditorNas($titles, $keys, $alldata, $module, $delete = true, $edit = true, $prefix = '') { // Получаем список сетей $networks = multinet_get_all_networks(); $cidrs = array(); if (!empty($networks)) { foreach ($networks as $network) { $cidrs[$network['id']] = $network['desc']; } } // Заголовок таблицы $cells = ''; foreach ($titles as $title) { $cells .= wf_TableCell(__($title)); } $cells .= wf_TableCell(__('Actions')); $rows = wf_TableRow($cells, 'row1'); // Содержимое таблицы if (!empty($alldata)) { foreach ($alldata as $data) { $cells = ''; $actions = ''; if ($delete) { $actions .= wf_JSAlert('?module=' . $module . '&' . $prefix . 'delete=' . $data['id'], web_delete_icon(), 'Removing this may lead to irreparable results'); } if ($edit) { $actions .= wf_Link('?module=' . $module . '&' . $prefix . 'edit=' . $data['id'], web_edit_icon()); } foreach ($keys as $key) { if (array_key_exists($key, $data)) { switch ($key) { case 'netid': $cells .= wf_TableCell($data[$key] . ': ' . $cidrs[$data[$key]]); break; case 'nastype': if ($data[$key] == 'mikrotik') { $actions .= wf_Link('?module=mikrotikextconf&nasid=' . $data['id'], web_icon_extended('MikroTik extended configuration')); } if ($data[$key] == 'radius') { $actions .= wf_Link('?module=freeradius&nasid=' . $data['id'], web_icon_freeradius('Set RADIUS-attributes')); } $cells .= wf_TableCell($data[$key]); break; default: $cells .= wf_TableCell($data[$key]); break; } } } $cells .= wf_TableCell($actions); $rows .= wf_TableRow($cells, 'row3'); } } // Результат - таблица $result = wf_TableBody($rows, '100%', 0, 'sortable'); // Отображаем результат return $result; }