Conflicts: .htaccess config/config.php.template content-sample/index.md lib/Pico.phppico-3.0-alpha
commit
ddf3da0391
@ -0,0 +1,78 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
## |
||||||
|
# Updates the phpDoc list |
||||||
|
# |
||||||
|
# @author Daniel Rudolf |
||||||
|
# @link http://picocms.org |
||||||
|
# @license http://opensource.org/licenses/MIT |
||||||
|
# |
||||||
|
|
||||||
|
set -e |
||||||
|
|
||||||
|
# parameters |
||||||
|
LIST_FILE_PATH="$1" # target file path |
||||||
|
LIST_ID="$2" # phpDoc ID |
||||||
|
LIST_TYPE="$3" # phpDoc type |
||||||
|
LIST_TITLE="$4" # phpDoc title |
||||||
|
LIST_LAST_UPDATE="$5" # phpDoc last update |
||||||
|
|
||||||
|
# print parameters |
||||||
|
echo "Updating phpDoc list..." |
||||||
|
printf 'LIST_FILE_PATH="%s"\n' "$LIST_FILE_PATH" |
||||||
|
printf 'LIST_ID="%s"\n' "$LIST_ID" |
||||||
|
printf 'LIST_TYPE="%s"\n' "$LIST_TYPE" |
||||||
|
printf 'LIST_TITLE="%s"\n' "$LIST_TITLE" |
||||||
|
printf 'LIST_LAST_UPDATE="%s"\n' "$LIST_LAST_UPDATE" |
||||||
|
echo |
||||||
|
|
||||||
|
# create temporary file |
||||||
|
printf 'Creating temporary file...\n' |
||||||
|
LIST_TMP_FILE="$(mktemp)" |
||||||
|
[ -n "$LIST_TMP_FILE" ] || exit 1 |
||||||
|
|
||||||
|
exec 3> "$LIST_TMP_FILE" |
||||||
|
|
||||||
|
# walk through phpDoc list |
||||||
|
printf 'Walking through phpDoc list...\n' |
||||||
|
|
||||||
|
DO_REPLACE="no" |
||||||
|
DID_REPLACE="no" |
||||||
|
while IFS='' read -r LINE || [[ -n "$LINE" ]]; do |
||||||
|
if [ "$DO_REPLACE" == "yes" ]; then |
||||||
|
# skip lines until next entry is reached |
||||||
|
[ "${LINE:0:2}" == " " ] && continue |
||||||
|
DO_REPLACE="no" |
||||||
|
|
||||||
|
elif [ "$LINE" == "- id: $LIST_ID" ]; then |
||||||
|
# update existing entry |
||||||
|
printf 'Updating existing entry...\n' |
||||||
|
printf -- '- id: %s\n' "$LIST_ID" >&3 |
||||||
|
printf -- ' type: %s\n' "$LIST_TYPE" >&3 |
||||||
|
printf -- ' title: %s\n' "$LIST_TITLE" >&3 |
||||||
|
printf -- ' last_update: %s\n' "$LIST_LAST_UPDATE" >&3 |
||||||
|
|
||||||
|
DO_REPLACE="yes" |
||||||
|
DID_REPLACE="yes" |
||||||
|
continue |
||||||
|
fi |
||||||
|
|
||||||
|
echo "$LINE" >&3 |
||||||
|
done < "$LIST_FILE_PATH" |
||||||
|
|
||||||
|
# add new entry |
||||||
|
if [ "$DID_REPLACE" == "no" ]; then |
||||||
|
printf 'Adding new entry...\n' |
||||||
|
printf -- '- id: %s\n' "$LIST_ID" >&3 |
||||||
|
printf -- ' type: %s\n' "$LIST_TYPE" >&3 |
||||||
|
printf -- ' title: %s\n' "$LIST_TITLE" >&3 |
||||||
|
printf -- ' last_update: %s\n' "$LIST_LAST_UPDATE" >&3 |
||||||
|
fi |
||||||
|
|
||||||
|
exec 3>&- |
||||||
|
|
||||||
|
# move temporary file |
||||||
|
printf 'Replacing phpDoc list...\n' |
||||||
|
mv "$LIST_TMP_FILE" "$LIST_FILE_PATH" |
||||||
|
|
||||||
|
echo |
Loading…
Reference in new issue