/**
 * This function returns records of teachers from table referentiel_repartition
 *
 * @param id reference instance
 * @param id course
 * @param activite list of code item of competences
 * @return object
 * @todo Finish documenting this function
 **/
function referentiel_get_repartition_competences($instanceid, $courseid, $liste_competences, $teachersids)
{
    global $CFG;
    if (!empty($instanceid) && !empty($courseid) && !empty($liste_competences)) {
        $t_codes_competence = explode('/', referentiel_purge_dernier_separateur($liste_competences, '/'));
        foreach ($t_codes_competence as $code_item) {
            // rechercher les referents associes a cette competence
            // DEBUG
            // mtrace("lib_repartitions.php :: referentiel_get_repartition_competences() :: 83\nCODE :$code_item\n");
            $t_userids = referentiel_get_repartitions_teacher_by_competence($instanceid, $courseid, $code_item);
            if ($t_userids) {
                // DEBUG
                // mtrace("88 :: COMPARER TEACHERSIDS \n");
                // print_r($teachersids);
                // mtrace("\nAVEC T_USERIDS\n");
                // print_r($t_userids);
                foreach ($t_userids as $teacher) {
                    if (in_array($teacher, $teachersids) == false) {
                        // mtrace("\nAJOUTER $teacher->userid");
                        $a = new stdClass();
                        $a->userid = $teacher->userid;
                        $teachersids[] = $a;
                    }
                }
            }
        }
    }
    // mtrace("\n101 :: RENVOYER \n");
    // print_r($teachersids);
    return $teachersids;
}
function referentiel_get_repartition_notification($instanceid, $courseid, $t_codes_competence, $t_teacherids_accompagnement, $t_teacherids)
{
    // affiche une liste de cases cochées
    //
    global $CFG;
    // DEBUG
    /*
    echo("print_lib_repartition.php :: 34 ::<br />TEACHERS ACCOMPAGNANTS<br />\n");
    print_object($t_teacherids_accompagnement);
    echo("<br /><br />TEACHERS du COURS : TEACHERIDS <br />\n");
    print_object($t_teacherids);
    echo("<br />\n");
    */
    $nb_teachers = 0;
    $t_repartition_teachers = array(array());
    foreach ($t_codes_competence as $code_item) {
        if (!empty($instanceid) && !empty($courseid) && !empty($code_item)) {
            $teachers_repartition = referentiel_get_repartitions_teacher_by_competence($instanceid, $courseid, $code_item);
            // DEBUG
            /*
            echo("print_lib_repartition.php :: 49 ::<br />TEACHERS REPARTITION pour la COMPETENCE $code_item<br />\n");
            print_object($teachers_repartition);
            echo("<br />\n");
            */
            // verifier si intersection au sens large
            // a savoir si l'un des deux est vide l'autre est retourne
            $t_teacherids_intersect = referentiel_intersection_teachers($teachers_repartition, $t_teacherids_accompagnement);
            // DEBUG
            /*
            echo("print_lib_repartition.php :: 57 ::<br />INTERSECTION<br />\n");
            print_object($t_teacherids_intersect);
            echo("<br />\n");
            */
            foreach ($t_teacherids as $a_teacher) {
                if (!empty($t_teacherids_intersect)) {
                    // COLLECTER
                    if (array_key_exists($a_teacher->userid, $t_teacherids_intersect) == true) {
                        $t_repartition_teachers[$code_item][] = 'X';
                    } else {
                        $t_repartition_teachers[$code_item][] = '&nbsp;';
                    }
                } else {
                    $t_repartition_teachers[$code_item][] = '+';
                }
            }
        }
    }
    /*
    echo("<br />\n");
    print_object($t_repartition_teachers);
    echo("<br />EXIT\n");
    exit;
    */
    return $t_repartition_teachers;
}