Subversion Repositories wimsdev

Rev

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