Changeset 5672


Ignorieren:
Zeitstempel:
31.08.2010 16:56:02 (vor 8 Jahren)
Autor:
buehmann
Nachricht:

Basic support for multiple config pages per package; refs #1011.
(Test case: Freetz/Web interface)

Ort:
trunk
Dateien:
1 hinzugefügt
1 gelöscht
10 bearbeitet
1 kopiert
1 verschoben

Legende:

Unverändert
Hinzugefügt
Entfernt
  • trunk/.language

    r5516 r5672  
    77    etc/default.mod/*.def 
    88    etc/init.d/rc.mod 
     9    usr/bin/modreg 
    910    usr/lib/cgi-bin/mod/*.cgi 
    1011    usr/lib/cgi-bin/mod.cgi 
    11     usr/lib/cgi-bin/mod/conf/*.sh 
     12    usr/lib/cgi-bin/mod/conf*/*.sh 
    1213    usr/lib/libmodcgi.sh 
    1314    usr/lib/mod/reg-status 
  • trunk/root/etc/init.d/rc.mod

    r5631 r5672  
    7171register() { 
    7272    modreg cgi mod "Freetz" 
     73    modreg conf mod webcfg "$(lang de:"Weboberfläche" en:"Web interface")" 
    7374 
    7475    modreg_file  .profile    0 
  • trunk/root/usr/bin/modreg

    r5652 r5672  
    44# 
    55# Usage: modreg cgi <pkg> <title> 
     6#        modreg pkg <pkg> <title> 
     7#        modreg conf <pkg> <id> <title> 
    68#        modreg extra <pkg> <title> <sec-level> <cgi-name> 
    79#        modreg file <pkg> <id> <title> <sec-level> <desc-file> 
     
    3436case $1 in 
    3537    cgi) 
    36         replace "^$2|" /mod/etc/reg/cgi.reg "$2|$3" 
     38        "$0" pkg "$2" "$3" 
     39        "$0" conf "$2" _index "$(lang de:"Einstellungen" en:"Settings")" 
     40        ;; 
     41    pkg) 
     42        replace "^$2|" /mod/etc/reg/pkg.reg "$2|$3" 
     43        touch /mod/var/cache/menu.stale 
     44        ;; 
     45    conf) 
     46        replace "^$2|$3|" /mod/etc/reg/conf.reg "$2|$3|$4" 
    3747        touch /mod/var/cache/menu.stale 
    3848        ;; 
  • trunk/root/usr/bin/modunreg

    r5652 r5672  
    22# 
    33# Usage: modunreg cgi <pkg> 
     4#        modunreg pkg <pkg> 
     5#        modunreg conf <pkg> [<id>] 
    46#        modunreg extra <pkg> [<cgi-name>] 
    57#        modunreg file <pkg> [<id>] 
     
    1921case $1 in 
    2022    cgi) 
    21         delete "^$2|" /mod/etc/reg/cgi.reg 
     23        "$0" conf "$2" _index 
     24        ;; 
     25    pkg) 
     26        delete "^$2|" /mod/etc/reg/pkg.reg 
     27        touch /mod/var/cache/menu.stale 
     28        ;; 
     29    conf) 
     30        delete "^$2|${3:-[^|]*}|" /mod/etc/reg/conf.reg 
    2231        touch /mod/var/cache/menu.stale 
    2332        ;; 
  • trunk/root/usr/lib/cgi-bin/mod/webcfg.cgi

    r5666 r5672  
    77[ -e /etc/default.inetd/inetd.cfg ] && inetd=true 
    88 
    9 CONF=/usr/lib/cgi-bin/mod/conf 
     9CONF=/usr/lib/cgi-bin/mod/conf.webcfg 
    1010for conf in "$CONF"/*.sh; do 
    1111    [ -r "$conf" ] && source "$conf" 
  • trunk/root/usr/lib/mod/cgi/links.sh

    r5516 r5672  
    4747        extra)  "$out" "/cgi-bin/extra/${2}/${3}" ;; 
    4848        status) "$out" "/cgi-bin/status/${2}/${3:-status}" ;; 
     49        conf) 
     50            if [ "$3" = _index ]; then 
     51                "$out" "/cgi-bin/conf/${2}" 
     52            else 
     53                "$out" "/cgi-bin/conf/${2}/${3}" 
     54            fi 
     55            ;; 
    4956        cgi)    local pkg=$2; shift 2 
    5057            "$out" "/cgi-bin/conf/$pkg" "$@" ;; 
     
    5461                daemons)   "$out" "/cgi-bin/service" ;; 
    5562                about)     "$out" "/cgi-bin/about.cgi" ;; 
    56                 packages)  "$out" "/cgi-bin/packages.cgi" ;; 
    5763                system)    "$out" "/cgi-bin/system.cgi" ;; 
    5864                conf)      _cgi_location "$out" cgi mod ;; 
  • trunk/root/usr/lib/mww/cgi/menu-new.sh

    r5593 r5672  
    133133new_menu_add_pkg_item() { 
    134134    local type=$1 pkg=$2 id=$3 title=$4 
    135     local a_href a_id=$(_cgi_id "$type:$pkg${id:+/$id}") a_class=$type 
    136     case $type in 
    137         conf) a_href=$(href cgi "$pkg") ;; 
    138         *)    a_href=$(href "$type" "$pkg" "$id") ;; 
    139     esac 
     135    local a_id=$(_cgi_id "$type:$pkg${id:+/$id}") a_class=$type 
     136    local a_href=$(href "$type" "$pkg" "$id") 
    140137    echo "<li><a id='$a_id' class='$a_class' href='$a_href'>$(html "$title")</a></li>" >> "$p/$pkg.sub" 
    141138    if [ ! -e "$p/$pkg.index" ]; then 
     
    151148 
    152149    # collect data for packages 
    153  
    154     if [ -r /mod/etc/reg/cgi.reg ]; then 
     150    if [ -r /mod/etc/reg/pkg.reg ]; then 
    155151        local pkg title 
    156152        while IFS='|' read -r pkg title; do 
    157153            echo "title=$(shell_escape "$title")" >> "$p/$pkg.meta" 
    158             new_menu_add_pkg_item conf "$pkg" "" "$(lang de:"Einstellungen" en:"Settings")" 
    159         done < /mod/etc/reg/cgi.reg 
     154        done < /mod/etc/reg/pkg.reg 
     155    fi 
     156 
     157    if [ -r /mod/etc/reg/conf.reg ]; then 
     158        local pkg id title 
     159        while IFS='|' read -r pkg id title; do 
     160            new_menu_add_pkg_item conf "$pkg" "$id" "$title" 
     161        done < /mod/etc/reg/conf.reg 
    160162    fi 
    161163 
  • trunk/root/usr/lib/mww/page.d/conf/edit_body.sh

    r5546 r5672  
    1919fi 
    2020 
    21 if [ -x "/mod/usr/lib/cgi-bin/$PACKAGE.cgi" ]; then 
     21if [ "$ID" = _index ]; then 
     22    cgi="/mod/usr/lib/cgi-bin/$PACKAGE.cgi" 
     23else 
     24    cgi="/mod/usr/lib/cgi-bin/$PACKAGE/$ID.cgi" 
     25fi 
     26 
     27if [ -x "$cgi" ]; then 
    2228    frm_begin "$PACKAGE" 
    23     /mod/usr/lib/cgi-bin/$PACKAGE.cgi 
     29    "$cgi" 
    2430    frm_end "$PACKAGE" 
    2531else 
    26     print_error "$(lang de:"Kein Skript f&uuml;r das Paket" en:"no script for package") '$PACKAGE'." 
     32    print_error "$(lang de:"Kein Skript f&uuml;r" en:"No script for") '$PACKAGE/$ID'." 
    2733fi 
  • trunk/root/usr/lib/mww/page.d/conf/handler.sh

    r5584 r5672  
    1010 
    1111# retrieve metadata 
    12 CGI_REG=/mod/etc/reg/cgi.reg 
    13 [ -e "$CGI_REG" ] || touch "$CGI_REG" 
     12PKG_REG=/mod/etc/reg/pkg.reg 
     13[ -e "$PKG_REG" ] || touch "$PKG_REG" 
    1414 
    1515if [ "$PACKAGE" = mod ]; then 
     
    1717else 
    1818    OIFS=$IFS; IFS="|" 
    19     set -- $(grep "^$PACKAGE|" "$CGI_REG") 
     19    set -- $(grep "^$PACKAGE|" "$PKG_REG") 
    2020    IFS=$OIFS 
    2121    PACKAGE_TITLE=${2:-$PACKAGE} 
    2222fi 
    2323 
    24 cgi --id="conf:$PACKAGE" --help="/packages/$PACKAGE" 
     24[ -z "$ID" ] && ID=_index 
     25 
     26help="/packages/$PACKAGE" 
     27[ "$ID" = _index ] || help="$help/$ID" 
     28 
     29cgi --id="conf:$PACKAGE/$ID" --help="$help" 
    2530 
    2631case $REQUEST_METHOD in 
  • trunk/root/usr/lib/mww/page.d/conf/save_body.sh

    r5635 r5672  
    1  
    21start_stop() { 
    32    local startORstop=$1 
  • trunk/root/usr/lib/mww/page.d/extra/list.sh

    r5516 r5672  
    22[ -e "$EXTRA_REG" ] || touch "$EXTRA_REG" 
    33 
    4 CGI_REG=/mod/etc/reg/cgi.reg 
     4PKG_REG=/mod/etc/reg/pkg.reg 
    55 
    66_cgi_extras() { 
     
    99        return 
    1010    fi 
    11     [ -e "$CGI_REG" ] || touch "$CGI_REG" 
     11    [ -e "$PKG_REG" ] || touch "$PKG_REG" 
    1212 
    1313    unset cur_pkg 
     
    1818                heading='$(lang de:"Mod-Extras" en:"Mod extras")' 
    1919            else 
    20                 IFS='|'; set -- $(grep "^$pkg|" "$CGI_REG") 
     20                IFS='|'; set -- $(grep "^$pkg|" "$PKG_REG") 
    2121                heading=${2:-$pkg} 
    2222            fi 
Hinweis: Hilfe zur Verwendung der Changeset-Ansicht finden Sie unter TracChangeset.