Subversion Repositories dms

Compare Revisions

Ignore whitespace Rev 44 → Rev 45

/dms/doc/README
1,7 → 1,7
######################################################################
 
D.M.S. Document Management System
Version 1.02-13 (multidomain)
Version 1.02-14 (multidomain + efax input)
 
Authors: Guido Brugnara <gdo@leader.it>
 
9,7 → 9,7
(per la sola parte di conversione della vecchia
versione in linguaggio PHP)
Copyright (C) 2000-2002 Leader.IT S.r.l.
Copyright (C) 2000-2006 Leader.IT S.r.l.
http://www.leader.it/dms-doc
e-mail:dms@leader.it
 
236,7 → 236,43
sendfax ha identico nome come nel package mgetty+sendfax,
ma sono programmi differenti!
 
OPZIONALE:
 
*** Configurazione di efax per la ricezione
 
Per sopperire al problema introdotto ultimamente con le nuove linee digitali
che sembra creino problemi in ricezione con i modem Sportser US-Robotics è
ststo adattato efax per la ricezione in modo da poter settare la velocità di
ricezione a 4800bit/sec
 
Installare il pacchetto efax
apt-get install efax
 
Configurare i file /etc/efax.rc e /etc/inittab:
 
----------------------------------------- /etc/efax.rc
# esempio di configurazione sperimentata
DEV=modem
FROM="+39 461 ********"
NAME="Leader.IT Srl"
PAGE=a4
FCINIT='-j&H2' # USR (Courier, Sportster)
TELCVT='sed -e s/+39/0/ -e s/+/00/' # ITALY
CLASSINIT="-o1" # Class 1
TXCAP="-c 1,5,0,0,0,0,0,0"
RXCAP="-c 1,1,0,0,0,0,0,0" # 4800 bitrate
NOTIFY='/opt/dms/bin/new_efax "$f" "$REMID" $FILES'
ANSRINGS=1
----------------------------------------- /etc/inittab
mo:235:respawn:/bin/bash /usr/bin/fax answer
 
I fax provenienti da efax vengono instradati da "/opt/dms/bin/new_efax" che
provvede ad adattare il formato in modo che possa essere processato da
/opt/dms/bin/new_fax, come per "mgetty".
 
-----------------------------------------
 
 
OPZIONALE:
 
Installare sui PC Windows il programma "otu.exe" per l'apertura del browser
/dms/bin/faxspooler
164,9 → 164,10
if [ -f g4 ]
then
tiffcp -c g3 g4 g3
chown $DMS_USER.$DMS_GROUP g3
tiffsplit g3 ./
# conto le pagine
for X in $(echo ??.tif)
for X in $(echo ???.tif)
do
let pages=pages+1
done
177,7 → 178,7
echo -e "Ricerca:\nIcon: image/gif\n" >>$Doc
 
# generazione icona gif (con la prima pagina)
efix -v e -i tiffg3 -o pgm -r $DIM_ICON aa.tif | \
efix -v e -i tiffg3 -o pgm -r $DIM_ICON aaa.tif | \
ppmtogif -interlace >>$Doc 2>/dev/null
# trasferisco il nuovo documento in archivio
echo -e "\nDocument: image/tiff\n" >>$Doc
/dms/bin/faxlogmail
11,20 → 11,27
source $DMS_LIB/dms.lib
source $DMS_LIB/config-log
 
lockfile -10 -l60 $LOCK_DIR/faxqueue
if [ -f "$FAX_LOG" ]
if [ -z "$FAX_LOG_MAILTO" ]
then
echo "No FAX_LOG_MAILTO definition found in $DMS_LIB/config-log and $DMS_LIB/dms.lib"
exit 1
fi
 
# blocco in attesa; controllo ogni 10 sec e proseguo dopo 300
lockfile -10 -l300 $LOCK_DIR/faxqueue
if [ -f "$DMS_FAX_LOG" ]
then
DATE="$(date "+%d-%m-%Y_%H:%M:%S")"
(
echo ""
cat "$FAX_LOG"
cat "$DMS_FAX_LOG"
) | mail -s "Log Fax del $DATE" $FAX_LOG_MAILTO 1>/dev/null
mv $FAX_LOG "$FAX_LOG.$DATE"
echo -e "$DESCR_FAX_LOG" >$FAX_LOG
mv $DMS_FAX_LOG "$DMS_FAX_LOG.$DATE"
echo -e "$DESCR_FAX_LOG" >$DMS_FAX_LOG
else
echo -e "$DESCR_FAX_LOG" >$FAX_LOG
chmod 660 $FAX_LOG
chgrp $DMS_GROUP $FAX_LOG
echo -e "$DESCR_FAX_LOG" >$DMS_FAX_LOG
chmod 660 $DMS_FAX_LOG
chgrp $DMS_GROUP $DMS_FAX_LOG
fi
sleep 1
rm -f $LOCK_DIR/faxqueue
/dms/bin/multifax.filtro
12,6 → 12,7
source $DMS_LIB/dms.lib
 
DIR=/var/log/dmsfax/
[ ! -d "$DIR" ] && mkdir "$DIR"
FLOG=$DIR/multifax.log
FILE=$DIR/$$$RANDOM
cat >$FILE
/dms/bin/multifaxload
58,7 → 58,11
[ ! -f g4 ] && $DMS_BIN/image-tiff $FILE >g4
chmod 660 g4
# genero le immagini tiff G4
[ ! -f g3 ] && tiffcp -c g3 g4 g3
if [ ! -f g3 ]
then
tiffcp -c g3 g4 g3
chown $DMS_USER.$DMS_GROUP g3
fi
chgrp $DMS_GROUP *
 
Prefix="$(date +%s)ID$ID"
70,10 → 74,10
fi
cd $FilePrefix
tiffsplit $Dest/g3 $Prefix
for X in $(ls $Prefix??.tif 2>/dev/null)
for X in $(ls $Prefix???.tif 2>/dev/null)
do
file=${X%.tif}
# pref = aa ab ac ... ca cc cb ...
# pref = aaa aab aac ... caa cab cac ...
pref=${file#$Prefix}
if [ "$SH" = yes ]
then
/dms/bin/print-cmd
18,8 → 18,8
prr Documento (2 pagine per foglio)
pta Documento + dati
prs dati + 1° pagina
prm Documento + marcatura"
pag nn Singola pagina
prm Documento + marcatura
pag nn Singola pagina"
exit 0
fi
 
81,14 → 81,15
then
$DMS_BIN/image-tiff $DOC >$Dest/g4
fi
if [ ! -f $Dest/aaI.gif ]
if [ ! -f $Dest/aaaI.gif ]
then
if [ ! -f $Dest/aa.tif -o ! -f $Dest/aa.gif ]
if [ ! -f $Dest/aaa.tif -o ! -f $Dest/aaa.gif ]
then
tiffcp -c g3 $Dest/g4 $Dest/g3
chown $DMS_USER.$DMS_GROUP $Dest/g3
tiffsplit $Dest/g3 $Dest/
fi
for P in $(ls $Dest/??.tif 2>/dev/null)
for P in $(ls $Dest/???.tif 2>/dev/null)
do
nome="${P%%.tif}"
efix -v e -o pgm -r $DIM_ICON ${nome}.tif | \
99,7 → 100,7
 
if [ "$PAGE" != "" -a "$PAGE" != "all" ]
then
if [ ! -f $Dest/aa.tif ]
if [ ! -f $Dest/aaa.tif ]
then
tiffsplit $Dest/g3 $Dest/
fi
215,7 → 216,7
$DMS_BIN/records $FILE_DOC $DMS_LIB/tiff-header.txt >$Dest/data.txt
efix -v e -i text -o tiffg3 -s 1.5x2 -d -1,1 $Dest/data.txt >$Dest/data2
fi
tiffcp -c g4 $Dest/data2 $Dest/aa.tif $Dest/g4-s
tiffcp -c g4 $Dest/data2 $Dest/aaa.tif $Dest/g4-s
fi
### tiff2ps -a $Dest/g4-s | psnup -q -2 -b17 | lpr -P$PrinterName
case $TYPE in
267,20 → 268,21
eval $(lettura-dati -u <$DOC) 2>/dev/null
fmarcatura="$(cat $DMS_LIB/marcatura)"
# creazione singole pagine se non presenti in "cache"
if [ ! -f $Dest/aa.tif ]
if [ ! -f $Dest/aaa.tif ]
then
tiffcp -c g3 $Dest/g4 $Dest/g3
chown $DMS_USER.$DMS_GROUP $Dest/g3
tiffsplit $Dest/g3 $Dest/
fi
# creo le marcature su ogni pagina
pages=0
for P in $(ls $Dest/??.tif 2>/dev/null)
for P in $(ls $Dest/???.tif 2>/dev/null)
do
let pages=pages+1
done
LST=""
page=0
for P in $(ls $Dest/??.tif 2>/dev/null)
for P in $(ls $Dest/???.tif 2>/dev/null)
do
let page=page+1
eval marcatura=\""$fmarcatura"\"
330,6 → 332,13
;;
esac
;;
*)
echo "Manca il parametro con il tipo di stampa" >&2
chmod 660 $Dest/*
chgrp $DMS_GROUP $Dest/*
[ $LOCK = yes ] && rm -f $LOCK_FILE
exit 1
;;
esac
chmod 660 $Dest/*
chgrp $DMS_GROUP $Dest/*
/dms/bin/print-doc.pl
84,12 → 84,12
SYSTEM("$DMS_BIN/image-tiff $DMS_VAR/$Dir/$File.dcm >$Dest/g4");
}
 
unless (-e "$Dest/aaI.gif") {
unless (-e "$Dest/aaaI.gif" ) {
DEBUG "Creazione $Dest/g3";
SYSTEM("tiffcp -c g3 $Dest/g4 $Dest/g3 && tiffsplit $Dest/g3 $Dest/");
SYSTEM("tiffcp -c g3 $Dest/g4 $Dest/g3 && chown $DMS_USER.$DMS_GROUP $Dest/g3 && tiffsplit $Dest/g3 $Dest/");
opendir DIR, "$Dest"
or ERROR(qq(Impossibile aprire le directory "$Dest": $!));
foreach $nome ( grep /^..\.tif$/, readdir DIR) {
foreach $nome ( grep /^.{3}\.tif$/, readdir DIR) {
## Creazione icone
$nome =~ s/\.tif$//;
DEBUG "Creazione $Dest/${nome}I.gif";
/dms/bin/faxqueue
40,9 → 40,21
 
# forzo no debug anche se è attivo dal file di configurazione
DEBUG=""
if [ "$1" = "-d" ]
then
DEBUG="yes"
fi
[ -n "$DEBUG" ] && echo "$(date) sendfax ..."
! shlock -p $$ -f $LOCK_DIR/faxqueue && exit
 
#OLD ! $DMS_BIN/shlock -p $$ -f $LOCK_DIR/faxqueue && exit
# verifico che non ci sia in corso un'altra sessione di trasmissione fax
if ! lockfile -2 -r2 -s2 $LOCK_DIR/faxqueue 2>/dev/null
then
[ -n "$DEBUG" ] && echo "locked by file $LOCK_DIR/faxqueue"
exit 1
fi
[ -n "$DEBUG" ] && echo "no lock"
 
cd $FAX_PARTENZE
# prima i documenti piu' vecchi
for documento in $(ls -rt *.dcm 2>/dev/null)
58,7 → 70,8
fi
# lock del file da trattare, se occupato passo al successivo
LockFax=$LOCK_DIR/$ID.fax
if shlock -p $$ -f $LockFax
#OLD if $DMS_BIN/shlock -p $$ -f $LockFax
if lockfile -2 -r2 -s2 $LockFax
then
[ -n "$DEBUG" ] && echo "Locked"
trap "rm -f $LockFax $LOCK_DIR/faxqueue; exit 1" 1 2 3 15
125,10 → 138,12
if [ ! -f g3 ]
then
tiffcp -c g3 g4 g3
chown $DMS_USER.$DMS_GROUP g3
fi
if [ ! -f aa.tif ]
if [ ! -f aaa.tif ]
then
tiffsplit g3 ./
chown $DMS_USER.$DMS_GROUP ???.tif
fi
fi
#creazione intestazioni aggiornate
137,9 → 152,9
page=0
lista=""
fheader="$(cat $DMS_LIB/faxheader)"
## i file ??.tif sono generati da tiffsplit
## i file ???.tif sono generati da tiffsplit
## creo solo le pagine che non sono ancora state trasmesse
for j in $(ls ??.tif 2>/dev/null)
for j in $(ls ???.tif 2>/dev/null)
do
let page=page+1
[ -n "$DEBUG" ] && echo "intestazione pagina $page"
200,7 → 215,7
# invio via e-mail del fax in formato PDF
# ritardo l'invio a dopo in quanto creo il documento TIFF successivamente
# cambio i nomi ai file
for FAX in $(ls ?? 2>/dev/null)
for FAX in $(ls ??? 2>/dev/null)
do
mv $FAX $FAX.done
done
217,7 → 232,7
fi
else
# invio del documento via fax
su1 dms.sendfax "$RubrNUM" ??
/opt/dms/bin/su1 dms.sendfax "$RubrNUM" $TempDir/fax/*
# verifica risultato della trasmissione
stato=$?
[ -n "$DEBUG" ] && echo "stato trasmissione = $stato"
260,7 → 275,7
cd $TempDir
page=0
lista=""
for TIFF in $(ls ??.tif 2>/dev/null)
for TIFF in $(ls ???.tif 2>/dev/null)
do
let page=page+1
[ -n "$DEBUG" ] && echo "aggiornamento pagina $page"
371,7 → 386,7
if [ $stato = 0 ]
then
echo -e "\nIcon: image/gif\n"
cat $TempDir/aaI.gif
cat $TempDir/aaaI.gif
echo -e "\nDocument: image/tiff\n"
cat $TempDir/g4
else
386,7 → 401,7
if [ $stato = 0 ]
then
[ -n "$DEBUG" ] && echo "log ok"
echo -e "$CAMPI_FAX_LOG" >>$FAX_LOG
echo -e "$CAMPI_FAX_LOG" >>$DMS_FAX_LOG
echo "$(date) dms 0 \"$RubrNUM\" $ID \"$_Identificativo_Fax\"" >>$DMS_VAR/log/outgoing.log
# invio notifica solo se non ho inviato il file allegato in formato PDF
[ -n "$RubrMAIL" -a "$FAX_PDF" != "yes" ] && $DMS_BIN/records $documento $DMS_LIB/tiff-header.txt | \
414,8 → 429,8
[ -n "$DEBUG" ] && echo "sposto in cartella fax errori (tentativi=$TENTATIVI_FAX)"
mv -f $documento $FAX_ERRORI/
documento=$FAX_ERRORI/$documento
echo -e "$CAMPI_FAX_LOG" >>$FAX_LOG
echo "$(date) dms $stato \"$RubrNUM\" $ID \"$_Identificativo_Fax\"" >>$DMS_VAR/
echo -e "$CAMPI_FAX_LOG" >>$DMS_FAX_LOG
echo "$(date) dms $stato \"$RubrNUM\" $ID \"$_Identificativo_Fax\"" >>$DMS_VAR/log/outgoing.log
# aggiungo in faxlog.out il documento
lockfile -5 -l15 $DMS_VAR/lock/faxlog.out
[ -z "$Mittente" ] && Mittente="-"
/dms/bin/cache-cmd
62,12 → 62,12
find ./ -type f -name "*.delete" -printf "%A@ %h/%f\n" | sort | erase-list
 
[ "$(free-disk)" -gt "$DISK_FREE" ] && exit 0
# proseguo cancellando i file dalla cache verificando la data dal file aaI.gif
# proseguo cancellando i file dalla cache verificando la data dal file aaaI.gif
cd $CACHE_DIR
(
for DIR in $(ls -d [0123456789]* 2>/dev/null)
do
find $DIR -type f -name "aaI.gif" -printf "%A@ %h/%f\n"
find $DIR -type f -name "aaaI.gif" -printf "%A@ %h/%f\n"
done
) | sort | erase-dirs
 
/dms/bin/fax.filtro
13,7 → 13,9
source $DMS_LIB/dms.lib
 
DEBUG="yes"
FLOG=/var/log/dmsfax/dmsfax.log
DIR=/var/log/dmsfax
[ ! -d "$DIR" ] && mkdir "$DIR"
FLOG=$DIR/dmsfax.log
FILE=$DMS_TMP/filePS.$$.ps
TPS=$DMS_TMP/filePS.$$C.ps
cat >$FILE
/dms/bin/util/ricalcola_link.sh
1,6 → 1,6
#!/bin/bash
# ---------------------------------------------------------------------- #
# Copyright: (C) 2000-2002 Leader.IT S.r.l. <http://leader.it>
# Copyright: (C) 2000-2005 Leader.IT S.r.l. <http://leader.it>
# Authors: Guido Brugnara <gdo@leader.it>
#
# $Revision$
15,40 → 15,40
 
function filtra_link {
DMS_VAR=$1
while read -r PERM NODE USER GROUP DIM MONTH DAY HOUR FILE DIV LINK
while read -r DIR FILE LINK
do
 
## echo " filtro ($DMS_VAR) '$PERM' '$NODE' '$USER' '$GROUP' '$DIM' '$MONTH' '$DAY' '$HOUR' '$FILE' '$DIV' '$LINK"
## echo " filtro '$FILE' '$LINK'"
# separo nome da suffisso
nome=${FILE%%.*}
suff=${FILE##*.}
echo -n " link '$nome' '$suff' '$LINK'"
## echo " LINK dir='$DIR' nome='$nome'.'$suff' L='$LINK'"
if [ -z "${LINK##*/bin/*}" ]
then
echo -n "link cartelle bin"
echo -n "link bin"
NEWLINK=${LINK##*/bin/}
NEWLINK=$DMS_BIN/$NEWLINK
fi
if [ -z "${LINK##*/lib/*}" ]
then
echo -n " link cartelle lib"
echo -n " link lib"
NEWLINK=${LINK##*/lib/}
NEWLINK=$DMS_LIB/$NEWLINK
fi
if [ "$suff" = "dcm" ]
then
echo -n " link cartelle DATA"
vol=$(lib_id2volume $nome)
NEWLINK=$vol/$nome.dcm
echo -n " link data"
num="${nome##*_}"
vol=$(lib_id2volume $num)
NEWLINK=$vol/$num.dcm
fi
if [ "$NEWLINK" = "$LINK" ]
then
echo -n " no change"
else
echo -n " new '$NEWLINK'"
if rm $FILE
echo -n " new link -> '$NEWLINK'"
if rm $DIR/$FILE
then
ln -fs $NEWLINK $FILE
ln -fs $NEWLINK $DIR/$FILE
fi
fi
echo ""
55,15 → 55,15
done
}
 
 
cd $DMS_VAR/dms/ || exit 1
for dir in $(find $DMS_VAR/dms/ -type d)
for myDir in $(find $DMS_VAR/dms/ -type d)
do
echo "Direttorio $dir"
chmod 770 $dir
chown $DMS_USER.$DMS_GROUP $dir
( cd $dir
ls -lq | grep " -> " | filtra_link $DMS_VAR
echo "Direttorio $myDir"
chmod 770 $myDir
chown $DMS_USER.$DMS_GROUP $myDir
find $myDir -type l -printf "%h %f %l\n" | filtra_link $DMS_VAR
(
cd $myDir
chown $DMS_USER.$DMS_GROUP * 2>/dev/null
chmod 660 *.dcm *.gif *.htm* descr 2>/dev/null
chmod 770 *.pl 2>/dev/null
/dms/bin/new_fax
1,7 → 1,7
#!/bin/bash
#
# GDO new_fax
# richiamata da mgetty all'arrivo di un fax
# richiamata da mgetty o da /opt/dms/bin/efax all'arrivo di un fax
#
# $1 : hangup code
# $2 : remote id
8,6 → 8,8
# $3 : number of pages
# $4... : file names
#
# se usato da efax modificare il file /etc/efax.rc
# NOTIFY='/opt/dms/bin/new_efax "$REMID" $FILES <$f'
#
source /etc/dms.conf
source $DMS_LIB/dms.lib
59,15 → 61,15
fi
# non creo il documento e ignoro il documento se ho avuto solo:
# "Ring Detect without successful handshake"
[ $CODE = 1 -a $PAGES = 0 ] && exit 0
[ "$CODE" = 1 -a "$PAGES" = 0 ] && exit 0
# oppure se ID_FAX inesistente con pagine a zero
[ "$ID_FAX" = "" -a $PAGES = 0 ] && exit 0
[ "$ID_FAX" = "" -a "$PAGES" = 0 ] && exit 0
Data="$(date '+%d/%m/%Y %H:%M')"
# verifico se l'identificatore è già conosciuto
eval $($DMS_BIN/rubrica id "$ID_FAX")
[ -z "$RubrMAIL" -o "$RubrMAIL" = "-" ] && RubrMAIL="$MAILTO"
# se invece ho pagine=0 ma ho un identificatore FAX ...
if [ $PAGES = 0 ]
if [ "$PAGES" = 0 ]
then
ID="non assegnato"
RubrIN=""
162,20 → 164,20
chmod 660 g4
rm -f $$*.tif
tiffcp -c g3 g4 g3
chmod 660 g3
chown $DMS_USER.$DMS_GROUP g3
chmod 660 g3
tiffsplit g3 ./
chown $DMS_USER.$DMS_GROUP ??.tif
chmod 660 ??.tif
chmod 660 ???.tif
chown $DMS_USER.$DMS_GROUP ???.tif
# greazione icone
for P in $(ls ??.tif 2>/dev/null)
for P in $(ls ???.tif 2>/dev/null)
do
nome="${P%%.tif}"
efix -v e -o pgm -r $DIM_ICON ${nome}.tif | \
ppmtogif -map $DMS_LIB/grey16.map 2>/dev/null \
>${nome}I.gif
chmod 660 ${nome}I.gif
chown $DMS_USER.$DMS_GROUP ${nome}I.gif
chmod 660 ${nome}I.gif
done
# trasferisco il nuovo documento in archivio
cat g4 >>$Doc
/dms/bin/multifaxspooler
30,6 → 30,7
if [ -z "${TYPE##* TIFF image data*}" ]
then
tiffcp -c g3 $File g3
chown $DMS_USER.$DMS_GROUP g3
else
exit 2
fi
41,7 → 42,7
rm -f g3
# conto le pagine e genero le icone
pages=0
for X in $(echo $prefix??.tif)
for X in $(echo $prefix???.tif)
do
nome=${X%.tif}
chmod 660 $X
/dms/bin/zoom-gif.pl
87,12 → 87,12
SYSTEM("$DMS_BIN/image-tiff $DMS_VAR/$Dir/$File.dcm >$Dest/g4" );
}
 
unless (-e "$Dest/aaI.gif") {
unless (-e "$Dest/aaaI.gif") {
DEBUG "Creazione $Dest/g3";
SYSTEM("tiffcp -c g3 $Dest/g4 $Dest/g3 && tiffsplit $Dest/g3 $Dest/");
SYSTEM("tiffcp -c g3 $Dest/g4 $Dest/g3 && chown $DMS_USER.$DMS_GROUP $Dest/g3 && tiffsplit $Dest/g3 $Dest/");
opendir DIR, "$Dest"
or ERROR(qq(Impossibile aprire le directory "$Dest": $!));
foreach $nome ( grep /^..\.tif$/, readdir DIR) {
foreach $nome ( grep /^.{3}\.tif$/, readdir DIR) {
## Creazione icone
$nome =~ s/\.tif$//;
DEBUG "Creazione $Dest/${nome}I.gif";
155,11 → 155,11
$i = 0;
opendir DIR, "$Dest"
or ERROR(qq(Impossibile aprire le directory "$Dest": $!));
@lista = ( grep s/(..)I\.gif$/$1/, readdir DIR);
@lista = ( grep s/(.{3})I\.gif$/$1/, readdir DIR);
closedir DIR;
$image = $lista[($Pag - 1)];
$image ||= "aa";
$image ||= "aaa";
## Pagina da visualizzare
unless (-e "$Dest/${image}.gif") {
/dms/bin/createdocument
54,6 → 54,7
 
# copio le immagini tif dal direttorio multifile
tiffcp -c g3 $S_DIR/*.tif g3
chown $DMS_USER.$DMS_GROUP g3
tiffcp -c g4 g3 g4
tiffsplit g3 ./
# conto le pagine e copio le icone
64,7 → 65,7
let pages=pages+1
done
pages=0
for X in $(echo ??.tif)
for X in $(echo ???.tif)
do
eval "File=\$Fgif$pages"
name=${X%.tif}
76,7 → 77,7
# parametri nuovo documento
echo-parameters >$Doc
echo -e "Ricerca:\nIcon: image/gif\n" >>$Doc
cat aaI.gif >>$Doc
cat aaaI.gif >>$Doc
# trasferisco il nuovo documento in archivio
echo -e "\nDocument: image/tiff\n" >>$Doc
cat g4 >>$Doc
/dms/bin/savemultifax
64,6 → 64,7
$DMS_BIN/get-rec $Doc >parameters
# copio le immagini tif dal direttorio multifile
tiffcp -c g3 $S_DIR/*.tif g3
chown $DMS_USER.$DMS_GROUP g3
tiffcp -c g4 g3 g4
tiffsplit g3 ./
# conto le pagine e copio le icone
74,7 → 75,7
let pages=pages+1
done
pages=0
for X in $(echo ??.tif)
for X in $(echo ???.tif)
do
eval "File=\$Fgif$pages"
name=${X%.tif}
88,7 → 89,7
# parametri documento modificato
estrazione-dati _Pagine $pages < parameters >$Doc
echo -e "\nIcon: image/gif\n" >>$Doc
cat aaI.gif >>$Doc
cat aaaI.gif >>$Doc
# trasferisco il nuovo documento in archivio
echo -e "\nDocument: image/tiff\n" >>$Doc
cat g4 >>$Doc
/dms/bin/rubrica
60,7 → 60,7
mv $DMS_LIB/rubrica $DMS_TMP/rubrica.OLD
mv $DMS_TMP/rubrica.tmp $DMS_LIB/rubrica
chmod 660 $DMS_LIB/rubrica
chgrp dms $DMS_LIB/rubrica
chgrp $DMS_GROUP $DMS_LIB/rubrica
else
exit 1
fi
73,6 → 73,8
read
while read RubrALIAS RubrNOME RubrNUM RubrMAIL RubrIN RubrOUT RubrSTAMPE RubrID RubrLISTA
do
[ -z "$RubrALIAS" ] && continue
[ -z "${RubrALIAS###*}" ] && continue
[ "$RubrALIAS" = "-" ] && RubrALIAS=""
[ "$RubrNOME" = "-" ] && RubrNOME=""
[ "$RubrNUM" = "-" ] && RubrNUM=""
232,7 → 234,7
do
if [ "$1" != "$RubrALIAS" ]
then
echo -e "$RubrALIAS\t$RubrNOME\t$RubrNUM\t$RubrMAIL\t$RubrIN\t$RubrOUT\tRubrSTAMPE\t$RubrID\t$RubrLISTA"
echo -e "$RubrALIAS\t$RubrNOME\t$RubrNUM\t$RubrMAIL\t$RubrIN\t$RubrOUT\t$RubrSTAMPE\t$RubrID\t$RubrLISTA"
fi
done
}
/dms/bin/sendfax
1,11 → 1,11
#!/bin/bash
# ---------------------------------------------------------------------- #
# Copyright: (C) 2000-2002 Leader.IT S.r.l. <http://leader.it>
# Copyright: (C) 2005- Leader.IT S.r.l. <http://leader.it>
# Authors: Guido Brugnara <gdo@leader.it>
#
# $Revision$
# ---------------------------------------------------------------------- #
# esecuzione di sendfax con intercettazione del file di log
# esecuzione di sendfax su server remoto con intercettazione del file di log
source /etc/dms.conf
source $DMS_LIB/dms.lib
 
18,9 → 18,27
chown $DMS_USER.$DMS_GROUP $LOG
chmod 640 $LOG
 
# NOTA: si presume che sul server remoto la cartella di
# arrivo sia /var/spool/fax/outgoing/
# mentre quella locale è uguale per tutte le pagine
 
#copio i file da trasmettere
scp -q $* root@newgateway.staff.leader.it:/var/spool/fax/outgoing/
 
echo $NUM $LOG $* >>/tmp/log
ssh root@newgateway.staff.leader.it /etc/mgetty+sendfax/dms_send_fax_remote $NUM $LOG $*
stato=$?
exit $stato
 
 
# ricavo la cartella dove sono depositate le pagine in locale
LOCALDIR=${1%/*}
 
# FAX_LOG è di solito /var/log/sendfax.log
mv $FAX_LOG $FAX_LOG.temp
 
/usr/sbin/sendfax -x 4 -r $NUM $*
# eseguo il comando remoto
ssh root@newgateway.staff.leader.it /usr/sbin/sendfax -x 4 -r $NUM $*
stato=$?
 
cat $FAX_LOG >$LOG
/dms/bin/createmultifax
58,11 → 58,12
 
# copio le immagini tif dal direttorio multifile
tiffcp -c g3 $MULTIFAX_DIR/${User}_$Machine/*.tif g3
chown $DMS_USER.$DMS_GROUP g3
tiffcp -c g4 g3 g4
tiffsplit g3 ./
# conto le pagine
pages=0
for X in $(echo ??.tif)
for X in $(echo ???.tif)
do
let pages=pages+1
done
74,7 → 75,7
echo -e "Ricerca:\nIcon: image/gif\n" >>$Doc
 
# generazione icona gif (con la prima pagina)
efix -v e -i tiffg3 -o pgm -r $DIM_ICON aa.tif | \
efix -v e -i tiffg3 -o pgm -r $DIM_ICON aaa.tif | \
ppmtogif -interlace >>$Doc 2>/dev/null
# trasferisco il nuovo documento in archivio
echo -e "\nDocument: image/tiff\n" >>$Doc
/dms/LEGGIMI
7,5 → 7,10
Per limitare le ricerche in bin/ricerche.pl è ststo aggiunto un controllo che toglie agli
utenti <> da gdo e isa la possibilità di ricercare nelle cartelle sottostanti.
 
RICEZIONE FAX VIA EFIX
Per sopperire al problema introdotto ultimamente con le nuove linee digitali
che sembra creino problemi in ricezione con i modem Sportser US-Robotics è
ststo adattato efax per la ricezione in modo da poter settare la velocità di
ricezione a 4800bit/sec