- if LOCK "$vid_db"; then
- while read -r ID NAME DESCRIPTION RESX RESY LENGTH COVER STATUS UPLOADER HITS \
- DESCR_CACHE FUTUREUSE; do
- if [ "$id" = "$ID" ]; then
- printf '%s %s %s %i %i %f %s %s %s %i %s %s\n' \
- "$id" "$(STRING "${name-$(UNSTRING "$NAME")}")" \
- "$(STRING "${description-$(UNSTRING "$DESCRIPTION")}")" \
- "${resx:-${resx-${RESX}}${resx+0}}" \
- "${resy:-${resy-${RESY}}${resy+0}}" \
- "${length:-${length-${LENGTH}}${length+0}}" \
- "$(STRING "${cover-$(UNSTRING "$COVER")}")" \
- "${status:-${status-${STATUS}}${status+void}}" \
- "${uploader:-${uploader-${UPLOADER}}${uploader+\\}}" \
- "${hits:-${hits-${HITS}}${hits+0}}" \
- "$(printf %s "${description-$(UNSTRING "$DESCRIPTION")}" |markdown |STRING)" \
- "${FUTUREUSE:-\\}"
- else
- printf '%s %s %s %i %i %i %s %s %s %i %s %s\n' \
- "$ID" "$NAME" "$DESCRIPTION" "$RESX" "$RESY" "$LENGTH" \
- "$COVER" "$STATUS" "$UPLOADER" "$HITS" "$DESCR_CACHE" \
- "$FUTUREUSE"
- fi
- done <"$vid_db" >"${vid_db}.$$"
- mv -- "${vid_db}.$$" "${vid_db}"
- RELEASE "$vid_db"
- else
- return 1
- fi
-}
-
-UPLOAD(){
- local file="$1"
- local boundary line last
- local CONTENT_TYPE="$(HEADER Content-Type)"
-
- [ ! "${CONTENT_TYPE}" -o "${CONTENT_TYPE##multipart/form-data;*}" ] && return 1
-
- boundary="${CONTENT_TYPE#*; boundary=}"
- boundary="${boundary%%;*}"
-
- head -c "$CONTENT_LENGTH" \
- | sed -nE '
- /^--'"${boundary}"'\r?$/!b;
- :A; n;
- /^\r?$/!bA;
- n;
- :FILE
- p; n;
- /^--'"${boundary}"'(--)?\r?$/!bFILE;
- :END
- $q; n; bEND;
- ' >"$file"
- truncate -s $(( $(stat -c %s -- "$file") -2 )) -- "$file"
-}