Esempio n. 1
0
function report_certificate()
{
    require_once _base_ . '/lib/lib.form.php';
    require_once $GLOBALS['where_lms'] . '/lib/lib.certificate.php';
    require_once $GLOBALS['where_lms'] . '/lib/lib.course.php';
    require_once _base_ . '/lib/lib.table.php';
    checkPerm('view');
    $out =& $GLOBALS['page'];
    $out->setWorkingZone('content');
    $form = new Form();
    $certificate = new Certificate();
    $lang =& DoceboLanguage::createInstance('certificate', 'lms');
    if (isset($_GET['id_certificate'])) {
        $id_certificate = importVar('id_certificate', true, 0);
        $man_course = new Man_Course();
        $id_course = array();
        $id_course = $certificate->getCourseForCertificate($id_certificate);
        $course_info = array();
        $out->add(getTitleArea(array('index.php?modname=certificate&amp;op=certificate' => $lang->def('_TITLE_CERTIFICATE'), $lang->def('_COURSES'))) . '<div class="std_block">' . getBackUi('index.php?modname=certificate&amp;op=certificate', $lang->def('_BACK')));
        $tb = new Table(Get::sett('visuItem'), $lang->def('_CHOOSE_COURSE'), $lang->def('_COURSE_LIST'));
        $type_h = array('', '', 'min-cell');
        $cont_h = array($lang->def('_CODE'), $lang->def('_NAME'), $lang->def('_CERTIFICATE_REPORT'));
        $tb->setColsStyle($type_h);
        $tb->addHead($cont_h);
        foreach ($id_course as $course_id) {
            $course_info = $man_course->getCourseInfo($course_id);
            $cont = array($course_info['code'], '<a href="index.php?modname=certificate&amp;op=view_report_certificate&amp;id_certificate=' . $id_certificate . '&amp;id_course=' . $course_id . '">' . $course_info['name'] . '</a>', $certificate->getNumberOfCertificateForCourse($id_certificate, $course_info['idCourse']));
            $tb->addBody($cont);
        }
        $out->add($tb->getTable() . '<br/>' . getBackUi('index.php?modname=certificate&amp;op=certificate', $lang->def('_BACK')) . '</div>');
    } else {
        $out->add(getTitleArea($lang->def('_CERTIFICATE_REPORT'), 'certificate') . '<div class="std_block">');
        if (isset($_POST['toggle_filter'])) {
            unset($_POST['name_filter']);
            unset($_POST['code_filter']);
        }
        $out->add($form->openForm('certificate_filter', 'index.php?modname=certificate&amp;op=report_certificate') . $form->openElementSpace() . $form->getTextfield($lang->def('_NAME'), 'name_filter', 'name_filter', '255', isset($_POST['name_filter']) && $_POST['name_filter'] !== '' ? $_POST['name_filter'] : '') . $form->getTextfield($lang->def('_CODE'), 'code_filter', 'code_filter', '255', isset($_POST['code_filter']) && $_POST['code_filter'] !== '' ? $_POST['code_filter'] : '') . $form->closeElementSpace() . $form->openButtonSpace() . $form->getButton('filter', 'filter', $lang->def('_FILTER')) . $form->getButton('toggle_filter', 'toggle_filter', $lang->def('_TOGGLE_FILTER')) . $form->closeButtonSpace() . $form->closeForm());
        if (isset($_POST['filter'])) {
            if ($_POST['name_filter'] !== '' && $_POST['code_filter'] !== '') {
                $certificate_info = $certificate->getCertificateList($_POST['name_filter'], $_POST['code_filter']);
            } elseif ($_POST['name_filter'] !== '') {
                $certificate_info = $certificate->getCertificateList($_POST['name_filter']);
            } elseif ($_POST['code_filter'] !== '') {
                $certificate_info = $certificate->getCertificateList(false, $_POST['code_filter']);
            } else {
                $certificate_info = $certificate->getCertificateList();
            }
        } else {
            $certificate_info = $certificate->getCertificateList();
        }
        $tb = new Table(Get::sett('visuItem'), $lang->def('_CHOOSE_CERTIFICATE'), $lang->def('_CERTIFICATE_LIST'));
        $type_h = array('', '');
        $cont_h = array($lang->def('_CODE'), $lang->def('_NAME'), $lang->def('_DESCRIPTION'));
        $tb->setColsStyle($type_h);
        $tb->addHead($cont_h);
        foreach ($certificate_info as $info_certificate) {
            $cont = array($info_certificate[CERT_CODE], '<a href="index.php?modname=certificate&amp;op=report_certificate&amp;id_certificate=' . $info_certificate[CERT_ID] . '">' . $info_certificate[CERT_NAME] . '</a>', $info_certificate[CERT_DESCR]);
            $tb->addBody($cont);
        }
        $out->add($tb->getTable() . '</div>');
    }
}