Subversion Repositories wimsdev

Rev

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

!! job=wiewpage
!! supervisor can view page of participant connected to the tchat
!!

!! -------- user check
!bound user within $ulist default $empty
!if $user=$empty
  error=nouser
  !exit
!endif

po=!positionof item $user in $ulist
username=$(nlist[$po])
name_title=$username $name_page $numberses



!! -------- check if authorized session
basesession=!replace _ by , in $wims_session
basesession=!item 1 of $basesession
list_window=!defof $user in wimshome/sessions/$basesession/.indexusersession
nbwindow=!itemcnt $list_window
!if $numberses<1 or $numberses>$nbwindow
  error=usernotintchat
  !exit
!endif
userses=!item $numberses of $list_window
!if tchat isin $userses
  error=addressplay
  !exit
!endif

!readproc script/mktitle.proc $userses

!!reset logfile
!!!if exam isin $userses
!!  !! case of exercise in an exam
!!  userbasesession=!replace _ by , in $userses
!!  userbasesession=!item 1 of $userbasesession
!!  tmp=!replace internal $(userbasesession)_examt by $empty in $userses
!!  tmp=!replace t by . in $tmp
!!  logfile=wimshome/log/classes/$wims_class/examlog/$user/$userbasesession/$tmp
!!else
!!  !! case of an exercise in a sheet
!!  tmp=!defof w_wims_exo,w_wims_sheet,w_module in wimshome/sessions/$userses/var
!!  !distribute item $tmp into userexo,usersheet,exomod
!!  !if $usersheet!=$empty and $userexo!=$empty
!!    logfile=wimshome/sessions/$userses/exolog.$usersheet.$userexo
!!  !else
!!    !! case of a exercise (not in a sheet for exemple in a document)
!!    category=!defof category in wimshome/public_html/modules/$exomod/INDEX
!!    !if exercise isin $category
!!      logfile=wimshome/sessions/$userses/exolog
!!    !endif
!!  !endif
!!!endif



!if $logfile!=$empty
  !! ----------- use adm/class/exolog module to display exo in a sheet or exam
  test=!fileexists $logfile
  !if $test!=yes
    error=addressplay
    !exit
  !endif
  !writefile wimshome/$wims_sesdir/var REMOTE_ADDR=$httpd_REMOTE_ADDR\
HTTP_REFERER=$httpd_HTTP_REFERER\
QUERY_STRING=\
HTTP_USER_AGENT=$httpd_HTTP_USER_AGENT\
HTTP_COOKIE=$httpd_HTTP_COOKIE\
w_cmd=new\
w_lang=$class_lang\
w_special_parm=1\
w_special_parm2=\
w_useropts=$useropts\
w_wims_session=$wims_session\
w_wims_subsession=$wims_subsession\
w_wims_window=$wims_window\
w_wims_mode=$wims_mode\
w_wims_module_start_time=\
w_wims_protocol=$wims_protocol\
w_wims_req_time=$wims_req_time\
w_wims_session_serial=$wims_session_serial\
w_wims_session_start_time=$wims_session_start_time

    !setdef wims_checkfile=$logfile in wimshome/$wims_sesdir/var.stat
    !setdef wims_checktitle=$output_title in wimshome/sessions/$basesession/var.stat
    nbstep=!recordcnt $logfile
    !restart module=adm/class/exolog&+cmd=new&+job=examcheck&+checkuser=$user&+checkexo=file&+checkstep=$nbstep
!endif



!! ------------- in case of other ressources use the last.html file in s2.


!! ---------- make list of file of the user
!! the file of list_forbiddent are ignored (to be completed if need)
list_forbidden=last.html
listfile=!sh cd $wims_home/s2/$userses;\
ls *
listfile=!lines2items $listfile
listfile=!listcomplement $list_forbidden in $listfile
listsed=$empty
listlink=$empty
!for f in $listfile
  listsed=!append line s#$f#user$po-$f#g; to $listsed
  listlink=!append line ln -s $wims_home/s2/$userses/$f $wims_home/s2/$wims_session/user$po-$f; to $listlink
!next f
!! ---------- build copy of user page
!read oef/fr/names

page_content=!sh sed '1,3d' $wims_home/s2/$userses/last.html | sed 's#$(userses)#$wims_session#gi;\
s#<a href="[^"]*"#<a href=""#gi;\
s# target="[^"]*"# #gi;\
s#<input type="submit"#<input type="submit" disabled #gi;\
s#<input type="image"#<img #gi;\
s#<button #<button disabled #gi;\
s#onclick="wims_[a-zA-Z0-9^=]*=window.open([^)]*)"# #gi;\
$listsed'

!! make link to file of the user_session in supervisor_session (del old link before)
list=!sh cd $wims_home/s2/$wims_session;\
lt=`find user$(po)* -type l 2>/dev/null`;\
for f in $$lt; do rm $$f; done;\
$listlink

warning=workinprogress

!! --- suppress auto refresh (need to put a button to refresh)
!let rd=!randint 111111,999999
!set wims_menu_items=!append line refresh,1,module=$module&cmd=reply&+module=adm/class/tchat&+job=viewpage&+numberses=$numberses&+user=$user&+serial=$rd to $wims_menu_items