Rev 12559 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
mailchar=.-@_$alnum
!if $modreq!=$empty
modreq=!word 1 of $modreq
!if $wims_developer!=$empty
!set modreq=!replace internal devel/$wims_developer/ by in $modreq
!endif
!if / isin $modreq or .. isin $modreq
modreq=
!endif
mtest=!filelist $devdir/$modreq
!if $mtest=$empty and ($modreq!=.new or $inddef=$empty)
modreq=
!endif
!if $modreq=$empty
job=modname
!changeto $job.proc
!endif
!read scripts/getindex $modreq
!if $title=$empty and $inddef=$empty
job=modname
modreq=
!changeto $job.proc
!endif
mod=$modreq
!if $inddef!=$empty
inddef=
!if $mod=.new
!read scripts/target
!if $error!=$empty or $target=$empty
job=create
!distribute item $target1,$t2,$t3,$target4 into o1,o2,o3,o4
!changeto create.proc
!endif
mod=$target
!endif
!for i in title, description, category
i_$i=!trim $(i_$i)
!if $(i_$i)=$empty
error=empty_data
empty_data=$i
job=index
mod=
!exit
!endif
!next i
!if exercise isitemof $i_category or oef isitemof $i_category or\
deductio isitemof $i_category
!if exercise notitemof $i_category
i_category=$i_category, exercise
!endif
!if oef isitemof $i_category or $deductio isitemof $i_category
default=yes
!else
default=no
!endif
!bound i_scoring within yes, no default $default
!else
i_scoring=no
!endif
!if deductio isitemof $i_category
i_vardef=deduc/var.def
!endif
!if oef isitemof $i_category
i_vardef=oef/var.def
!endif
!if document isitemof $i_category
i_vardef=docu/var.def
!endif
c=!char 1 of $i_description
c=!lower $c
i_description=!replace char number 1 by $c in $i_description
c=!char -1 of $i_description
!if $c!=.
i_description=$i_description.
!endif
!if $i_translation_language!=$empty
!for l_ in $i_translation_language
c=!char 1 of $(i_description_$l_)
c=!lower $c
i_description_$l_=!replace char number 1 by $c in $(i_description_$l_)
c=!char -1 of $(i_description_$l_)
!if $c!=. and $(i_description_$l_)!= $empty
i_description_$l_=$(i_description_$l_).
!endif
!next
!endif
!bound i_language within $langlist default $module_language
i_level=!listintersect $i_level and $levellist
i_level_cnt=!itemcnt $i_level
!if $i_level issametext $levellist or $i_level_cnt >= 10
!reset i_level
!endif
level_def=!replace internal ~ by , in $modreq
!default i_level=!listintersect $(level_def[1]) and $levellist
i_copyright=$copyright
!default i_copyright=$gnu
i_copyright=!replace internal \COPYING\> by "COPYING"> in $i_copyright
!if $year notwordof $i_copyright
i_copyright=$i_copyright $year
!endif
i_require=!listintersect $i_require and $swlist
!default i_author=$auth_name
i_author=!char 1 to 100 of $i_author
!if , notin in $i_author
author1=!word 1 of $i_author
author2=!word 2 to -1 of $i_author
i_author=$author1, $author2
!endif
!default i_address=$auth_email
i_address=!items2words $i_address
!!i_address=!word 1 of $i_address
i_address=!words2items $i_address
i_address=!text select ;,$mailchar in $i_address
i_translator=!char 1 to 100 of $i_translator
i_translator_address=!word 1 of $i_translator_address
i_translator_address=!text select $mailchar in $i_translator_address
!if $i_translation_language!=$empty
!for l_ in $i_translation_language
i_translator_$l_=!char 1 to 100 of $(i_translator_$l_)
i_translator_address_$l_=!word 1 of $(i_translator_address_$l_)
i_translator_address_$l_=!text select $mailchar in $(i_translator_address_$l_)
!next
!endif
i_version=!word 1 of $i_version
tmp=!replace internal . by , in $i_version
tmp=!charcnt $(tmp[2])
!if $tmp<2
!if $tmp=0
!if . notin $i_version
i_version=$i_version.00
!else
i_version=$(i_version)00
!endif
!endif
!if $tmp=1
i_version=$(i_version)0
!endif
!endif
!reset tmp
i_version=!char 1 to 4 of $i_version
i_wims_version=!word 1 of $i_wims_version
!default i_version=1.00
!default i_wims_version=$wims_version
!for l in $deflist1
i_$l=$(i_$l)
!next
i_translation_language=!items2words $i_translation_language
###add fields not accessible by the interface for the moment
### will be useful in case of translation in the module itself
i_mod_related=!words2items $i_mod_related
i_mod_related=!text select _.-/,$alnum in $i_mod_related
!default i_mod_related=$mod_related
!if .. isin $i_mod_related
i_mod_related=
!endif
!default i_data=$data
!if .. isin $i_data
i_data=
!endif
ind=# This file is automatically generated by $module_title $module_version.\
# Do not edit by hand.\
\
!if dialog isitemof $category
i_category=exercise,dialog
!endif
!if scenario isitemof $category
i_category=exercise,scenario
!endif
cat1=!item 1 of $i_category
!if document isin $i_category
i_category=document
cat1=doc
!endif
!for i in $deflist,$deflist1
ind=$ind$i=$(i_$i)\
!next i
!if $cat1=exercise and , isin $i_category
cat1=!item 2 of $i_category
!endif
!if $cat1=recreation
cat1=exercise
!endif
dest=$devdir/$mod
src=modules/template/$cat1.$i_language
ind=!replace " by \\" in $ind
!sh if [ ! -e "$dest" ]; then\
mkdir -p $dest\
cp -pR $src/* $dest\
if [ "$cat1" = "doc" ]; then\
echo '*' >$dest/doc/1/.code\
cat >$dest/doc/1/.def <<@\
tit=$i_title\
author=$i_author\
email=$i_address\
copyright=gnu\
dlang=$i_language\
docopen=yes\
header=\
@\
fi\
fi\
echo "$ind" >$dest/INDEX
!if $i_common_images=yes
!sh sed -i.bak 's/common_images=no/common_images=yes/g' $dest/var.proc\
sed -i.bak 's/class_importation=yes/class_importation=no/g' $dest/var.proc\
rm $dest/var.proc.bak
!endif
!read scripts/getindex $mod
wims_module_log=$mod/INDEX
!endif
!read files
!default useropts1=2
!default useropts2=1
!default useropts3=0
!set usersize=$[$wims_texbasesize + ($useropts4)]
!setdef wims_useropts=$(usersize)$(useropts1)$(useropts2)$(useropts3) in wimshome/sessions/$wims_session/var.stat
!endif