[ Index ] |
|
Code source de Claroline 188 |
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 = '&order_crit=' . $_SESSION['admin_register_order_crit'] 219 . '&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&chdir=yes&search=' . $search . '&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 . '&chdir=yes&search=' . $search 282 . '&cidToEdit=' . $cidToEdit . '">' . get_lang('Last name') . '</a>' 283 . '</th>' . "\n" 284 285 . '<th>' 286 . '<a href="' . $_SERVER['PHP_SELF'] 287 . '?order_crit=prenom' 288 . '&chdir=yes' 289 . '&search=' . $search 290 . '&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 = '&order_crit=' . $_REQUEST['order_crit']; 308 } 309 if (isset($_REQUEST['offset'])) 310 { 311 $addToURL = '&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 .'&cmd=sub&search='.$search 354 .'&user_id=' . $user['ID'] 355 .'&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 . '&cmd=sub&search='.$search 379 . '&user_id=' . $user['ID'] 380 . '&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 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Thu Nov 29 14:38:42 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |