|
|
@ -234,11 +234,25 @@ listEntries(){ |
|
|
|
vecho "listEntries $*" |
|
|
|
vecho "listEntries $*" |
|
|
|
cd "$dataDir" || return |
|
|
|
cd "$dataDir" || return |
|
|
|
local header="--header" |
|
|
|
local header="--header" |
|
|
|
[ "$1" = "--noheader" ] && header="" |
|
|
|
local typeorlist="" |
|
|
|
|
|
|
|
while [ "$#" -gt 0 ]; do |
|
|
|
|
|
|
|
case "$1" in |
|
|
|
|
|
|
|
--noheader) header="" ;; |
|
|
|
|
|
|
|
--normal) typeorlist+=" OR items.type = 'normal'" ;; |
|
|
|
|
|
|
|
--assets) typeorlist+=" OR items.type = 'assets'" ;; |
|
|
|
|
|
|
|
--links) typeorlist+=" OR items.type = 'links'" ;; |
|
|
|
|
|
|
|
*) die "invalid list option: '$1'." ;; |
|
|
|
|
|
|
|
esac |
|
|
|
|
|
|
|
shift |
|
|
|
|
|
|
|
done |
|
|
|
|
|
|
|
typeorlist="$(echo "$typeorlist" | sed 's/^ OR //')" |
|
|
|
|
|
|
|
[ -z "$typeorlist" ] && typeorlist="items.type = 'normal'" |
|
|
|
|
|
|
|
|
|
|
|
echo "SELECT items.id,items.filename,items.title,items.type, |
|
|
|
echo "SELECT items.id,items.filename,items.title,items.type, |
|
|
|
GROUP_CONCAT(tags.name,',') tags |
|
|
|
GROUP_CONCAT(tags.name,',') tags |
|
|
|
FROM items LEFT JOIN links ON items.id = links.itemID |
|
|
|
FROM items LEFT JOIN links ON items.id = links.itemID |
|
|
|
LEFT JOIN tags ON links.tagID = tags.id |
|
|
|
LEFT JOIN tags ON links.tagID = tags.id |
|
|
|
|
|
|
|
WHERE $typeorlist |
|
|
|
GROUP BY items.id;" | |
|
|
|
GROUP BY items.id;" | |
|
|
|
sqlite3 --column $header "${sqliteFile}" |
|
|
|
sqlite3 --column $header "${sqliteFile}" |
|
|
|
} |
|
|
|
} |
|
|
|