Subversion Repositories wimsdev

Rev

Rev 17639 | Blame | Compare with Previous | Last modification | View Log | RSS feed

!! process page for student for type=1 or type=2

!if $activetest!=1 and $activetest!=2
  error=badallows
  emptypage=yes
  !exit
!endif

!! ---- check techvar access
!readproc proc/checktechvars.proc
!if $fwaccess=no
  !exit
!endif
!! ---- end check techvar access

d1=!text select char 0123456789 in $(deadline)$(timedeadline)
d2=!text select char 0123456789 in $wims_now
d2=!char 1 to 12 of $d2
d3=!text select char 0123456789 in $(soldate)$(timesoldate)
!reset toolate
!if $d2>$d1
  toolate=yes
!endif

!if $type>=2 and $activetest>=1
  !readproc proc/findfile.proc $freework,$wims_user
!if $activetest=1
  !readproc adm/class/quotafree.proc proc
  oldsize=0
  !if $data_0!=$empty
    du=!sh du -ks $wims_home/log/classes/$wims_class/freeworksdata/$freework/work/$(data_0[2])
    du=!word 1 of $du
    oldsize=$[($du)/1024]
    delold=rm -f $wims_home/log/classes/$wims_class/freeworksdata/$freework/work/$(data_0[2])
    test=!fileexists wimshome/sessions/$wims_session/getfile/freeworksdata/work$freework-$(data_0[2])
    !if $test=yes
      delold=$delold;\
             rm -f $wims_home/sessions/$wims_session/getfile/freeworksdata/work$freework-$(data_0[2])
    !endif
  !endif
  !if $toolate!=yes and $wims_deposit!=$empty and / notin $wims_deposit and .. notin $wims_deposit
    du=!sh du -ks $wims_home/$wims_sesdir/user-deposit
    du=!word 1 of $du
    newsize=$[($du)/1024]
    !ifval $newsize>0.25*$sizelimitfile
      error=badstudentfilesize
      !exit
    !endif
    !read proc/checkfilename.proc $freework
    !if $error!=$empty
      !exit
    !else
      exten=!replace internal . by , in $newfilename
      n=!itemcnt $exten
      !if $n>=2
        exten=!item -1 of $exten
        exten=.$exten
      !else
        exten=$empty
      !endif
    !endif
    success=goodaddfile
    !if $quota_free-$newsize-$oldsize<0
      error=quota_filestudent
      !reset success
    !else
      !!mise en place du nouveau fichier (et destruction de l'ancien s'il existe et du lien de telechargement)
      !sh mv $wims_home/$wims_sesdir/user-deposit $wims_home/log/classes/$wims_class/freeworksdata/$freework/work/$wims_user$exten;\
          $delold
    !endif
    !readproc proc/findfile.proc $freework,$wims_user
  !endif
  !! ------ make download link for work and co if don't exists
  !if $data_0!=$empty
    !reset m
    !if $codownload=1 and $(data_0[5])!=$empty
      test=!fileexists wimshome/sessions/$wims_session/getfile/freeworksdata/workco$freework-$(data_0[5])
      !if $test!=yes
        m=ln -s $wims_home/log/classes/$wims_class/freeworksdata/$freework/co/$(data_0[5]) workco$freework-$(data_0[5]);
      !endif
    !endif
    test=!fileexists wimshome/sessions/$wims_session/getfile/freeworksdata/work$freework-$(data_0[2])
    !if $test!=yes
      t=ln -s $wims_home/log/classes/$wims_class/freeworksdata/$freework/work/$(data_0[2]) work$freework-$(data_0[2]);
      m=!append line $t to $m
    !endif
    !if $m!=$empty
      !sh cd $wims_home/sessions/$wims_session/getfile/freeworksdata/;\
          $m
    !endif
  !endif
  !! ---- end make...
!endif
!endif

Generated by GNU Enscript 1.6.5.90.