/**
 * Given an object containing an instance, will return label value
 *
 * @param object instance
 * @return string
 **/
function referentiel_get_labels_instance($instanceid)
{
    global $DB;
    $label = new object();
    $label->domaine = get_string('domaine', 'referentiel');
    $label->competence = get_string('competence', 'referentiel');
    $label->item = get_string('item', 'referentiel');
    if (!empty($instanceid)) {
        if ($instance = $DB->get_record('referentiel', array("id" => $instanceid))) {
            $label = referentiel_get_labels($instance);
        }
    }
    return $label;
}
function referentiel_affiche_occurrence($cm, $instance_id, $occurrence_id, $params = NULL)
{
    // Affiche le référentiel
    global $DB;
    $labels = NULL;
    $label_d = '';
    $label_c = '';
    $label_i = '';
    if (!empty($params)) {
        if (isset($params->label_domaine)) {
            $label_d = $params->label_domaine;
        }
        if (isset($params->label_competence)) {
            $label_c = $params->label_competence;
        }
        if (isset($params->label_item)) {
            $label_i = $params->label_item;
        }
    } else {
        if ($referentiel_instance = $DB->get_record('referentiel', array("id" => $instance_id))) {
            if ($labels = referentiel_get_labels($referentiel_instance)) {
                $label_d = $labels->domaine;
                $label_c = $labels->competence;
                $label_i = $labels->item;
            }
        }
    }
    // affichage leger du referentiel
    $not_light_display = referentiel_site_light_display($instance_id) > 0;
    if (!empty($occurrence_id)) {
        $record_a = referentiel_get_referentiel_referentiel($occurrence_id);
        $referentiel_id = $record_a->id;
        $name = $record_a->name;
        $code_referentiel = stripslashes($record_a->code_referentiel);
        $description_referentiel = stripslashes($record_a->description_referentiel);
        $url_referentiel = referentiel_affiche_url($record_a->url_referentiel, "");
        $seuil_certificat = $record_a->seuil_certificat;
        $timemodified = $record_a->timemodified;
        $nb_domaines = $record_a->nb_domaines;
        $liste_codes_competence = $record_a->liste_codes_competence;
        $liste_empreintes_competence = $record_a->liste_empreintes_competence;
        $liste_poids_competence = referentiel_get_liste_poids_competence($occurrence_id);
        // local ou global ?
        if (isset($record_a->local)) {
            $referentiel_local = $record_a->local;
        } else {
            $referentiel_local = 0;
        }
        $logo = $record_a->logo_referentiel;
        echo '<br /><h3>' . get_string('occurrencereferentiel', 'referentiel') . '</h3>' . "\n";
        echo '<div class="ref_aff0">' . "\n";
        echo '<span class="bold">' . get_string('name', 'referentiel') . '</span> &nbsp; ' . $name . ' &nbsp; &nbsp; ' . "\n";
        echo '<span class="bold">' . get_string('code', 'referentiel') . '</span> &nbsp; ' . $code_referentiel . ' &nbsp; &nbsp; ' . "\n";
        echo '<br />' . '<span class="bold">' . get_string('description', 'referentiel') . '</span><div class="ref_aff1">' . nl2br($description_referentiel) . '</div>' . "\n";
        echo get_string('url', 'referentiel') . '</span> &nbsp; ' . $url_referentiel . ' &nbsp; &nbsp; ' . "\n";
        if ($not_light_display) {
            echo '<br />' . '<span class="bold">' . get_string('seuil_certificat', 'referentiel') . '</span> &nbsp; ' . $seuil_certificat . "\n";
            echo ' &nbsp; ' . '<span class="bold">' . get_string('referentiel_global', 'referentiel') . '</span> ';
            if (!empty($referentiel_local)) {
                echo '&nbsp;' . get_string("no") . ' &nbsp; &nbsp; ' . "\n";
            } else {
                echo '&nbsp; ' . get_string("yes") . ' &nbsp; &nbsp; ' . "\n";
            }
            echo '<br />' . '<span class="bold">' . get_string('logo', 'referentiel') . '</span>  &nbsp; ' . "\n";
            if (!empty($logo)) {
                echo referentiel_affiche_image($logo) . ' &nbsp; &nbsp; ' . "\n";
            }
            echo referentiel_menu_logo($cm, !empty($logo)) . "\n";
            echo '<br />' . '<span class="bold">' . get_string('liste_codes_empreintes_competence', 'referentiel') . '</span>';
            echo '<br />' . referentiel_affiche_liste_codes_empreintes_competence('/', $liste_codes_competence, $liste_empreintes_competence, $liste_poids_competence) . "\n";
        }
        echo '</div>' . "\n";
        echo '<br />' . "\n";
        ?>
<table class="referentiel" cellpadding="5">
<?php 
        // charger les domaines associes au referentiel courant
        if (!empty($occurrence_id)) {
            // AFFICHER LA LISTE DES DOMAINES
            $compteur_domaine = 0;
            $records_domaine = referentiel_get_domaines($occurrence_id);
            if ($records_domaine) {
                // afficher
                foreach ($records_domaine as $record) {
                    $compteur_domaine++;
                    $domaine_id = $record->id;
                    $nb_competences = $record->nb_competences;
                    $code_domaine = stripslashes($record->code_domaine);
                    $description_domaine = stripslashes($record->description_domaine);
                    $num_domaine = $record->num_domaine;
                    ?>
<!-- DOMAINE -->
<tr valign="top" bgcolor="#ffffcc">
    <td class="domaine" align="left"><b>
<?php 
                    if (!empty($label_d)) {
                        p($label_d);
                    } else {
                        print_string('domaine', 'referentiel');
                    }
                    echo ' <i>' . s($num_domaine) . '</i>';
                    ?>
</b>
    </td>
    <td class="domaine" align="left">
        <?php 
                    p($code_domaine);
                    ?>
    </td>
    <td class="domaine" align="left" colspan="4">
		<?php 
                    echo nl2br(stripslashes($record->description_domaine));
                    ?>
    </td>
</tr>

<?php 
                    // LISTE DES COMPETENCES DE CE DOMAINE
                    $compteur_competence = 0;
                    $records_competences = referentiel_get_competences($domaine_id);
                    if ($records_competences) {
                        foreach ($records_competences as $record_c) {
                            $compteur_competence++;
                            $competence_id = $record_c->id;
                            $nb_item_competences = $record_c->nb_item_competences;
                            $code_competence = stripslashes($record_c->code_competence);
                            $description_competence = stripslashes($record_c->description_competence);
                            $num_competence = $record_c->num_competence;
                            $ref_domaine = $record_c->ref_domaine;
                            ?>
<!-- COMPETENCE -->
<tr valign="top">
    <td class="competence" align="left">
<b>
<?php 
                            if (!empty($label_c)) {
                                p($label_c);
                            } else {
                                print_string('competence', 'referentiel');
                            }
                            ?>

<i>
<?php 
                            p(' ' . $num_competence);
                            ?>
</i>
</b>
    </td>
    <td class="competence" align="left">
<?php 
                            p($code_competence);
                            ?>
    </td>
    <td class="competence" align="left" colspan="4">
<?php 
                            echo nl2br(stripslashes($description_competence));
                            ?>
    </td>
</tr>
<?php 
                            // ITEM
                            $compteur_item = 0;
                            $records_items = referentiel_get_item_competences($competence_id);
                            if ($records_items) {
                                ?>
<tr valign="top" bgcolor="#5555000">
    <th class="item" align="right">

<?php 
                                if (!empty($label_i)) {
                                    p($label_i);
                                } else {
                                    print_string('item', 'referentiel');
                                }
                                echo ' :: <i>';
                                print_string('numero', 'referentiel');
                                echo '</i>';
                                ?>

    </th>
    <th class="item" align="left">
		<?php 
                                print_string('code', 'referentiel');
                                ?>
    </th>
    <th class="item" align="left">
<?php 
                                print_string('description', 'referentiel');
                                ?>
    </th>

    <?php 
                                if ($not_light_display) {
                                    ?>
    <th class="item" align="left">
<?php 
                                    print_string('t_item', 'referentiel');
                                    ?>
    </th>
    <th class="item" align="left">
<?php 
                                    print_string('p_item', 'referentiel');
                                    ?>
    </th>
    <th class="item" align="left">
<?php 
                                    print_string('e_item', 'referentiel');
                                    ?>
    </th>
    <?php 
                                } else {
                                    // echo '<th class="item" colspan="3">&nbsp;</th>'."\n";
                                }
                                ?>

</tr>
<?php 
                                foreach ($records_items as $record_i) {
                                    $compteur_item++;
                                    $item_id = $record_i->id;
                                    $code_item = stripslashes($record_i->code_item);
                                    $description_item = stripslashes($record_i->description_item);
                                    $num_item = $record_i->num_item;
                                    $type_item = stripslashes($record_i->type_item);
                                    $poids_item = $record_i->poids_item;
                                    $empreinte_item = $record_i->empreinte_item;
                                    $ref_competence = $record_i->ref_competence;
                                    ?>
<tr valign="top" bgcolor="#ffeefe">
    <td class="item" align="right" bgcolor="#ffffff">
<i>
<?php 
                                    p($num_item);
                                    ?>
</i>
    </td>
    <td class="item" align="left">
		<?php 
                                    p($code_item);
                                    ?>
    </td>
    <td class="item" align="left">
<?php 
                                    echo nl2br(stripslashes($description_item));
                                    ?>
    </td>
    <?php 
                                    if ($not_light_display) {
                                        ?>
    <td class="item" align="left">
<?php 
                                        p($type_item);
                                        ?>
    </td>
    <td class="poids" align="left">
<?php 
                                        p($poids_item);
                                        ?>
    </td>
    <td class="empreinte" align="left">
<?php 
                                        p($empreinte_item);
                                        ?>
    </td>
    <?php 
                                    } else {
                                        // echo '<td colspan="3">&nbsp;</td>'."\n";
                                    }
                                    ?>

</tr>
<?php 
                                }
                            }
                        }
                    }
                }
            }
        }
        ?>
</table>
<?php 
    }
}