Example #1
0
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);
}
Example #2
0
/**
 * 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;
}