[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.
Contact address: Dokeos, 44 rue des palais, B-1030 Brussels, Belgium
Mail: info@dokeos.com
Contact: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium, info@dokeos.com
==============================================================================
*/
/**
@ -159,7 +158,7 @@ unset($result);
</td>
<td width="20%">&nbsp;</td>
<td width="40%" align="center">
<b><?php echo get_lang('url_list'); ?> :</b>
<b><?php echo get_lang('URLList'); ?> :</b>
</td>
</tr>
<tr>

@ -16,7 +16,7 @@
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').' : '; ?>
<select name="access_url_id" onchange="javascript:send();">
<option value="0"> <?php echo get_lang('SelectUrl')?></option>
<?php
<?php
$url_selected='';
foreach ($url_list as $url_obj) {
$checked = '';
if (!empty($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>
<td align="center"><b><?php echo get_lang('CourseListInPlatform') ?> :</b>
</td>
<td></td>
<td align="center"><b><?php echo get_lang('CourseListInURL') ?> :</b></td>
<td></td>
<td align="center"><b><?php echo get_lang('CourseListIn').' '.$url_selected; ?></b></td>
</tr>
<tr>

@ -16,7 +16,7 @@
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').' : '; ?>
<select name="access_url_id" onchange="javascript:send();">
<option value="0"> <?php echo get_lang('SelectUrl')?></option>
<?php
<?php
$url_selected='';
foreach ($url_list as $url_obj) {
$checked = '';
if (!empty($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>
<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>
@ -379,7 +381,7 @@ function sortOptions(options) {
newOptions = new Array();
for (i = 0 ; i<options.length ; i++)
newOptions[i] = options[i];
url_list
newOptions = newOptions.sort(mysort);
options.length = 0;
for(i = 0 ; i < newOptions.length ; i++)

@ -69,11 +69,11 @@ if (isset ($_GET['action'])) {
break;
case 'lock' :
UrlManager::set_url_status('lock',$url_id);
Display :: display_normal_message(get_lang('URLInactivate'));
Display :: display_normal_message(get_lang('URLInactive'));
break;
case 'unlock';
UrlManager::set_url_status('unlock',$url_id);
Display :: display_normal_message(get_lang('URLActivate'));
Display :: display_normal_message(get_lang('URLActive'));
break;
case 'register';
// 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 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_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_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_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_courses_to_url.php">'.Display::return_icon('courses.gif',get_lang('AddUsersToCourse'),'').get_lang('ManageCourses').'</a>
</div><br />';
echo '</div>';

@ -3,7 +3,7 @@
==============================================================================
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) 2001 Universite catholique de Louvain (UCL)
Copyright (c) Olivier Brouckaert
@ -18,7 +18,7 @@
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
$tool_name= get_lang('SubscribeCoursesToSession');
$id_session=intval($_GET['id_session']);
$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;
$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);
}
}
function search_courses($needle)
{
global $tbl_course, $tbl_session_rel_course, $id_session;
$xajax_response = new XajaxResponse();
$return = '';
if(!empty($needle))
{
if(!empty($needle)) {
// xajax send utf8 datas... datas in db can be non-utf8 datas
$charset = api_get_setting('platform_charset');
$needle = mb_convert_encoding($needle, $charset, 'utf-8');
@ -101,10 +97,25 @@ function search_courses($needle)
WHERE course.visual_code 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__);
$course_list = array();
while($course = Database :: fetch_array($rs))
{
while($course = Database :: fetch_array($rs)) {
$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 />';
}
@ -135,7 +146,7 @@ function add_course_to_session (code, content) {
destination.selectedIndex = -1;
sortOptions(destination.options);
}
}
function remove_item(origin)
{
for(var i = 0 ; i<origin.options.length ; i++) {
@ -154,24 +165,19 @@ $CourseList=$SessionList=array();
$courses=$sessions=array();
$noPHP_SELF=true;
if($_POST['formSent'])
{
if ($_POST['formSent']) {
$formSent=$_POST['formSent'];
$firstLetterCourse=$_POST['firstLetterCourse'];
$firstLetterSession=$_POST['firstLetterSession'];
$CourseList=$_POST['SessionCoursesList'];
if(!is_array($CourseList))
{
if (!is_array($CourseList)) {
$CourseList=array();
}
$nbr_courses=0;
$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];
$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
WHERE id_session = $id_session";
$result=api_sql_query($sql,__FILE__,__LINE__);
$UserList=api_store_result($result);
foreach($CourseList as $enreg_course)
{
foreach($CourseList as $enreg_course) {
$exists = false;
foreach($existingCourses as $existingCourse)
{
if($enreg_course == $existingCourse['course_code'])
{
foreach($existingCourses as $existingCourse) {
if($enreg_course == $existingCourse['course_code']) {
$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__);
//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);
$nbr_users=0;
foreach($UserList as $enreg_user)
{
foreach ($UserList as $enreg_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__);
if(mysql_affected_rows())
{
if(Database::affected_rows()) {
$nbr_users++;
}
}
@ -233,14 +231,9 @@ if($_POST['formSent'])
else
header('Location: resume_session.php?id_session='.$id_session);
//header('Location: '.$_GET['page'].'?id_session='.$id_session);
}
Display::display_header($tool_name);
api_display_tool_title($tool_name);
/*$sql = 'SELECT COUNT(1) FROM '.$tbl_course;
$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;
$nosessionCourses = $sessionCourses = array();
if($ajax_search)
{
if ($ajax_search) {
$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)."
ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title";
$result=api_sql_query($sql,__FILE__,__LINE__);
$Courses=api_store_result($result);
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
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 ;
}
}
else
{
} else {
$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)."
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__);
$Courses=api_store_result($result);
foreach($Courses as $course)
{
if($course['id_session'] == $id_session)
{
foreach($Courses as $course) {
if ($course['id_session'] == $id_session) {
$sessionCourses[$course['code']] = $course ;
}
else
{
} else {
$nosessionCourses[$course['code']] = $course ;
}
}
@ -292,11 +310,10 @@ else
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_multiple = get_lang('SessionAddTypeMultiple');
}
else{
} else {
$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>';
}

@ -3,7 +3,7 @@
==============================================================================
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) 2001 Universite catholique de Louvain (UCL)
Copyright (c) Olivier Brouckaert
@ -18,7 +18,7 @@
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'];
}
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;
$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);
}
}
@ -85,12 +83,11 @@ if(!api_is_platform_admin())
function search_users($needle)
{
global $tbl_user;
global $tbl_user;
$xajax_response = new XajaxResponse();
$return = '';
if(!empty($needle)) {
if (!empty($needle)) {
// xajax send utf8 datas... datas in db can be non-utf8 datas
$charset = api_get_setting('platform_charset');
@ -103,6 +100,23 @@ function search_users($needle)
OR lastname LIKE "'.$needle.'%")
ORDER BY lastname, firstname, username
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__);
$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;
sortOptions(destination.options);
@ -161,9 +174,6 @@ $UserList=$SessionList=array();
$users=$sessions=array();
$noPHP_SELF=true;
if($_POST['formSent']) {
$formSent=$_POST['formSent'];
$firstLetterUser=$_POST['firstLetterUser'];
@ -174,63 +184,74 @@ if($_POST['formSent']) {
$UserList=array();
}
if($formSent == 1) {
$result = api_sql_query("SELECT id_user FROM $tbl_session_rel_user WHERE id_session='$id_session'");
if ($formSent == 1) {
$sql = "SELECT id_user FROM $tbl_session_rel_user WHERE id_session='$id_session'";
$result = api_sql_query($sql,__FILE__,__LINE__);
$existingUsers = array();
while($row = Database::fetch_array($result)){
$existingUsers[] = $row['id_user'];
}
$result=api_sql_query("SELECT course_code FROM $tbl_session_rel_course WHERE id_session='$id_session'",__FILE__,__LINE__);
$sql = "SELECT course_code FROM $tbl_session_rel_course WHERE id_session='$id_session'";
$result=api_sql_query($sql,__FILE__,__LINE__);
$CourseList=array();
while($row=Database::fetch_array($result))
{
while($row=Database::fetch_array($result)) {
$CourseList[]=$row['course_code'];
}
foreach($CourseList as $enreg_course)
{
foreach ($CourseList as $enreg_course) {
$nbr_users=0;
foreach($UserList as $enreg_user)
{
if(!in_array($enreg_user, $existingUsers)){
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__);
foreach ($UserList as $enreg_user) {
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_sql,__FILE__,__LINE__);
if(mysql_affected_rows())
{
if(Database::affected_rows()) {
$nbr_users++;
}
}
}
foreach($existingUsers as $existing_user){
if(!in_array($existing_user, $UserList)){
foreach ($existingUsers as $existing_user) {
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'";
api_sql_query($sql);
api_sql_query($sql,__FILE__,__LINE__);
if(mysql_affected_rows())
{
if(Database::affected_rows()) {
$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'";
$rs = api_sql_query($sql, __FILE__, __LINE__);
list($nbr_users) = mysql_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__);
list($nbr_users) = Database::fetch_array($rs);
$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;
foreach($UserList as $enreg_user){
foreach ($UserList as $enreg_user) {
$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);
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']))
//header('Location: '.$_GET['page'].'?id_session='.$id_session);
@ -241,46 +262,71 @@ if($_POST['formSent']) {
}
Display::display_header($tool_name);
api_display_tool_title($tool_name);
$nosessionUsersList = $sessionUsersList = array();
/*$sql = 'SELECT COUNT(1) FROM '.$tbl_user;
$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;
if($ajax_search)
{
if ($ajax_search) {
$sql="SELECT user_id, lastname, firstname, username, id_session
FROM $tbl_user
INNER JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = $tbl_user.user_id
AND $tbl_session_rel_user.id_session = ".intval($id_session)."
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__);
$Users=api_store_result($result);
foreach($Users as $user)
{
foreach($Users as $user) {
$sessionUsersList[$user['user_id']] = $user ;
}
}
else
{
} else {
$sql="SELECT user_id, lastname, firstname, username, id_session
FROM $tbl_user
LEFT JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = $tbl_user.user_id AND id_session = '$id_session'
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__);
$Users=api_store_result($result);
//var_dump($_REQUEST['id_session']);
foreach($Users as $user)
{
foreach ($Users as $user) {
if($user['id_session'] == $id_session)
$sessionUsersList[$user['user_id']] = $user ;
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_multiple = get_lang('SessionAddTypeMultiple');
}
else{
} else {
$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>';
}
@ -310,8 +355,7 @@ else{
<input type="hidden" name="formSent" value="1" />
<?php
if(!empty($errorMsg))
{
if(!empty($errorMsg)) {
Display::display_normal_message($errorMsg); //main API
}
?>
@ -331,33 +375,23 @@ if(!empty($errorMsg))
<td align="center">
<div id="content_source">
<?php
if($ajax_search)
{
if ($ajax_search) {
?>
<input type="text" id="user_to_add" onkeyup="xajax_search_users(this.value)" />
<div id="ajax_list_users"></div>
<?php
}
else
{
} else {
?>
<select id="origin_users" name="nosessionUsersList[]" multiple="multiple" size="15" style="width:300px;">
<?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>
<?php
}
}
?>
</select>
<?php
}
@ -367,14 +401,11 @@ if(!empty($errorMsg))
</td>
<td width="10%" valign="middle" align="center">
<?php
if($ajax_search)
{
if ($ajax_search) {
?>
<input type="button" onclick="remove_item(document.getElementById('destination_users'))" value="<<" />
<?php
}
else
{
} else {
?>
<input type="button" onclick="moveItem(document.getElementById('origin_users'), document.getElementById('destination_users'))" value=">>" />
<br /><br />
@ -388,8 +419,7 @@ if(!empty($errorMsg))
<select id="destination_users" name="sessionUsersList[]" multiple="multiple" size="15" style="width:300px;">
<?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>
@ -401,7 +431,6 @@ unset($sessionUsersList);
</select></td>
</tr>
<tr>
<td colspan="3" align="center">
<br />
@ -413,13 +442,9 @@ unset($sessionUsersList);
?>
</td>
</tr>
</table>
</form>
<script type="text/javascript">
<!--
function moveItem(origin , destination){
@ -523,4 +548,4 @@ function makepost(select){
==============================================================================
*/
Display::display_footer();
?>
?>

@ -1,9 +1,27 @@
<?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
$language_file ='admin';
$cidReset=true;
include('../inc/global.inc.php');
// 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__);
if(!$infos=mysql_fetch_array($result))
{
if (!$infos=mysql_fetch_array($result)) {
header('Location: session_list.php');
exit();
}
list($year_start,$month_start,$day_start)=explode('-',$infos['date_start']);
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);
}
if($_POST['formSent'])
{
if ($_POST['formSent']) {
$formSent=1;
$name=trim(stripslashes($_POST['name']));
$year_start=intval($_POST['year_start']);
$month_start=intval($_POST['month_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_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_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_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_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');
else
{
else {
$rs = api_sql_query("SELECT id FROM $tbl_session WHERE name='".addslashes($name)."'");
$exists = false;
while($row = mysql_fetch_array($rs)){
while($row = mysql_fetch_array($rs)) {
if($row['id']!=$id)
$exists = true;
}
if($exists){
if ($exists) {
$errorMsg = get_lang('SessionNameSoonExists');
}
else {
} else {
api_sql_query("UPDATE $tbl_session
SET name='".addslashes($name)."',
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";
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__);
$Coaches=api_store_result($result);
$thisYear=date('Y');
Display::display_header($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">
<?php
if(!empty($errorMsg))
{
if(!empty($errorMsg)) {
?>
<tr>
@ -145,8 +164,7 @@ if(!empty($errorMsg))
<option value="0">----- <?php echo get_lang('Choose') ?> -----</option>
<?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>

@ -1,6 +1,25 @@
<?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;
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';
$idChecked = $_REQUEST['idChecked'];
if($action == 'delete')
{
if(is_array($idChecked))
{
if ($action == 'delete') {
if(is_array($idChecked)) {
$idChecked=Database::escape_string(implode(',',$idChecked));
}
else
{
} else {
$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;
$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);
}
}
@ -71,15 +84,13 @@ if (isset ($_GET['search']) && $_GET['search'] == 'advanced')
$form->setDefaults($defaults);
$form->display();
}
else {
} else {
$limit=20;
$from=$page * $limit;
//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 .= (empty($_REQUEST['keyword']) ? " " : " AND name LIKE '%".addslashes($_REQUEST['keyword'])."%'");
}
@ -89,33 +100,44 @@ else {
if(trim($where) == ''){
$and=" WHERE id_coach=user_id";
}
else{
} else {
$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" ) ';
}
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" ) ';
}
$result=api_sql_query("SELECT id,name,nbr_courses,date_start,date_end, firstname, lastname
FROM $tbl_session, $tbl_user
$where
$and
ORDER BY $sort
LIMIT $from,".($limit+1),__FILE__,__LINE__);
$Sessions=api_store_result($result);
$nbr_results=sizeof($Sessions);
$tool_name = get_lang('SessionList');
Display::display_header($tool_name);
$query= "SELECT id,name,nbr_courses,date_start,date_end, firstname, lastname
FROM $tbl_session, $tbl_user
$where
$and
ORDER BY $sort
LIMIT $from,".($limit+1);
//filtering the session list by access_url
if ($_configuration['multiple_access_urls']==true){
$table_access_url_rel_session= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) {
$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
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);
@ -180,10 +202,8 @@ else {
<?php
$i=0;
foreach($Sessions as $key=>$enreg)
{
if($key == $limit)
{
foreach ($Sessions as $key=>$enreg) {
if($key == $limit) {
break;
}
$sql = 'SELECT COUNT(course_code) FROM '.$tbl_session_rel_course.' WHERE id_session='.intval($enreg['id']);

@ -1,10 +1,10 @@
<?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
Copyright (c) 2004 Dokeos S.A.
Copyright (c) 2004 Dokeos SPRL
Copyright (c) 2003 Ghent University (UGent)
Copyright (c) 2001 Universite catholique de Louvain (UCL)
Copyright (c) Olivier Brouckaert
@ -19,7 +19,7 @@
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);
$table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$table_course = Database :: get_main_table(TABLE_MAIN_COURSE);
if( isset($_GET['action']) )
{
switch($_GET['action'])
{
if( isset($_GET['action']) ) {
switch($_GET['action']) {
case 'unsubscribe':
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__);
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'];
$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';
$res = api_sql_query($sql,__FILE__,__LINE__);
if (mysql_num_rows($res) > 0)
if (Database::num_rows($res) > 0)
{
$header=array();
$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);
$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__);
if (mysql_num_rows($res) > 0)
if (Database::num_rows($res) > 0)
{
$header = array();
$header[] = array (get_lang('ClassName'), true);
@ -257,6 +255,33 @@ else
{
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

@ -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 */
/**
==============================================================================
@ -58,11 +58,12 @@ define('TABLE_MAIN_USER_FIELD_VALUES', 'user_field_values');
//Search engine
define('TABLE_MAIN_SPECIFIC_FIELD', 'specific_field');
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
define('TABLE_MAIN_ACCESS_URL', 'access_url');
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_USER', 'access_url_rel_user');
define('TABLE_MAIN_ACCESS_URL_REL_COURSE', 'access_url_rel_course');
define('TABLE_MAIN_ACCESS_URL_REL_SESSION', 'access_url_rel_session');
//Global calendar
define('TABLE_MAIN_SYSTEM_CALENDAR', 'sys_calendar');
//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
* @return int count of urls
* */
@ -269,7 +269,25 @@ class UrlManager
$result = api_sql_query($sql, __FILE__, __LINE__);
$num = Database::num_rows($result);
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
@ -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
* @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
@ -125,7 +125,8 @@ class UserManager
else
UrlManager::add_user_to_url($return, 1);
} 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 {
//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
Copyright (c) 2004-2008 Dokeos SPRL
Copyright (c) 2004-2009 Dokeos SPRL
Copyright (c) 2003 Ghent University (UGent)
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");
if ($_REQUEST['type']=='teacher') {
$tool_name = get_lang("SubscribeUserToCourseAsTeacher");
}
//extra entries in breadcrumb
$interbreadcrumb[] = array ("url" => "user.php", "name" => get_lang("Users"));
Display :: display_header($tool_name, "User");
@ -73,7 +78,7 @@ $list_register_user='';
$list_not_register_user='';
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);
} else {
$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);
if (isset($_REQUEST['type']) && $_REQUEST['type']=='teacher') {
$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']."'
WHERE cu.user_id IS NULL
";
FROM $user_table u
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";
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 {
$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']."'
WHERE cu.user_id IS NULL
";
FROM $user_table u
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";
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'])) {
@ -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);
if(isset($_REQUEST['type']) && $_REQUEST['type']=='teacher') {
if (!empty($_SESSION["id_session"])) {
$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 $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
";
$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 $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";
} else {
$sql = "SELECT
$sql = "SELECT
u.user_id AS col0,
u.official_code AS col1,
u.lastname AS col2,
@ -233,8 +272,32 @@ function get_user_data($from, $number_of_items, $column, $direction) {
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']."'
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 {
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
";
} else {
$sql = "SELECT
$sql = "SELECT
u.user_id AS col0,
u.official_code AS col1,
u.lastname AS col2,
@ -261,9 +324,30 @@ function get_user_data($from, $number_of_items, $column, $direction) {
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']."'
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'])) {
$keyword = Database::escape_string($_REQUEST['keyword']);

Loading…
Cancel
Save