Subversion Repositories wimsdev

Rev

Rev 12991 | Rev 13254 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. !read adm/language lang/names.phtml
  2.  
  3. !read adm/language adm/lang/external_auth.phtml
  4. !read adm/css.phtml
  5. !header1
  6.  
  7. !read adm/title.phtml 1\
  8. WIMS $httpd_HTTP_HOST\
  9. $name_title
  10.  
  11. !! login and password must contain 4-16 alphanumeric characters
  12. !set password_pattern=[a-zA-Z0-9]{4,16}
  13. !set login_pattern=[a-zA-Z0-9]{4,16}
  14.  
  15. !if $cltype iswordof 2 4 and $classcnt>0
  16.   <p class="wimscenter">
  17.   ($name_reserved)
  18.   </p>
  19. !endif
  20. !if $error!=$empty
  21.   <div class="wims_msg alert">
  22.   !read lang/msg.phtml.$modu_lang
  23.   </div>
  24.   <p>
  25.   !set wims_ref_class=wims_button
  26.   !href cmd=new&class=$class&subclass=yes $wims_name_back2
  27.   </p>
  28.   !goto end1
  29. !endif
  30.  
  31. !if $classcnt=0
  32.   $name_warning1
  33.   !goto end
  34. !endif
  35.  
  36. !if $class=$empty
  37.   $name_inscription
  38.  
  39.   $table_header
  40.   !if $ctype=0
  41.     $table_hdtr
  42.       <th>$wims_name_name</th><th>$wims_name_nameteacher</th><th>$wims_name_level</th><th>$wims_name_Language</th>
  43.       <th>$name_remainig</th><th>$wims_name_Status</th>
  44.   !else
  45.     <caption>$institution_name</caption>
  46.     $table_hdtr
  47.     <th>$wims_name_name</th><th>$wims_name_Supervisor</th><th>$wims_name_level</th>
  48.     <th>$wims_name_Status</th></tr>
  49.   !endif
  50.   !for cl in $classlist
  51.     !reset class_supervisor,class_email,class_level,class_lang,class_institution,class_description,class_password,class_limit
  52.     !defread wimshome/log/classes/$cl/.def
  53.     !distribute char $class_level into l1,l2
  54.     !set part=!recordcnt wimshome/log/classes/$cl/.userlist
  55.     $table_tr<td>
  56.     !if $ctype=0
  57.       !href module=$module&cmd=reply&class=$cl $class_institution<br />$class_description
  58.     !else
  59.       !href module=$module&cmd=reply&class=$cl $class_description
  60.     !endif
  61.     </td><td>
  62.     !mailurl $class_email $class_supervisor
  63.     </td>
  64.     !if $class_level=$empty
  65.       !set pname=!defof class_description in wimshome/log/classes/$class_parent/.def
  66.         <td>$pname</td>
  67.     !else
  68.         <td>$(level$l1)<br />$name_year $l2</td>
  69.     !endif
  70.     !if $ctype=0
  71.       <td>$(lang_$class_lang)</td>
  72.       <td style="text-align:right">
  73.       !if $class_limit-$part>$site_dispo
  74.         $site_dispo
  75.       !else
  76.         $[$class_limit-$part]
  77.       !endif
  78.       </td>
  79.     !endif
  80.     !if $class_password=$empty
  81.       <td>$(name_statut[1])</td>
  82.     !else
  83.       <td>$(name_statut[2])</td>
  84.     !endif
  85.     </tr>
  86.   !next cl
  87.   $table_end
  88.  
  89.   <span class="wims_warning">$wims_name_warning</span>. $name_remark1
  90.   !goto end1
  91. !endif class=empty
  92.  
  93. !read adm/class/classname.phtml $description\
  94. $institution
  95.  
  96. !! if class_mixed_external_auth not 0 show message in and class_external_auth
  97. !! and when class_mixed_external_auth=2 also disable the registration form
  98. !! please check! thanks!
  99. !default authreg=0
  100. !if $cltype=1
  101.   !set authreg=!defof class_mixed_external_auth in wimshome/log/classes/$class_parent/.def
  102.   !set extauth=!defof class_external_auth in wimshome/log/classes/$class_parent/.def
  103.   !set usuperv=!defof user_supervisable in wimshome/log/classes/$class_parent/.users/$wims_user
  104. !endif
  105. !if $cltype=0
  106.   !set super_mixed_auth=!defof class_mixed_external_auth in wimshome/log/classes/$class_superclass/.def
  107.   !if $super_mixed_auth=2
  108.     !set authreg=$super_mixed_auth
  109.     !set extauth=!defof class_external_auth in wimshome/log/classes/$class_superclass/.def
  110.   !else
  111.     !set authreg=$class_mixed_external_auth
  112.     !set extauth=!defof class_external_auth in wimshome/log/classes/$class/.def
  113.   !endif
  114.   !! do we really need this for $cltype=0?
  115.   !set usuperv=!defof user_supervisable in wimshome/log/classes/$class/.users/$wims_user
  116. !endif
  117. !! need to check if supervisor in order to allow user management by supervisor
  118. !! need to check if user_supervisable for direct access from module=home
  119. !!  anything else?
  120. !if $wims_user!=supervisor and $usuperv!=yes and $authreg iswordof 1 2 and $cltype iswordof 0 1
  121.   <div class="wims_external_auth">
  122.   $extauth
  123.   </div>
  124.   !if $authreg=2
  125.     !goto end1
  126.   !endif
  127. !endif
  128.  
  129. !if $password!=$empty and $passverify=$empty
  130.   !if $cltype iswordof 2 4
  131.     $name_classessss
  132.     !href module=adm/class/classes&type=authparticipant&class=$class $classname
  133.   !else
  134.     $name_classessss
  135.     !href module=adm/class/classes&type=authparticipant&class=$class $classname
  136.   !endif
  137.   !if $cltype iswordof 4 2
  138.     $name_warning_protected
  139.     !if $classcnt>0
  140.       $name_inscription_student
  141.       !href cmd=new&module=$module&class=$class&subclass=yes $name_inyourclass
  142.       .
  143.     !endif
  144.   !else
  145.     $name_isprotected
  146.   !endif
  147.   <p>$name_writepasswd
  148.   !if $cltype iswordof 2 4
  149.     $name_asateacher.
  150.   !else
  151.     $name_asaparticipant.
  152.   !endif
  153.   </p>
  154.  
  155.   !form reply
  156.     <input type="hidden" name="step" value="1" />
  157.     <fieldset class="property_fields halfwidth blockcenter">
  158.       <legend>$name_title</legend>
  159.       <div class="field box">
  160.         <label for="classpass">$wims_name_Password</label>
  161.         <input type="password" name="classpass" id="classpass" required="required" class="noicon" placeholder="$wims_name_Password" />
  162.       </div>
  163.       <div class="wimscenter wimsform">
  164.         <input type="submit" value="$wims_name_send" />
  165.       </div>
  166.     </fieldset>
  167.   !formend
  168.   <span class="wims_warning">$wims_name_warning</span>.
  169.   !if $cltype iswordof 2 4
  170.     $name_access1
  171.   !else
  172.     $name_access2
  173.   !endif
  174.   $name_obtainpasswd
  175.   (
  176.   !if $cltype iswordof 2 4
  177.     !mailurl $smail $name_write_adm
  178.   !else
  179.     !mailurl $smail $wims_name_wsup
  180.   !endif
  181.   ).
  182.   !if $cltype iswordof 2 4
  183.     <p>
  184.       <span class="wims_warning">$wims_name_warning</span>.
  185.       $name_warning_direct
  186.     !href cmd=new&module=$module&class=$class&subclass=yes $name_inyourclass
  187.     .
  188.     </p>
  189.   !endif
  190.   !goto end1
  191. !endif
  192.  
  193. !if $step=$empty or $step<2
  194.   !if $ssclass!=$empty and $wims_class!=$ssclass and $wims_user=supervisor
  195.     !form reply
  196.       <input type="hidden" name="step" value="1" />
  197.       <label for="search">$name_research:</label>
  198.       <input size="20" name="search" id="search" value="$search" />
  199.       <input type="submit" value="$wims_name_tosave" />
  200.  
  201.     !formend
  202.     !default foundcnt=0
  203.     !if $foundcnt>0
  204.       $table_header
  205.       <caption>$name_clickname</caption>
  206.       $table_hdtr<th>$wims_name_name</th><th>$wims_name_Login</th></tr>
  207.       !for i=1 to $foundcnt
  208.         !set l=!line $i of $found
  209.         !distribute item $l into l_,f_,L_
  210.         $table_tr<td>
  211.         !href cmd=reply&step=2&login=$L_ $l_, $f_
  212.           </td>
  213.           <td>$L_</td>
  214.         </tr>
  215.       !next i
  216.       $table_end
  217.       !goto end1
  218.     !endif
  219.     !if $search!=$empty and $foundcnt=0
  220.       <p> ($name_nofound) </p>
  221.     !endif
  222.     $name_newparticipant
  223.   !else
  224.     !if $idp_method notitemof $idp_method_list
  225.       !if $wims_user=supervisor
  226.         $name_inscription21
  227.       !else
  228.         $name_inscription2
  229.       !endif
  230.     !endif
  231.   !endif
  232.  
  233.   !form reply
  234.   !! check user supervisor??
  235.  
  236.   !if $idp_method isitemof $idp_method_list and $auth_user$user_auth!=$empty and $wims_user!=supervisor
  237.     <input type="hidden" name="step" value="3" />
  238.     $name_inscription4:
  239.     <p>
  240.     !formcheckbox agreecgu list yes prompt $name_cgu
  241.       [
  242.       !href target=wims_internal module=adm/light&phtml=cgu.phtml $name_seecgu
  243.       ]
  244.     </p>
  245.     <div class="wimscenter wimsform"><input type="submit" value="$wims_name_tosave" /></div>
  246.     !goto end1
  247.   !endif
  248.   !!FIXME  $auth_user=$empty
  249.   !if $wims_user=supervisor and $auth_user=$empty
  250.  
  251.     !! teacher registering a student with idp ldap
  252.     !if $idp_method isitemof ldap
  253.       <span class="wims_warning">$name_login_external ($name_idp_external)</span>:
  254.  
  255.       !!!FIXME check the value of step
  256.       <input type="hidden" name="step" value="3" />
  257.       <fieldset class="property_fields halfwidth blockcenter">
  258.         <legend>$name_title</legend>
  259.         <div class="field box">
  260.           <label for="user_auth">$wims_name_Login ($name_external)</label>
  261.           <input size="16" name="user_auth" id="user_auth" value="$user_auth" />
  262.         </div>
  263.       !set ct=!defof class_type in wimshome/log/classes/$class/.def
  264.       !if $wims_user=supervisor and $class=$wims_class and $ct iswordof 2 4
  265.         <div class="field box">
  266.           <label for="utype">$name_accounttype</label>
  267.         !default utype=0
  268.         !set wims_ref_class=wims_formradio
  269.         !formradio utype list 0,1 prompt $wims_name_namestudent,$wims_name_nameteacher
  270.         </div>
  271.       !endif
  272.         <div class="wimscenter wimsform">
  273.           <input type="submit" value="$wims_name_tosave" />
  274.         </div>
  275.       </fieldset>
  276.  
  277.       !formend
  278.       !goto end1
  279.     !endif
  280.  
  281.     !! teacher registering a student with external auth without idp ldap
  282.     !if $auth_method isitemof $auth_method_list
  283.       <input type="hidden" name="step" value="3" />
  284.       <fieldset class="property_fields halfwidth blockcenter">
  285.         <legend>$name_title</legend>
  286.         <div class="field box halfwidth">
  287.           <label for="lastn">$wims_name_lastname</label>
  288.           <input size="20" name="lastn" id="lastn" value="$lastn" />
  289.         </div>
  290.         <div class="field box halfwidth">
  291.           <label for="firstn">$wims_name_firstname</label>
  292.           <input size="20" name="firstn" id="firstn" value="$firstn" />
  293.         </div>
  294.         <div class="field box">
  295.           <label for="user_auth">$wims_name_Login </label>
  296.           <input size="16" name="user_auth" id="user_auth" value="$user_auth" />
  297.           <div class="formHelp">$name_external,
  298.             <span class="wims_warning">$name_login_external_warning</span>
  299.         </div>
  300.       </div>
  301.       <div class="field box">
  302.         <label for="email">$wims_name_email</label>
  303.         <input type="email" size="60" name="email" id="email" value="$email" />
  304.         <div class="formHelp">$name_optional</div>
  305.       </div>
  306.       <div class="wimscenter wimsform">
  307.         <input type="submit" value="$wims_name_tosave" />
  308.       </div>
  309.       </fieldset>
  310.       !formend
  311.       !goto end1
  312.     !endif
  313.   !endif step empty or step<2
  314.  
  315.   !if $auth_user=$empty or $auth_method notitemof $auth_method_list
  316.     !!read adm/language lang/names.phtml
  317.     <input type="hidden" name="step" value="2" />
  318.   !else
  319.     <input type="hidden" name="step" value="3" />
  320.   !endif
  321.   <fieldset class="property_fields halfwidth blockcenter">
  322.     <legend>$name_title</legend>
  323.     <div class="field box halfwidth">
  324.       <label for="lastn">$wims_name_lastname</label>
  325.       <input size="20" name="lastn" id="lastn" value="$lastn" required="required" />
  326.     </div>
  327.     <div class="field box halfwidth">
  328.       <label for="firstn">$wims_name_firstname</label>
  329.       <input size="20" name="firstn" id="firstn" value="$firstn" required="required" />
  330.     </div>
  331.   !if $wims_user=supervisor
  332.     !reset login
  333.   !endif
  334.   !if ($auth_user=$empty or $auth_method notitemof $auth_method_list) or $wims_user=supervisor
  335.       <div class="field box">
  336.         <label for="login">$wims_name_Login</label>
  337.         <input size="16" name="login" id="login" value="$login" required="required" pattern="$login_pattern" />
  338.         <div class="formHelp">
  339.     !if $auth_method notitemof $auth_method_list or $wims_user!=supervisor
  340.        $name_warning_login
  341.     !endif
  342.     $name_warning_login2
  343.       </div>
  344.     !if $auth_method isitemof $auth_method_list and $wims_user=supervisor
  345.       !reset login_ext
  346.       <label for="login_ext">$wims_name_Login</label>
  347.       <input size="16" name="login_ext" id="login_ext" value="$login_ext" />
  348.       <div class="formHelp">$name_external
  349.         <span class="wims_warning">$name_login_external_warning</span>
  350.       </div>
  351.     !endif
  352.     </div>
  353.     !if $auth_method notitemof $auth_method_list
  354.       <div class="field box">
  355.         <label for="pass">$wims_name_Password</label>
  356.         <input type="password" size="16" name="pass" id="pass" required="required" pattern="$password_pattern"/>
  357.         <div class="formHelp">$name_passwd_warning</div>
  358.       </div>
  359.     !endif
  360.   !else
  361.     <div class="field box">
  362.       <label for="login">$wims_name_Login</label>
  363.       <input size="16" name="login" id="login" value="$login" readonly="readonly" />
  364.       <div class="formHelp">$name_internal</div>
  365.     </div>
  366.     <div class="field box">
  367.       <label for="login_ext">$wims_name_Login</label>
  368.       <input size="16" name="login_ext" id="login_ext" value="$login_ext" readonly="readonly" />
  369.       <div class="formHelp">$name_external, <span class="wims_warning"></span></div>
  370.     </div>
  371.   !endif
  372.   <div class="field box">
  373.     <label for="email">$wims_name_email</label>
  374.     <input type="email" size="60" name="email" id="email" value="$email" />
  375.     <div class="formHelp">$name_optional</div>
  376.   </div>
  377.   !if $wims_user=supervisor and $class=$wims_class and $cltype iswordof 2 4
  378.     <div class="field box">
  379.       <label for="utype">$name_accounttype</label>
  380.     !default utype=0
  381.     !set wims_ref_class=wims_formradio
  382.     !formradio utype list 0,1 prompt $wims_name_namestudent,$wims_name_nameteacher
  383.     </div>
  384.   !endif
  385.   !if $regvars_cnt>0
  386.     !read regvars.phtml
  387.   !endif
  388.   !if $wims_user!=supervisor
  389.     <div class="field box">
  390.     !set wims_ref_class=wims_formradio
  391.     !formcheckbox agreecgu list yes prompt $name_cgu
  392.     [
  393.     !href target=wims_internal module=adm/light&phtml=cgu.phtml $name_seecgu
  394.     ]
  395.     </div>
  396.   !endif
  397.   <div class="wimscenter wimsform"><input type="submit" value="$wims_name_tosave" /></div>
  398.   </fieldset>
  399.   !formend
  400.   !goto end1
  401. !endif
  402.  
  403. !if $step=2
  404.   !if $wims_user!=supervisor
  405.     $name_hello, $name_student!<p>
  406.     $name_inscription3
  407.   !else
  408.     $name_inscription31
  409.   !endif
  410.   <span class="tt wims_login">$login</span>. </p>
  411.   !if $email=$empty
  412.     <p> $name_emptyemail </p>
  413.   !else
  414.     <p>$wims_name_email: <span class="tt wims_address">$email</span> </p>
  415.   !endif
  416.  
  417.   !form reply
  418.     <input type="hidden" name="step" value="3" />
  419.     <fieldset class="property_fields halfwidth blockcenter">
  420.     <legend>$name_title</legend>
  421.       <div class="field box">
  422.         <label for="pass2">$name_passwd_exact</label>
  423.         <input type="password" size="16" name="pass2" id="pass2" required="required" />
  424.       </div>
  425.       <div class="wimscenter wimsform">
  426.         <input type="submit" value="$wims_name_send" />
  427.       </div>
  428.     </fieldset>
  429.   !formend
  430.   !goto end1
  431. !endif
  432.  
  433. !if $step=3
  434.   !! needed for $name_student after !endif ?
  435.   !readproc adm/class/userdef class,$class,$login
  436.   !set firstn=!defof user_firstname in $userdef
  437.   !set lastn=!defof user_lastname in $userdef
  438.   !if $wims_user=supervisor
  439.     !set login_wims=!defof user_external_auth in $userdef
  440.     !default login_wims=$Login
  441.     $name_studentadded
  442.     <span class="tt wims_login">
  443.     !href module=adm/class/usermanage&job=userprop&getuser=$Login $login_wims
  444.     </span>.
  445.     !if $wims_supertype iswordof 2 4
  446.       !readproc adm/gateway/transfer $login test
  447.       !if $transfer_test>0
  448.         <p>
  449.         $name_otheractivities
  450.         !href module=adm/class/usermanage&job=transfer&getuser=$login $name_transfer1
  451.         </p>
  452.       !endif
  453.     !endif
  454.     !set wims_menu_items=!append line usermanage,1,module=adm/class/usermanage\
  455. addstudent,1,module=$module&step=1\
  456. to wims_menu_items
  457.     !goto end
  458.   !endif
  459.  
  460.   <p>$name_hello, $name_student!</p>
  461.   <p>$name_welcome
  462.   <span class="tt wims_login">$login</span>.</p>
  463.   $name_youcan
  464.   !read adm/class/initclass $class,auth
  465.  
  466.  
  467.   !if $wims_class!=$empty
  468.     !if $auth_method iswordof cas
  469.       !set url = $wims_ref_name?module=adm/class/classes&type=authparticipant&class=$class
  470.       !read adm/codeurl $url
  471.       !set class_cas_auth=!getdef class_cas_auth in wimshome/log/classes/$ssclass/.def
  472.       <a class="wims_button" href="$class_cas_auth/login?service=$script_out">$wims_name_Enter</a>
  473.     !else
  474.       !if $auth_method iswordof ldap php
  475.         !set tmp=!getdef user_external_auth in wimshome/log/classes/$ssclass/.users/$login
  476.         !href module=adm/class/classes&type=authparticipant&class=$class&auth_user=$tmp $name_gotowork
  477.       !else
  478.         !href module=adm/class/classes&type=authparticipant&class=$class&auth_user=$login $name_gotowork
  479.       !endif
  480.     !endif
  481.     !!FIXME what about php here
  482.     !! Pourquoi est-ce different : dans le second cas ouvre une autre session,
  483.     !! demande de nouveau le mot de passe ???
  484.   !else
  485.     !if $auth_method isitemof cas
  486.       !set url = $wims_ref_name?module=adm/class/classes&type=authparticipant&class=$class
  487.       !read adm/codeurl $url
  488.       !set class_cas_auth=!getdef class_cas_auth in wimshome/log/classes/$ssclass/.def
  489.       <a class="wims_button" href="$class_cas_auth/login?service=$script_out">$wims_name_Enter</a>
  490.     !else
  491.       !if $auth_method iswordof ldap
  492.         !set tmp=!getdef user_external_auth in wimshome/log/classes/$ssclass/.users/$login
  493.         !href module=adm/class/classes&type=authparticipant&class=$class&auth_user=$tmp $name_gotowork
  494.       !else
  495.         <a href="$wims_ref_name?lang=$lang&+module=adm/class/classes&+type=authparticipant&+class=$class&+auth_user=$login">
  496.         $name_gotowork</a> ($name_bookmark).
  497.       !endif
  498.     !endif
  499.     !goto end
  500.   !endif
  501. !endif
  502.  
  503. :end1
  504.  
  505. !if $wims_user=supervisor
  506.   !if $step=1
  507.     !set wims_menu_items=!append line back2,1,module=adm/class/usermanage\
  508.     to $wims_menu_items
  509.   !endif
  510.   !goto end
  511. !endif
  512.  
  513. !if $cltype iswordof 2 4
  514.   !set wims_menu_items=!append line classlist,1,module=adm/class/classes&type=supervisor\
  515.   to $wims_menu_items
  516. !else
  517.   !set wims_menu_items=!append line classlist,1,module=adm/class/classes&type=participant\
  518.   to $wims_menu_items
  519. !endif
  520.  
  521. :end
  522. !tail
  523.  
  524. !reset step, subclass
  525.