Subversion Repositories wimsdev

Rev

Rev 17631 | 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_title_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>
  271.           !if $utype=0
  272.             $name_title_participant
  273.           !else
  274.             $name_title_supervisor
  275.           !endif
  276.         </legend>
  277.         <div class="field box">
  278.           <label for="user_auth">$wims_name_Login ($name_external)</label>
  279.           <input size="16" name="user_auth" id="user_auth" value="$user_auth">
  280.         </div>
  281.       !set ct=!defof class_type in wimshome/log/classes/$class/.def
  282.       !if $wims_user=supervisor and $class=$wims_class and $ct iswordof 2 4
  283.         <div class="field box">
  284.           <label for="utype">$name_accounttype</label>
  285.         !default utype=0
  286.         !set wims_ref_class=wims_formradio
  287.         !formradio utype list 0,1 prompt $wims_name_namestudent,$wims_name_nameteacher
  288.         </div>
  289.       !endif
  290.         <div class="wimscenter wimsform">
  291.           <input type="submit" value="$wims_name_tosave">
  292.         </div>
  293.       </fieldset>
  294.  
  295.       !formend
  296.       !goto end1
  297.     !endif
  298.  
  299.     !! teacher registering a student with external auth without idp ldap
  300.     !if $auth_method isitemof $auth_method_list
  301.       <input type="hidden" name="step" value="3">
  302.       <fieldset class="property_fields halfwidth blockcenter">
  303.         <legend>
  304.           !if $utype=0
  305.             $name_title_participant
  306.           !else
  307.             $name_title_supervisor
  308.           !endif
  309.         </legend>
  310.         <div class="field box halfwidth">
  311.           <label for="lastn">$wims_name_lastname</label>
  312.           <input size="20" name="lastn" id="lastn" value="$lastn">
  313.         </div>
  314.         <div class="field box halfwidth">
  315.           <label for="firstn">$wims_name_firstname</label>
  316.           <input size="20" name="firstn" id="firstn" value="$firstn">
  317.         </div>
  318.         <div class="field box">
  319.           <label for="user_auth">$wims_name_Login </label>
  320.           <input size="16" name="user_auth" id="user_auth" value="$user_auth">
  321.           <div class="formHelp">$name_external,
  322.             <span class="wims_warning">$name_login_external_warning</span>
  323.         </div>
  324.       </div>
  325.       <div class="field box">
  326.         <label for="email">$wims_name_email</label>
  327.         <input type="email" size="60" name="email" id="email" value="$email">
  328.         <div class="formHelp">$name_optional</div>
  329.       </div>
  330.       <div class="wimscenter wimsform">
  331.         <input type="submit" value="$wims_name_tosave">
  332.       </div>
  333.       </fieldset>
  334.       !formend
  335.       !goto end1
  336.     !endif
  337.   !endif step empty or step<2
  338.  
  339.   !if $auth_user=$empty or $auth_method notitemof $auth_method_list
  340.     !!read adm/language lang/names.phtml
  341.     <input type="hidden" name="step" value="2">
  342.   !else
  343.     <input type="hidden" name="step" value="3">
  344.   !endif
  345.   <fieldset class="property_fields halfwidth blockcenter">
  346.     <legend>
  347.       !if $utype=0
  348.         $name_title_participant
  349.       !else
  350.         $name_title_supervisor
  351.       !endif
  352.     </legend>
  353.     <div class="field box halfwidth">
  354.       <label for="lastn">$wims_name_lastname</label>
  355.       <input size="20" name="lastn" id="lastn" value="$lastn" required="required">
  356.     </div>
  357.     <div class="field box halfwidth">
  358.       <label for="firstn">$wims_name_firstname</label>
  359.       <input size="20" name="firstn" id="firstn" value="$firstn" required="required">
  360.     </div>
  361.   !if $wims_user=supervisor
  362.     !reset login
  363.   !endif
  364.   !if ($auth_user=$empty or $auth_method notitemof $auth_method_list) or $wims_user=supervisor
  365.       <div class="field box">
  366.         <label for="login">$wims_name_Login</label>
  367.         <input size="16" name="login" id="login" value="$login" required="required" pattern="$login_pattern">
  368.         <div class="formHelp">
  369.     !if $auth_method notitemof $auth_method_list or $wims_user!=supervisor
  370.        $name_warning_login
  371.     !endif
  372.     $name_warning_login2
  373.       </div>
  374.     !if $auth_method isitemof $auth_method_list and $wims_user=supervisor
  375.       !reset login_ext
  376.       <label for="login_ext">$wims_name_Login</label>
  377.       <input size="16" name="login_ext" id="login_ext" value="$login_ext">
  378.       <div class="formHelp">$name_external
  379.         <span class="wims_warning">$name_login_external_warning</span>
  380.       </div>
  381.     !endif
  382.     </div>
  383.     !if $auth_method notitemof $auth_method_list
  384.       <div class="field box">
  385.         <label for="pass">$wims_name_Password</label>
  386.         <input type="password" size="16" name="pass" id="pass" required="required" pattern="$password_pattern">
  387.         <div class="formHelp">$name_passwd_warning</div>
  388.       </div>
  389.     !endif
  390.   !else
  391.     <div class="field box">
  392.       <label for="login">$wims_name_Login</label>
  393.       <input size="16" name="login" id="login" value="$login" readonly="readonly">
  394.       <div class="formHelp">$name_internal</div>
  395.     </div>
  396.     <div class="field box">
  397.       <label for="login_ext">$wims_name_Login</label>
  398.       <input size="16" name="login_ext" id="login_ext" value="$login_ext" readonly="readonly">
  399.       <div class="formHelp">$name_external, <span class="wims_warning"></span></div>
  400.     </div>
  401.   !endif
  402.   <div class="field box">
  403.     <label for="email">$wims_name_email</label>
  404.     <input type="email" size="60" name="email" id="email" value="$email">
  405.     <div class="formHelp">$name_optional</div>
  406.   </div>
  407.   !if $wims_user=supervisor and $class=$wims_class and $cltype iswordof 2 4
  408.     <div class="field box">
  409. !!      <label for="utype">$name_accounttype</label>
  410.       <b>$name_accounttype</b>
  411.       !if $utype=0
  412.         $wims_name_namestudent
  413.       !else
  414.         $wims_name_nameteacher
  415.       !endif
  416. !!    !default utype=0
  417. !!    !set wims_ref_class=wims_formradio
  418. !!    !formradio utype list 0,1 prompt $wims_name_namestudent,$wims_name_nameteacher
  419.     </div>
  420.   !endif
  421.   !if $regvars_cnt>0
  422.     !read regvars.phtml
  423.   !endif
  424.   !if $wims_user!=supervisor
  425.     <div class="field box">
  426.     !set wims_ref_class=wims_formradio
  427.     !formcheckbox agreecgu list yes prompt $name_cgu
  428.     [
  429.     !href target=wims_internal module=adm/light&phtml=cgu.phtml $name_seecgu
  430.     ]
  431.     </div>
  432.   !endif
  433.   <div class="wimscenter wimsform"><input type="submit" value="$wims_name_tosave"></div>
  434.   </fieldset>
  435.   !formend
  436.   !goto end1
  437. !endif
  438.  
  439. !if $step=2
  440.   !if $wims_user!=supervisor
  441.     $name_hello, $name_student!<p>
  442.     $name_inscription3
  443.   !else
  444.     $name_inscription31
  445.   !endif
  446.   <span class="tt wims_login">$login</span>. </p>
  447.   !if $email=$empty
  448.     <p> $name_emptyemail </p>
  449.   !else
  450.     <p>$wims_name_email: <span class="tt wims_address">$email</span> </p>
  451.   !endif
  452.  
  453.   !form reply
  454.     <input type="hidden" name="step" value="3">
  455.     <fieldset class="property_fields halfwidth blockcenter">
  456.     <legend>
  457.       !if $utype=0
  458.         $name_title_participant
  459.       !else
  460.         $name_title_supervisor
  461.       !endif
  462.     </legend>
  463.       <div class="field box">
  464.         <label for="pass2">$name_passwd_exact</label>
  465.         <input type="password" size="16" name="pass2" id="pass2" required="required">
  466.       </div>
  467.       <div class="wimscenter wimsform">
  468.         <input type="submit" value="$wims_name_send">
  469.       </div>
  470.     </fieldset>
  471.   !formend
  472.   !goto end1
  473. !endif
  474.  
  475. !if $step=3
  476.   !! needed for $name_student after !endif ?
  477.   !readproc adm/class/userdef class,$class,$login
  478.   !set firstn=!defof user_firstname in $userdef
  479.   !set lastn=!defof user_lastname in $userdef
  480.   !if $wims_user=supervisor
  481.     !set login_wims=!defof user_external_auth in $userdef
  482.     !default login_wims=$Login
  483.     $name_studentadded
  484.     <span class="tt wims_login">
  485.     !href module=adm/class/usermanage&job=userprop&getuser=$Login $login_wims
  486.     </span>.
  487.     !if $wims_supertype iswordof 2 4
  488.       !readproc adm/gateway/transfer $login test
  489.       !if $transfer_test>0
  490.         <p>
  491.         $name_otheractivities
  492.         !href module=adm/class/usermanage&job=transfer&getuser=$login $name_transfer1
  493.         </p>
  494.       !endif
  495.     !endif
  496.     !set wims_menu_items=!append line usermanage,1,module=adm/class/usermanage\
  497. addstudent,1,module=$module&step=1\
  498. to wims_menu_items
  499.     !goto end
  500.   !endif
  501.  
  502.   <p>$name_hello, $name_student!</p>
  503.   <p>$name_welcome
  504.   <span class="tt wims_login">$login</span>.</p>
  505.   $name_youcan
  506.   !read adm/class/initclass $class,auth
  507.  
  508.  
  509.   !if $wims_class!=$empty
  510.     !if $auth_method iswordof cas
  511.       !set url = $wims_ref_name?module=adm/class/classes&type=authparticipant&class=$class
  512.       !read adm/codeurl $url
  513.       !set class_cas_auth=!getdef class_cas_auth in wimshome/log/classes/$ssclass/.def
  514.       <a class="wims_button" href="$class_cas_auth/login?service=$script_out">$wims_name_Enter</a>
  515.     !else
  516.       !if $auth_method iswordof ldap php
  517.         !set tmp=!getdef user_external_auth in wimshome/log/classes/$ssclass/.users/$login
  518.         !href module=adm/class/classes&type=authparticipant&class=$class&auth_user=$tmp $name_gotowork
  519.       !else
  520.         !href module=adm/class/classes&type=authparticipant&class=$class&auth_user=$login $name_gotowork
  521.       !endif
  522.     !endif
  523.     !!FIXME what about php here
  524.     !! Pourquoi est-ce different : dans le second cas ouvre une autre session,
  525.     !! demande de nouveau le mot de passe ???
  526.   !else
  527.     !if $auth_method isitemof cas
  528.       !set url = $wims_ref_name?module=adm/class/classes&type=authparticipant&class=$class
  529.       !read adm/codeurl $url
  530.       !set class_cas_auth=!getdef class_cas_auth in wimshome/log/classes/$ssclass/.def
  531.       <a class="wims_button" href="$class_cas_auth/login?service=$script_out">$wims_name_Enter</a>
  532.     !else
  533.       !if $auth_method iswordof ldap
  534.         !set tmp=!getdef user_external_auth in wimshome/log/classes/$ssclass/.users/$login
  535.         !href module=adm/class/classes&type=authparticipant&class=$class&auth_user=$tmp $name_gotowork
  536.       !else
  537.         <a href="$wims_ref_name?lang=$lang&+module=adm/class/classes&+type=authparticipant&+class=$class&+auth_user=$login">
  538.         $name_gotowork</a> ($name_bookmark).
  539.       !endif
  540.     !endif
  541.     !goto end
  542.   !endif
  543. !endif
  544.  
  545. :end1
  546.  
  547. !if $wims_user=supervisor
  548.   !if $step=1
  549.     !set wims_menu_items=!append line back2,1,module=adm/class/usermanage\
  550.     to $wims_menu_items
  551.   !endif
  552.   !goto end
  553. !endif
  554.  
  555. !if $cltype iswordof 2 4
  556.   !set wims_menu_items=!append line classlist,1,module=adm/class/classes&type=supervisor\
  557.   to $wims_menu_items
  558. !else
  559.   !set wims_menu_items=!append line classlist,1,module=adm/class/classes&type=participant\
  560.   to $wims_menu_items
  561. !endif
  562.  
  563. :end
  564. !tail
  565.  
  566. !reset step, subclass
  567.