Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 4f7b5416

Von Wulf vor fast 13 Jahren hinzugefügt

f-tex template changes

remove setup.sh
add NOFORMAT to total, paid, invtotal
add tempfile (old tabelle.tex) to tmpfile-mechanism
(@sven, fuer Konsistenz eventuell tmpfile -> meta_template.tmpfile)
add balance_sheet.html, income_statement.html from Default for consistence

Unterschiede anzeigen:

templates/print/f-tex/balance_sheet.html
1

  
2
<body bgcolor=ffffff>
3

  
4
<h2 align=center>
5
<%company%>
6
<br><%address%>
7

  
8
<p>BALANCE SHEET
9
<br><%period%>
10
</h2>
11

  
12
<table border=0>
13
<tr>
14
  <th align=left width=400 colspan=2>ASSETS<br><hr align=left width=250 size=5 noshade></th>
15
  <th><%this_period%></th>
16
  <th><%last_period%></th>
17
</tr>
18

  
19
<%foreach asset_account%>
20
<tr>
21
  <td> </td>
22
  <td><%asset_account%></td>
23
  <td align=right><%asset_this_period%></td>
24
  <td align=right><%asset_last_period%></td>
25
</tr>
26
<%end asset_account%>
27

  
28
<tr>
29
  <td colspan=2> </td>
30
  <td><hr noshade size=1></td>
31
  <td><hr noshade size=1></td>
32
</tr>
33

  
34
<tr valign=top>
35
  <th align=left colspan=2>TOTAL ASSETS</th>
36
  <td align=right><%total_assets_this_period%><hr noshade size=2></td>
37
  <td align=right><%total_assets_last_period%><hr noshade size=2></td>
38
</tr>
39

  
40
<tr>
41
  <th align=left colspan=4>LIABILITIES<b><hr align=left width=250 size=5 noshade></th>
42
</tr>
43

  
44
<%foreach liability_account%>
45
<tr>
46
  <td></td>
47
  <td><%liability_account%></td>
48
  <td align=right><%liability_this_period%></td>
49
  <td align=right><%liability_last_period%></td>
50
</tr>
51
<%end liability_account%>
52

  
53
<tr>
54
  <td colspan=2> </td>
55
  <td><hr noshade size=1></td>
56
  <td><hr noshade size=1></td>
57
</tr>
58

  
59
<tr valign=top>
60
  <td></td>
61
  <th align=left>Total Liabilities</th>
62
  <td align=right><%total_liabilities_this_period%><br><hr noshade size=2</td>
63
  <td align=right><%total_liabilities_last_period%><br><hr noshade size=2</td>
64
</tr>
65

  
66
<tr>
67
  <th align=left colspan=4>SHAREHOLDER'S EQUITY<br><hr align=left width=250 size=5 noshade></th>
68
</tr>
69

  
70
<%foreach equity_account%>
71
<tr>
72
  <td></td>
73
  <td><%equity_account%></td>
74
  <td align=right><%equity_this_period%></td>
75
  <td align=right><%equity_last_period%></td>
76
</tr>
77
<%end equity_account%>
78

  
79
<tr>
80
  <td colspan=2> </td>
81
  <td><hr noshade size=1></td>
82
  <td><hr noshade size=1></td>
83
</tr>
84

  
85
<tr valign=top>
86
  <td></td>
87
  <th align=left>Total Equity</th>
88
  <td align=right><%total_equity_this_period%><br><hr noshade size=2</td>
89
  <td align=right><%total_equity_last_period%><br><hr noshade size=2</td>
90
</tr>
91

  
92
<tr valign=top>
93
  <th align=left colspan=2>TOTAL LIABILITIES & EQUITY</th>
94
  <td align=right><%total_this_period%><br><hr noshade size=2></td>
95
  <td align=right><%total_last_period%><br><hr noshade size=2></td>
96
</tr>
97
</table>
98

  
99

  
100

  
templates/print/f-tex/default.tex
103 103
\newcommand{\transdate}{<%transdate%>}                     % Lieferscheindatum
104 104
\newcommand{\terms}{<%terms%>}                             % Zahlungsfrist
105 105
\newcommand{\duedate}{<%duedate%>}                         % Fälligkeitsdatum
106
\newcommand{\invtotal}{<%invtotal%>}                       % Gesamtbetrag
107
\newcommand{\paid}{<%paid%>}                               % Schon bezahlt
108
\newcommand{\total}{<%total%>}                             % Restbetrag
109
\newcommand{\subtotal}{<%subtotal NOFORMAT%>}                       % Restbetrag
106
\newcommand{\invtotal}{<%invtotal NOFORMAT%>}              % Gesamtbetrag
107
\newcommand{\paid}{<%paid NOFORMAT%>}                      % Schon bezahlt
108
\newcommand{\total}{<%total NOFORMAT%>}                    % Restbetrag
109
\newcommand{\subtotal}{<%subtotal NOFORMAT%>}              % Restbetrag
110 110
\newcommand{\paymentterms}{<%payment_terms%>}              % Zahlungsbedingungen
111 111
\newcommand{\paymentPrivatEnd}{E}                          % Endung bei Privatkunden
112 112
\newcommand{\paymenttype}{<%payment_description%>}         % name der Zahlungs-art - fuer Steuerung brutto/netto
......
357 357
%======Die eigentliche-Tabelle========================================
358 358

  
359 359
% temporaere Datei mit Tabelle anlegen
360
\begin{filecontents}{tabelle.tex}
360
\begin{filecontents}{<%tmpfile%>.table.tex}
361 361
\mainfont
362 362
\resetlaufsumme
363 363

  
......
489 489
  }
490 490
\end{filecontents}  % Ende der Hilfsdatei.
491 491

  
492
\LTXtable{\textwidth}{tabelle.tex}
492
\LTXtable{\textwidth}{<%tmpfile%>.table.tex}
493 493

  
494 494
\rule{\textwidth}{0pt}   % Ein (unsichtbarer) Strich quer ueber die Seite
495 495
\vspace{ 5mm}
templates/print/f-tex/income_statement.html
1

  
2
<body bgcolor=ffffff>
3

  
4
<h2 align=center>
5
<%company%>
6
<br><%address%>
7

  
8
<p>INCOME STATEMENT
9
<br><%period%>
10
</h2>
11

  
12

  
13
<table width=100% border=0>
14
<tr>
15
  <th width=400 align=left colspan=2>INCOME<br><hr width=300 size=5 align=left noshade></th>
16
  <th><%this_period%></th>
17
  <th><%last_period%></th>
18
</tr>
19

  
20
<%foreach income_account%>
21
<tr>
22
  <td width=4> </td>
23
  <td><%income_account%></td>
24
  <td align=right><%income_this_period%></td>
25
  <td align=right><%income_last_period%></td>
26
</tr>
27
<%end income_account%>
28

  
29
<tr>
30
  <td colspan=2> </td>
31
  <td><hr noshade size=1></td>
32
  <td><hr noshade size=1></td>
33
</tr>
34

  
35
<tr valign=top>
36
  <td> </td>
37
  <th align=left>Total Income</th>
38
  <td align=right><%total_income_this_period%><hr noshade size=2></td>
39
  <td align=right><%total_income_last_period%><hr noshade size=2></td>
40
</tr>
41

  
42
<tr>
43
  <th align=left colspan=2>EXPENSES<br><hr width=300 size=5 align=left noshade></th>
44
</tr>
45

  
46
<%foreach expense_account%>
47
<tr>
48
  <td> </td>
49
  <td><%expense_account%></td>
50
  <td align=right><%expenses_this_period%></td>
51
  <td align=right><%expenses_last_period%></td>
52
</tr>
53
<%end expense_account%>
54

  
55
<tr>
56
  <td colspan=2> </td>
57
  <td><hr noshade size=1></td>
58
  <td><hr noshade size=1></td>
59
</tr>
60

  
61
<tr valign=top>
62
  <td> </td>
63
  <th align=left>Total Expenses</th>
64
  <td align=right><%total_expenses_this_period%><br><hr noshade size=2</td>
65
  <td align=right><%total_expenses_last_period%><br><hr noshade size=2</td>
66
</tr>
67

  
68
<tr valign=top>
69
  <th align=left colspan=2>INCOME / (LOSS)</th>
70
  <td align=right><%total_this_period%><br><hr noshade size=2></td>
71
  <td align=right><%total_last_period%><br><hr noshade size=2></td>
72
</tr>
73

  
74
</table>
75

  
76

  
77

  
78

  
79

  
80

  
81

  
82

  
templates/print/f-tex/setup.sh
1
#!/bin/bash
2

  
3

  
4
# Setup script fuer die Nutzung der fancy-LaTeX Umgebung oder
5
# der Label-Print erweiterung (lp) in LX-Office-erp.
6
# Welches Setup ist von der Position innerhalb des Dateisystems abhaengig.
7
# Das Script kann auch nach erfolgtem Setup erneut aufgerufen werden
8

  
9
#   see  ./setup.sh -h
10

  
11

  
12

  
13

  
14

  
15
# Revision 0.2  (13.02.2011) add lp
16
#                            setup add determination of company data
17
# Revision 0.1  (19.12.2010) initial script create
18

  
19

  
20
# config
21

  
22
DB_AUTH='../../config/lx_office.conf'
23

  
24
FILE_LIST_FTEX='
25
   letter.tex
26
   sample.lco
27
   sample_head.pdf
28
   translations.tex
29
   xstring.sty
30
   zwischensumme.sty
31
'
32

  
33
FILE_LIST_LP='
34
   label_abs_a7_de.tex
35
   label_nn_brief_a4_de.tex
36
   zweckform_3427.tdf
37
   zweckform_3483.tdf
38
'
39

  
40

  
41
DOC_TYPE_FTEX='
42
   invoice
43
   proforma
44
   sales_quotation
45
   sales_order
46
   sales_delivery_order
47
   credit_note
48
   pick_list
49
   purchase_order
50
'
51

  
52

  
53
LXO_DETERMINE='
54
   ../../SL/Form.pm
55
   ../../config/lx_office.conf.default
56
   ../../doc/changelog
57
'
58

  
59
CHK_RAWNUMBER_PATCH='
60
   ../../SL/DO.pm
61
   ../../SL/IS.pm
62
   ../../SL/OE.pm
63
'
64

  
65
MY_DATA='
66
  employeecountry
67
  labelcompanyname
68
  labelbankname
69
  labelbankcode
70
  labelbankaccount
71
  MYfromname
72
  MYaddrsecrow
73
  MYrechtsform
74
  MYfromaddress
75
  MYfromphone
76
  MYfromfax
77
  MYfromemail
78
  MYsignature
79
  MYustid
80
  MYfrombank
81
'
82

  
83
BASE_DIR=`readlink -f $0 | sed 's/setup\.sh$//'`
84

  
85
MODUL=`basename ${BASE_DIR}`
86
export TEXINPUTS=".:${BASE_DIR}:"
87

  
88
OK='...... [ok]'
89
MARK='\033[1;34m'
90
UNMARK='\033[0m'
91
TIME=`date +%s`
92

  
93
USAGE="\n\n  setup LaTeX templates for lx-office erp (www.lx-office.org)
94
\n\n  USAGE: ./`basename $0` [OPTION] \n
95
\n
96
  -h print this Help\n
97
\n
98
\n
99
  OPTIONS for trouble shooting:\n\n
100
  -D don't connect to any database\n
101
  -C no colored output (don't use any terminal escape character)\n
102
\n\n
103
  RECOMMENDED USE ./setup.sh
104

  
105
\n
106
"
107

  
108
# script control
109

  
110
DATABASE=1
111

  
112
while getopts  "hDC" flag
113
do
114
  case $flag in
115
    h)
116
       echo -e ${USAGE}
117
       exit
118
       ;;
119
    D)
120
       DATABASE=0
121
       ;;
122
    C)
123
       NO_COLOR=1
124
       ;;
125
  esac
126
done
127

  
128
# Disclaim
129

  
130
cat << EOD
131

  
132
   ##########################################################################
133
   #                        Disclaimer                                      #
134
   ##########################################################################
135
   #                                                                        #
136
   # Dies ist ein Script zum Einrichten von LaTeX Templates                 #
137
   # (fancy-latex (f-tex)) oder (label-print (lp) fuer                      #
138
   #                                                                        #
139
   #      lx-office erp (www.lx-erp.org)                                    #
140
   #                                                                        #
141
   # Obwohl LX-Office sich an deutschsprachige Anwender richtet ist dieses  #
142
   # Script in Englisch und soll auch nicht uebersetzt werden.              #
143
   #                                                                        #
144
   # * es richtet sich an System-Administratoren                            #
145
   # * da es das Script nur in einer Sprache gibt, ist es viel leichter     #
146
   #   bei Fehlern und Fehlermeldungen aus dem Script selbst, im Internet   #
147
   #   nach Loesungen zu suchen.                                            #
148
   #                                                                        #
149
   ##########################################################################
150
   #                                                                        #
151
   # This script provides an easy to use setup for the fancy LaTeX          #
152
   # environment of lx-office erp (templates/f-tex)                         #
153
   #                                                                        #
154
   # Normal use is to run ./setup.sh without any parameter. You may also    #
155
   # check                                                                  #
156
   #   ./setup.sh -h                                                        #
157
   # for help.                                                              #
158
   #                                                                        #
159
   # The script tries to be as save as possible to avoid unwanted file      #
160
   # overwriting by being very interactive. It's designed to be invoked     #
161
   # multiple times inside the same template directory. So it is possible   #
162
   # to rerun the script if there are updates available or after you break  #
163
   # your LaTeX templates by any changes.                                   #
164
   #                                                                        #
165
   # I recommend to backup your installation and database before you run    #
166
   # this script.                                                           #
167
   #                                                                        #
168
   # ANYHOW: I do not take responsibility for any harm initiated by this    #
169
   #         script. (Wulf Coulmann -- scripts_at_gpl.coulmann.de)          #
170
   #                                                                        #
171
   ##########################################################################
172

  
173

  
174
EOD
175

  
176
QUESTION='  I understand the above warnings [YES/NO/Q]:'
177

  
178
echo -n "${QUESTION} "
179

  
180

  
181
[ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
182
read ANSWER
183
[ "${NO_COLOR}" = 1 ] || echo -ne "${UNMARK}"
184

  
185

  
186
until [ "${ANSWER}" = YES ]\
187
        || [ "${ANSWER}" = NO ] \
188
        || [ "${ANSWER}" = N ] \
189
        || [ "${ANSWER}" = n ] \
190
        || [ "${ANSWER}" = q ] \
191
        || [ "${ANSWER}" = Q ] ; do
192
   echo -n "${QUESTION} "
193
   [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
194
   read ANSWER
195
   [ "${NO_COLOR}" = 1 ] || echo -ne "${UNMARK}"
196
done
197

  
198
case ${ANSWER} in
199
  YES)
200
     echo -n '  accepted'
201
  ;;
202
  NO|n|N|q|Q)
203
     echo
204
     echo '  script aborted by user input'
205
     exit 72
206
  ;;
207
esac
208

  
209

  
210
FEEDBACK='################################\n  # FEEDBACK:\n
211
'
212

  
213

  
214
# load functions
215

  
216
function error {
217
  echo '[error]' ...... $1 ...... '[terminate script]'
218
  exit 72
219
}
220

  
221
function mark {
222
  [ "${NO_COLOR}" = 1 ] || echo -ne "${MARK}"
223
  echo -n "${1}"
224
  [ "${NO_COLOR}" = 1 ] || echo -ne "${UNMARK}"
225
}
226

  
227

  
228

  
229
function ask_yn {
230
  local QUESTION=$1
231
  until [ "${ANSWER}" = y ]\
232
          || [ "${ANSWER}" = Y ] \
233
          || [ "${ANSWER}" = j ] \
234
          || [ "${ANSWER}" = J ] \
235
          || [ "${ANSWER}" = n ] \
236
          || [ "${ANSWER}" = N ] \
237
          || [ "${ANSWER}" = Q ] \
238
          || [ "${ANSWER}" = q ] ; do
239
     echo -n "${QUESTION}"
240
     read ANSWER
241
  done
242

  
243
  case ${ANSWER} in
244
    y|Y|j|J)
245
       return
246
    ;;
247
    n|N)
248
       return
249
    ;;
250
    q|Q)
251
       [ "${NO_COLOR}" = 1 ] || echo -ne "${UNMARK}"
252
       echo
253
       echo '  script aborted by user input'
254
       exit 72
255
    ;;
256
  esac
257
}
258

  
259
function latex_pack_check {
260
  echo '  -> search LaTeX package '$1' '
261
  echo -n '    '
262
  if [ ! `kpsewhich ${1}.sty` ] ; then
263
    echo
264
    echo "  can't find package ${1}"
265
    echo "  on debian systems you may install apt-file"
266
    echo "     aptitude install apt-file"
267
    echo "     apt-file update"
268
    echo "     apt-file search ${1}.sty"
269
    echo "  this will show which package contains the needet LaTeX .sty file"
270
    echo "  on other systems, please refer to their documentation on how to "
271
    echo "  find matching packages."
272
    echo
273
    echo "  If you are done, rerun this script"
274
    echo " [unsatisfied dependencies]' ...... ${1} ...... [terminate script]"
275
    exit 72
276
  else
277
    echo \ \ ${OK}
278
  fi
279

  
280
}
281

  
282
function check_accepted_names {
283
  echo '  -> check for suspect characters in '${2}
284
  echo -n ${1} | egrep '[^-_\.!A-Za-z0-9]' && echo '  [suspect characters found] in ... '${2}' ... [terminate script]' && exit 72
285
}
286

  
287
function check_int {
288
  echo '  -> check for suspect characters in '${2}
289
  echo -n ${1} | egrep '[^0-9]' && echo '  [suspect characters found] in ... '${2}' ... [terminate script]' && exit 72
290
}
291

  
292
function create_file {
293
  ANSWER=0
294
  if [ "${1}" = ln  ] ;then
295
    DO=1
296
    echo -n '  -> try to create symbolic link '${3}
297
    if [ -e "${3}" ] ; then
298
      if [ -L "${3}" ] ; then
299
         if [ "`ls -l ${3} | awk '{print $10}'`" = "${2}" ]; then
300
           echo ' ...  symbolic link already exists, nothing to do!'
301
           DO=0
302
         else
303
           echo ' ...  symbolic link with different target exist!'
304
           ls -lah "${3}"
305
           echo '  you may'
306
           echo '      [d] delete and replace the current link'
307
           echo '      [m] move current link to '${3}.${TIME}.old
308
           echo '      [s] skip -- leave it as it is'
309
           echo '      [q] abort setup.sh'
310
           QUESTION='  what do do? [d/m/s/q]: '
311
           echo  -en ${QUESTION}
312
           [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
313
           read ANSWER
314
           [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
315
           until [ "${ANSWER}" = D ] \
316
                   || [ "${ANSWER}" = d ] \
317
                   || [ "${ANSWER}" = m ] \
318
                   || [ "${ANSWER}" = s ] \
319
                   || [ "${ANSWER}" = q ] ; do
320
              echo -n "${QUESTION}"
321
              read ANSWER
322
           done
323

  
324
           case ${ANSWER} in
325
             d)
326
                rm -f ${3}   || error ' unable to delete symbolic link '${3}
327
             ;;
328
             m)
329
                mv -f ${3} ${3}.${TIME}.old   || error ' unable to move symbolic link '${3}
330
             ;;
331
             s)
332
                echo '   as you decide, we leave it as it is!'
333
                DO=0
334
             ;;
335
             q)
336
                [ "${NO_COLOR}" = 1 ] || echo -ne "${UNMARK}"
337
                echo
338
                echo '  script aborted by user input'
339
                exit 72
340
             ;;
341
           esac
342
         fi
343
      else
344
        echo ' ...  file already exists where I tried to create a symbolic link!'
345
          ls -lah "${3}"
346
          echo '  you may'
347
          echo '      [S] show the file (exit file display with "q")'
348
          echo '      [m] move current file to '${3}.${TIME}.old
349
          echo '      [d] delete and replace the file with symbolic link'
350
          echo '      [s] skip -- leave it as it is'
351
          echo '      [q] abort setup.sh'
352
          QUESTION='what to do? [S/d/m/s/q]:'
353
          echo  -en "  ${QUESTION} "
354
          [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
355
          read ANSWER
356
          [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
357
          until [ "${ANSWER}" = S ] \
358
                  || [ "${ANSWER}" = d ] \
359
                  || [ "${ANSWER}" = m ] \
360
                  || [ "${ANSWER}" = s ] \
361
                  || [ "${ANSWER}" = q ] ; do
362
             echo -n "  ${QUESTION} "
363
             read ANSWER
364
          done
365

  
366
          case ${ANSWER} in
367
            S)
368
              echo
369
              echo
370
              less "${3}"
371
              echo
372
              echo
373
              create_file "${1}" "${2}" "${3}"
374
              return
375
            ;;
376
            m)
377
               mv -f ${3} ${3}.${TIME}.old   || error ' unable to move file '${3}
378
            ;;
379
            d)
380
               rm -f ${3}    || error ' unable to delete file '${3}
381
            ;;
382
            s)
383
               echo '   as you decide, we leave it as it is!'
384
               DO=0
385
            ;;
386
            q)
387
               [ "${NO_COLOR}" = 1 ] || echo -ne "${UNMARK}"
388
               echo
389
               echo '  script aborted by user input'
390
               exit 72
391
            ;;
392
          esac
393
      fi
394
    fi
395
    if [ "${DO}" = "1" ] ;then  ln -s "${2}" "${3}" || error ' failed to create symbolic link '${3} ; fi
396
    [ "${DO}" = "1" ] && echo \ \ ${OK}
397
  fi
398

  
399
  if [ "${1}" = cp  ] ;then
400
    echo -n '  -> try to copy file '${3}
401
       DO=1
402
    if [ -e "${3}" ] ; then
403
       echo ' ...  file already exists!'
404
       diff "${2}" "${3}" >/dev/null
405
       if [ "$?" = 0 ] ; then
406
         echo '   files are equal, we leave it as it is!'
407
         DO=0
408
       else
409
         ls -lah "${3}"
410
         echo '  you may'
411
         echo '      [D] show a diff between the new and current file'
412
         echo '      [m] move current file to '${3}.${TIME}.old
413
         echo '      [d] delete and replace with new file'
414
         echo '      [s] skip -- leave it as it is'
415
         echo '      [q] abort setup.sh'
416
         QUESTION='what to do? [D/m/d/s/q]:'
417
         echo  -en "  ${QUESTION} "
418
         [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
419
         read ANSWER
420
         [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
421
         until [ "${ANSWER}" = D ] \
422
                 || [ "${ANSWER}" = d ] \
423
                 || [ "${ANSWER}" = m ] \
424
                 || [ "${ANSWER}" = s ] \
425
                 || [ "${ANSWER}" = q ] ; do
426
            echo -n "  ${QUESTION} "
427
            read ANSWER
428
         done
429

  
430
         case ${ANSWER} in
431
           D)
432
             echo
433
             echo
434
             [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
435
             echo '---------------------------------------'
436
             [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
437
             diff -C 3  "${2}" "${3}"
438
             [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
439
             echo '---------------------------------------'
440
             [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
441
             echo
442
             echo
443
             create_file "${1}" "${2}" "${3}"
444
           ;;
445
           m)
446
              mv -f ${3} ${3}.${TIME}.old   || error ' unable to move file '${3}
447
           ;;
448
           d)
449
              rm -f ${3}    || error ' unable to delete file '${3}
450
           ;;
451
           s)
452
              echo '   as you decide, we leave it as it is!'
453
              DO=0
454
           ;;
455
           q)
456
              [ "${NO_COLOR}" = 1 ] || echo -ne "${UNMARK}"
457
              echo
458
              echo '  script aborted by user input'
459
              exit 72
460
           ;;
461
         esac
462
       fi
463
    fi
464
    if [ "${DO}" = "1" ] ;then  cp  "${2}" "${3}" || error ' failed to copy '${3} ; fi
465
    [ "${DO}" = "1" ] && echo \ \ ${OK}
466
  fi
467

  
468
}
469

  
470
function create_mydata {
471

  
472
  VALUE=${1}
473
  DB=${2}
474
  NODATA='  did not get a value corresponding to your template dir'
475

  
476
  SQL="
477
    SELECT regexp_replace( u1.cfg_value, E'\n' ,E'\\\\\\\\\\\\' || E'\n')
478
    FROM auth.user_config u1, auth.user_config u2
479
    WHERE u1.user_id = u2.user_id
480
      AND u1.cfg_key = '"${DB}"'
481
      AND u2.cfg_key = 'templates'
482
      AND u2.cfg_value = 'templates/"${TEMP_DIR}"'
483
   ORDER BY u1.cfg_value  DESC
484
   LIMIT 1;
485
  "
486
  case ${DB} in
487
    tel)
488
      PRE='Tel:'
489
      ;;
490
    fax)
491
      PRE='fax:'
492
      ;;
493
    co_ustid)
494
      if [ ! `psql --pset tuples_only -h "${PGHOST}" -U "${PGUSER}" "${PGDATABASE}" -c "${SQL}"`"" ] ; then
495
        SQL="
496
          SELECT regexp_replace( u1.cfg_value, E'\n' ,E'\\\\\\\\\\\\' || E'\n')
497
          FROM auth.user_config u1, auth.user_config u2
498
          WHERE u1.user_id = u2.user_id
499
            AND u1.cfg_key = 'taxnumber'
500
            AND u2.cfg_key = 'templates'
501
            AND u2.cfg_value = 'templates/"${TEMP_DIR}"'
502
         ORDER BY u1.cfg_value  DESC
503
         LIMIT 1;
504
        "
505
        PRE='StNr.:'
506
      else
507
        PRE='UstIdNr:'
508
      fi
509
      ;;
510
    *)
511
      PRE=''
512
      ;;
513
    esac
514

  
515

  
516

  
517
  if [ "${2}" ] ; then
518
    ANSWER=`psql --pset tuples_only -h "${PGHOST}" -U "${PGUSER}" "${PGDATABASE}" -c "${SQL}"`  || error "unable to connect to auth db"
519
    if [ ! "${VALUE}" ] ; then
520
      echo '  please fix this later'
521
      ANSWER=FIX_ME
522
    else
523
      echo '  found: '${ANSWER}
524
    fi
525
  else
526
    if [ ! "${2}" ]  && [ ${1} = "employeecountry" ] ; then
527
      read ANSWER
528
    else
529
      echo '  please fix this later'
530
      ANSWER=FIX_ME
531
    fi
532
  fi
533

  
534
  echo -e "\0134"'newcommand{'"\0134"${VALUE}'}{'${PRE}${ANSWER}'}' >> mydata.tex
535

  
536
}
537

  
538
function read_db_conf {
539

  
540
  perl -e 'use Config::Std;
541
           read_config "'${DB_AUTH}'.default" => my %config_default;
542
           my $val_default = $config_default{"authentication/database"}{'${1}'};
543
           read_config "'${DB_AUTH}'" => %config;
544
           my $val =  $config{"authentication/database"}{'${1}'} if $config{"authentication/database"}{'${1}'};
545
           if ( $val ) {
546
              print $val;
547
           }else{
548
              print $val_default;
549
           }'
550

  
551
}
552

  
553

  
554

  
555

  
556

  
557
# check for dependencies
558
echo  -n '  -> search kpsewhich '
559
  which kpsewhich >/dev/null
560
  [ "$?" = 0 ] || error 'unable find programm "kpsewhich" -- is there a propper installed LaTeX? (on debian: aptitude install texlive-base-bin)'
561
  echo \ \ ${OK}
562

  
563
if [ "${MODUL}" = "f-tex" ] ; then
564
  echo '  -> search LaTeX documentclass scrlttr2'
565
  echo -n '    '
566
  if [ ! `kpsewhich scrlttr2.cls` ] ; then
567
    echo
568
    echo "  can't find documentclass scrlttr2"
569
    echo "  on debian systems you may install it by"
570
    echo "     aptitude install texlive-latex-recommended"
571
    echo "  on other systems, please refer to their documentation how to find"
572
    echo "  matching packages."
573
    echo
574
    echo "  If you are done, rerun this script"
575
    echo " [unsatisfied dependencies]' ...... documentclass scrlttr2 ...... [terminate script]"
576
    exit 72
577
  else
578
    echo \ \ ${OK}
579
  fi
580
elif [ "${MODUL}" = "lp" ] ; then
581
  echo '  -> search LaTeX package ticket and check vor needed version '
582
  echo -n '    '
583
  HOLD_TEXINPUTS=${TEXINPUTS}
584
  export TEXINPUTS=''
585
  if [ `kpsewhich ticket.sty` ] ; then
586
    grep rowmode `kpsewhich ticket.sty` > /dev/null
587
    if [ "$?" -gt "0" ] ;then
588
      FILE_LIST_LP=${FILE_LIST_LP}" ticket.sty"
589
      echo \ \ "your version of LaTeX Package ticket does not support rowmode - we use our own ticket.sty"
590
      echo \ \ \ \ \ \ "ticket.sty supports option rowmode from version v0.4b"
591
      echo \ \ \ \ \ \ ${OK}
592
    fi
593
  else
594
      FILE_LIST_LP=${FILE_LIST_LP}" ticket.sty"
595
      echo \ \ "can't find LaTeX Package ticket, but we use our own ticket.sty because we need version => v0.4b"
596
      echo \ \ \ \ \ \ "ticket.sty supports option rowmode from version v0.4b"
597
      echo \ \ \ \ \ \ ${OK}
598
  fi
599
  export TEXINPUTS=${HOLD_TEXINPUTS}
600
else
601
  error  "no valid install modul - is the install script inside ~/templates/f-tex or ~/templates/lp ?"
602
fi
603

  
604
for PACK in `grep usepackage ${BASE_DIR}/*.tex ${BASE_DIR}/*.sty ${BASE_DIR}/*.lco |awk -F '{' '{print $2}'|awk -F '}' '{print $1}'| sort | uniq`; do
605
   latex_pack_check ${PACK}
606
done
607

  
608

  
609
# decide the installation target (template directory)
610
echo -n '  -> cd to base directory: '${BASE_DIR}' '
611

  
612
  cd ${BASE_DIR} || error  "unable to change directory"
613
  echo \ \ ${OK}
614

  
615

  
616

  
617
echo '  -> check if we are inside an lxo installation'
618

  
619
if [ ! -e ../../SL/Form.pm ] ; then
620

  
621
  dpkg -l | grep lx-office-erp | egrep '^ii'
622
  if [ "$?" = 0 ] ; then
623
    echo '   seams like this is a Debian-package'
624
    DB_AUTH='/etc/lx-office-erp/lx_office.conf'
625

  
626
    LXO_DETERMINE='
627
       /usr/lib/lx-office-erp/SL/Form.pm
628
       /etc/lx-office-erp/lx_office.conf.default
629
       /usr/share/doc/lx-office-erp/changelog
630
    '
631

  
632
    CHK_RAWNUMBER_PATCH='
633
       /usr/lib/lx-office-erp/SL/DO.pm
634
       /usr/lib/lx-office-erp/SL/IS.pm
635
       /usr/lib/lx-office-erp/SL/OE.pm
636
    '
637

  
638
  fi
639

  
640
fi
641

  
642
for now in ${LXO_DETERMINE} ; do
643
  [ -e ${now} ] || error 'missing '${now}', do not run this script outside an lx-office installation!. Is setup.sh located inside an lxo installation in templates/'${MODUL}'?'
644
done
645
echo \ \ ${OK}
646

  
647
if [ "${MODUL}" = "f-tex" ] ; then
648
  echo   '  -> search raw numbers patch '
649
     RAW_NUM=`egrep -oh '\{[^{]*_nofmt\}' ${CHK_RAWNUMBER_PATCH} |wc -l`
650

  
651
     if [ "${RAW_NUM}" -lt 20 ] ; then
652
       echo '  did not find the raw_number values'
653
       echo
654
       egrep -oh '\{[^{]*_nofmt\}' ${CHK_RAWNUMBER_PATCH}
655
       echo '  seems like you added fancy LaTeX separate and needed raw_number values are missing'
656
       echo '  this is already part of the dev-source code.'
657
       echo '  please use this script in the environment you got it from'
658
       error 'missing raw_number values'
659
     fi
660
    echo \ \ ${OK}
661
fi
662

  
663

  
664
if [ ${DATABASE} = 1 ] ; then
665

  
666
  echo  '  -> request Auth-DB '
667
    [ -r ${DB_AUTH} ] || [ -r ${DB_AUTH}.default ]  || error "unable to read ${DB_AUTH} or ${DB_AUTH}.default -- you must be able to read db credentials"
668

  
669
    export PGDATABASE=`read_db_conf db`
670
    check_accepted_names ${PGDATABASE} database_name
671
    export PGPASSWORD=`read_db_conf password`
672
    check_accepted_names ${PGPASSWORD} database_pw
673
    export PGUSER=`read_db_conf user`
674
    check_accepted_names ${PGUSER} database_user
675
    export PGPORT=`read_db_conf port`
676
    [ "${#PGPORT}" -lt 1 ] && PGPORT=5432
677
    check_int ${PGPORT} database_port
678
    export PGHOST=`read_db_conf host`
679
    [ "${#PGHOST}" -lt 1 ] && PGHOST=localhost
680
    check_accepted_names ${PGHOST} database_host
681

  
682
    SQL="
683
         SELECT
684
           substring(cfg_value from E'[^/]*$') as template_dir
685
         FROM auth.user_config
686
         WHERE cfg_key = 'templates'
687
         GROUP BY cfg_value ;
688
    "
689

  
690

  
691
  echo  '  -> search active template dirs '
692
  echo
693
  [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
694

  
695
    psql --pset tuples_only -h "${PGHOST}" -U "${PGUSER}" "${PGDATABASE}" -c "${SQL}"  || error "unable to connect to auth db"
696

  
697
  [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
698
  echo  '  I found the above listed template directorys in '`mark '[lxo-home]/templates'`' by requesting your user configuration.'
699
  echo  '  in database '`mark "${PGDATABASE}"`'.'
700
fi
701

  
702
echo  '  Type in which template directory to use (by typing in a name)'
703
echo  '  * if template_dir does not exist, it will be created'
704
echo  '  * template_dir must also be configured in your user administration'
705
echo  '    to make it active.'
706
echo
707
echo  -en '  type name of template dirctory: '
708
[ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
709
read TEMP_DIR
710
[ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
711

  
712

  
713
[ "${#TEMP_DIR}" -gt 0 ] || error 'no value for template dir provided '
714

  
715

  
716
if [ -d "../${TEMP_DIR}" ] ; then
717
  MV_DIR=${TEMP_DIR}.${TIME}.old
718
  echo
719
  [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
720
  ls -lah ../${TEMP_DIR}
721
  [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
722
  echo
723
  echo '  the directory already exists and contains the above listed files'
724
  echo '  you can:'
725
  echo -e '    - move the directory to '`mark "templates/${MV_DIR}"`' and create a empty one, or'
726
  echo '    - install the templates in the existing directory by interactive overwriting existing files'
727
  echo
728
  ask_yn '  move templates/'${TEMP_DIR}' to templates/'${MV_DIR}'? [y/n/q]: '
729

  
730

  
731

  
732
  if [ "${ANSWER}" = y ] ; then
733
     echo  '  -> check for permission to move template directory '
734
     mv -i ../${TEMP_DIR} ../${MV_DIR} || error "unable to move directory "
735
     echo -n '  -> original directory moved to '${MV_DIR}
736
     echo \ \ ${OK}
737
  fi
738
  if [ "${ANSWER}" = n ] ; then
739
     echo  '  -> check for permission to write in template directory [lxo-home]/templates/'${TEMP_DIR}
740
     [ -w ../${TEMP_DIR} ] || error "no permission to write directory "
741
     echo \ \ ${OK}
742
  fi
743
  ANSWER=0
744
fi
745

  
746

  
747
if [ ! -d "../${TEMP_DIR}" ] ; then
748
  echo -n '  -> check for permission to create new template directory '
749
      mkdir "../"${TEMP_DIR} || error "unable to write to `echo ${PWD} | sed 's/\/'${MODUL}'$//'` -- you must be able to write in ~/templates "
750
  echo \ \ ${OK}
751
  echo -n '  -> '${TEMP_DIR}' created'
752
  echo \ \ ${OK}
753
fi
754

  
755
echo -n '  -> cd to template directory: '${TEMP_DIR}' '
756

  
757
  cd ../${TEMP_DIR} || error  "unable to change directory"
758
  echo \ \ ${OK}
759
pwd
760

  
761

  
762
if [ -e mydata.tex ] ;then
763
  echo '  -> check mydata.tex'
764
    grep koma ./mydata.tex && FEEDBACK=${FEEDBACK}'   # looks like a DEPRECATED mydata.tex -- please compare to f-tex/mydata.tex.example  \n'
765
  for now in ${MY_DATA} ; do
766
    grep ${now} ./mydata.tex || FEEDBACK=${FEEDBACK}'   # missing '${now}' in mydata.tex -- please compare to f-tex/mydata.tex.example  \n'
767
  done
768

  
769
  echo -e  \ \ "your current mydata.tex looks like"
770
  [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
771
  cat mydata.tex
772
  [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
773

  
774
else
775
  if [ ${DATABASE} = 1 ] ; then
776
    # mydata voodooo goes here
777
    SQL="
778
      SELECT
779
       u1.cfg_value as company,
780
       u2.cfg_value as address,
781
       u3.cfg_value as tel,
782
       u4.cfg_value as fax,
783
       u5.cfg_value as texnumber,
784
       u6.cfg_value as co_ustid
785
     FROM
786
       auth.user_config u1,
787
       auth.user_config u2,
788
       auth.user_config u3,
789
       auth.user_config u4,
790
       auth.user_config u5,
791
       auth.user_config u6
792
     WHERE
793
       u1.user_id = u2.user_id  and
794
       u2.user_id = u3.user_id and
795
       u3.user_id = u4.user_id and
796
       u4.user_id = u5.user_id and
797
       u5.user_id = u6.user_id and
798
       u1.cfg_key = 'company' and
799
       u2.cfg_key = 'address' and
800
       u3.cfg_key = 'tel' and
801
       u4.cfg_key = 'fax' and
802
       u5.cfg_key = 'taxnumber' and
803
       u6.cfg_key = 'co_ustid'
804
     GROUP BY
805
       u1.cfg_value,
806
       u2.cfg_value,
807
       u3.cfg_value,
808
       u4.cfg_value,
809
       u5.cfg_value,
810
       u6.cfg_value
811
     ORDER BY
812
       company;
813
    "
814
#    [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
815
#
816
#      psql -h "${PGHOST}" -U "${PGUSER}" "${PGDATABASE}" -c "${SQL}"  || error "unable to connect to auth db"
817
#
818
#    [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
819
    echo  '  There is no mydata.tex, we try to create it'
820
    echo  '  please answer the following questions'
821
    echo -n '  - country your company is located eg:"Deutschland" : '
822
    create_mydata employeecountry
823
    echo  '  - owner of the bankaccount for label print'
824
    echo  '    used for "pay on delivery (Nachnahme)"'
825
    echo -n '    type ~ instead of blanks eg: "Herbert~Wichtig" : '
826
    create_mydata labelcompanyname
827
    echo  '  - name of the bank for label print'
828
    echo  '    used for "pay on delivery (Nachnahme)"'
829
    echo -n '    type ~ instad of blanks eg: "Ensifera~Bank" : '
830
    create_mydata labelbankname
831
    echo  '  - bank account number for label print'
832
    echo  '    used for "pay on delivery (Nachnahme)"'
833
    echo -n '    no blanks eg: "123456789" : '
834
    create_mydata labelbankcode
835
    echo  '  - bank code (BLZ) for label print'
836
    echo  '    used for "pay on delivery (Nachnahme)'
837
    echo -n '    no blanks eg: "10010010" : '
838
    create_mydata labelbankaccount
839
    echo  '  - company name for dokuments'
840
    echo  '    used for invoice, sales_quotation, etc.'
841
    echo -n '    eg: "Die globalen Problemlöser" : '
842
    create_mydata MYfromname company
843
    echo  '  - company name second row for documents'
844
    echo  '    used for invoice, sales_quotation, etc.'
845
    echo -n '    eg: "Gesellschaft für anderer Leute Sorgen mbH" : '
846
    create_mydata MYaddrsecrow
847
    echo  '  - legal form for documents'
848
    echo  '    used for invoice, sales_quotation, etc.'
849
    echo  '    eg: "Handelsregister: HRA 123456789" : '
850
    echo -n '    or: "Inhaber Herbert Wichtig" : '
851
    create_mydata MYrechtsform
852
    echo  '  - company address for documents'
853
    echo  '    used for invoice, sales_quotation, etc.'
854
    echo  '    multirow, type \\ as row dilimiter '
855
    echo -n '    eg: "Hauptstraße 5\\12345 Hier" : '
856
    create_mydata MYfromaddress address
857
    echo  '  - tel for documents'
858
    echo  '    used for invoice, sales_quotation, etc.'
859
    echo -n '    eg: "Tel: +49 (0)12 3456780" : '
860
    create_mydata MYfromphone tel
861
    echo  '  - fax for documents'
862
    echo  '    used for invoice, sales_quotation, etc.'
863
    echo -n '    eg: "Fax: +49 (0)12 3456781" : '
864
    create_mydata MYfromfax fax
865
    echo  '  - email for documents'
866
    echo  '    used for invoice, sales_quotation, etc.'
867
    echo -n '    eg: "mail@g-problemloeser.com" : '
868
    create_mydata MYfromemail
869
    echo  '  - signatur for documents'
870
    echo  '    used for invoice, sales_quotation, etc.'
871
    echo -n '    eg: "Herbert Wichtig - Geschäftsführer" : '
872
    create_mydata MYsignature
873
    echo  '  - tax number for documents'
874
    echo  '    used for invoice, sales_quotation, etc.'
875
    echo  '    it is common to use ustid but if you have none'
876
    echo  '    type in your main tax number'
877
    echo  '    eg: "UstID: DE 123 456 789" : '
878
    echo -n '    or: "StrNr: 12/345/6789" : '
879
    create_mydata MYustid co_ustid
880
    echo  '  - bank account for documents'
881
    echo  '    used for invoice, sales_quotation, etc.'
882
    echo  '    multirow, type \\ as row delimiter '
883
    echo -n '    eg: "Bankverbindung\\Ensifera Bank\\Kto 1234567800\\BLZ 123 456 78" : '
884
    create_mydata MYfrombank
885

  
886
     # damn escaping -- gnarf
887
     perl -pi -e 's/([^\$\{])\\/$1\\\\/g' mydata.tex
888
     perl -pi -e 's/([\&\%])/\\$1/g' mydata.tex
889
  else
890
    cp ../f-tex/mydata.tex.example mydata.tex
891
    FEEDBACK=${FEEDBACK}'   # I generate a mydata.tex please edit this file to match to your needs \n'
892
  fi
893
    FEEDBACK=${FEEDBACK}'   # I generate a mydata.tex please edit this file to match to your needs \n'
894
fi
895

  
896

  
897
if [ "${MODUL}" = "f-tex" ] ; then
898
  # search for installed languages
899
  if [ ${DATABASE} = 1 ] ; then
900
    SQL="
901
    SELECT
902
      u1.cfg_value || ';' ||
903
      u2.cfg_value || ';' ||
904
      u3.cfg_value || ';' ||
905
      u4.cfg_value || ';' ||
906
      u5.cfg_value
907
    FROM
908
      auth.user_config u1,
909
      auth.user_config u2,
910
      auth.user_config u3,
911
      auth.user_config u4,
912
      auth.user_config u5
913
    WHERE
914
      u1.user_id = u2.user_id  and
915
      u2.user_id = u3.user_id and
916
      u3.user_id = u4.user_id and
917
      u4.user_id = u5.user_id and
918
      u1.cfg_key = 'dbname' and
919
      u2.cfg_key = 'dbhost' and
920
      u3.cfg_key = 'dbport' and
921
      u4.cfg_key = 'dbuser' and
922
      u5.cfg_key = 'dbpasswd'
923
    GROUP BY
924
      u1.cfg_value,
925
      u2.cfg_value,
926
      u3.cfg_value,
927
      u4.cfg_value,
928
      u5.cfg_value;
929
    "
930

  
931
    echo  '  -> try to determine aktive languages ....'
932
    echo  '  -> search database '${PGDATABASE}' to find lxo-erp databases ....'
933

  
934
      DBS=`psql --pset tuples_only -h "${PGHOST}" -U "${PGUSER}" "${PGDATABASE}" -c "${SQL}"`  || error "unable to connect to auth db"
935

  
936
    for db in ${DBS} ; do
937

  
938
      PGDATABASE=`echo -n ${db} | awk -F ';' '{print $1}'`
939
      echo -e '  -> prepare to request db '`mark ${PGDATABASE}`
940
      check_accepted_names ${PGDATABASE} database_name
941
      PGHOST=`echo -n ${db} | awk -F ';' '{print $2}'`
942
      [ "${#PGHOST}" -lt 1 ] && PGHOST=localhost
943
      check_accepted_names ${PGHOST} database_host
944
      PGPORT=`echo -n ${db} | awk -F ';' '{print $3}'`
945
      [ "${#PGPORT}" -lt 1 ] && PGPORT=5432
946
      check_int ${PGPORT} database_port
947
      PGUSER=`echo -n ${db} | awk -F ';' '{print $4}'`
948
      check_accepted_names ${PGUSER} database_user
949
      PGPASSWORD=`echo -n ${db} | awk -F ';' '{print $5}'`
950
      check_accepted_names ${PGPASSWORD} database_pw
951
      DELCHECK=`echo -n ${db} | awk -F ';' '{print $6}'`
952
      [ "${#DELCHECK}" = 0 ] || error 'field delimiter conflict: there may be a ";" in one of your database definitions (db/host/port/user/pw)'
953
      SQL="SELECT template_code FROM language ;"
954
      echo \ \ ${OK}
955
      RES=`psql --pset tuples_only -h "${PGHOST}" -U "${PGUSER}" "${PGDATABASE}" -c "${SQL}"`  || error "unable to connect to db "${PGDATABASE}
956
      echo -e '  -> found '`mark "${RES}"`
957
      echo \ \ ${OK}
958
      LANGS=${LANGS}' '${RES}
959
    done
960

  
961
    LANGS=`echo ${LANGS} | sed 's/\ /\n/g'|sort | uniq`
962
    echo '  -> join language codes ...'
963
    echo
964
    echo
965
    [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
966
    echo -e '    '${LANGS}
967
    [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
968
    echo
969
    echo  '  I found the above listed language template_codes (see: System -> Languages -> List Languages)'
970
    echo  '  - you may add more template_codes by type in a [space] seperated list (e.g.: ru it fr)'
971
    echo  '  - or you may replace it with your own values by type in a [space] seperated list (e.g.: ru it fr)'
972
    ask_yn '  add template_codes? [y/n/q]: '
973

  
974
    if [ "${ANSWER}" = y ] ; then
975
       echo -n '  type [space] seperated template_code list to add to current values: '
976
       [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
977
       read TMP_CO
978
       [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
979
       echo -n '  list of template_codes is now: '
980
       LANGS=${LANGS}' '${TMP_CO}
981
       [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
982
       echo -e '    '${LANGS}
983
       [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
984
       echo \ \ ${OK}
985
    fi
986
    ANSWER=0
987

  
988
    ask_yn '  replace the current template_codes? [y/n/q]: '
989

  
990
    if [ "${ANSWER}" = y ] ; then
991
       echo -n '  type [space] seperated template_code list to replace current values: '
992
       [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
993
       read TMP_CO
994
       [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
995
       echo -n '  list of template_codes is now: '
996
       LANGS=${TMP_CO}
997
       [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
998
       echo -e '    '${LANGS}
999
       [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
1000
       echo \ \ ${OK}
1001
    fi
1002
    ANSWER=0
1003
  else
1004
     echo -n '  type [space] seperated template_code list (see: System -> Languages -> List Languages eg: de en fr): '
1005
     [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
1006
     read TMP_CO
1007
     [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
1008
     echo -n '  list of template_codes is now: '
1009
     LANGS=${TMP_CO}
1010
     [ "${NO_COLOR}" = 1 ] || echo -ne ${MARK}
1011
     echo -e '    '${LANGS}
1012
     [ "${NO_COLOR}" = 1 ] || echo -ne ${UNMARK}
1013
     echo \ \ ${OK}
1014
  fi
1015

  
1016
  echo
1017
  echo
1018
  echo -e '  your current language template_codes are: '`mark "${LANGS}"`
1019
  echo
1020
  echo
1021

  
1022
  # copy files and create links
1023

  
1024

  
1025

  
1026
  for now in ${FILE_LIST_FTEX} ; do
1027
    create_file cp ../f-tex/${now} ${now}
1028
  done
1029

  
1030
  for now in ${LANGS} ; do
1031
    echo -n '  -> check if language code '${now}' is present in translations.tex'
1032
    egrep '^[^%]*\\IfEndWith{\\docname}{_'${now}'}' translations.tex  > /dev/null
1033
    if [ "$?" -gt 0 ] ;then
1034
      HINT='  edit '${TEMP_DIR}'/translations.tex -- no representation of template_code '${now}
1035
      echo '  [warning] '${HINT}
1036
      FEEDBACK=${FEEDBACK}'   # '${HINT}'\n'
1037
    fi
1038
    echo \ \ ${OK}
1039
  done
1040

  
1041

  
1042
  for doc in ${DOC_TYPE_FTEX} ; do
1043
    create_file ln  ./letter.tex ./${doc}.tex
1044
    for now in ${LANGS} ; do
1045
      create_file ln ./letter.tex  ./${doc}_${now}.tex
1046
    done
1047
  done
1048

  
1049
  create_file ln  ./sample_head.pdf ./letter_head.pdf
1050
  create_file ln  ./sample.lco ./letter.lco
1051

  
1052
fi
1053

  
1054

  
1055

  
1056
if [ "${MODUL}" = "lp" ] ; then
1057

  
1058
  for now in ${FILE_LIST_LP} ; do
1059
    create_file cp ../lp/${now} ${now}
1060
  done
1061

  
1062
fi
1063

  
1064
echo
1065
echo
1066
echo -en ' '${FEEDBACK}
1067
echo -e ' ################################'
1068
echo
1069
echo '  If there are warnings listed in the feedback box above'
1070
echo '  this is totally ok if you know what you do'
1071
echo
1072
echo '  done -> enjoy'
1073
echo '  ### please check "settings" in '`pwd`'letter.lco '
1074

  
1075

  
1076
# company
1077
# address
1078
# co_ustid
1079
# email
1080
# taxnumber
1081
# tel
1082
# fax

Auch abrufbar als: Unified diff