Talk:Crontab Manager

From SME Server
Revision as of 21:09, 19 June 2014 by Stephdl (talk | contribs) (Created page with "==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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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">

  1. !/bin/bash
  2. Script to convert SME server panel to UTF-8
  3. original author yythoss walter.thoss@swt-online.de
  4. last auhtor : Jean-Philippe Pialasse aka Unnilennium tests@pialasse.com
  5. licence GPL
  6. History
  7. 2008-06-07
  8. - added check with iconv to allow to run script as often as you need
  9. - added incremental backup of the locals
  1. charset UTF-8

to=$(echo "UTF-8" | tr 'upper:' 'lower:')

  1. 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

}

  1. save before running

number=$(( $(ls -1 locale*.tgz | wc -l) + 1 )) tar czf locale$number.tgz /etc/e-smith/locale/*

  1. search for files ine mains languages (we skipped the link)
  2. 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