3 [ "$include_dbchannel" ] && return 0
7 # ID NAME DESCRIPTION LOGO THEME AUTHORS DESCR_CACHE FUTUREUSE
10 unset CHANNEL_ID CHANNEL_NAME CHANNEL_DESCRIPTION CHANNEL_LOGO CHANNEL_THEME \
11 CHANNEL_AUTHORS CHANNEL_DESCR_CACHE CHANNEL_FUTUREUSE
13 LOCAL_CHANNEL='local \
14 CHANNEL_ID CHANNEL_NAME CHANNEL_DESCRIPTION CHANNEL_LOGO CHANNEL_THEME \
15 CHANNEL_AUTHORS CHANNEL_DESCR_CACHE CHANNEL_FUTUREUSE
18 chan_db="$_DATA/channels.db"
24 CHANNEL_ID='' CHANNEL_NAME='' CHANNEL_DESCRIPTION='' CHANNEL_LOGO=''
25 CHANNEL_THEME='' CHANNEL_AUTHORS='' CHANNEL_DESCR_CACHE=''
29 read -r CHANNEL_ID CHANNEL_NAME CHANNEL_DESCRIPTION CHANNEL_LOGO \
30 CHANNEL_THEME CHANNEL_AUTHORS CHANNEL_DESCR_CACHE \
32 elif [ "$channel" -a -f "$chan_db" -a -r "$chan_db" ]; then
33 read -r CHANNEL_ID CHANNEL_NAME CHANNEL_DESCRIPTION CHANNEL_LOGO \
34 CHANNEL_THEME CHANNEL_AUTHORS CHANNEL_DESCR_CACHE \
35 CHANNEL_FUTUREUSE <<-EOF
36 $(grep "^${channel} " "${chan_db}")
39 if [ "$CHANNEL_ID" ]; then
40 CHANNEL_NAME="$(UNSTRING "${CHANNEL_NAME}")"
41 CHANNEL_DESCRIPTION="$(UNSTRING "$CHANNEL_DESCRIPTION")"
42 CHANNEL_AUTHORS="$(UNSTRING "$CHANNEL_AUTHORS")"
43 CHANNEL_DESCR_CACHE="$(UNSTRING "$CHANNEL_DESCR_CACHE")"
45 unset CHANNEL_ID CHANNEL_NAME CHANNEL_DESCRIPTION CHANNEL_LOGO \
46 CHANNEL_THEME CHANNEL_AUTHORS CHANNEL_DESCR_CACHE \
53 local id="${1}" name description logo theme authors descr_cache futureuse
54 local ID NAME DESCRIPTION LOGO THEME AUTHORS DESCR_CACHE FUTUREUSE
57 for arg in "$@"; do case $arg in
58 name=*) name="${arg#*=}";;
59 description=*) description="${arg#*=}";;
60 logo=*) logo="${arg#*=}";;
61 theme=*) theme="${arg#*=}";;
62 authors=*) authors="${arg#*=}";;
65 if LOCK "$chan_db"; then
66 while read -r ID NAME DESCRIPTION LOGO THEME AUTHORS DESCR_CACHE FUTUREUSE; do
67 if [ "$id" = "$ID" ]; then
68 printf '%s %s %s %s %s %s %s %s\n' \
69 "$id" "$(STRING "${name-$(UNSTRING "$NAME")}")" \
70 "$(STRING "${description-$(UNSTRING "$DESCRIPTION")}")" \
71 "${logo:-${logo-${LOGO}}${logo+\\}}" \
72 "${theme:-${theme-${THEME}}${theme+\\}}" \
73 "$(STRING "${authors-$(UNSTRING "${AUTHORS}")}")" \
74 "$(printf %s "${description-$(UNSTRING "$DESCRIPTION")}" |markdown |STRING)" \
77 printf '%s %s %s %s %s %s %s %s\n' \
78 "$ID" "$NAME" "$DESCRIPTION" "$LOGO" "$THEME" "$AUTHORS" \
79 "$DESCR_CACHE" "$FUTUREUSE"
81 done <"$chan_db" >"${chan_db}.$$"
82 mv -- "${chan_db}.$$" "${chan_db}"
90 local channel="${1:-$(randomid)}"
92 if LOCK "$chan_db"; then
93 if grep -q "^${channel} " "$chan_db"; then
97 printf '%s \\ \\ \\ \\ %s \\ \\\n' \
98 "$channel" "$(STRING "$USER_ID")" >>"$chan_db"