[ Index ]
 

Code source de Claroline 188

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/claroline/admin/ -> adminregisteruser.php (source)

   1  <?php // $Id: adminregisteruser.php,v 1.70 2006/12/19 09:41:35 moosh Exp $
   2  /**
   3   * CLAROLINE
   4   *
   5   * This script list member of campus and  propose to subscribe it to the given course
   6   *
   7   * @version 1.8 $Revision: 1.70 $
   8   *
   9   * @copyright 2001-2006 Universite catholique de Louvain (UCL)
  10   *
  11   * @license http://www.gnu.org/copyleft/gpl.html (GPL) GENERAL PUBLIC LICENSE
  12   *
  13   * @see http://www.claroline.net/wiki/CLADMIN/
  14   *
  15   * @author Claro Team <cvs@claroline.net>
  16   *
  17   * @package CLUSR
  18   *
  19   */
  20  
  21  $cidReset = TRUE; $gidReset = TRUE; $tidReset = TRUE;
  22  
  23  // initialisation of global variables and used libraries
  24  require  '../inc/claro_init_global.inc.php';
  25  
  26  include_once get_path('incRepositorySys') . '/lib/pager.lib.php';
  27  include_once get_path('incRepositorySys') . '/lib/course_user.lib.php';
  28  
  29  // Security check
  30  if ( ! claro_is_user_authenticated() ) claro_disp_auth_form();
  31  if ( ! claro_is_platform_admin() ) claro_die(get_lang('Not allowed'));
  32  
  33  if ((isset($_REQUEST['cidToEdit']) && $_REQUEST['cidToEdit']=='') || !isset($_REQUEST['cidToEdit']))
  34  {
  35      unset($_REQUEST['cidToEdit']);
  36      $dialogBox = 'ERROR : NO COURSE SET!!!';
  37  
  38  }
  39  else
  40  {
  41     $cidToEdit = $_REQUEST['cidToEdit'];
  42  }
  43  $userPerPage = 20; // numbers of user to display on the same page
  44  
  45  //get needed parameter from URL
  46  
  47  $user_id = isset( $_REQUEST['user_id'] ) ? $_REQUEST['user_id'] : null ;
  48  
  49  if ($cidToEdit=='') { $dialogBox ='ERROR : NO USER SET!!!'; }
  50  
  51  // Deal with interbredcrumps
  52  $interbredcrump[]= array ( 'url' => get_path('rootAdminWeb'), 'name' => get_lang('Administration'));
  53  $nameTools = get_lang('Enroll a user');
  54  
  55  //TABLES
  56  $tbl_mdb_names = claro_sql_get_main_tbl();
  57  $tbl_user          = $tbl_mdb_names['user'            ];
  58  $tbl_courses       = $tbl_mdb_names['course'          ];
  59  $tbl_course_user   = $tbl_mdb_names['rel_course_user' ];
  60  $tbl_track_default = $tbl_mdb_names['track_e_default' ];
  61  
  62  // See SESSION variables used for reorder criteria :
  63  
  64  if (isset($_REQUEST['dir']))       {$_SESSION['admin_register_dir']        = $_REQUEST['dir'];       }
  65  if (isset($_REQUEST['order_crit'])){$_SESSION['admin_register_order_crit'] = $_REQUEST['order_crit'];}
  66  
  67  //------------------------------------
  68  // Execute COMMAND section
  69  //------------------------------------
  70  
  71  $cmd = isset($_REQUEST['cmd']) ? $_REQUEST['cmd'] : null;
  72  
  73  switch ( $cmd )
  74  {
  75      case 'sub' : //execute subscription command...
  76  
  77          $done = user_add_to_course($user_id, $cidToEdit, false, false, false);
  78  
  79          // Set status requested
  80  
  81          if ( $_REQUEST['isCourseManager'] )     // ... as teacher
  82          {
  83              $properties['isCourseManager'] = 1;
  84              $properties['tutor']  = 1;
  85          }
  86          else // ... as student
  87          {
  88              $properties['isCourseManager'] = 0;
  89              $properties['tutor']  = 0;
  90          }
  91  
  92          user_set_course_properties($user_id, $cidToEdit, $properties);
  93  
  94          //set dialogbox message
  95  
  96          if ( $done )
  97          {
  98             $dialogBox = get_lang('The user has been enroled to the course');
  99          }
 100          break;
 101  
 102  }
 103  
 104  //build and call DB to get info about current course (for title) if needed :
 105  
 106  $courseData = claro_get_course_data($cidToEdit);
 107  
 108  //----------------------------------
 109  // Build query and find info in db
 110  //----------------------------------
 111  
 112  $sql = "
 113  SELECT
 114      U.nom, U.prenom, U.`user_id` AS ID,
 115      CU.*,
 116      CU.`user_id` AS Register
 117  FROM  `" . $tbl_user . "` AS U";
 118  
 119  $toAdd = "
 120  LEFT JOIN `" . $tbl_course_user . "` AS CU
 121      ON             CU.`user_id`=U.`user_id`
 122              AND CU.`code_cours` = '" . addslashes($cidToEdit) . "'
 123          ";
 124  
 125  $sql.=$toAdd;
 126  
 127  //deal with LETTER classification call
 128  
 129  if (isset($_GET['letter']))
 130  {
 131      $toAdd = "
 132              AND U.`nom` LIKE '" . addslashes($_GET['letter']) . "%' ";
 133      $sql .= $toAdd;
 134  }
 135  
 136  //deal with KEY WORDS classification call
 137  
 138  if ( isset( $_REQUEST['search'] ) && $_REQUEST['search'] != '' )
 139  {
 140      $toAdd = " WHERE (U.`nom` LIKE '" . addslashes($_REQUEST['search']) . "%'
 141                OR U.`username` LIKE '" . addslashes($_REQUEST['search']) . "%'
 142                OR U.`prenom` LIKE '" . addslashes($_REQUEST['search']) . "%') " ;
 143  
 144      $sql .= $toAdd;
 145  }
 146  
 147  // deal with REORDER
 148  
 149  //first see is direction must be changed
 150  
 151  if ( isset( $_REQUEST['chdir'] ) && ( $_REQUEST['chdir'] == 'yes' ) )
 152  {
 153      if ( $_SESSION['admin_register_dir'] == 'ASC' )
 154      {
 155          $_SESSION['admin_register_dir'] = 'DESC';
 156      }
 157      else
 158      {
 159          $_SESSION['admin_register_dir'] = 'ASC';
 160      }
 161  }
 162  
 163  if (isset($_SESSION['admin_register_order_crit']))
 164  {
 165      if ($_SESSION['admin_register_order_crit'] == 'user_id' )
 166      {
 167          $toAdd = " ORDER BY `U`.`user_id` " . $_SESSION['admin_register_dir'];
 168      }
 169      else
 170      {
 171          $toAdd = " ORDER BY `" . $_SESSION['admin_register_order_crit'] . "` " . $_SESSION['admin_register_dir'];
 172      }
 173      $sql .= $toAdd;
 174  }
 175  
 176  //Build pager with SQL request
 177  
 178  if ( !isset( $_REQUEST['offset'] ) )
 179  {
 180      $offset = '0';
 181  }
 182  else
 183  {
 184      $offset = $_REQUEST['offset'];
 185  }
 186  
 187  $myPager = new claro_sql_pager($sql, $offset, $userPerPage);
 188  $userList = $myPager->get_result_list();
 189  
 190  $isSearched = '';
 191  
 192  //get the search keyword, if any
 193  
 194  if ( !isset( $_REQUEST['search']) )
 195  {
 196     $search = '';
 197  }
 198  else
 199  {
 200     $search = $_REQUEST['search'];
 201  }
 202  
 203  
 204  $addToURL = ( isset($_REQUEST['addToURL']) ? $_REQUEST['addToURL'] : '');
 205  
 206  $nameTools .= ' : ' . $courseData['name'];
 207  
 208  // search form
 209  
 210  if ( isset( $search ) && $search != '' )         { $isSearched .= $search . '* '; }
 211  if (($isSearched == '') || !isset($isSearched) ) { $title = ''; }
 212                                              else { $title = get_lang('Search on') . ' : '; }
 213  
 214  //Pager
 215  
 216  if (isset($_REQUEST['order_crit']))
 217  {
 218      $addToURL = '&amp;order_crit=' . $_SESSION['admin_register_order_crit']
 219                . '&amp;dir=' . $_SESSION['admin_register_dir']
 220                ;
 221  }
 222  
 223  //------------------------------------
 224  // DISPLAY
 225  //------------------------------------
 226  
 227  // Display tool title
 228  
 229  //Header
 230  include get_path('incRepositorySys') . '/claro_init_header.inc.php';
 231  
 232  echo claro_html_tool_title( $nameTools );
 233  
 234  // Display Forms or dialog box(if needed)
 235  
 236  if( isset($dialogBox) ) echo claro_html_message_box($dialogBox);
 237  
 238  
 239  echo '<table width="100%" class="claroTableForm" >'
 240  .    '<tr>'
 241  .    '<td align="left">' . "\n"
 242  .    '<b>' . $title . '</b>' . "\n"
 243  .    '<small>' . "\n"
 244  .    $isSearched . "\n"
 245  .    '</small>' . "\n"
 246  .    '</td>' . "\n"
 247  .    '<td align="right">' . "\n"
 248  .    '<form action="' . $_SERVER['PHP_SELF'] . '" >' . "\n"
 249  .    '<label for="search">' . get_lang('Make search') . '</label> :' . "\n"
 250  .    '<input type="text" value="' . htmlspecialchars($search) . '" name="search" id="search" />' . "\n"
 251  .    '<input type="submit" value=" ' . get_lang('Ok') . ' "/>' . "\n"
 252  .    '<input type="hidden" name="newsearch" value="yes" />' . "\n"
 253  .    '<input type="hidden" name="cidToEdit" value="' . $cidToEdit . '" />' . "\n"
 254  .    '</form>' . "\n"
 255  .    '</td>' . "\n"
 256  .    '</tr>' . "\n"
 257  .    '</table>' . "\n"
 258  //TOOL LINKS
 259  .    '<a class="claroCmd" href="admincourseusers.php?cidToEdit='.$cidToEdit.'">'
 260  .    get_lang('Course members')
 261  .    '</a><br /><br />'
 262  .    $myPager->disp_pager_tool_bar($_SERVER['PHP_SELF'] . '?cidToEdit=' . $cidToEdit . $addToURL)
 263  
 264  // Display list of users
 265  // start table...
 266  //columns titles...
 267  
 268  .    '<table class="claroTable emphaseLine" width="100%" border="0" cellspacing="2">' . "\n"
 269  .    '<thead>' . "\n"
 270  .    '<tr class="headerX" align="center" valign="top">' . "\n"
 271  .    '<th>'
 272  
 273  .    '<a href="' . $_SERVER['PHP_SELF']
 274  .    '?order_crit=user_id&amp;chdir=yes&amp;search=' . $search . '&amp;cidToEdit=' . $cidToEdit . '">'
 275  .    get_lang('User Id')
 276  .    '</a>'
 277  .    '</th>' . "\n"
 278  
 279  .    '<th>'
 280  .    '<a href="' . $_SERVER['PHP_SELF'] . '?order_crit=nom'
 281  .    '&amp;chdir=yes&amp;search=' . $search
 282  .    '&amp;cidToEdit=' . $cidToEdit . '">' . get_lang('Last name') . '</a>'
 283  .    '</th>' . "\n"
 284  
 285  .    '<th>'
 286  .    '<a href="' . $_SERVER['PHP_SELF']
 287  .    '?order_crit=prenom'
 288  .    '&amp;chdir=yes'
 289  .    '&amp;search=' . $search
 290  .    '&amp;cidToEdit=' . $cidToEdit . '">'
 291  .    get_lang('First name')
 292  .    '</a>'
 293  .    '</th>' . "\n"
 294  
 295  .    '<th>' . get_lang('Enrol as student') . '</th>' . "\n"
 296  .    '<th>' . get_lang('Enrol as course manager') . '</th>' . "\n"
 297  .    '</tr>' . "\n"
 298  .    '</thead>' . "\n"
 299  .    '<tbody>'
 300  ;
 301  
 302  // Start the list of users...
 303  $addToURL = ( isset($_REQUEST['addToURL']) ? $_REQUEST['addToURL'] : '');
 304  
 305  if (isset($_REQUEST['order_crit']))
 306  {
 307      $addToURL = '&amp;order_crit=' . $_REQUEST['order_crit'];
 308  }
 309  if (isset($_REQUEST['offset']))
 310  {
 311      $addToURL = '&amp;offset=' . $_REQUEST['offset'];
 312  }
 313  foreach($userList as $user)
 314  {
 315      if (isset($_REQUEST['search'])&& ($_REQUEST['search'] != ''))
 316      {
 317          $user['nom'] = eregi_replace("^(".$_REQUEST['search'].")",'<b>\\1</b>', $user['nom']);
 318          $user['prenom'] = eregi_replace("^(".$_REQUEST['search'].")","<b>\\1</b>", $user['prenom']);
 319      }
 320  
 321      echo '<tr>' . "\n"
 322      //  Id
 323      .   '<td align="center">'
 324      .   $user['ID']
 325      .   '</td>'."\n"
 326      // name
 327      .   '<td align="left">'
 328      .   $user['nom']
 329      .   '</td>'
 330      //  First name
 331      .   '<td align="left">'
 332      .   $user['prenom']
 333      .   '</td>'
 334      ;
 335  
 336      if ( !is_null($user['isCourseManager']) && $user['isCourseManager'] == 0 )  // user is already enrolled but as student
 337      {
 338          // already enrolled as student
 339          echo '<td align="center" >' . "\n"
 340          .    '<small>'
 341          .    get_lang('Already enroled')
 342          .    '</small>'
 343          .    '</td>' . "\n"
 344          ;
 345  
 346      }
 347      else
 348      {
 349          // Register as user
 350          echo '<td align="center">' . "\n"
 351              .'<a href="' . $_SERVER['PHP_SELF']
 352              .'?cidToEdit=' . $cidToEdit
 353              .'&amp;cmd=sub&amp;search='.$search
 354              .'&amp;user_id=' . $user['ID']
 355              .'&amp;isCourseManager=0' . $addToURL . '">'
 356              .'<img src="' . get_path('imgRepositoryWeb') . 'enroll.gif" border="0" alt="' . get_lang('Register user') . '" />' . "\n"
 357              .'</a>'
 358              .'</td>'."\n"
 359              ;
 360      }
 361  
 362      if ( !is_null($user['isCourseManager']) && $user['isCourseManager'] == 1 )  // user is not enrolled
 363      {
 364          // already enrolled as teacher
 365          echo '<td align="center" >'."\n"
 366          .    '<small>'
 367          .    get_lang('Already enroled')
 368          .    '</small>'
 369          .    '</td>'."\n"
 370          ;
 371      }
 372      else
 373      {
 374          //register as teacher
 375          echo '<td align="center">' . "\n"
 376          .    '<a href="' . $_SERVER['PHP_SELF']
 377          .    '?cidToEdit=' . $cidToEdit
 378          .    '&amp;cmd=sub&amp;search='.$search
 379          .    '&amp;user_id=' . $user['ID']
 380          .    '&amp;isCourseManager=1' . $addToURL . '">'
 381          .    '<img src="' . get_path('imgRepositoryWeb') . 'enroll.gif" border="0" alt="' . get_lang('Register user') . '" />'
 382          .    '</a>' . "\n"
 383          .    '</td>' . "\n"
 384          ;
 385      }
 386      echo '</tr>';
 387  }
 388  // end display users table
 389  echo '</tbody></table>'
 390  .    $myPager->disp_pager_tool_bar($_SERVER['PHP_SELF'] . '?cidToEdit=' . $cidToEdit . $addToURL);
 391  
 392  include get_path('incRepositorySys') . '/claro_init_footer.inc.php';
 393  ?>


Généré le : Thu Nov 29 14:38:42 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics