linea21-core
[ class tree: linea21-core ] [ index: linea21-core ] [ all elements ]

Source for file tpl_wg-subscription.php

Documentation is available at tpl_wg-subscription.php

  1. <?php
  2. /**
  3.  * @package linea21.core
  4.  * @subpackage public
  5.  * @author linea21 <info@linea21.com>
  6.  * @version $id SVN
  7.  * @access public
  8.  * @license http://opensource.org/licenses/gpl-3.0.html
  9.  */
  10.  
  11. include_once('../class/system/class.form.php');
  12. include_once('../class/class.workshop.php');
  13.  
  14. isset($_SESSION['authenticated']?  $isAuthentified true $isAuthentified false;
  15.  
  16. if(isset($_REQUEST['id'])) {
  17.   $_POST['workgroup_'.$_REQUEST['id']] true;
  18.   $link_back HrefMaker(array('rub'=>$GLOBALS['links'][U_L]['workgroup']['linkvalue']'id'=> $_REQUEST['id']));
  19. }
  20. $link_registration array('rub'=> $GLOBALS['links'][U_L]['user-registration']['linkvalue']);
  21. $link_account array('rub'=> $GLOBALS['links'][U_L]['user-prefs']['linkvalue']);
  22.  
  23. function ischecked($id{
  24.   if(isset($_POST['workgroup_'.$id]))  return true;
  25.   else return false;
  26. }
  27.  
  28. function isWgselected($workgroups{
  29.   for($i=0$i<count($workgroups)$i++{
  30.     $var 'workgroup_'.$workgroups[$i]->workshop_id;
  31.     if(isset($_POST[$var])) return true;
  32.   }
  33.   return false;
  34. }
  35.  
  36. function getSelectedwg($workgroups{
  37.   $a array();
  38.   for($i=0$i<count($workgroups)$i++{
  39.     $var 'workgroup_'.$workgroups[$i]->workshop_id;
  40.     if(isset($_POST[$var])) array_push($a$workgroups[$i]->workshop_id);
  41.   }
  42.  
  43.   return $a;
  44. }
  45. ?>
  46.  
  47. <?php
  48. // set HTML Title
  49. SetHTMLTitle(_t('workshop','get_involve_long'));
  50. setBreadcrumb(array(_t('workshop','get_involve'=> false));
  51.  
  52. // workshops
  53. $workgroups $GLOBALS['sql_object']->DBSelect(SQL_Get_WorkshopsNames()'OBJECT');
  54. // we init an array to see if user has already subscribed all groups
  55. $subscribed array();
  56.  
  57. for($i=0$i<count($workgroups)$i++{
  58.     
  59.     // we do not test restricted workshop
  60.     if($workgroups[$i]->workshop_restricted == 0{
  61.       if($GLOBALS['l21auth']->isWorkgroupUser($workgroups[$i]->workshop_id$GLOBALS['sql_object'])) {
  62.         array_push($subscribedtrue);
  63.       else {
  64.         array_push($subscribedfalse);
  65.       }
  66.     }
  67.     
  68. }
  69. ?>
  70. <h1>
  71.  
  72. <?php echo _t('workshop','get_involve_long')?></h1>
  73. <div>
  74.  
  75.  
  76. <?php
  77. $comment='';
  78.  
  79. if(isset($_POST['comment'])) {
  80.  
  81.   $msg='';
  82.  
  83.   // sélection d'au moins un groupe
  84.   if (!isWgselected($workgroups)) $msg.=_t('workshop','nogroup_selected').'<br />';
  85.   else {
  86.     $groups='';
  87.     $data=$GLOBALS['sql_object']->DBSelect(SQL_Get_WorkshopsNames(getSelectedwg($workgroups))'OBJECT');
  88.  
  89.     $a array();
  90.     foreach($data as $el{
  91.       $groups.= " - ".$el->workshop_denomination" <i>(id: ".$el->workshop_id.")</i><br />\n";
  92.     }
  93.   }
  94.  
  95.   if(empty($msg)) {
  96.     $passed true;
  97.     $class='confirm';
  98.     $msg .= _t('workshop''confirm_request');
  99.     if(isset($link_back)) $msg .= ' <a href="'.$link_back.'" title="'._t('workshop','workshop_back').'" >'._t('workshop','workshop_back').'</a>.'.END_LINE;
  100.     // not used anymore -- $linkuser = 'index.php?rub=user&todo=mod&id='.base64_decode($_SESSION['userid']).'#groups';
  101.     
  102.     $workshop_object new workshop;
  103.     foreach($data as $el{
  104.         $workshop_object->AddUserWorkshop($el->workshop_id$_SESSION['userlogin']'A'$GLOBALS['sql_object']);
  105.     }
  106.  
  107.     /** include email template */
  108.     $a['action']='workgroup_request';
  109.     $a['moderate_link'SITE_ROOT_URL 'admin/index.php#workgroup-users';
  110.     $user_recipient SITE_MAIL;
  111.     include_once(override('../workshop/mail_actions.php'));
  112.     include_once(override('../mail/template.php'));
  113.  
  114.   else {
  115.     $passed false;
  116.     $class='error';
  117.   }
  118. }
  119.  
  120. if(isset($passed)) echo '<div class="'.$class.'">'.$msg.'</div>';
  121.  
  122. if(!$isAuthentified{
  123.  
  124.   echo '<p class="warning">'._t('workshop','note_account').' ' '<a href="'.HrefMaker($link_account).'" title="'.formatText(_t('divers','auth')'2ATT').'" >'._t('divers','auth').'</a>.<br />'.END_LINE;
  125.   echo '<a href="'.HrefMaker($link_registration).'">'._t('user','info_inscription2').' </a></p>';
  126.  
  127. else {
  128.   // affichage s'il manque un champs
  129.   if(!isset($passed|| $passed == false{
  130.  
  131.     // the user has not subscribed all groups, we display the form
  132.     if(in_array(false$subscribed)) {
  133.  
  134.       $form new genForm;
  135.       $form->startForm('index.php''#wg-subscription');
  136.       $form->insertHTML('<div id="choosegdt">'._t('workshop','subscribe_to').' : </div>');
  137.       $form->insertHTML('<div class="label-leftmargin">');
  138.       for($i=0$i<count($workgroups)$i++{
  139.         if(!$GLOBALS['l21auth']->isWorkgroupUser($workgroups[$i]->workshop_id$GLOBALS['sql_object'])) {
  140.  
  141.             // if group is restricted users are not allowed to subscribed
  142.             if($workgroups[$i]->workshop_restricted != 1{
  143.               // we remove the workgroups user already belongs to
  144.               $form->checkboxInput('checkbox','workgroup_'.$workgroups[$i]->workshop_id$workgroups[$i]->workshop_id$workgroups[$i]->workshop_denominationischecked($workgroups[$i]->workshop_id)'after''cb''labelised autowidth');
  145.             }
  146.         }
  147.       }
  148.       $form->insertHTML('</div>');
  149.       $form->textareaInput('comment',ucfirst(_t('divers''comment')).' ('._t('divers''optional').') : ',false,'labelised'false$comment6010);
  150.       $form->insertBR();
  151.       $form->submitButton(false_t('btn''valid')true'submitbut');
  152.       $form->hiddenInput('rub'$_REQUEST['rub']);
  153.       if(isset($_REQUEST['id'])) $form->hiddenInput('id'$_REQUEST['id']);
  154.       $form->closeForm();
  155.       if(!$output $form->getForm()) {
  156.         die("error: " $form->error);
  157.       }
  158.       else {
  159.         echo $output;
  160.       }
  161.       // the user already subscribed all groups, we display a warning
  162.     else {
  163.       echo '<p class="warning">'._t('workshop''allgroups_subscribed').'</p>'.END_LINE;
  164.     }
  165.   }
  166. }
  167.  
  168. ?></div>

Documentation generated on Thu, 20 Mar 2014 16:49:43 +0100 by phpDocumentor 1.4.1