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 chan_db="$_DATA/channels.db"
19 CHANNEL_ID='' CHANNEL_NAME='' CHANNEL_DESCRIPTION='' CHANNEL_LOGO=''
20 CHANNEL_THEME='' CHANNEL_AUTHORS='' CHANNEL_DESCR_CACHE=''
24 read -r CHANNEL_ID CHANNEL_NAME CHANNEL_DESCRIPTION CHANNEL_LOGO \
25 CHANNEL_THEME CHANNEL_AUTHORS CHANNEL_DESCR_CACHE \
27 elif [ "$channel" -a -f "$chan_db" -a -r "$chan_db" ]; then
28 read -r CHANNEL_ID CHANNEL_NAME CHANNEL_DESCRIPTION CHANNEL_LOGO \
29 CHANNEL_THEME CHANNEL_AUTHORS CHANNEL_DESCR_CACHE \
30 CHANNEL_FUTUREUSE <<-EOF
31 $(grep "^${channel} " "${chan_db}")
34 if [ "$CHANNEL_ID" ]; then
35 CHANNEL_NAME="$(UNSTRING "${CHANNEL_NAME}")"
36 CHANNEL_DESCRIPTION="$(UNSTRING "$CHANNEL_DESCRIPTION")"
37 CHANNEL_AUTHORS="$(UNSTRING "$CHANNEL_AUTHORS")"
38 CHANNEL_DESCR_CACHE="$(UNSTRING "$CHANNEL_DESCR_CACHE")"
40 unset CHANNEL_ID CHANNEL_NAME CHANNEL_DESCRIPTION CHANNEL_LOGO \
41 CHANNEL_THEME CHANNEL_AUTHORS CHANNEL_DESCR_CACHE \
48 local id="${1}" name description logo theme authors descr_cache futureuse
49 local ID NAME DESCRIPTION LOGO THEME AUTHORS DESCR_CACHE FUTUREUSE
52 for arg in "$@"; do case $arg in
53 name=*) name="${arg#*=}";;
54 description=*) description="${arg#*=}";;
55 logo=*) logo="${arg#*=}";;
56 theme=*) theme="${arg#*=}";;
57 authors=*) authors="${arg#*=}";;
60 if LOCK "$chan_db"; then
61 while read -r ID NAME DESCRIPTION LOGO THEME AUTHORS DESCR_CACHE FUTUREUSE; do
62 if [ "$id" = "$ID" ]; then
63 printf '%s %s %s %s %s %s %s %s\n' \
64 "$id" "$(STRING "${name-$(UNSTRING "$NAME")}")" \
65 "$(STRING "${description-$(UNSTRING "$DESCRIPTION")}")" \
66 "${logo:-${logo-${LOGO}}${logo+\\}}" \
67 "${theme:-${theme-${THEME}}${theme+\\}}" \
68 "$(STRING "${authors-$(UNSTRING "${AUTHORS}")}")" \
69 "$(printf %s "${description-$(UNSTRING "$DESCRIPTION")}" |markdown |STRING)" \
72 printf '%s %s %s %s %s %s %s %s\n' \
73 "$ID" "$NAME" "$DESCRIPTION" "$LOGO" "$THEME" "$AUTHORS" \
74 "$DESCR_CACHE" "$FUTUREUSE"
76 done <"$chan_db" >"${chan_db}.$$"
77 mv -- "${chan_db}.$$" "${chan_db}"
85 local channel="${1:-$(randomid)}"
87 if LOCK "$chan_db"; then
88 if grep -q "^${channel} " "$chan_db"; then
92 printf '%s \\ \\ \\ \\ %s \\ \\\n' \
93 "$channel" "$(STRING "$USER_ID")" >>"$chan_db"