[svn r14669] Layout Improvements in User tool (see FS#2379)

skala
Julio Montoya 18 years ago
parent 789db84a0f
commit 04a0fa52e4
  1. 140
      main/user/subscribe_user.php
  2. 69
      main/user/user.php

@ -21,7 +21,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 address: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium
Mail: info@dokeos.com Mail: info@dokeos.com
============================================================================== ==============================================================================
*/ */
@ -53,15 +53,12 @@ require_once (api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php'
============================================================================== ==============================================================================
*/ */
/* /*
----------------------------------------------------------- -----------------------------------------------------------
Header Header
----------------------------------------------------------- -----------------------------------------------------------
*/ */
$tool_name = get_lang("SubscribeUserToCourse"); $tool_name = get_lang("SubscribeUserToCourse");
//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"));
@ -75,31 +72,130 @@ api_display_tool_title($tool_name);
============================================================================== ==============================================================================
*/ */
$list_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')
CourseManager :: subscribe_user($_REQUEST['user_id'], $_course['sysCode'],COURSEMANAGER); {
$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']);
} }
else{
CourseManager :: subscribe_user($_REQUEST['user_id'], $_course['sysCode']); $user_id_temp=$_SESSION['session_user_id'];
if (is_array($user_id_temp))
{
for ($j=0; $j<count($user_id_temp);$j++)
{
if ($user_id_temp[$j]==$_GET['user_id'])
{
if ($result_simple_sub)
{
Display::display_confirmation_message($_SESSION['session_user_name'][$j].' '.get_lang('langAddedToCourse'));
}
else
{
Display::display_error_message($_SESSION['session_user_name'][$j].' '.get_lang('langNotAddedToCourse'));
}
}
}
unset($_SESSION['session_user_id']);
unset($_SESSION['session_user_name']);
} }
} }
if (isset ($_POST['action'])) if (isset ($_POST['action']))
{ {
switch ($_POST['action']) switch ($_POST['action'])
{ {
case 'subscribe' : case 'subscribe' :
if (is_array($_POST['user'])) if (is_array($_POST['user']))
{ {
foreach ($_POST['user'] as $index => $user_id) foreach ($_POST['user'] as $index => $user_id)
{
$user_id=Database::escape_string($user_id);
$is_suscribe[]=CourseManager :: subscribe_user($user_id, $_course['sysCode']);
$is_suscribe_user_id[]=$user_id;
}
}
$user_id_temp=$_SESSION['session_user_id'];
$user_name_temp=$_SESSION['session_user_name'];
unset($_SESSION['session_user_id']);
unset($_SESSION['session_user_name']);
$counter=0;
$$is_suscribe_counter=count($is_suscribe_user_id);
$list_register_user='';
if ($$is_suscribe_counter!=1)
{
for ($i=0; $i<$$is_suscribe_counter;$i++)
{ {
CourseManager :: subscribe_user($user_id, $_course['sysCode']); for ($j=0; $j<count($user_id_temp);$j++)
{
if ($is_suscribe_user_id[$i]==$user_id_temp[$j])
{
if ($is_suscribe[$i])
{
$list_register_user.=" - ".$user_name_temp[$j].'<br/>';
$counter++;
}
else
{
$list_not_register_user.=" - ".$user_name_temp[$j].'<br/>';
}
}
}
}
}
else
{
$list_register_user=$user_name_temp[0]; // only 1 user register
}
if (!empty($list_register_user))
{
if ($$is_suscribe_counter==1)
{
$register_user_message=$list_register_user.' '.get_lang('langAddedToCourse');
Display::display_confirmation_message($register_user_message,false);
} }
else
{
$register_user_message='<br />'.get_lang('UsersRegistered').'<br/><br />'.$list_register_user;
Display::display_confirmation_message($register_user_message,false);
}
} }
if (!empty($list_not_register_user))
{
$not_register_user_message='<br />'.get_lang('UsersNotRegistered').'<br/><br /><br />'.$list_not_register_user;
Display::display_error_message($not_register_user_message,false);
}
break; break;
} }
} }
if (!empty($_SESSION['session_user_id']))
{
unset($_SESSION['session_user_id']);
}
if (!empty($_SESSION['session_user_name']))
{
unset($_SESSION['session_user_name']);
}
/* /*
----------------------------------------------------------- -----------------------------------------------------------
SHOW LIST OF USERS SHOW LIST OF USERS
@ -113,20 +209,23 @@ function get_number_of_users()
{ {
$user_table = Database :: get_main_table(TABLE_MAIN_USER); $user_table = Database :: get_main_table(TABLE_MAIN_USER);
$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 AND u.status='1' WHERE cu.user_id IS NULL AND u.status='1'
"; ";
} }
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 AND u.status='5' WHERE cu.user_id IS NULL AND u.status='5'
"; ";
} }
if (isset ($_REQUEST['keyword'])) if (isset ($_REQUEST['keyword']))
{ {
$keyword = mysql_real_escape_string($_REQUEST['keyword']); $keyword = mysql_real_escape_string($_REQUEST['keyword']);
@ -144,7 +243,8 @@ function get_user_data($from, $number_of_items, $column, $direction)
$user_table = Database :: get_main_table(TABLE_MAIN_USER); $user_table = Database :: get_main_table(TABLE_MAIN_USER);
$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 $sql = "SELECT
u.user_id AS col0, u.user_id AS col0,
u.official_code AS col1, u.official_code AS col1,
@ -157,7 +257,8 @@ function get_user_data($from, $number_of_items, $column, $direction)
WHERE u.status='1' and cu.user_id IS NULL WHERE u.status='1' and cu.user_id 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,
@ -182,7 +283,9 @@ function get_user_data($from, $number_of_items, $column, $direction)
while ($user = mysql_fetch_row($res)) while ($user = mysql_fetch_row($res))
{ {
$users[] = $user; $users[] = $user;
} $_SESSION['session_user_id'][]=$user[0];
$_SESSION['session_user_name'][]=$user[3].' '.$user[2];
}
return $users; return $users;
} }
/** /**
@ -232,6 +335,13 @@ $table->set_form_actions(array ('subscribe' => get_lang('reg')), 'user');
$form->display(); $form->display();
echo '<br />'; echo '<br />';
$table->display(); $table->display();
if ( !empty($_POST['keyword']))
{
$keyword_name=Security::remove_XSS($_POST['keyword']);
echo '<br/>'.get_lang('SearchResultsFor').' <span style="font-style: italic ;"> '.$keyword_name.' </span><br>';
}
/* /*
============================================================================== ==============================================================================
FOOTER FOOTER

@ -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-2008 Dokeos S.A.
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) various contributors Copyright (c) various contributors
@ -18,7 +18,8 @@
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 address: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium
Mail: info@dokeos.com
============================================================================== ==============================================================================
*/ */
/** /**
@ -233,8 +234,12 @@ function show_users_in_virtual_courses()
//if(xxx['tutor'] == '0') $tutor = " - "; //if(xxx['tutor'] == '0') $tutor = " - ";
//else $tutor = get_lang("Tutor"); //else $tutor = get_lang("Tutor");
$full_name = $lastname.", ".$firstname; $full_name = $lastname.", ".$firstname;
if( $lastname == "" || $firstname == '')
if( $lastname == "" || $firstname == '')
{
$full_name = $loginname; $full_name = $loginname;
}
$user_info_hyperlink = "<a href=\"userInfo.php?".api_get_cidreq()."&origin=".$origin."&uInfo=".$user_id."&virtual_course=".$virtual_course["code"]."\">".$full_name."</a>"; $user_info_hyperlink = "<a href=\"userInfo.php?".api_get_cidreq()."&origin=".$origin."&uInfo=".$user_id."&virtual_course=".$virtual_course["code"]."\">".$full_name."</a>";
$row = 0; $row = 0;
$table_row[$row ++] = $user_id; $table_row[$row ++] = $user_id;
@ -252,7 +257,8 @@ function show_users_in_virtual_courses()
} }
} }
if(!$is_allowed_in_course){ if(!$is_allowed_in_course)
{
api_not_allowed(true); api_not_allowed(true);
} }
@ -415,14 +421,16 @@ function get_user_data($from, $number_of_items, $column, $direction)
$groups_name=GroupManager :: get_user_group_name($user_id); $groups_name=GroupManager :: get_user_group_name($user_id);
if(api_is_allowed_to_edit()){ if(api_is_allowed_to_edit())
{
$temp=array(); $temp=array();
$temp[] = $user_id; $temp[] = $user_id;
$temp[] = $o_course_user['official_code'];
$temp[] = $o_course_user['lastname'];
$temp[] = $o_course_user['firstname']; $temp[] = $o_course_user['firstname'];
$temp[] = $o_course_user['lastname'];
$temp[] = $o_course_user['role']; $temp[] = $o_course_user['role'];
$temp[] = implode(', ',$groups_name); //Group $temp[] = implode(', ',$groups_name); //Group
$temp[] = $o_course_user['official_code'];
if(isset($o_course_user['tutor_id']) && $o_course_user['tutor_id']==1) if(isset($o_course_user['tutor_id']) && $o_course_user['tutor_id']==1)
$temp[] = get_lang('Tutor'); $temp[] = get_lang('Tutor');
@ -435,19 +443,21 @@ function get_user_data($from, $number_of_items, $column, $direction)
$temp[] = $user_id; $temp[] = $user_id;
} }
else{ else
$temp=array(); {
$temp[] = $o_course_user['official_code']; $temp=array();
$temp[] = $o_course_user['lastname'];
$temp[] = $o_course_user['firstname']; $temp[] = $o_course_user['firstname'];
$temp[] = $o_course_user['lastname'];
$temp[] = $o_course_user['role']; $temp[] = $o_course_user['role'];
$temp[] = implode(', ',$groups_name);//Group $temp[] = implode(', ',$groups_name);//Group
$temp[] = $o_course_user['official_code'];
$temp[] = $user_id; $temp[] = $user_id;
} }
$a_users[$user_id] = $temp; $a_users[$user_id] = $temp;
} }
} }
usort($a_users, 'sort_users'); usort($a_users, 'sort_users');
return $a_users; return $a_users;
} }
@ -466,25 +476,28 @@ function modify_filter($user_id)
// info // info
if(!api_is_anonymous()) if(!api_is_anonymous())
{ {
$result .= '<a href="userInfo.php?'.api_get_cidreq().'&origin='.$origin.'&amp;uInfo='.$user_id.'"><img border="0" alt="'.get_lang('Info').'" src="../img/user_info.gif" /></a>&nbsp;'; $result .= '<a href="userInfo.php?'.api_get_cidreq().'&origin='.$origin.'&amp;uInfo='.$user_id.'" title="'.get_lang('Info').'" ><img border="0" alt="'.get_lang('Info').'" src="../img/user_info.gif" /></a>&nbsp;';
} }
if($is_allowed_to_track) if($is_allowed_to_track)
{ {
$result .= '<a href="../mySpace/myStudents.php?'.api_get_cidreq().'&student='.$user_id.'&amp;details=true&amp;course='.$_course['id'].'&amp;origin=user_course"><img border="0" alt="'.get_lang('Tracking').'" src="../img/statistics.gif" /></a>&nbsp;'; $result .= '<a href="../mySpace/myStudents.php?'.api_get_cidreq().'&student='.$user_id.'&amp;details=true&amp;course='.$_course['id'].'&amp;origin=user_course" title="'.get_lang('Tracking').'" ><img border="0" alt="'.get_lang('Tracking').'" src="../img/statistics.gif" /></a>&nbsp;';
} }
if(api_is_allowed_to_edit()) if(api_is_allowed_to_edit())
{ {
// edit // edit
$result .= '<a href="userInfo.php?'.api_get_cidreq().'&origin='.$origin.'&amp;editMainUserInfo='.$user_id.'"><img border="0" alt="'.get_lang('Edit').'" src="../img/edit.gif" /></a>&nbsp;'; $result .= '<a href="userInfo.php?'.api_get_cidreq().'&origin='.$origin.'&amp;editMainUserInfo='.$user_id.'" title="'.get_lang('Edit').'" ><img border="0" alt="'.get_lang('Edit').'" src="../img/edit.gif" /></a>&nbsp;';
// unregister // unregister
if( $user_id != $_user['user_id']) if( $user_id != $_user['user_id'])
{ {
$result .= '<a href="'.api_get_self().'?'.api_get_cidreq().'&unregister=yes&amp;user_id='.$user_id.'" onclick="javascript:if(!confirm(\''.addslashes(htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;"><img border="0" alt="'.get_lang("Unreg").'" src="../img/delete.gif"/></a>'; $result .= '<a href="'.api_get_self().'?'.api_get_cidreq().'&unregister=yes&amp;user_id='.$user_id.'" title="'.get_lang('Unreg').' " onclick="javascript:if(!confirm(\''.addslashes(htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;"><img border="0" alt="'.get_lang("Unreg").'" src="../img/delete.gif"/></a>';
}
else
{
$result .= '<img border="0" alt="'.get_lang("Unreg").'" src="../img/delete_na.gif"/>';
} }
} }
$result.="</div>"; $result.="</div>";
return $result; return $result;
@ -496,15 +509,18 @@ $table = new SortableTable('users', 'get_number_of_users', 'get_user_data',$defa
$parameters['keyword'] = $_GET['keyword']; $parameters['keyword'] = $_GET['keyword'];
$table->set_additional_parameters($parameters); $table->set_additional_parameters($parameters);
$header_nr = 0; $header_nr = 0;
if( api_is_allowed_to_edit())
if( api_is_allowed_to_edit())
{ {
$table->set_header($header_nr++, '', false); $table->set_header($header_nr++, '', false);
} }
$table->set_header($header_nr++, get_lang('OfficialCode'));
$table->set_header($header_nr++, get_lang('LastName'));
$table->set_header($header_nr++, get_lang('FirstName')); $table->set_header($header_nr++, get_lang('FirstName'));
$table->set_header($header_nr++, get_lang('LastName'));
$table->set_header($header_nr++, get_lang('Description')); $table->set_header($header_nr++, get_lang('Description'));
$table->set_header($header_nr++, get_lang('GroupSingle'),false); $table->set_header($header_nr++, get_lang('GroupSingle'),false);
$table->set_header($header_nr++, get_lang('OfficialCode'));
if( api_is_allowed_to_edit()) if( api_is_allowed_to_edit())
{ {
$table->set_header($header_nr++, get_lang('Tutor')); $table->set_header($header_nr++, get_lang('Tutor'));
@ -521,16 +537,23 @@ $table->set_column_filter($header_nr-1,'modify_filter');
} }
// Build search-form // Build search-form
$form = new FormValidator('search_user', 'get','','',null,false); $form = new FormValidator('search_user', 'get','','',null,false);
$renderer = & $form->defaultRenderer(); $renderer = & $form->defaultRenderer();
$renderer->setElementTemplate('<span>{element}</span> '); $renderer->setElementTemplate('<span>{element}</span> ');
$form->add_textfield('keyword', '', false); $form->add_textfield('keyword', '', false);
$form->addElement('submit', 'submit', get_lang('SearchButton')); $form->addElement('submit', 'submit', get_lang('SearchButton'));
$form->display(); $form->display();
echo '<br />'; echo '<br />';
$table->display(); $table->display();
if( get_setting('allow_user_headings') == 'true' && $is_courseAdmin && api_is_allowed_to_edit() && $origin != 'learnpath') // only course administrators see this line
if ( !empty($_GET['keyword']) && !empty($_GET['submit']) )
{
$keyword_name=Security::remove_XSS($_GET['keyword']);
echo '<br/>'.get_lang('SearchResultsFor').' <span style="font-style: italic ;"> '.$keyword_name.' </span><br>';
}
if( get_setting('allow_user_headings') == 'true' && $is_courseAdmin && api_is_allowed_to_edit() && $origin != 'learnpath') // only course administrators see this line
{ {
echo "<div align=\"right\">", "<form method=\"post\" action=\"userInfo.php\">", get_lang("CourseAdministratorOnly"), " : ", "<input type=\"submit\" name=\"viewDefList\" value=\"".get_lang("DefineHeadings")."\" />", "</form>", "</div>\n"; echo "<div align=\"right\">", "<form method=\"post\" action=\"userInfo.php\">", get_lang("CourseAdministratorOnly"), " : ", "<input type=\"submit\" name=\"viewDefList\" value=\"".get_lang("DefineHeadings")."\" />", "</form>", "</div>\n";
} }

Loading…
Cancel
Save