Пример #1
0
 function outCertificateObject()
 {
     global $ilUser;
     if ($this->object->hasUserCertificate($ilUser->getId())) {
         ilUtil::sendFailure($this->lng->txt("msg_failed"));
         $this->showOverviewObject();
     }
     include_once "./Services/Certificate/classes/class.ilCertificate.php";
     include_once "./Modules/Exercise/classes/class.ilExerciseCertificateAdapter.php";
     $certificate = new ilCertificate(new ilExerciseCertificateAdapter($this->object));
     $certificate->outCertificate(array("user_id" => $ilUser->getId()));
 }
 /**
  * Download the certificate for the active user
  */
 public function downloadCertificate()
 {
     global $ilUser, $tree, $ilCtrl;
     $allowed = false;
     $last_access = 0;
     $obj_id = ilObject::_lookupObjId($_GET["ref_id"]);
     include_once "./Modules/ScormAicc/classes/class.ilObjSAHSLearningModuleAccess.php";
     if (ilObjSAHSLearningModuleAccess::_lookupUserCertificate($obj_id)) {
         include_once "./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php";
         $type = ilObjSAHSLearningModule::_lookupSubType($obj_id);
         switch ($type) {
             case "scorm":
                 include_once "./Modules/ScormAicc/classes/class.ilObjSCORMLearningModule.php";
                 $allowed = true;
                 $last_access = ilObjSCORMLearningModule::_lookupLastAccess($obj_id, $ilUser->getId());
                 break;
             case "scorm2004":
                 include_once "./Modules/Scorm2004/classes/class.ilObjSCORM2004LearningModule.php";
                 $allowed = true;
                 $last_access = ilObjSCORM2004LearningModule::_lookupLastAccess($obj_id, $ilUser->getId());
                 break;
             default:
                 break;
         }
     }
     if ($allowed) {
         include_once "./Services/Certificate/classes/class.ilCertificate.php";
         include_once "./Modules/ScormAicc/classes/class.ilSCORMCertificateAdapter.php";
         $certificate = new ilCertificate(new ilSCORMCertificateAdapter($this->slm));
         $params = array("user_data" => ilObjUser::_lookupFields($ilUser->getId()), "last_access" => $last_access);
         $certificate->outCertificate($params, true);
         exit;
     }
     // redirect to parent category if certificate is not accessible
     $parent = $tree->getParentId($_GET["ref_id"]);
     $ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $parent);
     $ilCtrl->redirectByClass("ilrepositorygui", "");
 }
 /**
  * Output of a test certificate
  */
 public function outCertificate()
 {
     $testSession = $this->testSessionFactory->getSession();
     require_once './Services/Certificate/classes/class.ilCertificate.php';
     require_once './Modules/Test/classes/class.ilTestCertificateAdapter.php';
     $certificate = new ilCertificate(new ilTestCertificateAdapter($this->object));
     $certificate->outCertificate(array("active_id" => $testSession->getActiveId(), "pass" => ilObjTest::_getResultPass($testSession->getActiveId())));
 }
Пример #4
0
 function deliverCertificateObject()
 {
     global $ilUser, $ilAccess;
     $user_id = null;
     if ($ilAccess->checkAccess('write', '', $this->ref_id)) {
         $user_id = $_REQUEST["member_id"];
     }
     if (!$user_id) {
         $user_id = $ilUser->getId();
     }
     include_once "Services/Certificate/classes/class.ilCertificate.php";
     if (!ilCertificate::isActive() || !ilCertificate::isObjectActive($this->object->getId()) || !ilCourseParticipants::getDateTimeOfPassed($this->object->getId(), $user_id)) {
         ilUtil::sendFailure($this->lng->txt("permission_denied"), true);
         $this->ctrl->redirect($this);
     }
     include_once "./Modules/Course/classes/class.ilCourseCertificateAdapter.php";
     $certificate = new ilCertificate(new ilCourseCertificateAdapter($this->object));
     $certificate->outCertificate(array("user_id" => $user_id), true);
 }
 /**
  * Output of a test certificate
  */
 public function outCertificate()
 {
     global $ilUser;
     $active_id = $this->object->getTestSession()->getActiveId();
     $counted_pass = ilObjTest::_getResultPass($active_id);
     include_once "./Services/Certificate/classes/class.ilCertificate.php";
     include_once "./Modules/Test/classes/class.ilTestCertificateAdapter.php";
     $certificate = new ilCertificate(new ilTestCertificateAdapter($this->object));
     $certificate->outCertificate(array("active_id" => $active_id, "pass" => $counted_pass));
 }