示例#1
0
function mycompetences(&$url)
{
    checkPerm('view');
    $html = "";
    $html .= getTitleArea(Lang::t('_COMPETENCES'), 'competences');
    $html .= '<div class="std_block">';
    $cmodel = new CompetencesAdm();
    $fmodel = new FunctionalrolesAdm();
    $id_user = getLogUserId();
    $ucomps = $cmodel->getUserCompetences($id_user);
    $rcomps = $fmodel->getUserRequiredCompetences($id_user);
    $ucomps_info = $cmodel->getCompetencesInfo(array_keys($ucomps));
    $language = getLanguage();
    $_typologies = $cmodel->getCompetenceTypologies();
    $_types = $cmodel->getCompetenceTypes();
    $icon_actv = '<span class="ico-sprite subs_actv"><span>' . Lang::t('_COMPETENCE_OBTAINED', 'competences') . '</span></span>';
    $icon_req = '<span class="ico-sprite subs_actv"><span>' . Lang::t('_MANDATORY', 'competences') . '</span></span>';
    //*******************
    require_once _base_ . '/lib/lib.table.php';
    $table = new Table(Get::sett('visuItem'), Lang::t('_COMPETENCES'), Lang::t('_COMPETENCES'));
    $style_h = array('', '', 'image', 'image', 'image', 'image', 'image');
    $label_h = array(Lang::t('_NAME', 'competences'), Lang::t('_TYPOLOGY', 'competences'), Lang::t('_TYPE', 'standard'), Lang::t('_SCORE', 'competences'), Lang::t('_DATE_LAST_COMPLETE', 'subscribe'), Lang::t('_COMPETENCES_REQUIRED', 'competences'));
    $table->addHead($label_h, $style_h);
    foreach ($ucomps_info as $id_competence => $cinfo) {
        $line = array();
        $line[] = $cinfo->langs[$language]['name'];
        $line[] = $_typologies[$cinfo->typology];
        $line[] = $_types[$cinfo->type];
        $line[] = $cinfo->type == 'score' ? '<b>' . $ucomps[$id_competence]->score_got . '</b>' : $icon_actv;
        $line[] = Format::date($ucomps[$id_competence]->last_assign_date, 'datetime');
        $line[] = array_key_exists($id_competence, $rcomps) ? $icon_req : '';
        $table->addBody($line);
    }
    $html .= $table->getTable();
    $html .= '</div>';
    $html .= Form::openForm('beck_url', 'index.php');
    $html .= Form::openButtonSpace();
    $html .= Form::getButton('close', 'close', Lang::t('_CLOSE', 'standard'));
    $html .= Form::closeButtonSpace();
    $html .= Form::closeform();
    cout($html, 'content');
}
示例#2
0
 public function getUserCompetences($id_user, $fncroles = false)
 {
     if ($id_user <= 0) {
         return false;
     }
     $output = array();
     $query = "SELECT * FROM " . $this->_getCompetencesUsersTable() . " WHERE id_user="******" AND score_got>0";
     $res = $this->db->query($query);
     if ($res) {
         while ($obj = $this->db->fetch_obj($res)) {
             $output[$obj->id_competence] = $obj;
         }
     }
     //retrieve required competences too
     if ($fncroles) {
         $fmodel = new FunctionalrolesAdm();
         $req = $fmodel->getUserRequiredCompetences($id_user, true);
         //$cinfo = $this->getCompetencesInfo(array_keys($req));
         foreach ($req as $id_competence => $cdata) {
             if (isset($output[$id_competence])) {
                 $output[$id_competence]->required = true;
                 $output[$id_competence]->gap = $output[$id_competence]->score_got - $cdata->score;
             } else {
                 $t = new stdClass();
                 $t->id_competence = $id_competence;
                 $t->id_user = $id_user;
                 $t->score_got = 0;
                 $t->last_assign_date = '';
                 $t->required = true;
                 $t->gap = 0 - $cdata->score;
                 $output[$id_competence] = $t;
             }
         }
     }
     return $output;
 }