1<?php 2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */ 3 4include_once './Services/Form/classes/class.ilPropertyFormGUI.php'; 5 6/** 7 * Class ilSCORM2004TrackingItemsPerUserFilterGUI 8 * 9 * @author Uwe Kohnle <kohnle@internetlehrer-gmbh.de> 10 * @ingroup ModulesScorm2004 11 */ 12class ilSCORM2004TrackingItemsPerUserFilterGUI extends ilPropertyFormGUI 13{ 14 15 /** 16 * Constructor 17 */ 18 public function __construct($a_parent_obj, $a_parent_cmd) 19 { 20 $this->parent_obj = $a_parent_obj; 21 $this->parent_cmd = $a_parent_cmd; 22 parent::__construct($a_parent_obj, $a_parent_cmd); 23 } 24 25 public function parse($userSelected, $report, $reports) 26 { 27 global $DIC; 28 $ilCtrl = $DIC['ilCtrl']; 29 $lng = $DIC['lng']; 30 $lng->loadLanguageModule("scormtrac"); 31 $this->form = new ilPropertyFormGUI(); 32 $this->form->setFormAction($ilCtrl->getFormAction($this->parent_obj)); 33 34 $options = array("all" => $lng->txt("all")); 35 36 include_once "Services/Tracking/classes/class.ilTrQuery.php"; 37 $users = ilTrQuery::getParticipantsForObject($this->parent_obj->object->ref_id); 38 39 include_once('./Services/PrivacySecurity/classes/class.ilPrivacySettings.php'); 40 $privacy = ilPrivacySettings::_getInstance(); 41 $allowExportPrivacy = $privacy->enabledExportSCORM(); 42 43 if ($users && count($users) > 0) { 44 foreach ($users as $user) { 45 if (ilObject::_exists($user) && ilObject::_lookUpType($user) == 'usr') { 46 if ($allowExportPrivacy == true) { 47 $e_user = new ilObjUser($user); 48 $options[$user] = $e_user->getLastname() . ", " . $e_user->getFirstname(); 49 } else { 50 $options[$user] = 'User Id: ' . $user; 51 } 52 } 53 } 54 } else { 55 $options = array("-1" => $lng->txt("no_items")); 56 } 57 58 $si = new ilSelectInputGUI($lng->txt("user"), "userSelected"); 59 $si->setOptions($options); 60 $si->setValue($userSelected); 61 $this->form->addItem($si); 62 63 $options = array("choose" => $lng->txt("please_choose")); 64 for ($i = 0;$i < count($reports);$i++) { 65 $options[$reports[$i]] = $lng->txt(strtolower($reports[$i])); 66 } 67 $si = new ilSelectInputGUI($lng->txt("report"), "report"); 68 $si->setOptions($options); 69 $si->setValue($report); 70 $this->form->addItem($si); 71 $this->form->addCommandButton($this->parent_cmd, $lng->txt("apply_filter")); 72 } 73} 74