[svn r18156] UI improvements/ Adding the feature to add courses with an URL see FS#3462

skala
Julio Montoya 17 years ago
parent ef20ba70ac
commit 451c0e6035
  1. 5
      main/admin/access_url_add_users_to_url.php
  2. 12
      main/admin/access_url_edit_courses_to_url.php
  3. 12
      main/admin/access_url_edit_users_to_url.php
  4. 8
      main/admin/access_urls.php
  5. 135
      main/admin/add_courses_to_session.php
  6. 195
      main/admin/add_users_to_session.php
  7. 66
      main/admin/session_edit.php
  8. 98
      main/admin/session_list.php
  9. 45
      main/admin/user_information.php
  10. 9
      main/inc/lib/database.lib.php
  11. 34
      main/inc/lib/urlmanager.lib.php
  12. 5
      main/inc/lib/usermanager.lib.php
  13. 144
      main/user/subscribe_user.php

@ -16,8 +16,7 @@
See the GNU General Public License for more details. See the GNU General Public License for more details.
Contact address: Dokeos, 44 rue des palais, B-1030 Brussels, Belgium Contact: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium, info@dokeos.com
Mail: info@dokeos.com
============================================================================== ==============================================================================
*/ */
/** /**
@ -159,7 +158,7 @@ unset($result);
</td> </td>
<td width="20%">&nbsp;</td> <td width="20%">&nbsp;</td>
<td width="40%" align="center"> <td width="40%" align="center">
<b><?php echo get_lang('url_list'); ?> :</b> <b><?php echo get_lang('URLList'); ?> :</b>
</td> </td>
</tr> </tr>
<tr> <tr>

@ -16,7 +16,7 @@
See the GNU General Public License for more details. See the GNU General Public License for more details.
Contact: Dokeos, 181 rue Royale, B-1000 Brussels, Belgium, info@dokeos.com Contact: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium, info@dokeos.com
============================================================================== ==============================================================================
*/ */
/** /**
@ -225,12 +225,14 @@ $url_list = UrlManager::get_url_data();
<?php echo get_lang('SelectUrl').' : '; ?> <?php echo get_lang('SelectUrl').' : '; ?>
<select name="access_url_id" onchange="javascript:send();"> <select name="access_url_id" onchange="javascript:send();">
<option value="0"> <?php echo get_lang('SelectUrl')?></option> <option value="0"> <?php echo get_lang('SelectUrl')?></option>
<?php <?php
$url_selected='';
foreach ($url_list as $url_obj) { foreach ($url_list as $url_obj) {
$checked = ''; $checked = '';
if (!empty($access_url_id)) { if (!empty($access_url_id)) {
if ($url_obj[0]==$access_url_id) { if ($url_obj[0]==$access_url_id) {
$checked = 'selected=true'; $checked = 'selected=true';
$url_selected=$url_obj[1];
} }
} }
?> ?>
@ -255,8 +257,8 @@ if(!empty($errorMsg)) {
<tr> <tr>
<td align="center"><b><?php echo get_lang('CourseListInPlatform') ?> :</b> <td align="center"><b><?php echo get_lang('CourseListInPlatform') ?> :</b>
</td> </td>
<td></td> <td></td>
<td align="center"><b><?php echo get_lang('CourseListInURL') ?> :</b></td> <td align="center"><b><?php echo get_lang('CourseListIn').' '.$url_selected; ?></b></td>
</tr> </tr>
<tr> <tr>

@ -16,7 +16,7 @@
See the GNU General Public License for more details. See the GNU General Public License for more details.
Contact: Dokeos, 181 rue Royale, B-1000 Brussels, Belgium, info@dokeos.com Contact: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium, info@dokeos.com
============================================================================== ==============================================================================
*/ */
/** /**
@ -222,12 +222,14 @@ $url_list = UrlManager::get_url_data();
<?php echo get_lang('SelectUrl').' : '; ?> <?php echo get_lang('SelectUrl').' : '; ?>
<select name="access_url_id" onchange="javascript:send();"> <select name="access_url_id" onchange="javascript:send();">
<option value="0"> <?php echo get_lang('SelectUrl')?></option> <option value="0"> <?php echo get_lang('SelectUrl')?></option>
<?php <?php
$url_selected='';
foreach ($url_list as $url_obj) { foreach ($url_list as $url_obj) {
$checked = ''; $checked = '';
if (!empty($access_url_id)) { if (!empty($access_url_id)) {
if ($url_obj['id']==$access_url_id) { if ($url_obj['id']==$access_url_id) {
$checked = 'selected=true'; $checked = 'selected=true';
$url_selected= $url_obj[1];
} }
} }
?> ?>
@ -253,7 +255,7 @@ if(!empty($errorMsg)) {
<td align="center"><b><?php echo get_lang('UserListInPlatform') ?> :</b> <td align="center"><b><?php echo get_lang('UserListInPlatform') ?> :</b>
</td> </td>
<td></td> <td></td>
<td align="center"><b><?php echo get_lang('UserListInURL') ?> :</b></td> <td align="center"><b><?php echo get_lang('UserListIn').' '.$url_selected; ?> :</b></td>
</tr> </tr>
<tr> <tr>
@ -379,7 +381,7 @@ function sortOptions(options) {
newOptions = new Array(); newOptions = new Array();
for (i = 0 ; i<options.length ; i++) for (i = 0 ; i<options.length ; i++)
newOptions[i] = options[i]; newOptions[i] = options[i];
url_list
newOptions = newOptions.sort(mysort); newOptions = newOptions.sort(mysort);
options.length = 0; options.length = 0;
for(i = 0 ; i < newOptions.length ; i++) for(i = 0 ; i < newOptions.length ; i++)

@ -69,11 +69,11 @@ if (isset ($_GET['action'])) {
break; break;
case 'lock' : case 'lock' :
UrlManager::set_url_status('lock',$url_id); UrlManager::set_url_status('lock',$url_id);
Display :: display_normal_message(get_lang('URLInactivate')); Display :: display_normal_message(get_lang('URLInactive'));
break; break;
case 'unlock'; case 'unlock';
UrlManager::set_url_status('unlock',$url_id); UrlManager::set_url_status('unlock',$url_id);
Display :: display_normal_message(get_lang('URLActivate')); Display :: display_normal_message(get_lang('URLActive'));
break; break;
case 'register'; case 'register';
// we are going to register the admin // we are going to register the admin
@ -125,8 +125,8 @@ if ($current_access_url_id==-1) {
echo '<div class="actions" style="height:22px;">'; echo '<div class="actions" style="height:22px;">';
echo '<div style="float:right;"> echo '<div style="float:right;">
<a href="'.api_get_path(WEB_CODE_PATH).'admin/access_url_edit.php">'.Display::return_icon('view_more_stats.gif',get_lang('AddUrl'),'').get_lang('AddUrl').'</a>&nbsp;&nbsp; <a href="'.api_get_path(WEB_CODE_PATH).'admin/access_url_edit.php">'.Display::return_icon('view_more_stats.gif',get_lang('AddUrl'),'').get_lang('AddUrl').'</a>&nbsp;&nbsp;
<a href="'.api_get_path(WEB_CODE_PATH).'admin/access_url_add_users_to_url.php">'.Display::return_icon('members.gif',get_lang('AddUserToURL'),'').get_lang('ManageUsers').'</a> <a href="'.api_get_path(WEB_CODE_PATH).'admin/access_url_edit_users_to_url.php">'.Display::return_icon('members.gif',get_lang('AddUserToURL'),'').get_lang('ManageUsers').'</a>
<a href="'.api_get_path(WEB_CODE_PATH).'admin/access_url_add_courses_to_url.php">'.Display::return_icon('courses.gif',get_lang('AddUsersToCourse'),'').get_lang('ManageCourses').'</a> <a href="'.api_get_path(WEB_CODE_PATH).'admin/access_url_edit_courses_to_url.php">'.Display::return_icon('courses.gif',get_lang('AddUsersToCourse'),'').get_lang('ManageCourses').'</a>
</div><br />'; </div><br />';
echo '</div>'; echo '</div>';

@ -3,7 +3,7 @@
============================================================================== ==============================================================================
Dokeos - elearning and course management software Dokeos - elearning and course management software
Copyright (c) 2004 Dokeos S.A. Copyright (c) 2004-2009 Dokeos SPRL
Copyright (c) 2003 Ghent University (UGent) Copyright (c) 2003 Ghent University (UGent)
Copyright (c) 2001 Universite catholique de Louvain (UCL) Copyright (c) 2001 Universite catholique de Louvain (UCL)
Copyright (c) Olivier Brouckaert Copyright (c) Olivier Brouckaert
@ -18,7 +18,7 @@
See the GNU General Public License for more details. See the GNU General Public License for more details.
Contact: Dokeos, 181 rue Royale, B-1000 Brussels, Belgium, info@dokeos.com Contact: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium, info@dokeos.com
============================================================================== ==============================================================================
*/ */
/** /**
@ -60,7 +60,6 @@ $tbl_course = Database::get_main_table(TABLE_MAIN_COURSE);
// setting the name of the tool // setting the name of the tool
$tool_name= get_lang('SubscribeCoursesToSession'); $tool_name= get_lang('SubscribeCoursesToSession');
$id_session=intval($_GET['id_session']); $id_session=intval($_GET['id_session']);
$add_type = 'unique'; $add_type = 'unique';
@ -72,22 +71,19 @@ if(!api_is_platform_admin())
{ {
$sql = 'SELECT session_admin_id FROM '.Database :: get_main_table(TABLE_MAIN_SESSION).' WHERE id='.$id_session; $sql = 'SELECT session_admin_id FROM '.Database :: get_main_table(TABLE_MAIN_SESSION).' WHERE id='.$id_session;
$rs = api_sql_query($sql,__FILE__,__LINE__); $rs = api_sql_query($sql,__FILE__,__LINE__);
if(mysql_result($rs,0,0)!=$_user['user_id']) if(Database::result($rs,0,0)!=$_user['user_id'])
{ {
api_not_allowed(true); api_not_allowed(true);
} }
} }
function search_courses($needle) function search_courses($needle)
{ {
global $tbl_course, $tbl_session_rel_course, $id_session; global $tbl_course, $tbl_session_rel_course, $id_session;
$xajax_response = new XajaxResponse(); $xajax_response = new XajaxResponse();
$return = ''; $return = '';
if(!empty($needle)) if(!empty($needle)) {
{
// xajax send utf8 datas... datas in db can be non-utf8 datas // xajax send utf8 datas... datas in db can be non-utf8 datas
$charset = api_get_setting('platform_charset'); $charset = api_get_setting('platform_charset');
$needle = mb_convert_encoding($needle, $charset, 'utf-8'); $needle = mb_convert_encoding($needle, $charset, 'utf-8');
@ -101,10 +97,25 @@ function search_courses($needle)
WHERE course.visual_code LIKE "'.$needle.'%" WHERE course.visual_code LIKE "'.$needle.'%"
OR course.title LIKE "'.$needle.'%"'; OR course.title LIKE "'.$needle.'%"';
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
$tbl_course_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){
$sql = 'SELECT course.code, course.visual_code, course.title, session_rel_course.id_session
FROM '.$tbl_course.' course
LEFT JOIN '.$tbl_session_rel_course.' session_rel_course
ON course.code = session_rel_course.course_code
AND session_rel_course.id_session = '.intval($id_session).'
INNER JOIN '.$tbl_course_rel_access_url.' url_course ON (url_course.course_code=course.code)
WHERE access_url_id = '.$access_url_id.' AND (course.visual_code LIKE "'.$needle.'%"
OR course.title LIKE "'.$needle.'%" )';
}
}
$rs = api_sql_query($sql, __FILE__, __LINE__); $rs = api_sql_query($sql, __FILE__, __LINE__);
$course_list = array(); $course_list = array();
while($course = Database :: fetch_array($rs)) while($course = Database :: fetch_array($rs)) {
{
$course_list[] = $course['code']; $course_list[] = $course['code'];
$return .= '<a href="#" onclick="add_course_to_session(\''.$course['code'].'\',\''.$course['title'].' ('.$course['visual_code'].')'.'\')">'.$course['title'].' ('.$course['visual_code'].')</a><br />'; $return .= '<a href="#" onclick="add_course_to_session(\''.$course['code'].'\',\''.$course['title'].' ('.$course['visual_code'].')'.'\')">'.$course['title'].' ('.$course['visual_code'].')</a><br />';
} }
@ -135,7 +146,7 @@ function add_course_to_session (code, content) {
destination.selectedIndex = -1; destination.selectedIndex = -1;
sortOptions(destination.options); sortOptions(destination.options);
} }
function remove_item(origin) function remove_item(origin)
{ {
for(var i = 0 ; i<origin.options.length ; i++) { for(var i = 0 ; i<origin.options.length ; i++) {
@ -154,24 +165,19 @@ $CourseList=$SessionList=array();
$courses=$sessions=array(); $courses=$sessions=array();
$noPHP_SELF=true; $noPHP_SELF=true;
if ($_POST['formSent']) {
if($_POST['formSent'])
{
$formSent=$_POST['formSent']; $formSent=$_POST['formSent'];
$firstLetterCourse=$_POST['firstLetterCourse']; $firstLetterCourse=$_POST['firstLetterCourse'];
$firstLetterSession=$_POST['firstLetterSession']; $firstLetterSession=$_POST['firstLetterSession'];
$CourseList=$_POST['SessionCoursesList']; $CourseList=$_POST['SessionCoursesList'];
if(!is_array($CourseList)) if (!is_array($CourseList)) {
{
$CourseList=array(); $CourseList=array();
} }
$nbr_courses=0; $nbr_courses=0;
$id_coach = api_sql_query("SELECT id_coach FROM $tbl_session WHERE id=$id_session"); $id_coach = api_sql_query("SELECT id_coach FROM $tbl_session WHERE id=$id_session");
$id_coach = mysql_fetch_array($id_coach); $id_coach = Database::fetch_array($id_coach);
$id_coach = $id_coach[0]; $id_coach = $id_coach[0];
$rs = api_sql_query("SELECT course_code FROM $tbl_session_rel_course WHERE id_session=$id_session"); $rs = api_sql_query("SELECT course_code FROM $tbl_session_rel_course WHERE id_session=$id_session");
@ -181,35 +187,27 @@ if($_POST['formSent'])
FROM $tbl_session_rel_user FROM $tbl_session_rel_user
WHERE id_session = $id_session"; WHERE id_session = $id_session";
$result=api_sql_query($sql,__FILE__,__LINE__); $result=api_sql_query($sql,__FILE__,__LINE__);
$UserList=api_store_result($result); $UserList=api_store_result($result);
foreach($CourseList as $enreg_course) foreach($CourseList as $enreg_course) {
{
$exists = false; $exists = false;
foreach($existingCourses as $existingCourse) foreach($existingCourses as $existingCourse) {
{ if($enreg_course == $existingCourse['course_code']) {
if($enreg_course == $existingCourse['course_code'])
{
$exists=true; $exists=true;
} }
} }
if(!$exists) if(!$exists) {
{
api_sql_query("INSERT INTO $tbl_session_rel_course(id_session,course_code, id_coach) VALUES('$id_session','$enreg_course','$id_coach')",__FILE__,__LINE__); api_sql_query("INSERT INTO $tbl_session_rel_course(id_session,course_code, id_coach) VALUES('$id_session','$enreg_course','$id_coach')",__FILE__,__LINE__);
//We add in the existing courses table the current course, to not try to add another time the current course //We add in the existing courses table the current course, to not try to add another time the current course
$existingCourses[]=array('course_code'=>$enreg_course); $existingCourses[]=array('course_code'=>$enreg_course);
$nbr_users=0; $nbr_users=0;
foreach($UserList as $enreg_user) foreach ($UserList as $enreg_user) {
{
$enreg_user = $enreg_user['id_user']; $enreg_user = $enreg_user['id_user'];
api_sql_query("INSERT IGNORE INTO $tbl_session_rel_course_rel_user(id_session,course_code,id_user) VALUES('$id_session','$enreg_course','$enreg_user')",__FILE__,__LINE__); api_sql_query("INSERT IGNORE INTO $tbl_session_rel_course_rel_user(id_session,course_code,id_user) VALUES('$id_session','$enreg_course','$enreg_user')",__FILE__,__LINE__);
if(Database::affected_rows()) {
if(mysql_affected_rows())
{
$nbr_users++; $nbr_users++;
} }
} }
@ -233,14 +231,9 @@ if($_POST['formSent'])
else else
header('Location: resume_session.php?id_session='.$id_session); header('Location: resume_session.php?id_session='.$id_session);
//header('Location: '.$_GET['page'].'?id_session='.$id_session); //header('Location: '.$_GET['page'].'?id_session='.$id_session);
} }
Display::display_header($tool_name); Display::display_header($tool_name);
api_display_tool_title($tool_name); api_display_tool_title($tool_name);
/*$sql = 'SELECT COUNT(1) FROM '.$tbl_course; /*$sql = 'SELECT COUNT(1) FROM '.$tbl_course;
$rs = api_sql_query($sql, __FILE__, __LINE__); $rs = api_sql_query($sql, __FILE__, __LINE__);
@ -248,43 +241,68 @@ $count_courses = mysql_result($rs, 0, 0);*/
$ajax_search = $add_type == 'unique' ? true : false; $ajax_search = $add_type == 'unique' ? true : false;
$nosessionCourses = $sessionCourses = array(); $nosessionCourses = $sessionCourses = array();
if($ajax_search) if ($ajax_search) {
{
$sql="SELECT code, title, visual_code, id_session $sql="SELECT code, title, visual_code, id_session
FROM $tbl_course course FROM $tbl_course course
INNER JOIN $tbl_session_rel_course session_rel_course INNER JOIN $tbl_session_rel_course session_rel_course
ON course.code = session_rel_course.course_code ON course.code = session_rel_course.course_code
AND session_rel_course.id_session = ".intval($id_session)." AND session_rel_course.id_session = ".intval($id_session)."
ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title"; ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title";
$result=api_sql_query($sql,__FILE__,__LINE__);
$Courses=api_store_result($result);
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
$tbl_course_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){
$sql="SELECT code, title, visual_code, id_session
FROM $tbl_course course
INNER JOIN $tbl_session_rel_course session_rel_course
ON course.code = session_rel_course.course_code
AND session_rel_course.id_session = ".intval($id_session)."
INNER JOIN $tbl_course_rel_access_url url_course ON (url_course.course_code=course.code)
WHERE access_url_id = $access_url_id
ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title";
}
}
$result=api_sql_query($sql,__FILE__,__LINE__);
$Courses=api_store_result($result);
foreach($Courses as $course) foreach($Courses as $course) {
{
$sessionCourses[$course['code']] = $course ; $sessionCourses[$course['code']] = $course ;
} }
} } else {
else
{
$sql="SELECT code, title, visual_code, id_session $sql="SELECT code, title, visual_code, id_session
FROM $tbl_course course FROM $tbl_course course
LEFT JOIN $tbl_session_rel_course session_rel_course LEFT JOIN $tbl_session_rel_course session_rel_course
ON course.code = session_rel_course.course_code ON course.code = session_rel_course.course_code
AND session_rel_course.id_session = ".intval($id_session)." AND session_rel_course.id_session = ".intval($id_session)."
ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title"; ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title";
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
$tbl_course_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){
$sql="SELECT code, title, visual_code, id_session
FROM $tbl_course course
LEFT JOIN $tbl_session_rel_course session_rel_course
ON course.code = session_rel_course.course_code
AND session_rel_course.id_session = ".intval($id_session)."
INNER JOIN $tbl_course_rel_access_url url_course ON (url_course.course_code=course.code)
WHERE access_url_id = $access_url_id
ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title";
}
}
$result=api_sql_query($sql,__FILE__,__LINE__); $result=api_sql_query($sql,__FILE__,__LINE__);
$Courses=api_store_result($result); $Courses=api_store_result($result);
foreach($Courses as $course) foreach($Courses as $course) {
{ if ($course['id_session'] == $id_session) {
if($course['id_session'] == $id_session)
{
$sessionCourses[$course['code']] = $course ; $sessionCourses[$course['code']] = $course ;
} } else {
else
{
$nosessionCourses[$course['code']] = $course ; $nosessionCourses[$course['code']] = $course ;
} }
} }
@ -292,11 +310,10 @@ else
unset($Courses); unset($Courses);
if($add_type == 'multiple'){ if($add_type == 'multiple') {
$link_add_type_unique = '<a href="'.api_get_self().'?id_session='.$id_session.'&add='.$_GET['add'].'&add_type=unique">'.get_lang('SessionAddTypeUnique').'</a>'; $link_add_type_unique = '<a href="'.api_get_self().'?id_session='.$id_session.'&add='.$_GET['add'].'&add_type=unique">'.get_lang('SessionAddTypeUnique').'</a>';
$link_add_type_multiple = get_lang('SessionAddTypeMultiple'); $link_add_type_multiple = get_lang('SessionAddTypeMultiple');
} } else {
else{
$link_add_type_unique = get_lang('SessionAddTypeUnique'); $link_add_type_unique = get_lang('SessionAddTypeUnique');
$link_add_type_multiple = '<a href="'.api_get_self().'?id_session='.$id_session.'&add='.$_GET['add'].'&add_type=multiple">'.get_lang('SessionAddTypeMultiple').'</a>'; $link_add_type_multiple = '<a href="'.api_get_self().'?id_session='.$id_session.'&add='.$_GET['add'].'&add_type=multiple">'.get_lang('SessionAddTypeMultiple').'</a>';
} }

@ -3,7 +3,7 @@
============================================================================== ==============================================================================
Dokeos - elearning and course management software Dokeos - elearning and course management software
Copyright (c) 2004 Dokeos S.A. Copyright (c) 2004-2009 Dokeos SPRL
Copyright (c) 2003 Ghent University (UGent) Copyright (c) 2003 Ghent University (UGent)
Copyright (c) 2001 Universite catholique de Louvain (UCL) Copyright (c) 2001 Universite catholique de Louvain (UCL)
Copyright (c) Olivier Brouckaert Copyright (c) Olivier Brouckaert
@ -18,7 +18,7 @@
See the GNU General Public License for more details. See the GNU General Public License for more details.
Contact: Dokeos, 181 rue Royale, B-1000 Brussels, Belgium, info@dokeos.com Contact: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium, info@dokeos.com
============================================================================== ==============================================================================
*/ */
/** /**
@ -72,12 +72,10 @@ if(isset($_GET['add_type']) && $_GET['add_type']!=''){
$add_type = $_GET['add_type']; $add_type = $_GET['add_type'];
} }
if(!api_is_platform_admin()) if(!api_is_platform_admin()) {
{
$sql = 'SELECT session_admin_id FROM '.Database :: get_main_table(TABLE_MAIN_SESSION).' WHERE id='.$id_session; $sql = 'SELECT session_admin_id FROM '.Database :: get_main_table(TABLE_MAIN_SESSION).' WHERE id='.$id_session;
$rs = api_sql_query($sql,__FILE__,__LINE__); $rs = api_sql_query($sql,__FILE__,__LINE__);
if(mysql_result($rs,0,0)!=$_user['user_id']) if(Database::result($rs,0,0)!=$_user['user_id']) {
{
api_not_allowed(true); api_not_allowed(true);
} }
} }
@ -85,12 +83,11 @@ if(!api_is_platform_admin())
function search_users($needle) function search_users($needle)
{ {
global $tbl_user; global $tbl_user;
$xajax_response = new XajaxResponse(); $xajax_response = new XajaxResponse();
$return = ''; $return = '';
if(!empty($needle)) { if (!empty($needle)) {
// xajax send utf8 datas... datas in db can be non-utf8 datas // xajax send utf8 datas... datas in db can be non-utf8 datas
$charset = api_get_setting('platform_charset'); $charset = api_get_setting('platform_charset');
@ -103,6 +100,23 @@ function search_users($needle)
OR lastname LIKE "'.$needle.'%") OR lastname LIKE "'.$needle.'%")
ORDER BY lastname, firstname, username ORDER BY lastname, firstname, username
LIMIT 11'; LIMIT 11';
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
$tbl_user_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){
$sql = 'SELECT user.user_id, username, lastname, firstname FROM '.$tbl_user.' user
INNER JOIN '.$tbl_user_rel_access_url.' url_user ON (url_user.user_id=user.user_id)
WHERE access_url_id = '.$access_url_id.' AND (username LIKE "'.$needle.'%"
OR firstname LIKE "'.$needle.'%"
OR lastname LIKE "'.$needle.'%")
ORDER BY lastname, firstname, username
LIMIT 11';
}
}
$rs = api_sql_query($sql, __FILE__, __LINE__); $rs = api_sql_query($sql, __FILE__, __LINE__);
$i=0; $i=0;
@ -137,8 +151,7 @@ function add_user_to_session (code, content) {
} }
} }
destination.options[destination.length] = new Option(content,code); destination.options[destination.length] = new Option(content,code);
destination.selectedIndex = -1; destination.selectedIndex = -1;
sortOptions(destination.options); sortOptions(destination.options);
@ -161,9 +174,6 @@ $UserList=$SessionList=array();
$users=$sessions=array(); $users=$sessions=array();
$noPHP_SELF=true; $noPHP_SELF=true;
if($_POST['formSent']) { if($_POST['formSent']) {
$formSent=$_POST['formSent']; $formSent=$_POST['formSent'];
$firstLetterUser=$_POST['firstLetterUser']; $firstLetterUser=$_POST['firstLetterUser'];
@ -174,63 +184,74 @@ if($_POST['formSent']) {
$UserList=array(); $UserList=array();
} }
if($formSent == 1) { if ($formSent == 1) {
$result = api_sql_query("SELECT id_user FROM $tbl_session_rel_user WHERE id_session='$id_session'"); $sql = "SELECT id_user FROM $tbl_session_rel_user WHERE id_session='$id_session'";
$result = api_sql_query($sql,__FILE__,__LINE__);
$existingUsers = array(); $existingUsers = array();
while($row = Database::fetch_array($result)){ while($row = Database::fetch_array($result)){
$existingUsers[] = $row['id_user']; $existingUsers[] = $row['id_user'];
} }
$sql = "SELECT course_code FROM $tbl_session_rel_course WHERE id_session='$id_session'";
$result=api_sql_query("SELECT course_code FROM $tbl_session_rel_course WHERE id_session='$id_session'",__FILE__,__LINE__); $result=api_sql_query($sql,__FILE__,__LINE__);
$CourseList=array(); $CourseList=array();
while($row=Database::fetch_array($result)) while($row=Database::fetch_array($result)) {
{
$CourseList[]=$row['course_code']; $CourseList[]=$row['course_code'];
} }
foreach($CourseList as $enreg_course) foreach ($CourseList as $enreg_course) {
{
$nbr_users=0; $nbr_users=0;
foreach($UserList as $enreg_user) foreach ($UserList as $enreg_user) {
{ if(!in_array($enreg_user, $existingUsers)) {
if(!in_array($enreg_user, $existingUsers)){ $insert_sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user(id_session,course_code,id_user) VALUES('$id_session','$enreg_course','$enreg_user')";
api_sql_query("INSERT IGNORE INTO $tbl_session_rel_course_rel_user(id_session,course_code,id_user) VALUES('$id_session','$enreg_course','$enreg_user')",__FILE__,__LINE__); api_sql_query($insert_sql,__FILE__,__LINE__);
if(mysql_affected_rows()) if(Database::affected_rows()) {
{
$nbr_users++; $nbr_users++;
} }
} }
} }
foreach($existingUsers as $existing_user){ foreach ($existingUsers as $existing_user) {
if(!in_array($existing_user, $UserList)){ if(!in_array($existing_user, $UserList)) {
$sql = "DELETE FROM $tbl_session_rel_course_rel_user WHERE id_session='$id_session' AND course_code='$enreg_course' AND id_user='$existing_user'"; $sql = "DELETE FROM $tbl_session_rel_course_rel_user WHERE id_session='$id_session' AND course_code='$enreg_course' AND id_user='$existing_user'";
api_sql_query($sql); api_sql_query($sql,__FILE__,__LINE__);
if(mysql_affected_rows()) if(Database::affected_rows()) {
{
$nbr_users--; $nbr_users--;
} }
} }
} }
$sql = "SELECT COUNT(id_user) as nbUsers FROM $tbl_session_rel_course_rel_user WHERE id_session='$id_session' AND course_code='$enreg_course'"; $sql = "SELECT COUNT(id_user) as nbUsers FROM $tbl_session_rel_course_rel_user WHERE id_session='$id_session' AND course_code='$enreg_course'";
$rs = api_sql_query($sql, __FILE__, __LINE__); $rs = api_sql_query($sql, __FILE__, __LINE__);
list($nbr_users) = mysql_fetch_array($rs); list($nbr_users) = Database::fetch_array($rs);
api_sql_query("UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users WHERE id_session='$id_session' AND course_code='$enreg_course'",__FILE__,__LINE__); $update_sql = "UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users WHERE id_session='$id_session' AND course_code='$enreg_course'";
api_sql_query($update_sql,__FILE__,__LINE__);
} }
api_sql_query("DELETE FROM $tbl_session_rel_user WHERE id_session = $id_session"); api_sql_query("DELETE FROM $tbl_session_rel_user WHERE id_session = $id_session",__FILE__,__LINE__);
$nbr_users = 0; $nbr_users = 0;
foreach($UserList as $enreg_user){ foreach ($UserList as $enreg_user) {
$nbr_users++; $nbr_users++;
api_sql_query("INSERT IGNORE INTO $tbl_session_rel_user(id_session, id_user) VALUES('$id_session','$enreg_user')",__FILE__,__LINE__); $insert_sql = "INSERT IGNORE INTO $tbl_session_rel_user(id_session, id_user) VALUES('$id_session','$enreg_user')";
api_sql_query($insert_sql,__FILE__,__LINE__);
} }
$nbr_users = count($UserList); $nbr_users = count($UserList);
api_sql_query("UPDATE $tbl_session SET nbr_users= $nbr_users WHERE id='$id_session' ",__FILE__,__LINE__); $update_sql = "UPDATE $tbl_session SET nbr_users= $nbr_users WHERE id='$id_session' ";
api_sql_query($update_sql,__FILE__,__LINE__);
//adding the session to the access_url_rel_session table
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
$tbl_user_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$access_url_id = api_get_current_access_url_id();
require_once (api_get_path(LIBRARY_PATH).'urlmanager.lib.php');
UrlManager::add_session_to_url($id_session,$access_url_id);
} else {
// we are filling by default the access_url_rel_session table
UrlManager::add_session_to_url($id_session,1);
}
//if(empty($_GET['add'])) //if(empty($_GET['add']))
//header('Location: '.$_GET['page'].'?id_session='.$id_session); //header('Location: '.$_GET['page'].'?id_session='.$id_session);
@ -241,46 +262,71 @@ if($_POST['formSent']) {
} }
Display::display_header($tool_name); Display::display_header($tool_name);
api_display_tool_title($tool_name); api_display_tool_title($tool_name);
$nosessionUsersList = $sessionUsersList = array(); $nosessionUsersList = $sessionUsersList = array();
/*$sql = 'SELECT COUNT(1) FROM '.$tbl_user; /*$sql = 'SELECT COUNT(1) FROM '.$tbl_user;
$rs = api_sql_query($sql, __FILE__, __LINE__); $rs = api_sql_query($sql, __FILE__, __LINE__);
$count_courses = mysql_result($rs, 0, 0);*/ $count_courses = Database::result($rs, 0, 0);*/
$ajax_search = $add_type == 'unique' ? true : false; $ajax_search = $add_type == 'unique' ? true : false;
if($ajax_search) if ($ajax_search) {
{
$sql="SELECT user_id, lastname, firstname, username, id_session $sql="SELECT user_id, lastname, firstname, username, id_session
FROM $tbl_user FROM $tbl_user
INNER JOIN $tbl_session_rel_user INNER JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = $tbl_user.user_id ON $tbl_session_rel_user.id_user = $tbl_user.user_id
AND $tbl_session_rel_user.id_session = ".intval($id_session)." AND $tbl_session_rel_user.id_session = ".intval($id_session)."
ORDER BY lastname,firstname,username"; ORDER BY lastname,firstname,username";
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
$tbl_user_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){
$sql="SELECT u.user_id, lastname, firstname, username, id_session
FROM $tbl_user u
INNER JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = u.user_id
AND $tbl_session_rel_user.id_session = ".intval($id_session)."
INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=u.user_id)
WHERE access_url_id = $access_url_id
ORDER BY lastname,firstname,username";
}
}
$result=api_sql_query($sql,__FILE__,__LINE__); $result=api_sql_query($sql,__FILE__,__LINE__);
$Users=api_store_result($result); $Users=api_store_result($result);
foreach($Users as $user) foreach($Users as $user) {
{
$sessionUsersList[$user['user_id']] = $user ; $sessionUsersList[$user['user_id']] = $user ;
} }
} } else {
else
{
$sql="SELECT user_id, lastname, firstname, username, id_session $sql="SELECT user_id, lastname, firstname, username, id_session
FROM $tbl_user FROM $tbl_user
LEFT JOIN $tbl_session_rel_user LEFT JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = $tbl_user.user_id AND id_session = '$id_session' ON $tbl_session_rel_user.id_user = $tbl_user.user_id AND id_session = '$id_session'
ORDER BY lastname,firstname,username"; ORDER BY lastname,firstname,username";
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
$tbl_user_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){
$sql="SELECT u.user_id, lastname, firstname, username, id_session
FROM $tbl_user u
LEFT JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = u.user_id AND id_session = '$id_session'
INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=u.user_id)
WHERE access_url_id = $access_url_id
ORDER BY lastname,firstname,username";
}
}
$result=api_sql_query($sql,__FILE__,__LINE__); $result=api_sql_query($sql,__FILE__,__LINE__);
$Users=api_store_result($result); $Users=api_store_result($result);
//var_dump($_REQUEST['id_session']); //var_dump($_REQUEST['id_session']);
foreach($Users as $user) foreach ($Users as $user) {
{
if($user['id_session'] == $id_session) if($user['id_session'] == $id_session)
$sessionUsersList[$user['user_id']] = $user ; $sessionUsersList[$user['user_id']] = $user ;
else else
@ -289,11 +335,10 @@ else
} }
if($add_type == 'multiple'){ if ($add_type == 'multiple') {
$link_add_type_unique = '<a href="'.api_get_self().'?id_session='.$id_session.'&add='.$_GET['add'].'&add_type=unique">'.get_lang('SessionAddTypeUnique').'</a>'; $link_add_type_unique = '<a href="'.api_get_self().'?id_session='.$id_session.'&add='.$_GET['add'].'&add_type=unique">'.get_lang('SessionAddTypeUnique').'</a>';
$link_add_type_multiple = get_lang('SessionAddTypeMultiple'); $link_add_type_multiple = get_lang('SessionAddTypeMultiple');
} } else {
else{
$link_add_type_unique = get_lang('SessionAddTypeUnique'); $link_add_type_unique = get_lang('SessionAddTypeUnique');
$link_add_type_multiple = '<a href="'.api_get_self().'?id_session='.$id_session.'&add='.$_GET['add'].'&add_type=multiple">'.get_lang('SessionAddTypeMultiple').'</a>'; $link_add_type_multiple = '<a href="'.api_get_self().'?id_session='.$id_session.'&add='.$_GET['add'].'&add_type=multiple">'.get_lang('SessionAddTypeMultiple').'</a>';
} }
@ -310,8 +355,7 @@ else{
<input type="hidden" name="formSent" value="1" /> <input type="hidden" name="formSent" value="1" />
<?php <?php
if(!empty($errorMsg)) if(!empty($errorMsg)) {
{
Display::display_normal_message($errorMsg); //main API Display::display_normal_message($errorMsg); //main API
} }
?> ?>
@ -331,33 +375,23 @@ if(!empty($errorMsg))
<td align="center"> <td align="center">
<div id="content_source"> <div id="content_source">
<?php <?php
if($ajax_search) if ($ajax_search) {
{
?> ?>
<input type="text" id="user_to_add" onkeyup="xajax_search_users(this.value)" /> <input type="text" id="user_to_add" onkeyup="xajax_search_users(this.value)" />
<div id="ajax_list_users"></div> <div id="ajax_list_users"></div>
<?php <?php
} } else {
else
{
?> ?>
<select id="origin_users" name="nosessionUsersList[]" multiple="multiple" size="15" style="width:300px;"> <select id="origin_users" name="nosessionUsersList[]" multiple="multiple" size="15" style="width:300px;">
<?php <?php
foreach($nosessionUsersList as $enreg) foreach($nosessionUsersList as $enreg) {
{
?> ?>
<option value="<?php echo $enreg['user_id']; ?>" <?php if(in_array($enreg['user_id'],$UserList)) echo 'selected="selected"'; ?>><?php echo $enreg['lastname'].' '.$enreg['firstname'].' ('.$enreg['username'].')'; ?></option> <option value="<?php echo $enreg['user_id']; ?>" <?php if(in_array($enreg['user_id'],$UserList)) echo 'selected="selected"'; ?>><?php echo $enreg['lastname'].' '.$enreg['firstname'].' ('.$enreg['username'].')'; ?></option>
<?php <?php
} }
?> ?>
</select> </select>
<?php <?php
} }
@ -367,14 +401,11 @@ if(!empty($errorMsg))
</td> </td>
<td width="10%" valign="middle" align="center"> <td width="10%" valign="middle" align="center">
<?php <?php
if($ajax_search) if ($ajax_search) {
{
?> ?>
<input type="button" onclick="remove_item(document.getElementById('destination_users'))" value="<<" /> <input type="button" onclick="remove_item(document.getElementById('destination_users'))" value="<<" />
<?php <?php
} } else {
else
{
?> ?>
<input type="button" onclick="moveItem(document.getElementById('origin_users'), document.getElementById('destination_users'))" value=">>" /> <input type="button" onclick="moveItem(document.getElementById('origin_users'), document.getElementById('destination_users'))" value=">>" />
<br /><br /> <br /><br />
@ -388,8 +419,7 @@ if(!empty($errorMsg))
<select id="destination_users" name="sessionUsersList[]" multiple="multiple" size="15" style="width:300px;"> <select id="destination_users" name="sessionUsersList[]" multiple="multiple" size="15" style="width:300px;">
<?php <?php
foreach($sessionUsersList as $enreg) foreach($sessionUsersList as $enreg) {
{
?> ?>
<option value="<?php echo $enreg['user_id']; ?>"><?php echo $enreg['lastname'].' '.$enreg['firstname'].' ('.$enreg['username'].')'; ?></option> <option value="<?php echo $enreg['user_id']; ?>"><?php echo $enreg['lastname'].' '.$enreg['firstname'].' ('.$enreg['username'].')'; ?></option>
@ -401,7 +431,6 @@ unset($sessionUsersList);
</select></td> </select></td>
</tr> </tr>
<tr> <tr>
<td colspan="3" align="center"> <td colspan="3" align="center">
<br /> <br />
@ -413,13 +442,9 @@ unset($sessionUsersList);
?> ?>
</td> </td>
</tr> </tr>
</table> </table>
</form> </form>
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
function moveItem(origin , destination){ function moveItem(origin , destination){
@ -523,4 +548,4 @@ function makepost(select){
============================================================================== ==============================================================================
*/ */
Display::display_footer(); Display::display_footer();
?> ?>

@ -1,9 +1,27 @@
<?php <?php
/*
==============================================================================
Dokeos - elearning and course management software
Copyright (c) 2009 Dokeos SPRL
For a full list of contributors, see "credits.txt".
The full license can be read in "license.txt".
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
See the GNU General Public License for more details.
Contact: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium, info@dokeos.com
==============================================================================
*/
// name of the language file that needs to be included // name of the language file that needs to be included
$language_file ='admin'; $language_file ='admin';
$cidReset=true; $cidReset=true;
include('../inc/global.inc.php'); include('../inc/global.inc.php');
// setting the section (for the tabs) // setting the section (for the tabs)
@ -28,25 +46,20 @@ $interbreadcrumb[]=array('url' => "session_list.php","name" => get_lang('Session
$result=api_sql_query("SELECT name,date_start,date_end,id_coach, session_admin_id, nb_days_access_before_beginning, nb_days_access_after_end FROM $tbl_session WHERE id='$id'",__FILE__,__LINE__); $result=api_sql_query("SELECT name,date_start,date_end,id_coach, session_admin_id, nb_days_access_before_beginning, nb_days_access_after_end FROM $tbl_session WHERE id='$id'",__FILE__,__LINE__);
if(!$infos=mysql_fetch_array($result)) if (!$infos=mysql_fetch_array($result)) {
{
header('Location: session_list.php'); header('Location: session_list.php');
exit(); exit();
} }
list($year_start,$month_start,$day_start)=explode('-',$infos['date_start']); list($year_start,$month_start,$day_start)=explode('-',$infos['date_start']);
list($year_end,$month_end,$day_end)=explode('-',$infos['date_end']); list($year_end,$month_end,$day_end)=explode('-',$infos['date_end']);
if(!api_is_platform_admin() && $infos['session_admin_id']!=$_user['user_id']) if (!api_is_platform_admin() && $infos['session_admin_id']!=$_user['user_id']) {
{
api_not_allowed(true); api_not_allowed(true);
} }
if($_POST['formSent']) if ($_POST['formSent']) {
{
$formSent=1; $formSent=1;
$name=trim(stripslashes($_POST['name'])); $name=trim(stripslashes($_POST['name']));
$year_start=intval($_POST['year_start']); $year_start=intval($_POST['year_start']);
$month_start=intval($_POST['month_start']); $month_start=intval($_POST['month_start']);
$day_start=intval($_POST['day_start']); $day_start=intval($_POST['day_start']);
@ -57,11 +70,10 @@ if($_POST['formSent'])
$nb_days_access_before = intval($_POST['nb_days_access_before']); $nb_days_access_before = intval($_POST['nb_days_access_before']);
$nb_days_access_after = intval($_POST['nb_days_access_after']); $nb_days_access_after = intval($_POST['nb_days_access_after']);
if(empty($_POST['nolimit'])){ if (empty($_POST['nolimit'])) {
$date_start="$year_start-".(($month_start < 10)?"0$month_start":$month_start)."-".(($day_start < 10)?"0$day_start":$day_start); $date_start="$year_start-".(($month_start < 10)?"0$month_start":$month_start)."-".(($day_start < 10)?"0$day_start":$day_start);
$date_end="$year_end-".(($month_end < 10)?"0$month_end":$month_end)."-".(($day_end < 10)?"0$day_end":$day_end); $date_end="$year_end-".(($month_end < 10)?"0$month_end":$month_end)."-".(($day_end < 10)?"0$day_end":$day_end);
} } else {
else {
$date_start="000-00-00"; $date_start="000-00-00";
$date_end="000-00-00"; $date_end="000-00-00";
} }
@ -69,18 +81,16 @@ if($_POST['formSent'])
elseif(empty($_POST['nolimit']) && (!$month_start || !$day_start || !$year_start || !checkdate($month_start,$day_start,$year_start))) $errorMsg=get_lang('InvalidStartDate'); elseif(empty($_POST['nolimit']) && (!$month_start || !$day_start || !$year_start || !checkdate($month_start,$day_start,$year_start))) $errorMsg=get_lang('InvalidStartDate');
elseif(empty($_POST['nolimit']) && (!$month_end || !$day_end || !$year_end || !checkdate($month_end,$day_end,$year_end))) $errorMsg=get_lang('InvalidEndDate'); elseif(empty($_POST['nolimit']) && (!$month_end || !$day_end || !$year_end || !checkdate($month_end,$day_end,$year_end))) $errorMsg=get_lang('InvalidEndDate');
elseif(empty($_POST['nolimit']) && $date_start >= $date_end) $errorMsg=get_lang('StartDateShouldBeBeforeEndDate'); elseif(empty($_POST['nolimit']) && $date_start >= $date_end) $errorMsg=get_lang('StartDateShouldBeBeforeEndDate');
else else {
{
$rs = api_sql_query("SELECT id FROM $tbl_session WHERE name='".addslashes($name)."'"); $rs = api_sql_query("SELECT id FROM $tbl_session WHERE name='".addslashes($name)."'");
$exists = false; $exists = false;
while($row = mysql_fetch_array($rs)){ while($row = mysql_fetch_array($rs)) {
if($row['id']!=$id) if($row['id']!=$id)
$exists = true; $exists = true;
} }
if($exists){ if ($exists) {
$errorMsg = get_lang('SessionNameSoonExists'); $errorMsg = get_lang('SessionNameSoonExists');
} } else {
else {
api_sql_query("UPDATE $tbl_session api_sql_query("UPDATE $tbl_session
SET name='".addslashes($name)."', SET name='".addslashes($name)."',
date_start='$date_start', date_start='$date_start',
@ -101,13 +111,23 @@ if($_POST['formSent'])
$sql="SELECT user_id,lastname,firstname,username FROM $tbl_user WHERE status='1' ORDER BY lastname,firstname,username"; $sql="SELECT user_id,lastname,firstname,username FROM $tbl_user WHERE status='1' ORDER BY lastname,firstname,username";
if ($_configuration['multiple_access_urls']==true){
$table_access_url_rel_user= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) {
$sql="SELECT DISTINCT u.user_id,lastname,firstname,username FROM $tbl_user u INNER JOIN $table_access_url_rel_user url_rel_user
ON (url_rel_user.user_id = u.user_id)
WHERE status='1' AND access_url_id = $access_url_id
ORDER BY lastname,firstname,username";
}
}
$result=api_sql_query($sql,__FILE__,__LINE__); $result=api_sql_query($sql,__FILE__,__LINE__);
$Coaches=api_store_result($result); $Coaches=api_store_result($result);
$thisYear=date('Y'); $thisYear=date('Y');
Display::display_header($tool_name); Display::display_header($tool_name);
api_display_tool_title($tool_name); api_display_tool_title($tool_name);
?> ?>
@ -117,8 +137,7 @@ api_display_tool_title($tool_name);
<table border="0" cellpadding="5" cellspacing="0" width="550"> <table border="0" cellpadding="5" cellspacing="0" width="550">
<?php <?php
if(!empty($errorMsg)) if(!empty($errorMsg)) {
{
?> ?>
<tr> <tr>
@ -145,8 +164,7 @@ if(!empty($errorMsg))
<option value="0">----- <?php echo get_lang('Choose') ?> -----</option> <option value="0">----- <?php echo get_lang('Choose') ?> -----</option>
<?php <?php
foreach($Coaches as $enreg) foreach($Coaches as $enreg) {
{
?> ?>
<option value="<?php echo $enreg['user_id']; ?>" <?php if((!$sent && $enreg['user_id'] == $infos['id_coach']) || ($sent && $enreg['user_id'] == $id_coach)) echo 'selected="selected"'; ?>><?php echo $enreg['lastname'].' '.$enreg['firstname'].' ('.$enreg['username'].')'; ?></option> <option value="<?php echo $enreg['user_id']; ?>" <?php if((!$sent && $enreg['user_id'] == $infos['id_coach']) || ($sent && $enreg['user_id'] == $id_coach)) echo 'selected="selected"'; ?>><?php echo $enreg['lastname'].' '.$enreg['firstname'].' ('.$enreg['username'].')'; ?></option>

@ -1,6 +1,25 @@
<?php <?php
$language_file='admin'; /*
==============================================================================
Dokeos - elearning and course management software
Copyright (c) 2009 Dokeos SPRL
For a full list of contributors, see "credits.txt".
The full license can be read in "license.txt".
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
See the GNU General Public License for more details.
Contact: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium, info@dokeos.com
==============================================================================
*/
$language_file='admin';
$cidReset=true; $cidReset=true;
include('../inc/global.inc.php'); include('../inc/global.inc.php');
@ -19,23 +38,17 @@ $action=$_REQUEST['action'];
$sort=in_array($_GET['sort'],array('name','nbr_courses','date_start','date_end'))?$_GET['sort']:'name'; $sort=in_array($_GET['sort'],array('name','nbr_courses','date_start','date_end'))?$_GET['sort']:'name';
$idChecked = $_REQUEST['idChecked']; $idChecked = $_REQUEST['idChecked'];
if($action == 'delete') if ($action == 'delete') {
{ if(is_array($idChecked)) {
if(is_array($idChecked))
{
$idChecked=Database::escape_string(implode(',',$idChecked)); $idChecked=Database::escape_string(implode(',',$idChecked));
} } else {
else
{
$idChecked=intval($idChecked); $idChecked=intval($idChecked);
} }
if(!api_is_platform_admin()) if (!api_is_platform_admin()) {
{
$sql = 'SELECT session_admin_id FROM '.Database :: get_main_table(TABLE_MAIN_SESSION).' WHERE id='.$idChecked; $sql = 'SELECT session_admin_id FROM '.Database :: get_main_table(TABLE_MAIN_SESSION).' WHERE id='.$idChecked;
$rs = api_sql_query($sql,__FILE__,__LINE__); $rs = api_sql_query($sql,__FILE__,__LINE__);
if(mysql_result($rs,0,0)!=$_user['user_id']) if (Database::result($rs,0,0)!=$_user['user_id']) {
{
api_not_allowed(true); api_not_allowed(true);
} }
} }
@ -71,15 +84,13 @@ if (isset ($_GET['search']) && $_GET['search'] == 'advanced')
$form->setDefaults($defaults); $form->setDefaults($defaults);
$form->display(); $form->display();
} } else {
else {
$limit=20; $limit=20;
$from=$page * $limit; $from=$page * $limit;
//if user is crfp admin only list its sessions //if user is crfp admin only list its sessions
if(!api_is_platform_admin()) if(!api_is_platform_admin()) {
{
$where = 'WHERE session_admin_id='.intval($_user['user_id']); $where = 'WHERE session_admin_id='.intval($_user['user_id']);
$where .= (empty($_REQUEST['keyword']) ? " " : " AND name LIKE '%".addslashes($_REQUEST['keyword'])."%'"); $where .= (empty($_REQUEST['keyword']) ? " " : " AND name LIKE '%".addslashes($_REQUEST['keyword'])."%'");
} }
@ -89,33 +100,44 @@ else {
if(trim($where) == ''){ if(trim($where) == ''){
$and=" WHERE id_coach=user_id"; $and=" WHERE id_coach=user_id";
} } else {
else{
$and=" AND id_coach=user_id"; $and=" AND id_coach=user_id";
} }
if(isset($_REQUEST['active']) && !isset($_REQUEST['inactive']) ){ if (isset($_REQUEST['active']) && !isset($_REQUEST['inactive']) ){
$and .= ' AND ( (session.date_start <= CURDATE() AND session.date_end >= CURDATE()) OR session.date_start="0000-00-00" ) '; $and .= ' AND ( (session.date_start <= CURDATE() AND session.date_end >= CURDATE()) OR session.date_start="0000-00-00" ) ';
} }
if(!isset($_REQUEST['active']) && isset($_REQUEST['inactive']) ){ if (!isset($_REQUEST['active']) && isset($_REQUEST['inactive']) ){
$and .= ' AND ( (session.date_start > CURDATE() OR session.date_end < CURDATE()) AND session.date_start<>"0000-00-00" ) '; $and .= ' AND ( (session.date_start > CURDATE() OR session.date_end < CURDATE()) AND session.date_start<>"0000-00-00" ) ';
} }
$result=api_sql_query("SELECT id,name,nbr_courses,date_start,date_end, firstname, lastname $query= "SELECT id,name,nbr_courses,date_start,date_end, firstname, lastname
FROM $tbl_session, $tbl_user FROM $tbl_session, $tbl_user
$where $where
$and $and
ORDER BY $sort ORDER BY $sort
LIMIT $from,".($limit+1),__FILE__,__LINE__); LIMIT $from,".($limit+1);
//filtering the session list by access_url
$Sessions=api_store_result($result); if ($_configuration['multiple_access_urls']==true){
$table_access_url_rel_session= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
$nbr_results=sizeof($Sessions); $access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) {
$tool_name = get_lang('SessionList'); $and.= " AND access_url_id = $access_url_id AND $table_access_url_rel_session.session_id = $tbl_session.id";
$query= "SELECT id,name,nbr_courses,date_start,date_end, firstname, lastname
Display::display_header($tool_name); FROM $tbl_session, $tbl_user, $table_access_url_rel_session
$where
$and
ORDER BY $sort
LIMIT $from,".($limit+1);
}
}
$result=api_sql_query($query,__FILE__,__LINE__);
$Sessions=api_store_result($result);
$nbr_results=sizeof($Sessions);
$tool_name = get_lang('SessionList');
Display::display_header($tool_name);
api_display_tool_title($tool_name); api_display_tool_title($tool_name);
@ -180,10 +202,8 @@ else {
<?php <?php
$i=0; $i=0;
foreach($Sessions as $key=>$enreg) foreach ($Sessions as $key=>$enreg) {
{ if($key == $limit) {
if($key == $limit)
{
break; break;
} }
$sql = 'SELECT COUNT(course_code) FROM '.$tbl_session_rel_course.' WHERE id_session='.intval($enreg['id']); $sql = 'SELECT COUNT(course_code) FROM '.$tbl_session_rel_course.' WHERE id_session='.intval($enreg['id']);

@ -1,10 +1,10 @@
<?php <?php
// $Id: user_information.php 16958 2008-11-26 15:07:00Z pcool $ // $Id: user_information.php 18156 2009-02-02 17:02:08Z juliomontoya $
/* /*
============================================================================== ==============================================================================
Dokeos - elearning and course management software Dokeos - elearning and course management software
Copyright (c) 2004 Dokeos S.A. Copyright (c) 2004 Dokeos SPRL
Copyright (c) 2003 Ghent University (UGent) Copyright (c) 2003 Ghent University (UGent)
Copyright (c) 2001 Universite catholique de Louvain (UCL) Copyright (c) 2001 Universite catholique de Louvain (UCL)
Copyright (c) Olivier Brouckaert Copyright (c) Olivier Brouckaert
@ -19,7 +19,7 @@
See the GNU General Public License for more details. See the GNU General Public License for more details.
Contact: Dokeos, 181 rue Royale, B-1000 Brussels, Belgium, info@dokeos.com Contact: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium, info@dokeos.com
============================================================================== ==============================================================================
*/ */
/** /**
@ -52,10 +52,8 @@ $tool_name = $user['firstName'].' '.$user['lastName'].(empty($user['official_cod
Display::display_header($tool_name); Display::display_header($tool_name);
$table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER); $table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$table_course = Database :: get_main_table(TABLE_MAIN_COURSE); $table_course = Database :: get_main_table(TABLE_MAIN_COURSE);
if( isset($_GET['action']) ) if( isset($_GET['action']) ) {
{ switch($_GET['action']) {
switch($_GET['action'])
{
case 'unsubscribe': case 'unsubscribe':
if( CourseManager::get_user_in_course_status($_GET['user_id'],$_GET['course_code']) == STUDENT) if( CourseManager::get_user_in_course_status($_GET['user_id'],$_GET['course_code']) == STUDENT)
{ {
@ -146,7 +144,7 @@ if(count($sessions)>0){
$course_list_sql_result = api_sql_query($personal_course_list_sql, __FILE__, __LINE__); $course_list_sql_result = api_sql_query($personal_course_list_sql, __FILE__, __LINE__);
while ($result_row = mysql_fetch_array($course_list_sql_result)){ while ($result_row = Database::_fetch_array($course_list_sql_result)){
$key = $result_row['id_session'].' - '.$result_row['k']; $key = $result_row['id_session'].' - '.$result_row['k'];
$result_row['s'] = $result_row['14']; $result_row['s'] = $result_row['14'];
@ -193,7 +191,7 @@ echo '</blockquote>';
*/ */
$sql = 'SELECT * FROM '.$table_course_user.' cu, '.$table_course.' c WHERE cu.user_id = '.$user['user_id'].' AND cu.course_code = c.code'; $sql = 'SELECT * FROM '.$table_course_user.' cu, '.$table_course.' c WHERE cu.user_id = '.$user['user_id'].' AND cu.course_code = c.code';
$res = api_sql_query($sql,__FILE__,__LINE__); $res = api_sql_query($sql,__FILE__,__LINE__);
if (mysql_num_rows($res) > 0) if (Database::num_rows($res) > 0)
{ {
$header=array(); $header=array();
$header[] = array (get_lang('Code'), true); $header[] = array (get_lang('Code'), true);
@ -235,7 +233,7 @@ $table_class_user = Database :: get_main_table(TABLE_MAIN_CLASS_USER);
$table_class = Database :: get_main_table(TABLE_MAIN_CLASS); $table_class = Database :: get_main_table(TABLE_MAIN_CLASS);
$sql = 'SELECT * FROM '.$table_class_user.' cu, '.$table_class.' c WHERE cu.user_id = '.$user['user_id'].' AND cu.class_id = c.id'; $sql = 'SELECT * FROM '.$table_class_user.' cu, '.$table_class.' c WHERE cu.user_id = '.$user['user_id'].' AND cu.class_id = c.id';
$res = api_sql_query($sql,__FILE__,__LINE__); $res = api_sql_query($sql,__FILE__,__LINE__);
if (mysql_num_rows($res) > 0) if (Database::num_rows($res) > 0)
{ {
$header = array(); $header = array();
$header[] = array (get_lang('ClassName'), true); $header[] = array (get_lang('ClassName'), true);
@ -257,6 +255,33 @@ else
{ {
echo '<p>'.get_lang('NoClassesForThisUser').'</p>'; echo '<p>'.get_lang('NoClassesForThisUser').'</p>';
} }
/**
* Show the URL in which this user is subscribed
*/
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
require_once(api_get_path(LIBRARY_PATH).'urlmanager.lib.php');
$url_list= UrlManager::get_access_url_from_user($user['user_id']);
if (count($url_list) > 0) {
$header = array();
$header[] = array (get_lang('UrlName'), true);
$data = array ();
foreach ($url_list as $url) {
$row = array();
$row[] = $url['url'];
$data[] = $row;
}
echo '<p><b>'.get_lang('UrlList').'</b></p>';
echo '<blockquote>';
Display :: display_sortable_table($header, $data, array (), array (), array ('user_id' => $_GET['user_id']));
echo '</blockquote>';
} else {
echo '<p>'.get_lang('NoUrlForThisUser').'</p>';
}
}
/* /*
============================================================================== ==============================================================================
FOOTER FOOTER

@ -1,4 +1,4 @@
<?php // $Id: database.lib.php 18083 2009-01-29 21:51:19Z juliomontoya $ <?php // $Id: database.lib.php 18156 2009-02-02 17:02:08Z juliomontoya $
/* See license terms in /dokeos_license.txt */ /* See license terms in /dokeos_license.txt */
/** /**
============================================================================== ==============================================================================
@ -58,11 +58,12 @@ define('TABLE_MAIN_USER_FIELD_VALUES', 'user_field_values');
//Search engine //Search engine
define('TABLE_MAIN_SPECIFIC_FIELD', 'specific_field'); define('TABLE_MAIN_SPECIFIC_FIELD', 'specific_field');
define('TABLE_MAIN_SPECIFIC_FIELD_VALUES', 'specific_field_values'); define('TABLE_MAIN_SPECIFIC_FIELD_VALUES', 'specific_field_values');
define('TABLE_MAIN_SEARCH_ENGINE_REF', 'search_engine_ref'); define('TABLE_MAIN_SEARCH_ENGINE_REF', 'search_engine_ref');
//Access URLS //Access URLS
define('TABLE_MAIN_ACCESS_URL', 'access_url'); define('TABLE_MAIN_ACCESS_URL', 'access_url');
define('TABLE_MAIN_ACCESS_URL_REL_USER', 'access_url_rel_user'); define('TABLE_MAIN_ACCESS_URL_REL_USER', 'access_url_rel_user');
define('TABLE_MAIN_ACCESS_URL_REL_COURSE', 'access_url_rel_course'); define('TABLE_MAIN_ACCESS_URL_REL_COURSE', 'access_url_rel_course');
define('TABLE_MAIN_ACCESS_URL_REL_SESSION', 'access_url_rel_session');
//Global calendar //Global calendar
define('TABLE_MAIN_SYSTEM_CALENDAR', 'sys_calendar'); define('TABLE_MAIN_SYSTEM_CALENDAR', 'sys_calendar');
//Reservation System //Reservation System

@ -119,7 +119,7 @@ class UrlManager
} }
/** /**
* This function get the quantity of URL * This function get the quantity of URLs
* @author Julio Montoya * @author Julio Montoya
* @return int count of urls * @return int count of urls
* */ * */
@ -269,7 +269,25 @@ class UrlManager
$result = api_sql_query($sql, __FILE__, __LINE__); $result = api_sql_query($sql, __FILE__, __LINE__);
$num = Database::num_rows($result); $num = Database::num_rows($result);
return $num; return $num;
}
/**
* Checks the relationship between an URL and a Session (return the num_rows)
* @author Julio Montoya
* @param int user id
* @param int url id
* @return boolean true if success
* */
function relation_url_session_exist($session_id, $url_id)
{
$table_url_rel_session= Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
$sql= "SELECT session_id FROM $table_url_rel_session WHERE access_url_id = ".Database::escape_string($url_id)." AND session_id = ".Database::escape_string($session_id);
$result = api_sql_query($sql, __FILE__, __LINE__);
$num = Database::num_rows($result);
return $num;
} }
/** /**
* Add a group of users into a group of URLs * Add a group of users into a group of URLs
@ -367,6 +385,20 @@ class UrlManager
} }
function add_session_to_url($session_id, $url_id=1)
{
$table_url_rel_session= Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
if (empty($url_id)) $url_id=1;
$count = UrlManager::relation_url_session_exist($session_id,$url_id);
if (empty($count)) {
$sql = "INSERT INTO $table_url_rel_session
SET session_id = ".Database::escape_string($session_id).", access_url_id = ".Database::escape_string($url_id);
$result = api_sql_query($sql, __FILE__, __LINE__);
}
return $result;
}
/** /**
* Deletes an url and user relationship * Deletes an url and user relationship
* @author Julio Montoya * @author Julio Montoya

@ -1,4 +1,4 @@
<?php // $Id: usermanager.lib.php 18083 2009-01-29 21:51:19Z juliomontoya $ <?php // $Id: usermanager.lib.php 18156 2009-02-02 17:02:08Z juliomontoya $
/* /*
============================================================================== ==============================================================================
Dokeos - elearning and course management software Dokeos - elearning and course management software
@ -125,7 +125,8 @@ class UserManager
else else
UrlManager::add_user_to_url($return, 1); UrlManager::add_user_to_url($return, 1);
} else { } else {
UrlManager::add_user_to_url($return, 1); //we are adding by default the access_url_user table with access_url_id = 1
UrlManager::add_user_to_url($return, 1);
} }
} else { } else {
//echo "false - failed" ; //echo "false - failed" ;

@ -1,9 +1,9 @@
<?php // $Id: subscribe_user.php 17013 2008-11-28 15:55:13Z iflorespaz $ <?php // $Id: subscribe_user.php 18156 2009-02-02 17:02:08Z juliomontoya $
/* /*
============================================================================== ==============================================================================
Dokeos - elearning and course management software Dokeos - elearning and course management software
Copyright (c) 2004-2008 Dokeos SPRL Copyright (c) 2004-2009 Dokeos SPRL
Copyright (c) 2003 Ghent University (UGent) Copyright (c) 2003 Ghent University (UGent)
For a full list of contributors, see "credits.txt". For a full list of contributors, see "credits.txt".
@ -57,6 +57,11 @@ require_once (api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php'
*/ */
$tool_name = get_lang("SubscribeUserToCourse"); $tool_name = get_lang("SubscribeUserToCourse");
if ($_REQUEST['type']=='teacher') {
$tool_name = get_lang("SubscribeUserToCourseAsTeacher");
}
//extra entries in breadcrumb //extra entries in breadcrumb
$interbreadcrumb[] = array ("url" => "user.php", "name" => get_lang("Users")); $interbreadcrumb[] = array ("url" => "user.php", "name" => get_lang("Users"));
Display :: display_header($tool_name, "User"); Display :: display_header($tool_name, "User");
@ -73,7 +78,7 @@ $list_register_user='';
$list_not_register_user=''; $list_not_register_user='';
if (isset ($_REQUEST['register'])) { if (isset ($_REQUEST['register'])) {
if (isset($_REQUEST['type']) && $_REQUEST['type']=='teacher') { if (isset($_REQUEST['type']) && $_REQUEST['type']=='teacher') {
$result_simple_sub=CourseManager :: subscribe_user(Database::escape_string($_REQUEST['user_id']), $_course['sysCode'],COURSEMANAGER); $result_simple_sub=CourseManager :: subscribe_user(Database::escape_string($_REQUEST['user_id']), $_course['sysCode'],COURSEMANAGER);
} else { } else {
$result_simple_sub=CourseManager :: subscribe_user(Database::escape_string($_REQUEST['user_id']), $_course['sysCode']); $result_simple_sub=CourseManager :: subscribe_user(Database::escape_string($_REQUEST['user_id']), $_course['sysCode']);
@ -181,16 +186,51 @@ function get_number_of_users() {
$course_user_table = Database :: get_main_table(TABLE_MAIN_COURSE_USER); $course_user_table = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
if (isset($_REQUEST['type']) && $_REQUEST['type']=='teacher') { if (isset($_REQUEST['type']) && $_REQUEST['type']=='teacher') {
$sql = "SELECT u.user_id $sql = "SELECT u.user_id
FROM $user_table u FROM $user_table u
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."' LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
WHERE cu.user_id IS NULL WHERE cu.user_id IS NULL";
";
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
$url_access_id = api_get_current_access_url_id();
if ($url_access_id !=-1) {
$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$sql = "SELECT
u.user_id
FROM $user_table u
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
INNER JOIN $tbl_url_rel_user as url_rel_user
ON (url_rel_user.user_id = u.user_id)
WHERE cu.user_id IS NULL AND access_url_id= $url_access_id ";
}
}
} else { } else {
$sql = "SELECT u.user_id $sql = "SELECT u.user_id
FROM $user_table u FROM $user_table u
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."' LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
WHERE cu.user_id IS NULL WHERE cu.user_id IS NULL";
";
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
$url_access_id = api_get_current_access_url_id();
if ($url_access_id !=-1) {
$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$sql = "SELECT
u.user_id
FROM $user_table u
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
INNER JOIN $tbl_url_rel_user as url_rel_user
ON (url_rel_user.user_id = u.user_id)
WHERE cu.user_id IS NULL AND access_url_id= $url_access_id ";
}
}
} }
if (isset ($_REQUEST['keyword'])) { if (isset ($_REQUEST['keyword'])) {
@ -210,20 +250,19 @@ function get_user_data($from, $number_of_items, $column, $direction) {
$tbl_session_rel_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); $tbl_session_rel_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
if(isset($_REQUEST['type']) && $_REQUEST['type']=='teacher') { if(isset($_REQUEST['type']) && $_REQUEST['type']=='teacher') {
if (!empty($_SESSION["id_session"])) { if (!empty($_SESSION["id_session"])) {
$sql = "SELECT $sql = "SELECT
u.user_id AS col0, u.user_id AS col0,
u.official_code AS col1, u.official_code AS col1,
u.lastname AS col2, u.lastname AS col2,
u.firstname AS col3, u.firstname AS col3,
u.email AS col4, u.email AS col4,
u.active AS col5, u.active AS col5,
u.user_id AS col6 u.user_id AS col6
FROM $user_table u FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."' LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."'
WHERE cu.id_user IS NULL WHERE cu.id_user IS NULL";
";
} else { } else {
$sql = "SELECT $sql = "SELECT
u.user_id AS col0, u.user_id AS col0,
u.official_code AS col1, u.official_code AS col1,
u.lastname AS col2, u.lastname AS col2,
@ -233,8 +272,32 @@ function get_user_data($from, $number_of_items, $column, $direction) {
u.user_id AS col6 u.user_id AS col6
FROM $user_table u FROM $user_table u
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."' LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
WHERE cu.user_id IS NULL WHERE cu.user_id IS NULL";
"; //showing only the courses of the current Dokeos access_url_id
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
$url_access_id = api_get_current_access_url_id();
if ($url_access_id !=-1) {
$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$sql = "SELECT
u.user_id AS col0,
u.official_code AS col1,
u.lastname AS col2,
u.firstname AS col3,
u.email AS col4,
u.active AS col5,
u.user_id AS col6
FROM $user_table u
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
INNER JOIN $tbl_url_rel_user as url_rel_user
ON (url_rel_user.user_id = u.user_id)
WHERE cu.user_id IS NULL AND access_url_id= $url_access_id ";
}
}
} }
} else { } else {
if (!empty($_SESSION["id_session"])) { if (!empty($_SESSION["id_session"])) {
@ -251,7 +314,7 @@ function get_user_data($from, $number_of_items, $column, $direction) {
WHERE cu.id_user IS NULL WHERE cu.id_user IS NULL
"; ";
} else { } else {
$sql = "SELECT $sql = "SELECT
u.user_id AS col0, u.user_id AS col0,
u.official_code AS col1, u.official_code AS col1,
u.lastname AS col2, u.lastname AS col2,
@ -261,9 +324,30 @@ function get_user_data($from, $number_of_items, $column, $direction) {
u.user_id AS col6 u.user_id AS col6
FROM $user_table u FROM $user_table u
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."' LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
WHERE cu.user_id IS NULL WHERE cu.user_id IS NULL";
"; //showing only the courses of the current Dokeos access_url_id
} global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
$url_access_id = api_get_current_access_url_id();
if ($url_access_id !=-1) {
$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$sql = "SELECT
u.user_id AS col0,
u.official_code AS col1,
u.lastname AS col2,
u.firstname AS col3,
u.email AS col4,
u.active AS col5,
u.user_id AS col6
FROM $user_table u
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'
INNER JOIN $tbl_url_rel_user as url_rel_user
ON (url_rel_user.user_id = u.user_id)
WHERE cu.user_id IS NULL AND access_url_id= $url_access_id ";
}
}
}
} }
if (isset ($_REQUEST['keyword'])) { if (isset ($_REQUEST['keyword'])) {
$keyword = Database::escape_string($_REQUEST['keyword']); $keyword = Database::escape_string($_REQUEST['keyword']);

Loading…
Cancel
Save