function edit_domains_competencies_items()
    {
        global $OUTPUT, $CFG;
        $sform = '';
        $mform =& $this->_form;
        // COMPTEURS
        $this->compteur_domain = 0;
        $this->compteur_competency = 0;
        $this->compteur_item = 0;
        $this->compteur_newdomain = 0;
        $this->compteur_newcompetency = 0;
        $this->compteur_newitem = 0;
        // List of Ids
        $this->list_domains = '';
        $this->list_competencies = '';
        $this->list_items = '';
        $this->list_newdomains = '';
        $this->list_newcompetencies = '';
        $this->list_newitems = '';
        // charger les domaines associes au referentiel courant
        if (!empty($this->referentiel->id)) {
            // Numbre of domains to create
            $objet_nb_domaines = referentiel_get_nb_domaines($this->referentiel->id);
            $nb_domaines = $objet_nb_domaines->nb_domaines;
            // DEBUG
            // $sform.= '"<br/>DEBUG :: NOMBRE DE DOMAINES A AJOUTER : $nb_domaines <br />\n";
            $rec_domains = referentiel_get_domaines($this->referentiel->id);
            if ($rec_domains) {
                // add group for text areas
                $mform->addElement('header', 'domaininfo', get_string('editdomains', 'block_referentiel'));
                //$mform->setAdvanced('domaininfo');
                $mform->addHelpButton('domaininfo', 'modifdomskillitemh', 'referentiel');
                $sform = '<img class="selectallarrow" src="' . $OUTPUT->pix_url('arrow_ltr_bas', 'referentiel') . '" width="38" height="22" alt="Pour la sélection :" />
<i>' . get_string('cocher_enregistrer_domain', 'referentiel') . '</i>
<br />' . "\n";
                $mform->addElement('html', $sform);
                foreach ($rec_domains as $record) {
                    if ($record) {
                        $this->compteur_domain++;
                        $this->edit_domain($record);
                        // LISTE DES COMPETENCES DE CE DOMAINE
                        $this->compteur_competency = 0;
                        $records_competences = referentiel_get_competences($record->id);
                        if ($records_competences) {
                            foreach ($records_competences as $record_c) {
                                if ($record_c) {
                                    $this->compteur_competency++;
                                    $this->edit_competency($record_c);
                                }
                                // LISTE DES ITEMS DE CETTE COMPETENCES
                                $this->compteur_item = 0;
                                $records_items = referentiel_get_item_competences($record_c->id);
                                if ($records_items) {
                                    foreach ($records_items as $record_i) {
                                        if ($record_i) {
                                            $this->compteur_item++;
                                            $this->edit_item($record_i);
                                        }
                                    }
                                }
                                // NOMBRE DE NOUVEAUX ITEMS DE COMPETENCE DEMANDES
                                $nb_items_a_afficher = $record_c->nb_item_competences - $this->compteur_item;
                                // Tenir compte des items enregistres
                                if (isset($nb_items_a_afficher) && $nb_items_a_afficher > 0) {
                                    for ($k = 0; $k < $nb_items_a_afficher; $k++) {
                                        $this->compteur_item++;
                                        $this->compteur_newitem++;
                                        $this->add_item($record_c->id);
                                    }
                                }
                            }
                        }
                        // NOUVELLE COMPETENCE
                        // NOMBRE DE NOUVELLES COMPETENCES DEMANDEES
                        $nb_competences_a_afficher = $record->nb_competences - $this->compteur_competency;
                        // Tenir compte des competences enregistres
                        if (isset($nb_competences_a_afficher) && $nb_competences_a_afficher > 0) {
                            for ($i = 0; $i < $nb_competences_a_afficher; $i++) {
                                $this->compteur_competency++;
                                $this->compteur_newcompetency++;
                                $this->add_competency($record->id, $this->compteur_competency);
                            }
                        }
                    }
                }
                $sform = '<img class="selectallarrow" src="' . $OUTPUT->pix_url('arrow_ltr', 'referentiel') . '" width="38" height="22" alt="Pour la sélection :" />
<i>' . get_string('cocher_enregistrer_domain', 'referentiel') . '</i>
<br />' . "\n";
                $mform->addElement('html', $sform);
            }
            // NOMBRE DE NOUVEAUX DOMAINES DEMANDES
            $nb_domaines_a_afficher = $nb_domaines - $this->compteur_domain;
            // Tenir compte des domaines enregistres
            if (isset($nb_domaines_a_afficher) && $nb_domaines_a_afficher > 0) {
                // add group for text areas
                $mform->addElement('header', 'newdomaininfo', get_string('newdomains', 'block_referentiel'));
                $mform->addHelpButton('displayinfo', 'modifdomskillitemh', 'referentiel');
                for ($j = 0; $j < $nb_domaines_a_afficher; $j++) {
                    $this->compteur_domain++;
                    $this->compteur_newdomain++;
                    $this->add_domain();
                }
            }
            $mform->addElement('hidden', 'list_domains', $this->list_domains);
            $mform->setType('list_domains', PARAM_TEXT);
            $mform->addElement('hidden', 'list_competencies', $this->list_competencies);
            $mform->setType('list_competencies', PARAM_TEXT);
            $mform->addElement('hidden', 'list_items', $this->list_items);
            $mform->setType('list_items', PARAM_TEXT);
            $mform->addElement('hidden', 'list_newdomains', $this->list_newdomains);
            $mform->setType('list_newdomains', PARAM_TEXT);
            $mform->addElement('hidden', 'list_newcompetencies', $this->list_newcompetencies);
            $mform->setType('list_newcompetencies', PARAM_TEXT);
            $mform->addElement('hidden', 'list_newitems', $this->list_newitems);
            $mform->setType('list_newitems', PARAM_TEXT);
            // buttons
            //$this->add_action_buttons(true);
            $buttonarray = array();
            $buttonarray[] =& $mform->createElement('submit', 'submitbutton', get_string('savechanges'));
            $buttonarray[] =& $mform->createElement('reset', 'resetbutton', get_string('revert'));
            $buttonarray[] =& $mform->createElement('cancel');
            $mform->addGroup($buttonarray, 'buttonar', '', array(' '), false);
            $mform->closeHeaderBefore('buttonar');
        }
    }
<input type="submit" name="cancel" value="' . get_string("quit", "referentiel") . '" />
</td>
</tr>
</table>

</form>

<!-- DOMAINES -->
';
echo '<div align="center"><h3><img src="' . $icon . '" border="0" title="" alt="" /> ' . get_string('modifdomskillitemh', 'referentiel') . ' ' . $OUTPUT->help_icon('modifdomskillitemh', 'referentiel') . '</h3></div>' . "\n";
// charger les domaines associes au referentiel courant
if (isset($form->referentiel_id) && $form->referentiel_id > 0) {
    $ref_referentiel = $form->referentiel_id;
    // plus pratique
    // Nombre de domaines � creer
    $objet_nb_domaines = referentiel_get_nb_domaines($ref_referentiel);
    $nb_domaines = $objet_nb_domaines->nb_domaines;
    // DEBUG
    // echo "<br/>DEBUG :: NOMBRE DE DOMAINES A AJOUTER : $nb_domaines <br />\n";
    // AFFICHER LA LISTE DES DOMAINES
    $compteur_nouveau_domaine = 0;
    $compteur_nouveau_competence = 0;
    $compteur_nouveau_item = 0;
    $compteur_domaine = 0;
    $records_domaine = referentiel_get_domaines($ref_referentiel);
    if ($records_domaine) {
        // afficher
        // DEBUG
        // echo "<br/>DEBUG ::<br />\n";
        // print_r($records_domaine);
        // echo "<br/>DEBUG ::<br />\n";