resize-all-user-pics 943 Bytes
#!/bin/bash

if ! cd public/images/0000; then
  echo "
  Rode esse script na raiz do Noosfero para ele redimensionar as
  imagens dos usuarios.
  "
  exit 1
fi

echo "
  Ok! We are on $(pwd)
"

thumb='100x100'
portrait='64x64'
minor='50x50'
icon='20x20!'
lista='thumb
portrait
minor'
# Padrao: <nome>_<tamanho>.<ext>

for s in $lista icon; do
  echo "Deletando tamanho $s"
  find . -name "*_$s.*" | xargs -L 1 -I{} rm '{}'
done

find . -type f |
while read img; do
  for s in $lista; do
    sN=$( eval "echo \$$s" )
    echo "Criando tamanho $s ($sN) para $img"
    name=$( echo "$img" | sed 's/^\(.*\)\.[^\.]\+$/\1/' )
    ext=$( echo "$img" | sed 's/^.*\.\([^\.]\+\)$/\1/' )
    convert "$img" -resize $sN "${name}_${s}.$ext"
  done
  echo "Criando tamanho icon ($icon) para $img"
  convert -size $thumb xc:black -gravity Center \
          -draw "image over 0,0 0,0 '${name}_thumb.$ext'" \
          -resize $icon "${name}_icon.$ext"
done