⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cgi.svn-base

📁 嵌入式无线路由系统openwrt的web配置工具
💻 SVN-BASE
字号:
#!/usr/bin/haserl# Copyright (C) 2008 OpenRB.comcontent-type: text/html(function(){  var moduleId = 'qos';  var elems = FlashSYS.getCache( moduleId );  if (!elems) {    var window = FlashSYS.newWindow({      id: moduleId,      title: $TR( moduleId ),      width: 700,      height: 225    });    var tabs = new FlashSYS.Tabs(window.contentEl, {      tabs: ['ifaces', 'classes', 'rules'],      trPrefix: 'qos_',      footerEl: window.footerEl    });    // QoS interfaces    var ifaceTable = new FlashSYS.Table(tabs.getPanelByIndex(0), {      params: { 'module': moduleId, 'action': 'formiface' },      trPrefix: 'qos_iface_',      tableHead: {        'name': { width: 20 },        'classes': { width: 35 },        'download': { width: 20, axis: 'number' },        'upload': { width: 20, axis: 'number' },        'status': { width: 5, blank: true, params: { module: 'qos', action: 'status', reload: 'qos' } }      }    });    // QoS classes    var classTable = new FlashSYS.Table(tabs.getPanelByIndex(1), {      params: { 'module': moduleId, 'action': 'formclass' },      trPrefix: 'qos_class_',      sortable: true,      tableHead: {        'name': { width: 20 },        'priority': { width: 15, axis: 'number' },        'avgrate': { width: 15, axis: 'number' },        'limitrate': { width: 15, axis: 'number' },        'maxsize': { width: 15, axis: 'number' },        'packetdelay': { width: 15, axis: 'number' },        'delete': { width: 5, blank: true, confirm: 'del_confirm', params: { module: moduleId, action: 'delete', reload: moduleId } }      }    });    FlashSYS.Control.addButton(tabs.getFooterByIndex(1), {      'params': { 'module': moduleId, 'action': 'formclass', 'data': { 'new': true } },      'cls': 'Add',      'title': $TR('add')    });    // QoS rules    var ruleTable = new FlashSYS.Table(tabs.getPanelByIndex(2), {      params: { 'module': moduleId, 'action': 'formrule' },      trPrefix: 'qos_rule_',      sortable: true,      tableHead: {        'nr': { width: 5, axis: 'number' },        'target': { width: 15 },        'srchost': { width: 20 },        'dsthost': { width: 20 },        'proto': { width: 10 },        'layer7': { width: 15 },        'sortup': { width: 5, blank: true, params: { module: moduleId, action: 'sort', reload: moduleId } },        'sortdown': { width: 5, blank: true, params: { module: moduleId, action: 'sort', reload: moduleId } },        'delete': { width: 5, blank: true, confirm: 'del_confirm', params: { module: moduleId, action: 'delete', reload: moduleId } }      }    });    FlashSYS.Control.addButton(tabs.getFooterByIndex(2), {      'params': { 'module': moduleId, 'action': 'formrule', 'data': { 'new': true } },      'cls': 'Add',      'title': $TR('add')    });    // Element cache    elems = FlashSYS.setCache( moduleId, {      window: window,      tabs: tabs,      ifaceTable: ifaceTable,      classTable: classTable,      ruleTable: ruleTable    });  }  var tableData = <? /lib/flashsys/modules/qos/main.lua ?>;  var ifaceValues = {}, classValues = {}, ruleValues = {}, qosIface = {}, delIcon = { cls: 'Icon Delete', title: $TR('title_delete') },      stUpIcon = {'cls': 'Icon UpDown', 'title': $TR('title_active') }, stDownIcon = {'cls': 'Icon UpDown', 'title': $TR('title_inactive') },       upIcon = { cls: 'Icon SortUp', data: 'up', title: $TR('title_moveup') },      downIcon = { cls: 'Icon SortDown', data: 'down', title: $TR('title_movedown') }, ruleCount = 0;  // parse qos config data  for (var i = 0, j = tableData.qos.length; i < j; i++) {    var options = tableData.qos[ i ];    var id = options['.name'];    switch (options['.type']) {      case 'class':        classValues[ id ] = {          cells: [            id,            options.priority,            options.avgrate,            options.limitrate,            options.maxsize,            options.packetdelay,            delIcon          ]        };      break;      case 'default':      case 'classify':      case 'reclassify':        ruleValues[ id ] = {          cells: [           (++ruleCount).toString(),            options.target,            options.srchost,            options.dsthost,            options.proto,           (options.layer7 || (options.ipp2p == 'all' ? 'All P2P' : options.ipp2p)),            upIcon,            downIcon,            delIcon          ]        };      break;      case 'interface':      case 'classgroup':        qosIface[ id ] = options;      break;    }  }  // parse network config data   for (id in tableData.network) {    var options = tableData.network[ id ];        if (options.ifname == 'lo') {      continue;    }        var qosOptions = qosIface[ id ] || {}, classList = '';    if (qosOptions.classgroup) {      var classGroup = qosOptions.classgroup;            if (qosIface[ classGroup ]) {        classList = qosIface[ classGroup ].classes;      }    }    ifaceValues[ id ] = {      cls: (qosOptions.enabled == '1' ? '' : 'Inactive'),      cells: [       (options.type == 'bridge' ? 'br-' + id : options.ifname),        classList,        qosOptions.download,        qosOptions.upload,        (qosOptions.enabled == '1' ? stUpIcon : stDownIcon)      ]    };  }  elems.ifaceTable.loadValues(ifaceValues);  elems.classTable.loadValues(classValues);  elems.ruleTable.loadValues(ruleValues);})();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -