Ejemplo n.º 1
0
function referentiel_print_liste_associations($mode, $referentiel_instance, $userid_filtre = 0, $gusers)
{
    global $CFG;
    global $DB;
    global $USER;
    static $referentiel_id = NULL;
    // contexte
    $cm = get_coursemodule_from_instance('referentiel', $referentiel_instance->id);
    $course = $DB->get_record("course", array("id" => "{$cm->course}"));
    if (empty($cm) or empty($course)) {
        print_error('REFERENTIEL_ERROR :: lib_pedagogie.php :: 242 :: You cannot call this script in that way');
    }
    $context = context_module::instance($cm->id);
    $referentiel_id = $referentiel_instance->ref_referentiel;
    $roles = referentiel_roles_in_instance($referentiel_instance->id);
    $iseditor = $roles->is_editor;
    $isadmin = $roles->is_admin;
    $isteacher = $roles->is_teacher;
    $istutor = $roles->is_tutor;
    $isstudent = $roles->is_student;
    if (isset($referentiel_id) && $referentiel_id > 0) {
        $referentiel_referentiel = referentiel_get_referentiel_referentiel($referentiel_id);
        if (!$referentiel_referentiel) {
            if ($iseditor) {
                error(get_string('creer_referentiel', 'referentiel'), "{$CFG->wwwroot}/mod/referentiel/edit.php?d={$referentiel_instance->id}&mode=editreferentiel&sesskey=" . sesskey());
            } else {
                error(get_string('creer_referentiel', 'referentiel'), "{$CFG->wwwroot}/course/view.php?id={$course->id}&sesskey=" . sesskey());
            }
        }
        // boite pour selectionner les utilisateurs ?
        if ($isteacher || $iseditor || $istutor) {
            // tous les users possibles (pour la boite de selection)
            // Get your userids the normal way
            $record_id_users = referentiel_get_students_course($course->id, 0, 0);
            //seulement les stagiaires
            if ($gusers && $record_id_users) {
                // liste des utilisateurs du groupe courant
                // echo "<br />DEBUG :: lib_pedagogie.php :: 130 :: GUSERS<br />\n";
                // print_object($gusers);
                // echo "<br />\n";
                $record_users = array_intersect($gusers, array_keys($record_id_users));
                // $record_users  = array_intersect_assoc($record_id_users, array_keys($gusers));
                // echo "<br />DEBUG :: lib_pedagogie.php :: 135 :: RECORD_USERS<br />\n";
                // print_r($record_users  );
                // echo "<br />\n";
                // recopier
                $record_id_users = array();
                foreach ($record_users as $record_id) {
                    $a_obj = new stdClass();
                    $a_obj->userid = $record_id;
                    $record_id_users[] = $a_obj;
                }
            }
            echo referentiel_select_users_pedagogie($record_id_users, "pedagogie.php", $mode, $userid_filtre);
        } else {
            $userid_filtre = $USER->id;
            // les étudiants ne peuvent voir que leur fiche
        }
        // recuperer les utilisateurs filtres
        // si $userid_filtre ==0 on retourne tous les utilisateurs du cours et du groupe
        if (!empty($userid_filtre)) {
            $record_id_users = referentiel_get_students_course($course->id, $userid_filtre, 0);
        } else {
            $record_id_users = referentiel_get_students_course($course->id, $userid_filtre, 0);
        }
        // groupes ?
        if ($gusers && $record_id_users) {
            $record_users = array_intersect($gusers, array_keys($record_id_users));
            // recopier
            $record_id_users = array();
            foreach ($record_users as $record_id) {
                $a_obj = new stdClass();
                $a_obj->userid = $record_id;
                $record_id_users[] = $a_obj;
            }
        }
        if ($record_id_users) {
            // Afficher
            echo referentiel_entete_asso_pedagogie($context);
            foreach ($record_id_users as $record_id) {
                // afficher la liste d'users
                // recupere les enregistrements de pedagogies
                $record_pedago = referentiel_get_pedagogie_user($record_id->userid, $referentiel_id);
                // DEBUG
                // echo "<br />DEBUG :: lib_pedagogie :: 326 ::<br />\n";
                // print_object($record_pedago);
                if ($record_pedago) {
                    $isauthor = referentiel_pedagogie_isowner($record_pedago->id, $USER->id);
                    if ($isauthor || $istutor || $isteacher || $iseditor) {
                        referentiel_print_association($record_pedago, $context, $record_id->userid, $referentiel_instance->id, $referentiel_instance->ref_referentiel);
                    }
                }
            }
            echo referentiel_enqueue_asso_pedagogie();
        }
        echo '<br /><br />' . "\n";
    }
}
Ejemplo n.º 2
0
        if (referentiel_delete_pedago($delete)) {
            if ($CFG->version > 2014051200) {
                // Moodle 2.7+
                $params = array('contextid' => $context->id, 'objectid' => $delete);
                $event = \mod_referentiel\event\pedagogie_deleted::create($params);
                $event->trigger();
            } else {
                // Before Moodle 2.7
                add_to_log($course->id, 'referentiel', 'pedagogy delete', "pedagogie.php?id={$cm->id}", $delete, $cm->id);
            }
            redirect("{$CFG->wwwroot}/mod/referentiel/pedagogie.php?id={$cm->id}");
        }
    }
}
/// Delete any requested records
if (!empty($deleteasso) && confirm_sesskey() && (has_capability('mod/referentiel:managecertif', $context) or referentiel_pedagogie_isowner($deleteasso, $USER->id))) {
    if ($confirm = optional_param('confirm', 0, PARAM_INT)) {
        if (referentiel_delete_asso_user($deleteasso, $userid, $referentiel->ref_referentiel)) {
            if ($CFG->version > 2014051200) {
                // Moodle 2.7+
                $params = array('contextid' => $context->id, 'objectid' => $delete, 'other' => array('userid' => $userid, 'occurrenceid' => $referentiel->ref_referentiel));
                $event = \mod_referentiel\event\pedagogie_association_deleted::create($params);
                $event->trigger();
            } else {
                // Before Moodle 2.7
                add_to_log($course->id, 'referentiel', 'record delete', "pedagogie.php?id={$cm->id}", $deleteasso, $cm->id);
            }
            redirect("{$CFG->wwwroot}/mod/referentiel/pedagogie.php?id={$cm->id}");
        }
    }
}
Ejemplo n.º 3
0
$txt->modulenameplural = get_string('modulenameplural', 'referentiel');
// $txt->tofile = get_string('tofile','referentiel');
// PAS DE RSS
// require_once("$CFG->libdir/rsslib.php");
$returnlink_ref = new moodle_url('/mod/referentiel/view.php', array('id' => $cm->id, 'non_redirection' => '1'));
$returnlink_course = new moodle_url('/course/view.php', array('id' => $course->id));
$returnlink_add = new moodle_url('/mod/referentiel/add.php', array('d' => $referentiel->id, 'sesskey' => sesskey()));
require_login($course->id, false, $cm);
if (!isloggedin() || isguestuser()) {
    redirect($returnlink_course);
}
$context = context_module::instance($cm->id);
require_capability('mod/referentiel:export', $context);
if ($pedago_id) {
    // So do you have access?
    if (!(has_capability('mod/referentiel:writereferentiel', $context) or referentiel_pedagogie_isowner($pedago_id, $USER->id)) or !confirm_sesskey()) {
        print_error(get_string('noaccess', 'referentiel'));
    }
}
// RECUPERER LES FORMULAIRES
if (isset($SESSION->modform)) {
    // Variables are stored in the session
    $form = $SESSION->modform;
    unset($SESSION->modform);
} else {
    $form = (object) $_POST;
}
if ($cancel) {
    if (!empty($SESSION->returnpage)) {
        $return = $SESSION->returnpage;
        unset($SESSION->returnpage);