Talk:Crontab Manager
Convert to UTF8
This contrib was developed with a non utf8 format to convert it safely after installation if you are unable to access to the server-manager panel, as root:
cd ~ wget http://smeserver.pialasse.com/fichiers/convert_utf-8.sh sh convert_utf-8.sh
The convert_utf-8.sh file contents are as below: <source lang="bash">
- !/bin/bash
- Script to convert SME server panel to UTF-8
- original author yythoss walter.thoss@swt-online.de
- last auhtor : Jean-Philippe Pialasse aka Unnilennium tests@pialasse.com
- licence GPL
- History
- 2008-06-07
- - added check with iconv to allow to run script as often as you need
- - added incremental backup of the locals
- charset UTF-8
to=$(echo "UTF-8" | tr 'upper:' 'lower:')
- function to convert
function code() {
count=0 for f in ${files[*]}; do count=$(( $count + 1))
# check if the file is explicitly declared to be in utf8
type="$(file "$f" | sed 's/^.*:\s\(UTF-8\|ASCII\)\s.*/\1/' | tr 'upper:' 'lower:')"
# check if the file is in utf8 => return an error if not in UTF8 converted="$(iconv -f UTF-8 -t UTF-8 --output=/dev/null $f 2>&1 )"
# if the file is declared to be utf8 do nothing
if [ "$type" = "$to" ]; then
echo -n "$count: $f is already $to! => done."
echo # if the file is already in utf8 do nothing elif [ "$converted" = "" ] ; then echo -n "$count: $f was already converted using this script $to! => nothing to do." echo # else you can do the job
else case $type in *iso-8859*) echo -n "$count: Recode now $f to $to!"
echo
iconv -f "ISO-8859-1" -t "$to" "$f" > "${f}.${to}" mv "${f}.${to}" "$f" $? = 0 && echo -n " => done." || echo -n " => failed." ;; *ascii*) echo -n "$count: Recode now $f to $to!"
echo
iconv -f "ascii" -t "$to" "$f" > "${f}.${to}" mv "${f}.${to}" "$f" $? = 0 && echo -n " => done." || echo -n " => failed." ;; *sgml*) echo -n "$count: Recode now $f to $to!"
echo
iconv -t "$to" "$f" > "${f}.${to}" mv "${f}.${to}" "$f" $? = 0 && echo -n " => done." || echo -n " => failed." ;; *)
echo -n "Format $type not supported!" ;; esac && echo
fi done
}
- save before running
number=$(( $(ls -1 locale*.tgz | wc -l) + 1 )) tar czf locale$number.tgz /etc/e-smith/locale/*
- search for files ine mains languages (we skipped the link)
- why not using this instead : ls -l /etc/e-smith/locale | grep -v '\->'|awk '{print $9}'|grep -v ^$
for lang in da de el en-us es fr hu id it nl pt_BR sl sv; do files=$(find "/etc/e-smith/locale/$lang/etc/e-smith/web/functions/" -iname "*" -type f -print) code done
echo -n "Create the new Server Manager Panel..." /etc/e-smith/events/actions/navigation-conf echo