blob: b7b6434f08e4b430966e11898311df73ec07c0f8 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#!/bin/sh /etc/rc.common
2# Copyright (C) 2006-2017 OpenWrt.org
3
4START=99
5
6USE_PROCD=1
7
8CONFIGNAME="bandwidthd-php"
9CONFIGFILE="/var/etc/bandwidthd-php.conf"
10
11config_cb() {
12 local cfg_type="$1"
13 local cfg_name="$2"
14 case "$cfg_type" in
15 $CONFIGNAME)
16 append cfgs "$cfg_name"
17 ;;
18 esac
19}
20
21export_number() {
22 local option="$1"
23 local section="$2"
24 local _loctmp
25 paramstr=""
26 config_get _loctmp "$section" "$option"
27 if [ -n "$_loctmp" ]; then
28 paramstr="${_loctmp}"
29 fi
30}
31
32export_string() {
33 local option="$1"
34 local section="$2"
35 local _loctmp
36 paramstr=""
37 config_get _loctmp "$section" "$option"
38 if [ -n "$_loctmp" ]; then
39 paramstr="${_loctmp}"
40 fi
41}
42
43service_triggers()
44{
45 procd_add_reload_trigger $CONFIGNAME
46}
47
48
49start_service() {
50 local conffile="<?php\n// auto-generated config file from /etc/config/${CONFIGNAME}\n"
51 rm -f $CONFIGFILE
52 touch $CONFIGFILE
53
54 config_load $CONFIGNAME
55 for cfg in $cfgs; do
56 export_number dflt_width $cfg
57 conffile="${conffile}define(\"DFLT_WIDTH\", ${paramstr:-"900"});\n"
58
59 export_number dflt_height $cfg
60 conffile="${conffile}define(\"DFLT_HEIGHT\", ${paramstr:-"256"});\n"
61
62 export_string dflt_interval $cfg
63 conffile="${conffile}define(\"DFLT_INTERVAL\", ${paramstr:-"INT_DAILY"});\n\n"'$db_connect_string = "host='
64
65 export_string host $cfg
66 conffile="${conffile}${paramstr:-"127.0.0.1"} user="
67
68 export_string user $cfg
69 conffile="${conffile}${paramstr:-"postgres"} dbname="
70
71 export_string dbname $cfg
72 conffile="${conffile}${paramstr:-"bandwidthd"}"'"'"\n?>"
73 [ -n "$conffile" ] && echo -e "$conffile" >>$CONFIGFILE
74 done
75}