Subversion Repositories wimsdev

Rev

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

# Add a new class.
# wims_read_parm: class address. Parent must already exist.
# cadd_...: class data. Defaults to class_...
# sadd_...: supervisor data. Defaults to user_...

newclass=!item 1 of $wims_read_parm
!if $newclass=$empty
  !exit
!endif

!! test of toomany subclasses
!if / isin $newclass
  !read adm/class/checksubclasslimit $newclass
  !if $error!=$empty
    !exit
  !endif
!endif

!!cadd_scorecolor=white,red,red,red,orange,orange,orange,yellow,yellow,green,green
cadd_scorecolor=#FFFFFF,#FF0000,#FF0000,#FF0000,#FFA500,#FFA500,#FFA500,#FFFF00,#FFFF00,#00FF00,#00FF00
!set cadd_actcolor=!defof DF_actcolor in wimshome/public_html/bases/sys/defaults.conf
cadd_exolog=2
clist=password,Supervisor,supervisor,description,institution,location,geoloc,\
  lang,email,creation,expiration,limit,topscores,superclass,type,level,parent,\
  secure,typename,cas_auth,authidp,connections,\
  bgcolor,bgimg,scorecolor,actcolor,css,logo,logoside,refcolor,ref_menucolor,\
  ref_button_color,ref_button_bgcolor,ref_button_help_color,ref_button_help_bgcolor,theme,theme_icon,\
  exolog
ulist=firstname,lastname,email,password,agreecgu,agreesupcgu
D_=wimshome/log/classes
E_=$wims_home/log/classes

csetlist=
usetlist=
!for t in $ulist
  sadd_$t=!replace internal ! by in $(sadd_$t)
  !default sadd_$t=$(user_$t)
  usetlist=!append line !set user_$t=$(sadd_$t) to $usetlist
  sadd2_$t=$(sadd_$t)
  !reset sadd_$t
!next t

!if ($class_lang!=$empty and $class_lang iswordof cn) or \
    ($cadd_lang!=$empty and $cadd_lang iswordof cn)
  cadd_supervisor=$sadd2_lastname$sadd2_firstname
!else
  cadd_supervisor=$sadd2_firstname $sadd2_lastname
!endif

!if $cadd_type=2
  cadd_typename=group
!endif
!if $cadd_type=4
  cadd_typename=portal
!endif

!for t in $clist
  cadd_$t=!replace internal ! by in $(cadd_$t)
  !if $t=level
    !bound cadd_$t within E1,E2,E3,E4,E5,E6,H1,H2,H3,H4,H5,H6,U1,U2,U3,U4,U5,G,R default $
  !endif
  !default cadd_$t=$(class_$t)
  !if $t=creation
    !default cadd_creation=!char 1 to 8 of $wims_now
  !endif
  csetlist=!append line !set class_$t=$(cadd_$t) to $csetlist
  !reset cadd_$t
!next t
!sh cd $wims_home/log/classes\
  rm -Rf $newclass\
  mkdir $newclass\
  cd $newclass\
  mkdir .users sheets exams doc score noscore vote cdt src def livret seq tool freeworks freeworksdata;\
  touch .userlist Extitles;\
  echo "!set exolist =\
!set titlelist=\
!set exototal =" > Exindex\
  echo 6 >version

!setdef $csetlist\
!set class_creator=$httpd_REMOTE_ADDR\
!set class_defined=yes in $D_/$newclass/.def

!setdef $usetlist\
!set user_exists=yes in $D_/$newclass/supervisor