diff --git a/main/admin/add_courses_to_usergroup.php b/main/admin/add_courses_to_usergroup.php
new file mode 100644
index 0000000000..ab3a6f459a
--- /dev/null
+++ b/main/admin/add_courses_to_usergroup.php
@@ -0,0 +1,386 @@
+debugOn();
+$xajax->registerFunction('search');
+
+// setting the section (for the tabs)
+$this_section = SECTION_PLATFORM_ADMIN;
+
+// Access restrictions
+api_protect_admin_script(true);
+
+// setting breadcrumbs
+$interbreadcrumb[]=array('url' => 'index.php','name' => get_lang('PlatformAdmin'));
+$interbreadcrumb[]=array('url' => 'usergroups.php','name' => get_lang('UserGroups'));
+
+// Database Table Definitions
+
+// setting the name of the tool
+$tool_name=get_lang('SubscribeSessionsToUserGroup');
+
+$add_type = 'multiple';
+if(isset($_REQUEST['add_type']) && $_REQUEST['add_type']!=''){
+ $add_type = Security::remove_XSS($_REQUEST['add_type']);
+}
+
+$htmlHeadXtra[] = $xajax->getJavascript('../inc/lib/xajax/');
+$htmlHeadXtra[] = '
+';
+
+
+$form_sent = 0;
+$errorMsg = '';
+$sessions=array();
+$usergroup = new UserGroup();
+$id = intval($_GET['id']);
+if($_POST['form_sent']) {
+ $form_sent = $_POST['form_sent'];
+ $elements_posted = $_POST['elements_in_name'];
+ if (!is_array($elements_posted)) {
+ $elements_posted=array();
+ }
+ if ($form_sent == 1) {
+ //added a parameter to send emails when registering a user
+ $usergroup->subscribe_courses_to_usergroup($id, $elements_posted);
+ header('Location: usergroups.php');
+ exit;
+ }
+}
+$data = $usergroup->get($id);
+$course_list_in = $usergroup->get_courses_by_usergroup($id);
+$course_list = CourseManager::get_courses_list();
+
+//api_display_tool_title($tool_name.' ('.$session_info['name'].')');
+$elements_not_in = $elements_in= array();
+
+if (!empty($course_list)) {
+ foreach($course_list as $item) {
+ if (in_array($item['id'], $course_list_in)) {
+ $elements_in[$item['id']] = $item['title'];
+ } else {
+ $elements_not_in[$item['id']] = $item['title'];
+ }
+ }
+}
+$ajax_search = $add_type == 'unique' ? true : false;
+
+//checking for extra field with filter on
+
+function search($needle,$type) {
+ global $tbl_user,$elements_in;
+ $xajax_response = new XajaxResponse();
+ $return = '';
+ if (!empty($needle) && !empty($type)) {
+
+ // xajax send utf8 datas... datas in db can be non-utf8 datas
+ $charset = api_get_system_encoding();
+ $needle = Database::escape_string($needle);
+ $needle = api_convert_encoding($needle, $charset, 'utf-8');
+
+ if ($type == 'single') {
+ // search users where username or firstname or lastname begins likes $needle
+ /* $sql = 'SELECT user.user_id, username, lastname, firstname FROM '.$tbl_user.' user
+ WHERE (username LIKE "'.$needle.'%"
+ OR firstname LIKE "'.$needle.'%"
+ OR lastname LIKE "'.$needle.'%") AND user.user_id<>"'.$user_anonymous.'" AND user.status<>'.DRH.''.
+ $order_clause.
+ ' LIMIT 11';*/
+ } else {
+ $list = CourseManager::get_courses_list(0, 0, 1, 'ASC', -1, $needle);
+ }
+ $i=0;
+ if ($type=='single') {
+ /*
+ while ($user = Database :: fetch_array($rs)) {
+ $i++;
+ if ($i<=10) {
+ $person_name = api_get_person_name($user['firstname'], $user['lastname']);
+ $return .= ''.$person_name.' ('.$user['username'].')
';
+ } else {
+ $return .= '...
';
+ }
+ }
+ $xajax_response -> addAssign('ajax_list_users_single','innerHTML',api_utf8_encode($return));*/
+ } else {
+ $return .= '';
+ $xajax_response -> addAssign('ajax_list_multiple','innerHTML',api_utf8_encode($return));
+ }
+ }
+ return $xajax_response;
+}
+$xajax -> processRequests();
+
+Display::display_header($tool_name);
+
+if ($add_type == 'multiple') {
+ $link_add_type_unique = ''.Display::return_icon('single.gif').get_lang('SessionAddTypeUnique').'';
+ $link_add_type_multiple = Display::return_icon('multiple.gif').get_lang('SessionAddTypeMultiple');
+} else {
+ $link_add_type_unique = Display::return_icon('single.gif').get_lang('SessionAddTypeUnique');
+ $link_add_type_multiple = ''.Display::return_icon('multiple.gif').get_lang('SessionAddTypeMultiple').'';
+}
+
+echo '
'; if($_POST['form_sent']) { - $form_sent = $_POST['form_sent']; - $firstLetterUser = $_POST['firstLetterUser']; - $firstLetterSession = $_POST['firstLetterSession']; + $form_sent = $_POST['form_sent']; $session_in_promotion_posted = $_POST['session_in_promotion_name']; if (!is_array($session_in_promotion_posted)) { $session_in_promotion_posted=array(); @@ -106,7 +99,7 @@ if($_POST['form_sent']) { } $promotion_data = $promotion->get($id); -$session_list = SessionManager::get_sessions_list(); +$session_list = SessionManager::get_sessions_list(array(), array('name')); //api_display_tool_title($tool_name.' ('.$session_info['name'].')'); $session_not_in_promotion = $session_in_promotion= array(); @@ -149,12 +142,8 @@ function search_sessions($needle,$type) { $order_clause. ' LIMIT 11';*/ } else { -/* $sql = 'SELECT user.user_id, username, lastname, firstname FROM '.$tbl_user.' user - WHERE '.(api_sort_by_first_name() ? 'firstname' : 'lastname').' LIKE "'.$needle.'%" AND user.status<>'.DRH.' AND user.user_id<>"'.$user_anonymous.'"'.$cond_user_id. - $order_clause;*/ - $session_list = SessionManager::get_sessions_list(array('s.name LIKE' => "%$needle%")); - } - + $session_list = SessionManager::get_sessions_list(array('s.name LIKE' => "$needle%")); + } $i=0; if ($type=='single') { /* @@ -169,9 +158,7 @@ function search_sessions($needle,$type) { } $xajax_response -> addAssign('ajax_list_users_single','innerHTML',api_utf8_encode($return));*/ } else { - global $nosessionUsersList; - $return .= '