Subversion Repositories wimsdev

Rev

Rev 13289 | Rev 16539 | 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>$name_title</legend>
  165.       <div class="field box">
  166.         <label for="classpass">$wims_name_Password</label>
  167.         <input type="password" name="classpass" id="classpass" required="required" class="noicon" placeholder="$wims_name_Password" />
  168.       </div>
  169.       <div class="wimscenter wimsform">
  170.         <input type="submit" value="$wims_name_send" />
  171.       </div>
  172.     </fieldset>
  173.   !formend
  174.   <span class="wims_warning">$wims_name_warning</span>.
  175.   !if $cltype iswordof 2 4
  176.     $name_access1
  177.   !else
  178.     $name_access2
  179.   !endif
  180.   $name_obtainpasswd
  181.   (
  182.   !if $cltype iswordof 2 4
  183.     !mailurl $smail $name_write_adm
  184.   !else
  185.     !mailurl $smail $wims_name_wsup
  186.   !endif
  187.   ).
  188.   !if $cltype iswordof 2 4
  189.     <p>
  190.       <span class="wims_warning">$wims_name_warning</span>.
  191.       $name_warning_direct
  192.     !href cmd=new&module=$module&class=$class&subclass=yes $name_inyourclass
  193.     .
  194.     </p>
  195.   !endif
  196.   !goto end1
  197. !endif
  198.  
  199. !if $step=$empty or $step<2
  200.   !if $ssclass!=$empty and $wims_class!=$ssclass and $wims_user=supervisor
  201.     !form reply
  202.       <input type="hidden" name="step" value="1" />
  203.       <label for="search">$name_research:</label>
  204.       <input size="20" name="search" id="search" value="$search" />
  205.       <input type="submit" value="$wims_name_tosave" />
  206.  
  207.     !formend
  208.     !default foundcnt=0
  209.     !if $foundcnt>0
  210.       $table_header
  211.       <caption>$name_clickname</caption>
  212.       $table_hdtr<th>$wims_name_name</th><th>$wims_name_Login</th></tr>
  213.       !for i=1 to $foundcnt
  214.         !set l=!line $i of $found
  215.         !distribute item $l into l_,f_,L_
  216.         $table_tr<td>
  217.         !href cmd=reply&step=2&login=$L_ $l_, $f_
  218.           </td>
  219.           <td>$L_</td>
  220.         </tr>
  221.       !next i
  222.       $table_end
  223.       !goto end1
  224.     !endif
  225.     !if $search!=$empty and $foundcnt=0
  226.       <p> ($name_nofound) </p>
  227.     !endif
  228.     $name_newparticipant
  229.   !else
  230.     !if $idp_method notitemof $idp_method_list
  231.       !if $wims_user=supervisor
  232.         $name_inscription21
  233.       !else
  234.         $name_inscription2
  235.       !endif
  236.     !endif
  237.   !endif
  238.  
  239.   !form reply
  240.   !! check user supervisor??
  241.  
  242.   !if $idp_method isitemof $idp_method_list and $auth_user$user_auth!=$empty and $wims_user!=supervisor
  243.     <input type="hidden" name="step" value="3" />
  244.     $name_inscription4:
  245.     <p>
  246.     !formcheckbox agreecgu list yes prompt $name_cgu
  247.       [
  248.       !href target=wims_internal module=adm/light&phtml=cgu.phtml $name_seecgu
  249.       ]
  250.     </p>
  251.     <div class="wimscenter wimsform"><input type="submit" value="$wims_name_tosave" /></div>
  252.     !goto end1
  253.   !endif
  254.   !!FIXME  $auth_user=$empty
  255.   !if $wims_user=supervisor and $auth_user=$empty
  256.  
  257.     !! teacher registering a student with idp ldap
  258.     !if $idp_method isitemof ldap
  259.       <span class="wims_warning">$name_login_external ($name_idp_external)</span>:
  260.  
  261.       !!!FIXME check the value of step
  262.       <input type="hidden" name="step" value="3" />
  263.       <fieldset class="property_fields halfwidth blockcenter">
  264.         <legend>$name_title</legend>
  265.         <div class="field box">
  266.           <label for="user_auth">$wims_name_Login ($name_external)</label>
  267.           <input size="16" name="user_auth" id="user_auth" value="$user_auth" />
  268.         </div>
  269.       !set ct=!defof class_type in wimshome/log/classes/$class/.def
  270.       !if $wims_user=supervisor and $class=$wims_class and $ct iswordof 2 4
  271.         <div class="field box">
  272.           <label for="utype">$name_accounttype</label>
  273.         !default utype=0
  274.         !set wims_ref_class=wims_formradio
  275.         !formradio utype list 0,1 prompt $wims_name_namestudent,$wims_name_nameteacher
  276.         </div>
  277.       !endif
  278.         <div class="wimscenter wimsform">
  279.           <input type="submit" value="$wims_name_tosave" />
  280.         </div>
  281.       </fieldset>
  282.  
  283.       !formend
  284.       !goto end1
  285.     !endif
  286.  
  287.     !! teacher registering a student with external auth without idp ldap
  288.     !if $auth_method isitemof $auth_method_list
  289.       <input type="hidden" name="step" value="3" />
  290.       <fieldset class="property_fields halfwidth blockcenter">
  291.         <legend>$name_title</legend>
  292.         <div class="field box halfwidth">
  293.           <label for="lastn">$wims_name_lastname</label>
  294.           <input size="20" name="lastn" id="lastn" value="$lastn" />
  295.         </div>
  296.         <div class="field box halfwidth">
  297.           <label for="firstn">$wims_name_firstname</label>
  298.           <input size="20" name="firstn" id="firstn" value="$firstn" />
  299.         </div>
  300.         <div class="field box">
  301.           <label for="user_auth">$wims_name_Login </label>
  302.           <input size="16" name="user_auth" id="user_auth" value="$user_auth" />
  303.           <div class="formHelp">$name_external,
  304.             <span class="wims_warning">$name_login_external_warning</span>
  305.         </div>
  306.       </div>
  307.       <div class="field box">
  308.         <label for="email">$wims_name_email</label>
  309.         <input type="email" size="60" name="email" id="email" value="$email" />
  310.         <div class="formHelp">$name_optional</div>
  311.       </div>
  312.       <div class="wimscenter wimsform">
  313.         <input type="submit" value="$wims_name_tosave" />
  314.       </div>
  315.       </fieldset>
  316.       !formend
  317.       !goto end1
  318.     !endif
  319.   !endif step empty or step<2
  320.  
  321.   !if $auth_user=$empty or $auth_method notitemof $auth_method_list
  322.     !!read adm/language lang/names.phtml
  323.     <input type="hidden" name="step" value="2" />
  324.   !else
  325.     <input type="hidden" name="step" value="3" />
  326.   !endif
  327.   <fieldset class="property_fields halfwidth blockcenter">
  328.     <legend>$name_title</legend>
  329.     <div class="field box halfwidth">
  330.       <label for="lastn">$wims_name_lastname</label>
  331.       <input size="20" name="lastn" id="lastn" value="$lastn" required="required" />
  332.     </div>
  333.     <div class="field box halfwidth">
  334.       <label for="firstn">$wims_name_firstname</label>
  335.       <input size="20" name="firstn" id="firstn" value="$firstn" required="required" />
  336.     </div>
  337.   !if $wims_user=supervisor
  338.     !reset login
  339.   !endif
  340.   !if ($auth_user=$empty or $auth_method notitemof $auth_method_list) or $wims_user=supervisor
  341.       <div class="field box">
  342.         <label for="login">$wims_name_Login</label>
  343.         <input size="16" name="login" id="login" value="$login" required="required" pattern="$login_pattern" />
  344.         <div class="formHelp">
  345.     !if $auth_method notitemof $auth_method_list or $wims_user!=supervisor
  346.        $name_warning_login
  347.     !endif
  348.     $name_warning_login2
  349.       </div>
  350.     !if $auth_method isitemof $auth_method_list and $wims_user=supervisor
  351.       !reset login_ext
  352.       <label for="login_ext">$wims_name_Login</label>
  353.       <input size="16" name="login_ext" id="login_ext" value="$login_ext" />
  354.       <div class="formHelp">$name_external
  355.         <span class="wims_warning">$name_login_external_warning</span>
  356.       </div>
  357.     !endif
  358.     </div>
  359.     !if $auth_method notitemof $auth_method_list
  360.       <div class="field box">
  361.         <label for="pass">$wims_name_Password</label>
  362.         <input type="password" size="16" name="pass" id="pass" required="required" pattern="$password_pattern"/>
  363.         <div class="formHelp">$name_passwd_warning</div>
  364.       </div>
  365.     !endif
  366.   !else
  367.     <div class="field box">
  368.       <label for="login">$wims_name_Login</label>
  369.       <input size="16" name="login" id="login" value="$login" readonly="readonly" />
  370.       <div class="formHelp">$name_internal</div>
  371.     </div>
  372.     <div class="field box">
  373.       <label for="login_ext">$wims_name_Login</label>
  374.       <input size="16" name="login_ext" id="login_ext" value="$login_ext" readonly="readonly" />
  375.       <div class="formHelp">$name_external, <span class="wims_warning"></span></div>
  376.     </div>
  377.   !endif
  378.   <div class="field box">
  379.     <label for="email">$wims_name_email</label>
  380.     <input type="email" size="60" name="email" id="email" value="$email" />
  381.     <div class="formHelp">$name_optional</div>
  382.   </div>
  383.   !if $wims_user=supervisor and $class=$wims_class and $cltype iswordof 2 4
  384.     <div class="field box">
  385.       <label for="utype">$name_accounttype</label>
  386.     !default utype=0
  387.     !set wims_ref_class=wims_formradio
  388.     !formradio utype list 0,1 prompt $wims_name_namestudent,$wims_name_nameteacher
  389.     </div>
  390.   !endif
  391.   !if $regvars_cnt>0
  392.     !read regvars.phtml
  393.   !endif
  394.   !if $wims_user!=supervisor
  395.     <div class="field box">
  396.     !set wims_ref_class=wims_formradio
  397.     !formcheckbox agreecgu list yes prompt $name_cgu
  398.     [
  399.     !href target=wims_internal module=adm/light&phtml=cgu.phtml $name_seecgu
  400.     ]
  401.     </div>
  402.   !endif
  403.   <div class="wimscenter wimsform"><input type="submit" value="$wims_name_tosave" /></div>
  404.   </fieldset>
  405.   !formend
  406.   !goto end1
  407. !endif
  408.  
  409. !if $step=2
  410.   !if $wims_user!=supervisor
  411.     $name_hello, $name_student!<p>
  412.     $name_inscription3
  413.   !else
  414.     $name_inscription31
  415.   !endif
  416.   <span class="tt wims_login">$login</span>. </p>
  417.   !if $email=$empty
  418.     <p> $name_emptyemail </p>
  419.   !else
  420.     <p>$wims_name_email: <span class="tt wims_address">$email</span> </p>
  421.   !endif
  422.  
  423.   !form reply
  424.     <input type="hidden" name="step" value="3" />
  425.     <fieldset class="property_fields halfwidth blockcenter">
  426.     <legend>$name_title</legend>
  427.       <div class="field box">
  428.         <label for="pass2">$name_passwd_exact</label>
  429.         <input type="password" size="16" name="pass2" id="pass2" required="required" />
  430.       </div>
  431.       <div class="wimscenter wimsform">
  432.         <input type="submit" value="$wims_name_send" />
  433.       </div>
  434.     </fieldset>
  435.   !formend
  436.   !goto end1
  437. !endif
  438.  
  439. !if $step=3
  440.   !! needed for $name_student after !endif ?
  441.   !readproc adm/class/userdef class,$class,$login
  442.   !set firstn=!defof user_firstname in $userdef
  443.   !set lastn=!defof user_lastname in $userdef
  444.   !if $wims_user=supervisor
  445.     !set login_wims=!defof user_external_auth in $userdef
  446.     !default login_wims=$Login
  447.     $name_studentadded
  448.     <span class="tt wims_login">
  449.     !href module=adm/class/usermanage&job=userprop&getuser=$Login $login_wims
  450.     </span>.
  451.     !if $wims_supertype iswordof 2 4
  452.       !readproc adm/gateway/transfer $login test
  453.       !if $transfer_test>0
  454.         <p>
  455.         $name_otheractivities
  456.         !href module=adm/class/usermanage&job=transfer&getuser=$login $name_transfer1
  457.         </p>
  458.       !endif
  459.     !endif
  460.     !set wims_menu_items=!append line usermanage,1,module=adm/class/usermanage\
  461. addstudent,1,module=$module&step=1\
  462. to wims_menu_items
  463.     !goto end
  464.   !endif
  465.  
  466.   <p>$name_hello, $name_student!</p>
  467.   <p>$name_welcome
  468.   <span class="tt wims_login">$login</span>.</p>
  469.   $name_youcan
  470.   !read adm/class/initclass $class,auth
  471.  
  472.  
  473.   !if $wims_class!=$empty
  474.     !if $auth_method iswordof cas
  475.       !set url = $wims_ref_name?module=adm/class/classes&type=authparticipant&class=$class
  476.       !read adm/codeurl $url
  477.       !set class_cas_auth=!getdef class_cas_auth in wimshome/log/classes/$ssclass/.def
  478.       <a class="wims_button" href="$class_cas_auth/login?service=$script_out">$wims_name_Enter</a>
  479.     !else
  480.       !if $auth_method iswordof ldap php
  481.         !set tmp=!getdef user_external_auth in wimshome/log/classes/$ssclass/.users/$login
  482.         !href module=adm/class/classes&type=authparticipant&class=$class&auth_user=$tmp $name_gotowork
  483.       !else
  484.         !href module=adm/class/classes&type=authparticipant&class=$class&auth_user=$login $name_gotowork
  485.       !endif
  486.     !endif
  487.     !!FIXME what about php here
  488.     !! Pourquoi est-ce different : dans le second cas ouvre une autre session,
  489.     !! demande de nouveau le mot de passe ???
  490.   !else
  491.     !if $auth_method isitemof cas
  492.       !set url = $wims_ref_name?module=adm/class/classes&type=authparticipant&class=$class
  493.       !read adm/codeurl $url
  494.       !set class_cas_auth=!getdef class_cas_auth in wimshome/log/classes/$ssclass/.def
  495.       <a class="wims_button" href="$class_cas_auth/login?service=$script_out">$wims_name_Enter</a>
  496.     !else
  497.       !if $auth_method iswordof ldap
  498.         !set tmp=!getdef user_external_auth in wimshome/log/classes/$ssclass/.users/$login
  499.         !href module=adm/class/classes&type=authparticipant&class=$class&auth_user=$tmp $name_gotowork
  500.       !else
  501.         <a href="$wims_ref_name?lang=$lang&+module=adm/class/classes&+type=authparticipant&+class=$class&+auth_user=$login">
  502.         $name_gotowork</a> ($name_bookmark).
  503.       !endif
  504.     !endif
  505.     !goto end
  506.   !endif
  507. !endif
  508.  
  509. :end1
  510.  
  511. !if $wims_user=supervisor
  512.   !if $step=1
  513.     !set wims_menu_items=!append line back2,1,module=adm/class/usermanage\
  514.     to $wims_menu_items
  515.   !endif
  516.   !goto end
  517. !endif
  518.  
  519. !if $cltype iswordof 2 4
  520.   !set wims_menu_items=!append line classlist,1,module=adm/class/classes&type=supervisor\
  521.   to $wims_menu_items
  522. !else
  523.   !set wims_menu_items=!append line classlist,1,module=adm/class/classes&type=participant\
  524.   to $wims_menu_items
  525. !endif
  526.  
  527. :end
  528. !tail
  529.  
  530. !reset step, subclass
  531.