Rev 2477 | Rev 10981 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
!if $class_type notwordof 2 3 4
error=bad_context
!exit
!endif
propall=secure,colors,css,logo,theme,theme_icon,level,security,supass,password,exolog,ent
propagate=!listintersect $propagate and $propall
!if $propagate=$empty or $confirm=$empty
!exit
!endif
subclasses=!sh cd $wims_home/log/classes/$wims_class\
find . -type d -name '[0-9]*'
!if $class_typename=program and $class_superclass!=$empty
courses=!sh cd $wims_home/log/classes/$wims_class\
cat courses icourses 2>/dev/null | cut -d, -f1 | grep .
courses=!words2items $courses
courses=!makelist $class_superclass/x for x in $courses
!endif
!if $subclasses=$empty and $courses=$empty
!exit
!endif
propag=!replace item colors by bgcolor,bgimg,refcolor,ref_menucolor,ref_button_help_color,ref_button_help_bgcolor,ref_button_color,ref_button_bgcolor in $propagate
propag=!replace item logo by logo,logoside in $propag
propag=!replace item exolog by exolog,examlog in $propag
!if security isitemof $propag
propag=!listcomplement security in $propag
security=!record 0 of wimshome/log/classes/$wims_class/.security
propag_security=yes
!else
propag_security=no
!endif
!if supass isitemof $propag
propag=!listcomplement supass in $propag
supass=!defof user_password in wimshome/log/classes/$wims_class/supervisor
propag_supass=yes
!else
propag_supass=no
!endif
!defread wimshome/log/classes/$wims_class/.def
setup=
!for s in $propag
setup=!append line !set class_$s=$(class_$s) to $setup
!next s
subclasses=!words2items $subclasses
subclasses=!makelist $wims_class/x for x in $subclasses
!if $courses!=$empty
subclasses=!append item $courses to $subclasses
!endif
css=!record 0 of wimshome/log/classes/$wims_class/css
!for s in $subclasses
test=!defof class_defined in wimshome/log/classes/$s/.def
!if $test=yes
!setdef $setup in wimshome/log/classes/$s/.def
!if css isitemof $propagate
!writefile wimshome/log/classes/$s/css $css
!endif
!if $propag_security=yes
!writefile wimshome/log/classes/$s/.security $security
!endif
!if $propag_supass=yes
!setdef !set user_password=$supass in wimshome/log/classes/$s/supervisor
!endif
!endif
!next s