-channel='' video='' action=''
-path_info="$PATH_INFO"
-path_info="${path_info#/channel/}"
-if [ "$(checkid "${path_info%%/*}")" ]; then
- channel="${path_info%%/*}"
- path_info="${path_info#*/}"
-fi
-if [ "$(checkid "${path_info%%/*}")" ]; then
- video="${path_info%%/*}"
- path_info="${path_info#*/}"
-fi
-action="${path_info}"
-unset path_info
-
-# Channel
-# ID NAME DESCRIPTION LOGO THEME AUTHORS DESCR_CACHE FUTUREUSE
-
-if [ "$channel" -a -f "$chan_db" -a -r "$chan_db" ]; then
- read -r CHANNEL_ID CHANNEL_NAME CHANNEL_DESCRIPTION CHANNEL_LOGO \
- CHANNEL_THEME CHANNEL_AUTHORS CHANNEL_DESCR_CACHE \
- CHANNEL_FUTUREUSE <<-EOF
- $(grep "^${channel} " "${chan_db}")
- EOF
- if [ "$CHANNEL_ID" ]; then
- CHANNEL_NAME="$(UNSTRING "${CHANNEL_NAME}")"
- CHANNEL_DESCRIPTION="$(UNSTRING "$CHANNEL_DESCRIPTION")"
- CHANNEL_AUTHORS="$(UNSTRING "$CHANNEL_AUTHORS")"
- CHANNEL_DESCR_CACHE="$(UNSTRING "$CHANNEL_DESCR_CACHE")"
- vid_db="${_DATA}/${CHANNEL_ID}/videos.db"
- else
- channel=''
- fi
-fi
-
-update_channel(){
- local id="${1}" name="${2}" description="${3}" logo="${4}" theme="${5}" \
- authors="${6}" descr_cache="${7}" futureuse="${8}"
- local ID INFO
- if LOCK "$chan_db"; then
- while read -r ID INFO; do
- if [ "$id" = "$ID" ]; then
- printf '%s %s %s %s %s %s %s %s\n' \
- "$id" "$(STRING "$name")" "$(STRING "$description")" \
- "${logo:-\\}" "${theme:-\\}" "$(STRING "$authors")" \
- "$(printf %s "$description" |markdown |STRING)" \
- "${futureuse:-\\}"
- else
- printf '%s %s\n' "$ID" "$INFO"
- fi
- done <"$chan_db" >"${chan_db}.$$"
- mv -- "${chan_db}.$$" "${chan_db}"
- RELEASE "$chan_db"
- else
- return 1
- fi
-}