From 04a0fa52e432d5eeb241bcc6502c84915e24ce3a Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Wed, 19 Mar 2008 16:40:16 +0100 Subject: [PATCH] [svn r14669] Layout Improvements in User tool (see FS#2379) --- main/user/subscribe_user.php | 140 +++++++++++++++++++++++++++++++---- main/user/user.php | 69 +++++++++++------ 2 files changed, 171 insertions(+), 38 deletions(-) diff --git a/main/user/subscribe_user.php b/main/user/subscribe_user.php index baa0dce6e6..7253d1dbaf 100644 --- a/main/user/subscribe_user.php +++ b/main/user/subscribe_user.php @@ -21,7 +21,7 @@ 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 ============================================================================== */ @@ -53,15 +53,12 @@ require_once (api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php' ============================================================================== */ - - - - /* ----------------------------------------------------------- Header ----------------------------------------------------------- */ + $tool_name = get_lang("SubscribeUserToCourse"); //extra entries in breadcrumb $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['type']) && $_REQUEST['type']=='teacher'){ - CourseManager :: subscribe_user($_REQUEST['user_id'], $_course['sysCode'],COURSEMANAGER); + 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']); } - 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 $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'; + $counter++; + } + else + { + $list_not_register_user.=" - ".$user_name_temp[$j].'
'; + } + } + } + } + } + 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='
'.get_lang('UsersRegistered').'

'.$list_register_user; + Display::display_confirmation_message($register_user_message,false); + } } + + if (!empty($list_not_register_user)) + { + $not_register_user_message='
'.get_lang('UsersNotRegistered').'


'.$list_not_register_user; + Display::display_error_message($not_register_user_message,false); + } + 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 @@ -113,20 +209,23 @@ function get_number_of_users() { $user_table = Database :: get_main_table(TABLE_MAIN_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 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 AND u.status='1' "; } - else{ + 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 AND u.status='5' "; } + if (isset ($_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); $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 AS col0, 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 "; } - else{ + else + { $sql = "SELECT u.user_id AS col0, 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)) { $users[] = $user; - } + $_SESSION['session_user_id'][]=$user[0]; + $_SESSION['session_user_name'][]=$user[3].' '.$user[2]; + } return $users; } /** @@ -232,6 +335,13 @@ $table->set_form_actions(array ('subscribe' => get_lang('reg')), 'user'); $form->display(); echo '
'; $table->display(); + +if ( !empty($_POST['keyword'])) +{ + $keyword_name=Security::remove_XSS($_POST['keyword']); + echo '
'.get_lang('SearchResultsFor').' '.$keyword_name.'
'; +} + /* ============================================================================== FOOTER diff --git a/main/user/user.php b/main/user/user.php index 23c08123aa..707e26c355 100644 --- a/main/user/user.php +++ b/main/user/user.php @@ -3,7 +3,7 @@ ============================================================================== 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) 2001 Universite catholique de Louvain (UCL) Copyright (c) various contributors @@ -18,7 +18,8 @@ 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 = " - "; //else $tutor = get_lang("Tutor"); $full_name = $lastname.", ".$firstname; - if( $lastname == "" || $firstname == '') + + if( $lastname == "" || $firstname == '') + { $full_name = $loginname; + } + $user_info_hyperlink = "".$full_name.""; $row = 0; $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); } @@ -415,14 +421,16 @@ function get_user_data($from, $number_of_items, $column, $direction) $groups_name=GroupManager :: get_user_group_name($user_id); - if(api_is_allowed_to_edit()){ + if(api_is_allowed_to_edit()) + { $temp=array(); $temp[] = $user_id; - $temp[] = $o_course_user['official_code']; - $temp[] = $o_course_user['lastname']; + $temp[] = $o_course_user['firstname']; + $temp[] = $o_course_user['lastname']; $temp[] = $o_course_user['role']; $temp[] = implode(', ',$groups_name); //Group + $temp[] = $o_course_user['official_code']; if(isset($o_course_user['tutor_id']) && $o_course_user['tutor_id']==1) $temp[] = get_lang('Tutor'); @@ -435,19 +443,21 @@ function get_user_data($from, $number_of_items, $column, $direction) $temp[] = $user_id; } - else{ - $temp=array(); - $temp[] = $o_course_user['official_code']; - $temp[] = $o_course_user['lastname']; + else + { + $temp=array(); $temp[] = $o_course_user['firstname']; + $temp[] = $o_course_user['lastname']; $temp[] = $o_course_user['role']; $temp[] = implode(', ',$groups_name);//Group + $temp[] = $o_course_user['official_code']; $temp[] = $user_id; } $a_users[$user_id] = $temp; } } usort($a_users, 'sort_users'); + return $a_users; } @@ -466,25 +476,28 @@ function modify_filter($user_id) // info if(!api_is_anonymous()) { - $result .= ''.get_lang('Info').' '; + $result .= ''.get_lang('Info').' '; } if($is_allowed_to_track) { - $result .= ''.get_lang('Tracking').' '; + $result .= ''.get_lang('Tracking').' '; } if(api_is_allowed_to_edit()) { // edit - $result .= ''.get_lang('Edit').' '; + $result .= ''.get_lang('Edit').' '; // unregister - if( $user_id != $_user['user_id']) + if( $user_id != $_user['user_id']) { - $result .= ''.get_lang('; + $result .= ''.get_lang('; + } + else + { + $result .= ''.get_lang('; } - } $result.=""; return $result; @@ -496,15 +509,18 @@ $table = new SortableTable('users', 'get_number_of_users', 'get_user_data',$defa $parameters['keyword'] = $_GET['keyword']; $table->set_additional_parameters($parameters); $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++, 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('LastName')); $table->set_header($header_nr++, get_lang('Description')); $table->set_header($header_nr++, get_lang('GroupSingle'),false); +$table->set_header($header_nr++, get_lang('OfficialCode')); + if( api_is_allowed_to_edit()) { $table->set_header($header_nr++, get_lang('Tutor')); @@ -521,16 +537,23 @@ $table->set_column_filter($header_nr-1,'modify_filter'); } // Build search-form + $form = new FormValidator('search_user', 'get','','',null,false); $renderer = & $form->defaultRenderer(); $renderer->setElementTemplate('{element} '); $form->add_textfield('keyword', '', false); $form->addElement('submit', 'submit', get_lang('SearchButton')); - $form->display(); echo '
'; $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 '
'.get_lang('SearchResultsFor').' '.$keyword_name.'
'; +} + +if( get_setting('allow_user_headings') == 'true' && $is_courseAdmin && api_is_allowed_to_edit() && $origin != 'learnpath') // only course administrators see this line { echo "
", "
", get_lang("CourseAdministratorOnly"), " : ", "", "
", "
\n"; }