#!/usr/bin/env bash
#===============================================================================
#
# DIRECTORY:
# ---
#
# FILE:
# ./sms_plugin.sh
#
# USAGE:
# . sms_plugin.sh
# OR
# source sms_plugin.sh
#
#
# DESCRIPTION:
# SMS/iMessage plugin (library) to generate content with simple template engine.
#
# BUGS:
# ---
#
# TESTS:
# - shellcheck -s bash -e SC2034 ./sms_plugin.sh
# - shellcheck -s ksh -e SC2034 ./sms_plugin.sh
# - shellcheck -s dash -e SC2034 ./sms_plugin.sh
#
# AUTHOR:
# Patrick Neumann, patrick@neumannsland.de
#
# COAUTHOR(S):
# Odin Heitmann, odin.heitmann@gmail.com
#
# COMPANY:
# (privately)
#
# VERSION:
# 1.0
#
# LINK TO THE MOST CURRENT VERSION:
# (Sorry, we bet, I'm not allowed to publish it over GitHub!)
#
# CREATED:
# 2018-06-01
#
# COPYRIGHT (C):
# 2018 - Patrick Neumann & Odin Heitmann
#
# LICENSE:
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# WARRANTY:
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see sms.db not found
"
error "sms.db not found"
readonly SMS_LIST="
${SMS_SQLITE/${IOS_BACKUP}/\/private\/var}
"
# * -> Don't forget to copy write ahead log!
${BIN_CP} "${SMS_SQLITE}"* "${FOLDER}/"
readonly SMS_LIST="$( ${BIN_SQLITE3} -html "${FOLDER}/sms.db" \
"SELECT
m.ROWID,
m.text,
m.service,
DATETIME(m.date+978307200, 'unixepoch'),
REPLACE (m.account, 'p:', ''),
CASE WHEN m.is_from_me=0 THEN '<-' ELSE '->' END,
h.id
FROM
message AS m, handle AS h
WHERE
m.handle_id=h.ROWID;" )"
fi
if [ "${DEBUG}" = "on" ] ; then
${BIN_PRINTF} "INFO: sms_plugin processed.\\n" 1>&2
fi
}
#-------------------------------------------------------------------------------
# Partial template for hardware information for the simple template engine.
#-------------------------------------------------------------------------------
# SC2034: all "unused" vars are verified!
SMS_INFORMATION=$( ${BIN_CAT} <<'EOF'
ID | Text | Service | Date | Me | Direction | Other |
---|