% % create thumbnails of uploads % _Xact.Process zero { empty ofmms "specials" log)( empty { "Upl_*.flx" !wilder nextfile ? filing !Fup.Thumber /* make thumbnail for one of two activator types for MMS empty "Msg.msec" sval "Msg.numbr" sval "Msg.dialr" sval "Msg.mintro" sval "Cnv.SrcBody" sval "Fup.Fbase" sval "Fup.Gbase" sval "Fup.Mimage" sval for upload empty "Msg.msec" sval "Fup.ExtBody" sval "Fup.Ext" sval "Fup.Phsrc" sval "Fup.Phdest" sval "Fup.PartUrl" sval "Fup.FinUrl" sval "Fup.Fupl" sval "Fup.Size" sval "Cnv.MmsFname" sval "Fup.Basis" sval "Fup.Fsrc" sval "Fup.Fdest" sval "Fup.Fbase" sval "Cnv.SrcBody" sval */ empty !Fup.Fbase empty !Fup.Gbase empty !Fup.Mimage execing _Fup.Fbase any)? { % % valid thumbnail request % % generate thumbnail from uploaded file % 2 dup !Xact !Xact.Process % % insure building process does not hang up % empty "Xact" sval &"*fupldsup" "build_supervise" "fupl" 100000 *timeract !Xact.Timer % % use the repository area as the file parts to give the flup thumb process % " //+FlupThumb //* app.displayDialogs = DialogModes.NO; FlupThumb(" "fupldsuq" quo&comma _Fup.Gbase -1 left ^"p" !Fup.Gaser _Fup.Fbase -1 left ^"p" dup !Fup.Baser pathonly tojs quo&comma _Fup.Fbase -1 left ^"p" filename quo&comma % % difference in upload or mms, no Mimage in upload % _Fup.Mimage any? { % % mms % -1 left ^"p" dup !Fup.Procing dup "////////" log)( dup extension ^_Fup.Fbase -1 left ^"p" "////////" log)( copyfile extension _Msg.numbr !Fup.ForAva } { % % upload % empty !Fup.Procing _Fup.Ext _Fup.Phdest !Fup.ForAva } ifelse _Cnv.SrcBody !Fup.MsgAva quo&comma &"1200,1200); Continuing " empty "Fup.Thumber" sval "Fup.Procing" sval "Fup.Ext" sval "Fup.MsgAva" sval "Fup.ForAva" sval "Fup.Phdest" sval "Fup.Fbase" sval "Fup.Gbase" sval "Fup.Baser" sval "Fup.Gaser" sval "Fup.Mimage" sval "Cnv.SrcBody" sval "_special" text!bin *phocperf finaled } { % % improper exec file % filing ".err" overext } ifelse true ? } loop filing) } { } ifelse