Exemple #1
0
 function addsubscriptionedition()
 {
     require_once _lms_ . '/lib/lib.subscribe.php';
     require_once _lms_ . '/lib/lib.coursepath.php';
     $cpath_man = new CoursePath_Manager();
     $subs_man = new CourseSubscribe_Management();
     $id_path = Get::req('id_path', DOTY_INT, 0);
     $user_selected = unserialize(urldecode(Get::req('users', DOTY_MIXED, array())));
     $courses = $cpath_man->getAllCourses(array($id_path));
     if (isset($_POST['undo']) || !isset($_POST['save'])) {
         Util::jump_to('index.php?modname=coursepath&op=addsubscription&id_path=' . $id_path);
     }
     $re = true;
     $query_pathlist = "\r\n\tSELECT path_name, subscribe_method\r\n\tFROM " . $GLOBALS['prefix_lms'] . "_coursepath\r\n\tWHERE id_path = '" . $id_path . "'\r\n\tORDER BY path_name ";
     list($path_name, $subscribe_method) = sql_fetch_row(sql_query($query_pathlist));
     if ($subscribe_method != 1 && !checkPerm('moderate', true)) {
         $waiting = 1;
     } else {
         $waiting = 0;
     }
     $users_subsc = array();
     $course_man = new Man_Course();
     $assessment = $course_man->getAllCourses(false, 'assessment', $courses);
     $classroom = $course_man->getAllCourses(false, 'classroom', $courses);
     $edition = $course_man->getAllCourses(false, 'edition', $courses);
     $array_id_date = array();
     $array_id_edition = array();
     if (!empty($classroom)) {
         foreach ($classroom as $id_course => $info) {
             if (Get::req('classroom_' . $id_course, DOTY_INT, 0) != 0) {
                 $array_id_date[Get::req('classroom_' . $id_course, DOTY_INT, 0)] = Get::req('classroom_' . $id_course, DOTY_INT, 0);
             }
         }
     }
     if (!empty($edition)) {
         foreach ($edition as $id_course => $info) {
             if (Get::req('edition_' . $id_course, DOTY_INT, 0) != 0) {
                 $array_id_edition[Get::req('edition_' . $id_course, DOTY_INT, 0)] = Get::req('edition_' . $id_course, DOTY_INT, 0);
             }
         }
     }
     require_once _lms_ . '/lib/lib.date.php';
     $date_man = new DateManager();
     require_once _lms_ . '/lib/lib.edition.php';
     $edition_man = new EditionManager();
     while (list(, $id_user) = each($user_selected)) {
         $text_query = "\r\n\t\tINSERT INTO " . $GLOBALS['prefix_lms'] . "_coursepath_user\r\n\t\t( id_path, idUser, waiting, subscribed_by ) VALUES\r\n\t\t( '" . $id_path . "', '" . $id_user . "', '" . $waiting . "', '" . getLogUserId() . "' )";
         $re_s = sql_query($text_query);
         if ($re_s == true) {
             $users_subsc[] = $id_user;
         }
         $re &= $re_s;
         if (!empty($assessment)) {
             foreach ($assessment as $id_assessment => $assessment_info) {
                 sql_query("INSERT INTO %lms_assessment_user (id_assessment, id_user, type_of) VALUES ('" . $id_assessment . "', '" . $id_user . "', 'user')");
             }
             reset($assessment);
         }
         if (!empty($array_id_date)) {
             foreach ($array_id_date as $id_date) {
                 $date_man->addUserToDate($id_date, $id_user, Docebo::user()->getIdSt());
             }
             reset($array_id_date);
         }
         if (!empty($array_id_edition)) {
             foreach ($array_id_edition as $id_edition) {
                 $edition_man->addUserToEdition($id_edition, $id_user, Docebo::user()->getIdSt());
             }
             reset($array_id_edition);
         }
     }
     // now subscribe user to all the course
     if ($waiting == 0) {
         $re &= $subs_man->multipleSubscribe($users_subsc, $courses, 3);
     }
     Util::jump_to('index.php?modname=coursepath&op=pathlist&result=' . ($re ? 'ok' : 'err'));
 }