3 [ "$include_dbchannel" ] && return 0
7 # ID NAME DESCRIPTION LOGO THEME AUTHORS DESCR_CACHE FUTUREUSE
10 UNSET_CHANNEL='unset \
11 CHANNEL_ID CHANNEL_NAME CHANNEL_DESCRIPTION CHANNEL_LOGO CHANNEL_THEME \
12 CHANNEL_AUTHORS CHANNEL_DESCR_CACHE CHANNEL_FUTUREUSE
15 LOCAL_CHANNEL='local \
16 CHANNEL_ID CHANNEL_NAME CHANNEL_DESCRIPTION CHANNEL_LOGO CHANNEL_THEME \
17 CHANNEL_AUTHORS CHANNEL_DESCR_CACHE CHANNEL_FUTUREUSE
22 chan_db="$_DATA/channels.db"
28 CHANNEL_ID='' CHANNEL_NAME='' CHANNEL_DESCRIPTION='' CHANNEL_LOGO=''
29 CHANNEL_THEME='' CHANNEL_AUTHORS='' CHANNEL_DESCR_CACHE=''
33 read -r CHANNEL_ID CHANNEL_NAME CHANNEL_DESCRIPTION CHANNEL_LOGO \
34 CHANNEL_THEME CHANNEL_AUTHORS CHANNEL_DESCR_CACHE \
36 elif [ "$channel" -a -f "$chan_db" -a -r "$chan_db" ]; then
37 read -r CHANNEL_ID CHANNEL_NAME CHANNEL_DESCRIPTION CHANNEL_LOGO \
38 CHANNEL_THEME CHANNEL_AUTHORS CHANNEL_DESCR_CACHE \
39 CHANNEL_FUTUREUSE <<-EOF
40 $(grep "^${channel} " "${chan_db}")
43 if [ "$CHANNEL_ID" ]; then
44 CHANNEL_NAME="$(UNSTRING "${CHANNEL_NAME}")"
45 CHANNEL_DESCRIPTION="$(UNSTRING "$CHANNEL_DESCRIPTION")"
46 CHANNEL_AUTHORS="$(UNSTRING "$CHANNEL_AUTHORS")"
47 CHANNEL_DESCR_CACHE="$(UNSTRING "$CHANNEL_DESCR_CACHE")"
55 local id="${1}" name description logo theme authors descr_cache futureuse
56 local ID NAME DESCRIPTION LOGO THEME AUTHORS DESCR_CACHE FUTUREUSE
59 for arg in "$@"; do case $arg in
60 name=*) name="${arg#*=}";;
61 description=*) description="${arg#*=}";;
62 logo=*) logo="${arg#*=}";;
63 theme=*) theme="${arg#*=}";;
64 authors=*) authors="${arg#*=}";;
67 if LOCK "$chan_db"; then
68 while read -r ID NAME DESCRIPTION LOGO THEME AUTHORS DESCR_CACHE FUTUREUSE; do
69 if [ "$id" = "$ID" ]; then
70 printf '%s %s %s %s %s %s %s %s\n' \
71 "$id" "$(STRING "${name-$(UNSTRING "$NAME")}")" \
72 "$(STRING "${description-$(UNSTRING "$DESCRIPTION")}")" \
73 "${logo:-${logo-${LOGO}}${logo+\\}}" \
74 "${theme:-${theme-${THEME}}${theme+\\}}" \
75 "$(STRING "${authors-$(UNSTRING "${AUTHORS}")}")" \
76 "$(printf %s "${description-$(UNSTRING "$DESCRIPTION")}" |markdown |STRING)" \
79 printf '%s %s %s %s %s %s %s %s\n' \
80 "$ID" "$NAME" "$DESCRIPTION" "$LOGO" "$THEME" "$AUTHORS" \
81 "$DESCR_CACHE" "$FUTUREUSE"
83 done <"$chan_db" >"${chan_db}.$$"
84 mv -- "${chan_db}.$$" "${chan_db}"
92 local channel="${1:-$(randomid)}"
94 if LOCK "$chan_db"; then
95 if grep -q "^${channel} " "$chan_db"; then
99 printf '%s \\ \\ \\ \\ %s \\ \\\n' \
100 "$channel" "$(STRING "$USER_ID")" >>"$chan_db"
108 if [ "$CHANNEL_ID" -a "$USER_ID" -a ! "${CHANNEL_AUTHORS##*${USER_ID}*}" ]; then