public function findcertificateTask() { $json = new Services_JSON(); $c_course = Get::req('certificate_course', DOTY_MIXED, ''); $id_course = Get::req('id_course', DOTY_INT, 0); $c_userid = Get::req('certificate_userid', DOTY_MIXED, ''); $id_user = Get::req('id_user', DOTY_INT, 0); require_once _lms_ . '/lib/lib.course.php'; $man_course = new Man_Course(); $acl_man = Docebo::user()->getAclManager(); if ($id_user <= 0) { $id_user = $acl_man->getUserST($c_userid); } if ($id_course <= 0) { ////eliminates che code from the course name if ($c_course != "") { $c_course = trim(preg_replace('|^\\[([^\\]]*)\\][\\s]*|i', '', $c_course)); } $id_course = $man_course->getCourseIdByName($c_course); } //check if input is correct if ($id_user <= 0 || $id_course <= 0) { $output['success'] = false; $output['message'] = 'Invalid input.'; echo $this->json->encode($output); return; } require_once _lms_ . '/lib/lib.certificate.php'; $cert = new Certificate(); $released = $cert->certificateStatus($id_user, $id_course); $print = array(); foreach ($released as $id_cert => $name) { $print[] = '<a class="ico-wt-sprite subs_pdf" href="index.php?modname=certificate&certificate_id=' . $id_cert . '&course_id=' . $id_course . '&user_id=' . $id_user . '&op=send_certificate&of_platform=lms">' . '<span>' . $name . '</span>' . '</a>'; } $query = "SELECT cc.id_certificate, ce.name, available_for_status, cu.status " . " FROM (" . $GLOBALS['prefix_lms'] . "_certificate AS ce " . " JOIN " . $GLOBALS['prefix_lms'] . "_certificate_course AS cc " . "\t\tON (ce.id_certificate = cc.id_certificate) )" . " JOIN " . $GLOBALS['prefix_lms'] . "_courseuser AS cu " . "\t\tON (cu.idCourse = cc.id_course)" . " WHERE cu.idCourse = " . (int) $id_course . " " . "\tAND idUser = "******" "; $res = sql_query($query); $relesable = array(); while (list($id_certificate, $name, $available_for_status, $user_status) = sql_fetch_row($res)) { if ($cert->canRelease($available_for_status, $user_status) && !isset($released[$id_certificate])) { $relesable[] = '<a class="ico-wt-sprite subs_pdf" href="index.php?modname=certificate&certificate_id=' . $id_certificate . '&course_id=' . $id_course . '&user_id=' . $id_user . '&op=print_certificate&of_platform=lms">' . '<span>' . $name . '</span>' . '</a>'; } } $output['success'] = true; $output['message'] = ''; $output['message'] .= '<b>' . Lang::t('_CERTIFICATE_VIEW_CAPTION', 'certificate') . ':</b> ' . (count($print) > 0 ? implode(', ', $print) : Lang::t('_NONE', 'standard')) . '<br /><br />'; $output['message'] .= '<b>' . Lang::t('_NEW_CERTIFICATE', 'certificate') . ':</b> ' . (count($relesable) > 0 ? implode(', ', $relesable) : Lang::t('_NONE', 'standard')) . '<br /><br />'; echo $this->json->encode($output); }